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

标签 unity3d collision game-physics

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



这里A是我们的cueBall,B是 table 上的球。让我们考虑一下,当用户按照“DIR 1”的方向击球 A 时,它将击中球 B,此时球 A 将位于 C 的位置,如图所示。

现在我想知道那点

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

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

    最佳答案

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

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

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

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

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

    ——

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

    关于unity3d - 在cueBall与unity3d中的任何球碰撞后如何获得方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18592833/

    相关文章:

    java - Java 中的哈希表手动冲突处理

    geometry - 计算适合另一个圆的周长的圆的数量

    node.js - Socket IO 游戏权威服务器中的冲突

    game-physics - 当行进物体不是点时,有什么好的寻路方式?

    unity3d - 如何在 Unity 3d 的纹理上设置图像

    unity3d - 间歇性多次输入触发 Action

    c# - Mathf.Floor 与 (int) 在性能上的对比

    android - 更新 Android SDK 包列表失败 - Unity 2019.2.10f1

    c++ - 我的程序中关于碰撞的一个小错误

    javascript - 为什么球会穿过砖 block ?