問題タブ [raycasting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1440 参照

java - Java LWJGL でのバイト配列からの描画

Java、LWJGL、Slick2D を使用してレイキャスターを作成しています。問題は、このバイト配列から正しく描画する方法がわからないことです。

これが、テクスチャをカラーバッファに入れる方法です。これは機能します。すべての RGB 値は、テクスチャ内の値と同じです。

スクリーンバッファを作成してピクセルを割り当てる方法は次のとおりです。

バッファを描画する方法は次のとおりです。

ここで、赤、緑、青の 3 本の垂直線であるテクスチャを作成するとします。赤を白に、他を真っ黒にするだけでなく、遠くにあるほどテクスチャにいくつかの色を追加します。

これがどのように見えるかの画像です。ペイント ファイルは元のテクスチャで、右のウィンドウはレイキャスターです。

画像

この問題を解決する方法を知っている人はいますか?

0 投票する
1 に答える
1142 参照

html - three.jsの「サブシーン」に対するレイキャスティング

そのため、three.js の例で webgl_interactive_cubes.html を使用していますが、比較的単純な質問があります。光線とオブジェクトの子との交差をテストすることは可能ですか。

たとえば、次のようなことをするとします。

電話すると

これらのオブジェクトと交差します。ただし、最初に「subScene」を作成すると、次のようになります。

そして、これらすべてのオブジェクトをシーンではなく subScene に追加すると、交差は発生しなくなります。

シーンとサブシーン内のすべてのオブジェクトを交差させることはまったく可能ですか (最終的なプロジェクトでは、ネストされたサブシーンの多くのレイヤーが必要です) または、レイキャスティングを使用している場合、すべてのオブジェクトを同じシーンに保持する必要がありますか?

お時間をいただきありがとうございます。

アイザック

0 投票する
0 に答える
275 参照

three.js - レイとレイキャスティングの違い

私は個人的に、私の three.js プロジェクトのいくつかで「 Raycaster.js 」を使用してレイキャスティングを使用していました。しかし、私は常に「 Ray.js 」を使用してレイの概念を見つけています。どちらも diff js ファイルを使用しています。

現在、レイキャスティングの概念には精通していますが、レイには精通していません。ray.js の概念と raycaster.js との違いを教えてください..?

0 投票する
1 に答える
1200 参照

javascript - Three.js: BufferGeometry を使用した Line 上の Raycast 交差

ライン上での R59 レイキャスティングが可能であり、完璧に機能します。マウスオーバーでツールチップを表示しています。

THREE.Geometryデータの増加によりパフォーマンスの問題が発生したため、 からに切り替えることにしましたTHREE.BufferGeometry。レイキャスティングの代わりにすべてが正常に機能します....マウスオーバーでエラーや何かが発生することはありません。実際には何も起こりません!

で構築されたライン上でレイキャスティングを交差させることはできませんTHREE.BufferGeometryか?

0 投票する
2 に答える
264 参照

c# - クリックの正確な位置を検出する方法は?

C# を使用して Unity でクリックの正確な位置を取得しようとしていますが、それを特定する方法がわかりません。レイキャストを使用してみましたが、非常に正確な位置が得られましたが、小数点以下 1 桁に丸められています。私には少し大きすぎる間違いです。では、どうすれば完全に正確な位置を取得できますか?

私のコードは次のとおりです。

(0.5, 1.3, -5.0) のような結果が得られますが、小数点以下 4 桁または 5 桁までの精度が必要です。

0 投票する
1 に答える
3568 参照

c++ - レイトレーシング: 変換の問題

変換を組み込むのに問題があります。何らかの理由で、すべてが思うようには進んでいませんが、正直に言うと、前後のすべての変換にはかなりめまいがします.

私がどこでも読んだように (明示的な説明はめったにありませんが)、変換の原則的なアルゴリズムは次のとおりです。

  • 変換行列の逆数で光線 (原点と方向) を変換します
  • 結果の Intersection-Point を変換行列で変換します
  • 逆の転置を使用して、交差点でオブジェクトの法線を変換します

私が理解したことから、それはうまくいくはずです。最初の交差点と照明アルゴリズムの両方が同じ関数 ( ) を使用するため、照明を計算しようとすると問題が発生することは間違いありませんobj.getIntersection()。しかし、繰り返しになりますが、私にはわかりません。:(

ここで私のコードの一部を読むことができます:

main.cppscene.cppsphere.cppsdf-loader.cpp

私を助けるためにさらに情報が必要な場合はお知らせください-そして私を助けてください!;)

編集:

私はいくつかの結果を出しました、おそらく誰かが私が間違っているかもしれないところを(結果によって)「見る」:

未変換シーン:

未変形シーン

スケーリングされた球 (2,4,2):

スケーリングされた球 (2,4,2)

翻訳されたボックス (0,-200,0):

翻訳されたボックス (0,-200,0)

変換された球 (-300,0,0):

変換された球 (-300,0,0)

球体 x 回転 (45°):

球体 x 回転 (45°)

0 投票する
0 に答える
104 参照

collision-detection - jMonkeyでシーンの壁にぶつからないようにオブジェクトを配置する方法

私のゲームでは、ユーザーはポイントをクリックしてオブジェクト (メッシュ) を配置する必要があります。レイをキャストして、オブジェクトを移動できる水平ポイントを見つけてから、rootNode にアタッチして表示することができます。ただし、問題は、ユーザーが別のオブジェクト/scene_wall に近すぎてクリックすると、配置するオブジェクトにぶつかってしまうことです。どうすれば防ぐことができますか??