1. 程式人生 > >[原創]unity3D學習【功能實現】之二:圖片的旋轉/2d物體的旋轉

[原創]unity3D學習【功能實現】之二:圖片的旋轉/2d物體的旋轉

目標:滑鼠點選後,圖片朝向滑鼠點選的地方
涉及到:Mathf.Atan2(反正是計算角度的),rotation,Quaternion.Slerp
思路:下面的圖片是x軸對稱的,所以這個旋轉也是以圖片箭頭開始旋轉的。(為什麼?可能跟Atan2有關),根據滑鼠點選的位置與圖片的位置計算旋轉角度,在Quaternion.Slerp進行旋轉.


步驟:1,private Vector3moveDirection;//向量,
                                public float turnSpeed;//旋轉速度
2:void Update()下面
          moveDirection=newPos-transform.position;
         moveDirection.z=0;//這個2d下,可能寫不寫無所謂

         moveDirection.Normalize();
3:float target = Mathf.Atan2(moveDirection.y,moveDirection.x)*Mathf.Rad2Deg;
4:transform.rotation=Quaternion.Slerp(transform.rotation,Quaternion.Euler(0,0,target),turnSpeed*Time.deltaTime);
結束:3,4都是update下面,這樣接上
【功能實現】之一的教程,可以滑鼠點選物體移動又能頭部朝著點的方向前進了