WhiteEngine-专注图形渲染与游戏引擎技术的网站

新浪微薄腾讯微薄

最新碎语:暂无碎语

您的位置:WhiteEngine-专注图形渲染与游戏引擎技术的网站 >引擎相关> Unity旋转,旋转物体

Unity旋转,旋转物体

物体绕Y轴旋转30度。有旋转过程
transform.rotation *= Quaternion.AngleAxis(30, Vector3.up);

方法2,设置Y角度为30度。
float angle = Random.Range(-1,180); //transform y轴-1至180度. 
float x = transform.localEulerAngles.x; 
float z = transform.localEulerAngles.z; 
transform.localEulerAngles = new Vector3(x, 30, z);

方法3,让物体Y轴角度直接增加30度。
Quaternion qua = Quaternion.Euler(0f,30f,0f) *  transform.rotation;
transform.rotation = qua;

方法4:让物体绕Y轴旋转30度。有旋转过程
     Quaternion qua;
     public float RotationSpeed=0.1f;//旋转速度.
     float t;
     void Start ()
     {
          qua = Quaternion.Euler(0f,30f,0f) *  transform.rotation;
     }

     void Update ()
     {
          t = RotationSpeed / Quaternion.Angle (transform.rotation, qua) * Time.deltaTime;
          transform.rotation = Quaternion.Slerp (transform.rotation, qua,t);
     }

方法5.让物体绕Y轴旋转面向一个点,有旋转过程
Quaternion targetRotation;
public float RotationSpeed = 50f;//旋转速度.
public Vector3 targetPoint;//要旋转面向的点.
void Start()
{
     targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
}
    void Update()
    {
            this.transform.rotation = Quaternion.Lerp(this.transform.rotation, targetRotation, Time.deltaTime * RotationSpeed);
    }

---

转载请注明本文标题和链接:《Unity旋转,旋转物体

分享到:

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交