Unity 怎么得到一个可以直接使用的对象与另一个对象之间的Float夹角

来源:互联网 发布:淘宝代收货怎么p图 编辑:程序博客网 时间:2024/05/17 12:03

得到一个可以直接使用的对象与另一个对象之间的Float夹角:


float GetMoveToTargetDir(Transform target)    {        Quaternion q = Quaternion.FromToRotation(Vector3.forward, target.position - transform.position);          Vector3 n = q * Vector3.forward;        Vector3 vProj = Vector3.up - n * Vector3.Dot(n, Vector3.up);        vProj.Normalize();        Quaternion qall = Quaternion.AngleAxis(Mathf.Acos(Vector3.Dot(vProj, q * Vector3.up)) * Mathf.Rad2Deg, n) * q;        return qall.eulerAngles.y;    }


根据刚体速度,做一个相应的仪表盘:

             float angle = 180 / 3.14f * (刚体速度 / 800 * 180);   //把速度转化为角度        UI.eulerAngles = new Vector3(0, 0, 360 - Mathf.Abs(angle));  //应用给UI相应的旋转


阅读全文
0 0
原创粉丝点击