問題タブ [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 に答える
543 参照

c# - unity3dでのタグの問題によるレイキャスティング

ここで助けが必要です。raycastでブロックされていないネイバーを検索するコードの一部があります。「WP」タグと衝突するレイキャストを取得する必要があります。どちらの反復も正しい結果を示したので、ダンプとレイキャストを実行すると、レイキャストは何かを衝突させることに成功しますが、レイキャストが衝突したものを確認すると、結果は表示されません....これの何が問題なのか誰もが知っていますコード..??

感謝と答えをありがとう...私が悪い英語を持っているならごめんなさい...^^

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

cocos2d-iphone - box2d raycast を cocos2d で動作させることができません

レイキャストの設定方法についてインターネットから収集したいくつかの異なる方法を試しましたが、何をしても、どのような種類の接続も登録できません。何が起きてる?世界は正しく設定されています (物事が現れて衝突するなど)。完全を期すために、テストケースと関連するクラスを含めます (Ray Wenderlich のセットアップに気付く人もいるでしょう)。

ccLayer ヘッダー

ccLayer クラス (問題のあるコードは更新中の可能性が最も高い)

RaysCastCallback.h

OtherCast.h

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

ios - スクリーンスペースレイキャスティング

OpenGLES2.0と最新のiOSを使用しています。

ユーザーが画面をタップしてモデルのさまざまな部分を選択できるようにしたいと考えている3Dモデルがあります。ピクセル空間の画面座標を世界空間の光線に変換するこのチュートリアルを見つけ、モデルの交差部分を決定するために光線-AABB交差テストを実装しました。

モデルの一見ランダムなセクションで、モデルにいくつかのヒットがあります。したがって、この機能をデバッグする必要がありますが、どこから始めればよいのかよくわかりません。

光線を表す線を正確に描くことはできません(カメラから出ているため、点として表示されます)。そのため、これをデバッグするいくつかの方法を見ることができます。

  1. モデルセクションのバウンディングボックスをチェックします。では、OGL ESを使用して、最小点と最大点を指定してバウンディングボックスを描画する簡単な方法はありますか?

  2. 光線のパスに沿って3Dオブジェクトを描画します。これはもっと複雑に思えます。

  3. 実際にレイキャストと交差点のコードをデバッグします。アルゴリズムはかなりよく知られているので、これを達成するのは最も難しいようです(私はリアルタイム衝突検出の本の交差テストをまっすぐに受けました)。

誰かが助けてくれるか、コードを投稿してほしいと思ったら、私はそれを本当に使うことができます。

これが世界空間に変換するための私のコードです:

そして、これが私が行列を取得する方法です:

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

javascript - Three.js raycast が空の交差配列を生成する

ユーザーが 3D シーンで特定のキューブをクリックしたことを検出しようとしています。同様の質問をいくつか見ましたが、私とまったく同じ問題があるようには見えません。

キューブの 3D 配列があり、正常に表示されますが、マウス ダウン機能が呼び出されると、交差配列は常に空になります。何が問題なのかわかりません。助けていただければ幸いです。

私のレンダラーは次のように設定されています:

イベントハンドラは次のとおりです。

http://kev-adsett.co.uk/experiments/three.js/experiment1/で現在のプロジェクトの動作を確認できます。

0 投票する
3 に答える
2607 参照

php - GPS 座標を使用したレイキャスティング アルゴリズム

入力された住所が事前定義されたサービス地域の一部であるかどうかを判断する、Google マップを使用した小さなアプリケーションを作成しています。

ユーザーが住所を入力すると、PHP スクリプトがGeocoding APIから緯度/経度を取得し、地域の頂点を構成する一連の座標 (Maps が生成した KML ファイルから取得) を使用してレイキャスティングを適用します。

問題は次のとおりです。これはほとんどの場合機能しますが、サービス地域の一部の住所は適格と誤って報告され、地域の他の住所は不適格と報告されます。最初は、これは Google マップの精度の問題だと思っていましたが、Geocoding サービスで住所から生成された座標は正確です。それはおそらく式と関係があります。

ここにあります(他の場所で見つけたコードに基づいています):

私がここに欠けているものはありますか?自力で公式を導き出してみて、数学はある程度理解できたのですが、これでGoogleマップのGPS座標を使っても大丈夫でしょうか?

何が誤って報告されるかについて実際のパターンはないようです。境界に近い住所やサービス エリアの隅にある住所などをテストしましたが、うまくいきませんでした。また、注目に値するのは、このサービス エリアは都市の比較的小さな地域であり、州や国全体のエリアとは異なります.

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

javascript - THREE.Raycaster が position.set() の後に元のメッシュ位置と交差する

Three.js を使用して、position.set() を使用してオブジェクトを配置すると、THREE.Raycaster はオブジェクトの新しい設定位置を認識していないようです。オブジェクトを 0,0,0 のままにしておくと、メッシュは適切に交差します。

後を追うカメラで動き回れるキャラクター コントローラーがあるので、関数 testRay(); でテストするキャラクター (obj) とターゲットをプラグインします。

次に、すべての requestAnimationFrame(main) 呼び出しで、キャラクター コントローラーとターゲットをプラグインして交差するかどうかを確認するために testRay() を実行します。

さて、問題はそれが交差しないことです。それはうまく機能します。作成中に position.set() を使用した後、オブジェクトの新しい位置と交差するようになっています。オブジェクトを交差させるだけでオブジェクトを移動できることに気付きました。これにより、交差座標も移動するようです。オブジェクトをシーンに追加した後で移動した方がよいでしょうか? 違いはありますか?

0 投票する
5 に答える
1660 参照

c++ - Bulletで衝突を避けるためにレイをキャストする場所を見つける方法は?

点 A にオブジェクトがあるとします。オブジェクトは点 B に移動できるかどうかを調べたいと考えています。速度が制限されているため、段階的にしか移動できません。移動している方向に光線を放ちます。レイが物体に衝突し、それを検出します。光線を安全に通過させる方法を取得する方法 (衝突を回避する方法) は?

ここに画像の説明を入力

ところで、オブジェクトキャストの場合にそのようなことを機能させる方法はありますか?それは単純なレイキャストと同じくらい/ほぼ高速ですか?

ここに画像の説明を入力

いくつかのvayパスで最適なものを見つける方法はありますか?

ここに画像の説明を入力

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

math - カメラの視野角の計算方法 (Fragment-Shader の Fragment ごと) (WebGL / OpenGL)

Fragment Shader で 3 つのマトリックス (モデル、ビュー、プロジェクション) をすべて指定しました。ここで、フラグメントごとの視野角を計算したいと思います。カメラの視点は、たとえば 45° です。どうすればできますか?これで、カメラからの光線の原点をシミュレートしたいと思います。ありがとう!

0 投票する
3 に答える
579 参照

php - PiP アルゴリズムの MySQL 実装を拡張しますか?

多角形のMySQL クエリでポイントを作成する必要があります。

私はすでに次の 2 つの優れたソリューションを見つけました。

http://forums.mysql.com/read.php?23,286574,286574

レイキャスティングアルゴリズムのMySQL実装?

ただし、これらの関数は、1 つのポイントがポリゴン内にあるかどうかしか確認できません。PiP 部分がクエリの一部のみである必要があるクエリがあり、ポリゴン内の x ポイントをチェックします。

このようなもの:

$points = list/array/whatever of points in language of favour

アップデート

次のようなMBR関数で試しました:

G2 は G1 の中にあるべきではありませんが、MBRはそうであると言っています。

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

actionscript-3 - AS3 with Nape physics: ポイントからボディへの接線を見つけるにはどうすればよいですか?

簡単な質問: Nape で、Nape ボディ オブジェクトまたはそのボディの外側のポイントが与えられた形状との接点を計算する簡単な方法はありますか?

私がやろうとしているのは、Worms スタイルのロープの物理を作成することです。これは基本的に、レベル ジオメトリと接触すると自動的にセグメントに分割される延長可能なライン/ディスタンス ジョイントとして機能します。これは、最新のピボット ポイントからレイキャスティングすることで行います。衝突が発生した場合は、衝突ポイントから数ピクセルずらして、新しいロープ セグメントを作成し、そのポイントを新しいピボットにします。キャラクターが急な角を曲がっている場合は、そのポイントから再キャストし、必要に応じてループして、レベル ジオメトリをクリアします。

私の経験不足を考えると、それは驚くほどうまく機能しますが、外観上の小さな不具合が 1 つあります。ロープは、角の形をした突起に「きつく」巻きつきません。なぜこれが起こっているのかを理解するのはとても簡単です。下の図を参照してください。

ここに画像の説明を入力

うなじの世界を 60 フレーム/秒で歩くたびに光線を放ちます。図 1 は、2 つのサンプル レイキャストの違いを示しています。キャラクター (図示されていません) は線の端にあり、ピボットに関連する崖の「端」を 1 ステップで越えて落下しているため、衝突ポイントは目的の接触点に達していません。

図 2 は最終的に完成したものです。ラップアラウンド ロジックは、サーフェスからオフセットして再キャストすることで引き続き機能しますが、「ピンと張った」ようには見えません。

私が欲しいのは、図 3 のようなもので、角度を修正して体との実際の接触点を見つけ、そこから新しいピボットを作成します。

私が計画しているフォールバックは、レイキャストの角度を少しずつオフセットし、レベル ジオメトリにぶつからなくなるまで再キャストし、それから 1 つバックアップして、それをコリジョン ポイントとして使用することです。それでも、おそらく図 2 のように「曲がる」よりも計算が少なくて済みますが、もっと簡単な方法はないのでしょうか?