大家好

最近遇到需要讓物體轉向一個物件然後前進的需求
找到這篇文章
 
 
我整理了程式碼給大家參考喔
 
//這應該要放在 update 裡面
Vector3 WalkDirection;
Quaternion WalkRotation;

//WalkPostion 是要前往的物件
//MainModel 是要被移動的物件

WalkDirection = WalkPostion.transform.position - MainModel.transform.position; //取得距離
WalkDirection.y = MainModel.transform.position.y; //我這邊讓Y一致讓出力不會有上下方向(避免飄起來或陷下去)
WalkRotation = Quaternion.LookRotation(new Vector3(WalkDirection.x, 0, WalkDirection.z));//取得轉向
MainModel.transform.rotation = Quaternion.Slerp(MainModel.transform.rotation, WalkRotation, Time.deltaTime * 5); //設置轉向
MainModel.transform.position += MainModel.transform.transform.forward * 2 * Time.deltaTime; //變更位置

再配合走路動畫,就可以愉快的走路囉
 
給大家參考囉