unity3D如何计算角度偏移
2020-12-17 17:45:58 点击:
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使用C#脚本的几种读写TXT文本文件的方法 2020/12/18
- 下一篇:基于数据手套的虚拟人手运动建模系统的研究 2020/12/16