Unity2D 面向目標方向


在2d空間上,假設角色的自身的y軸方向為正方向,如果要讓角色隨時面向一個目標點。

這里假設(0,0)點為目標點

 

第一種:

Vector3 v = Vector3.zero - transform.position;                               //首先獲得目標方向
v.z = 0;                                                                                            //這里一定要將z設置為0
float angle = Vector3.SignedAngle(Vector3.up,v,Vector3.forward);//得到圍繞z軸旋轉的角度
Quaternion rotation = Quaternion.Euler(0, 0, angle);                     //利用角度得到rotation
transform.rotation = rotation;

 

第二中:

Vector3 v = Vector3.zero - transform.position;
v.z = 0;
Quaternion rotation = Quaternion.FromToRotation(Vector3.up, v);
transform.rotation = rotation;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM