4

1 つのビリヤード台ユニティ ゲームを作成しています。ボールがどこに移動するかをユーザーに示すために、ボールの方向を取得したいと考えています。例として、次の画像を考えてみましょう。

ここで、A はキューボール、B はテーブル上のボールです。ユーザーが「DIR 1」の方向にボール A を打つと、ボール B に当たると考えてみましょう。そのとき、ボール A は画像のように C の位置になります。

今、私はそこにポイントを知りたいです

  1. cの位置を見つける方法。
  2. B & C のタッチポイントは、A が B と衝突する場所を意味します。
  3. Aと衝突した後、ボールBはどちらの方向に移動しますか.

この質問がすべての人にとって明確であり、問​​題の適切な詳細を提供してくれることを願っています.

4

1 に答える 1

0

ボールに Rigidbody を使用していると仮定すると、以下を使用できます。

http://docs.unity3d.com/Documentation/ScriptReference/Rigidbody.SweepTest.html

「DIR1」を SweepTest 関数のパラメーターとして使用します。

「true」が返されて衝突が確認されたら、RaycastHit.distance と「DIR1」を使用して位置「C」を計算できます。

位置「C」、RaycastHit.point(衝突位置)、および位置「B」を使用して、「DIR2」を計算できるようになりました。

--

Physics.Capsule キャストも別のオプションです > http://docs.unity3d.com/Documentation/ScriptReference/Physics.CapsuleCast.html

于 2013-09-03T15:26:18.490 に答える