如何在cueBall与unity3d中的任何球碰撞后获得方向?

时间:2013-09-03 12:52:52

标签: unity3d collision game-physics

我正在创建一个台球桌统一游戏。我想得到球的方向,以向用户显示球将移动的位置。请考虑以下图像作为示例。

这里A是我们的cueBall,B是桌上的球。让我们考虑当用户按照" DIR 1"它将在那时击中球B,球A将按照图像位于C的位置。

现在我想知道点

  1. 如何找到c。
  2. 的位置
  3. B& B的接触点是什么? C表示A将与B碰撞的位置。
  4. 球B在碰撞A后将朝哪个方向移动。
  5. 我希望这个问题对所有人都清楚,并为我的问题提供适当的细节。

1 个答案:

答案 0 :(得分: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 cast也是另一种选择> http://docs.unity3d.com/Documentation/ScriptReference/Physics.CapsuleCast.html