以轴为单位围绕轴旋转对象

时间:2018-02-06 09:34:06

标签: c# unity3d

我试图在统一中做一件简单的事情:围绕轴旋转一个物体。但是我错过了一些东西,我的物体只是向下移动,而不是围绕轴旋转。

这是我的更新功能:

this.transform.RotateAround(new Vector3(1,0,5), new Vector3(0,1,0), 10 * Time.deltaTime);

其中(1,0,5)是旋转中心。我的对象位于(0,0,0)位置。 物体向下移动,而不是旋转。 知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

我认为它可以解决您的问题。这是您需要的脚本:

using UnityEngine;

public class RotateObj : MonoBehaviour
{
    private void Update()
    {
        // rotate to its own axis
        transform.Rotate(new Vector3(Random.value, Random.value, Random.value)); 

        // rotate about axis passing through the point in world coordinates
        transform.RotateAround(Vector3.zero, Vector3.up, 1.0f); 
    }
}

这是你的统一配置:

enter image description here

它围绕自身(随机)和Vector3.zero坐标

旋转

enter image description here