【问题标题】:How to get Direction after cueBall collide with any ball in unity3d?cueBall与unity3d中的任何球碰撞后如何获得方向?
【发布时间】:2013-09-03 12:52:52
【问题描述】:

我正在创建一个台球桌团结游戏。我想获得球的方向以向用户显示球将移动的位置。以下图为例。

这里 A 是我们的 cueBall,B 是桌上的球。假设当用户按“DIR 1”的方向击球 A 时,它将击中 B 球,此时 A 球将在 C 的位置,如图所示。

现在我想知道点

  1. 如何找到 c 的位置。
  2. B&C的接触点是什么意思是A会和B碰撞到哪个地方。
  3. 球 B 与 A 碰撞后将向哪个方向移动。

我希望这个问题对所有人都很清楚,并为我的问题提供适当的细节。

【问题讨论】:

    标签: unity3d collision game-physics


    【解决方案1】:

    假设您在球上使用刚体,您可以使用:

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

    您将使用“DIR1”作为 SweepTest 函数的参数。

    一旦它返回“真”并确认碰撞,您就可以使用 RaycastHit.distance 和“DIR1”来计算位置“C”

    使用位置“C”、RaycastHit.point(撞击位置)和位置“B”,您现在可以计算“DIR2”。

    --

    Physics.Capsule cast 也是另一种选择 > http://docs.unity3d.com/Documentation/ScriptReference/Physics.CapsuleCast.html

    【讨论】:

    • SweepTest 方法更接近我的解决方案,但不是我正在寻找的 excat 方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多