Unity对象不在中心旋转。它一直很好,直到一个小时,我不相信我改变了代码或任何东西。我也试过弄乱左上角的枢轴/中心按钮,但没有任何帮助。游戏对象不会在中间旋转。
Rotator Code:
using UnityEngine;
public class Rotator : MonoBehaviour
{
public float speed = 100f;
// Update is called once per frame
void Update()
{
transform.Rotate(0f, 0f, speed * Time.deltaTime);
}
}
答案 0 :(得分:3)
Rotate
函数Space.Self
的默认空间。您应该为其第三个参数提供Space.World
,以使其在世界空间中旋转。
transform.Rotate(0f, 0f, speed * Time.deltaTime, Space.World);
如果这不能解决您的问题,您必须在任何3D应用程序(如Maya)中打开您的模型,然后重置/居中枢轴点,然后将其重新导入Unity。
您还可以使用另一个GameObject作为您要旋转的GameObject的父级,以解决此枢轴问题。
1 。创建一个新的GameObject
2 。将其移动到您正在旋转的物体的中心位置。
3 。一旦您对该位置感觉良好,请在#1 中创建的GameObject下拖动您正在旋转的对象。您正在旋转的GameObject现在应该是#1 中创建的GameObject的孩子。
您现在可以旋转在#1 中创建的GameObject。
虽然,我讨厌这样做,但它也有效。我建议使用3D应用程序来移动枢轴点。