【发布时间】:2017-01-19 13:36:55
【问题描述】:
使用 Unity 2D 我想允许它使用 Rigidbody2D,但我想防止精灵在刚体旋转时旋转。我该怎么做?
换句话说,我希望模拟很好,但我不希望这个对象的图形旋转。
【问题讨论】:
标签: unity3d unityscript
使用 Unity 2D 我想允许它使用 Rigidbody2D,但我想防止精灵在刚体旋转时旋转。我该怎么做?
换句话说,我希望模拟很好,但我不希望这个对象的图形旋转。
【问题讨论】:
标签: unity3d unityscript
使用两个 GameObject:一个父 GameObject 包含您的 Rigidbody2D 组件,一个子 GameObject 包含您的 SpriteRenderer 组件。
然后将脚本附加到子游戏对象,该脚本始终将其transform.rotation 分配为您想要的任何内容:
var desiredRotation:Quaternion;
function LateUpdate () {
transform.rotation = desiredRotation;
}
无论刚体如何旋转,这都允许精灵持续保持旋转。
【讨论】:
我使用了两个 GameObjects(父和子,在子上带有 sprite 组件)并在子的更新函数中添加了以下代码:
transform.localRotation = transform.localRotation * Quaternion.Inverse(transform.rotation);
它做了魔术:)
【讨论】:
将此脚本添加到您的GameObject
void Update () {
transform.localRotation = new Quaternion ();
}
【讨论】: