unity3d角度偏移计算方法
2019/4/9 点击:
using UnityEngine; using System.Collections; public class UserAnimatorMove : MonoBehaviour { private Vector3 oldVector3; private Vector3 newVector3; private Quaternion oldQuaternion; private Vector3 newRotatinForward; void Start() { } void Update() { if (Input.GetKeyDown(KeyCode.F1)) { oldVector3 = this.transform.position; oldQuaternion = this.transform.rotation; } if (Input.GetKeyDown(KeyCode.F2)) { StartCoroutine(MovePoint()); } } private IEnumerator MovePoint() { // oldVector3 = this.transform.position; // oldQuaternion = this.transform.rotation; yield return new WaitForSeconds(0.2f); newVector3 = this.transform.position; newRotatinForward = this.transform.forward; float lenth = Vector3.Distance(oldVector3, newVector3); Vector3 velocity = Quaternion.Inverse(oldQuaternion) * newRotatinForward; float angle = Mathf.Atan2(velocity.x, velocity.z) * 180.0f / 3.14159f; Debug.Log(angle);//新的方向相对旧的方向的偏转角度 } }
- 上一篇:unity3d物体移动的方法 2019/4/9
- 下一篇:UNITY3D两个物体相对位置、角度、相对速度方向 2019/4/9