【发布时间】:2015-03-05 23:46:18
【问题描述】:
我有一个 GameObject 并附有 CircleCollider2D。当Collider 碰到另一个Collider 时,游戏对象开始移动和旋转(它附有Rigidbody2d)。我不需要旋转这个 GameObject,而是旋转另一个 GameObject,其作用力与击中后计算的 collider&rigidbody 完全相同。
【问题讨论】:
-
我有一些想法,但首先,我还没有做过 2D 游戏,所以你能告诉我对撞机在哪个维度旋转吗?它是保持平坦(并且只是旋转),还是滚动(并脱离其平面)?
-
@piojo 附加了
Collider的GameObject仅在Z 维度上旋转。它开始在 X 和 Y 维度上移动。所以在与另一个Collider击中后,GameObject开始移动和旋转(Rigidbody的拖动和速度属性) -
我不确定我是否理解这个问题,你能不能把
CircleCollider2D放在一个空的游戏对象上,然后把你的游戏对象(带有rigidbody)作为它的孩子? -
@AdamH 听起来他希望对撞机/刚体将旋转传递给游戏对象,而不是自身旋转。我的回答试图让游戏对象从物理对象“窃取”旋转/位置,然后重置物理对象的旋转。 (虽然我不知道他为什么不希望物理对象旋转,因为它无论如何都不可见。)
-
@George 既然我提到了,为什么你想让对撞机不旋转?圆具有旋转对称性,而且对撞机甚至不可见。是否有一些算法需求,还是我们都误解了?
标签: unity3d