問題タブ [collision-detection]

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 投票する
6 に答える
39883 参照

algorithm - 3D 衝突 / オブジェクト検出はどのように機能しますか?

私はいつもこれを疑問に思っていました。何万ものオブジェクトがあるGTAのようなゲームでは、ヘルス パックを使用するとすぐに、ゲームはどのようにそれを認識しますか?

オブジェクトごとにイベントリスナーが存在する可能性はありませんか? 繰り返しも良くないですか?実際にどうやって作ったのか気になります。

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

algorithm - GJKアルゴリズムのサポート機能

GJKアルゴリズムを実装しようとしていますが、すぐに行き詰まりました。

問題は、O(n ^ 2)ではないサポート関数を実装することです。

現在、ミンコフスキーの完全な差を計算しているので、GJKアルゴリズムを実行しても意味がありません。(またはそれは?)

サポート関数とは、指定された方向に最も遠いミンコフスキー差の点を返す関数です。私の現在の実装のように、これはO(n ^ 2)であってはならないと思います。

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

actionscript-3 - 四分木が衝突を不正確に検出する

衝突検出に使用する (点ではなく) 四角形の四分木を実装しようとしています。

何らかの理由で、重なり/交差/衝突が常に検出されるとは限りません。これは、挿入されたコライダーが近くのコライダーを探す方法と関係があると思われます (Quadtree.as の「COLLISION A」および「COLLISION B」セクションを参照)。なぜこれが起こるのか誰でも特定できますか?

以下は、四分木と他のいくつかのクラスの私のコードであり、一緒にコンパイルすると、「四分木」が「不正確」であると私が言うときに私が何を意味するかを示します。実際には Quadtree.as を見る必要があるだけですが、他のクラスと一緒にコンパイルすると、私の問題を理解するのに役立ちます。

ありがとう!

Quadtree.as:

Main.as:

TestObject.as:

Collider.as:

TestCollider.as:

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

iphone - シマリスの衝突検出

私はシマリスにまったく慣れておらず、数日間使用しているだけなので、これはかなり明白なことだと思いますが、これに関するドキュメントは見つかりません。シマリスに、指定された2つの形状が衝突したことを通知するコールバックまたはメソッドはありますか?

そうでない場合は、スプライトでcgrectcontainsを使用するのが最善の方法ですか?

-オスカー

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

iphone - 速度に対するシマリスの条件付き衝突?

私はcocos2dでゲームをやっていて、シマリスを使って物理学を管理しています。私が達成したいのは、ほぼすべての任天堂ゲームが行うことで、速度が正である限り、衝突を引き起こすことなく、キャラクターがジャンプして高層階 (衝突形状) で休むことができ、速度が負になると衝突が発生することです。起こります。

基本的に、速度値に基づいて 2 つの形状間の衝突を調整したいと考えています。誰かがこれを実装する方法について正しい方向に向けてくれませんか?. ありがとうございました。

-オスカー

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

collision-detection - ゲームプログラミングにおけるスプライトの衝突

カラー アルファ コンポーネントを使用してスプライト間の衝突を検出する場合、ワールド空間とビュー (ローカル) 空間のどちらで実行する必要がありますか? この種のトピックへのリンクまたは提案された本は高く評価されます。

ありがとう:)

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

collision-detection - Scratchでどのエッジがタッチされたかを確認するにはどうすればよいですか?

Scratchでは、センシングカテゴリにtouchingと呼ばれる条件があり、パラメータとしてエッジを持つことができます。

条件がtrueを返すとすると、どのエッジがタッチされたか(つまり、シーンの上部、下部、左、または右のエッジ)をどのように判断できますか?

または、シーンの寸法を確認する方法は?位置(x = 0、y = 0)がシーンの真ん中にあることがわかりました。4つのコーナーポイントはどこにありますか?

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

2d - 2D サイド スクローラーに z 軸を実装する

Castle Crashers に似たサイド スクローラーを作成しており、現在は衝突検出に SAT を使用しています。それはうまくいきますが、基本的にz軸に沿ってオブジェクトを画面上で上下に移動できるようにすることで、レベルの「深さ」をシミュレートしたいと思います(このスクリーンショットhttp://favoniangamers.files.wordpress.com/2009/07のように) /castle-crashers-ps3.jpg )。これはアイソメトリック ゲームではなく、視差スクロールを使用しています。

ベクトル クラスに az コンポーネントを追加し、形状の「厚さ」と z 位置に基づいて衝突をカリングする予定です。レンダリング用の形状の位置を計算する方法や、重力によるジャンプを追加する方法がわかりません。z 位置が変化したときに (地面の) 最大 y 値を計算するにはどうすればよいですか? 基本的に、私を混乱させるのは z 軸と y 軸の関係です。

誰かがこのトピックを知っている場合は、リソースへのリンクをいただければ幸いです。

ありがとう!

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

c++ - 単純な 2 次元衝突問題

静的なボールと動いているボールの間の衝突がいつ発生するかを見つけたいのですが、私が思いついたアルゴリズムでは衝突が検出されず、動いているボールが静的なボールを通過することがあります。動いているボールは重力の影響を受けますが、静止しているボールは影響を受けません。

ここに私の衝突検出コードがあります:

そして、衝突検出を呼び出す更新関数は次のとおりです。

100% のケースで衝突が検出されないのはなぜですか? 70% のケースでしか検出されていません。ありがとう。

更新: FPS を 30 から 10 に変更すると問題が解決するようです。FPS は衝突検出にどのように影響しますか?

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

collision-detection - ゲーム開発 - 傾斜地との衝突の処理

傾斜した地形を移動しようとしているプレイヤーとの衝突を処理する方法を見つけようとしています。たとえば、プレーヤーがハーフパイプの底にいて、左に移動したい場合を考えてみましょう:

  • 最初、プレーヤーはフラットにいて、まっすぐ左に行くことができます
  • ある時点で、プレイヤーは斜面を上り始めます。そのため、地形の上にとどまるために上り下りする必要があります。

これをどのように処理すればよいですか?

  • プレーヤーをまっすぐ左に動かして、地形に衝突したかどうかを確認する必要があります。衝突している場合は、プレーヤーの位置を微調整する必要がありますか?
  • プレイヤーが左にいる地形がどのように見えるかを試してみて、プレイヤーを配置する高さを事前に決定する必要がありますか?