unity3d 使用Quaternion 类实现两个简单功能

来源:互联网 发布:hadoop编程教程 编辑:程序博客网 时间:2024/05/16 03:12

1:键盘点击左右箭头,旋转transform固定角度
2:限制transform的旋转角度与目标角度的夹角小于90度

using UnityEngine;using System.Collections;public class movetest : MonoBehaviour{    Quaternion wantedrotation;    Quaternion startrotation;    void Start()    {        wantedRotation = transform.TransformDirection(Vector3.forward);        startRotation = transform.TransformDirection(Vector3.forward);    }    void Update()    {        if( Input.GetKeyDown(KeyCode.LeftArrow))        {               wantedrotation = transform.rotation* Quaternion.Euler(0, -20, 0);        }        if(Input.GetKeyDown(KeyCode.RightArrow))        {            wantedrotation = transform.rotation* Quaternion.Euler(0, 20, 0);        }        if (Quaternion.Angle (wantedrotation, startrotation) < 90)            transform.rotation=Quaternion.Slerp (transform.rotation, wantedrotation, Time.deltaTime*10.0f);    }}
0 0
原创粉丝点击