生活随笔
收集整理的這篇文章主要介紹了
Unity3D之Position的设置
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
原創(chuàng)文章如需轉載請注明:轉載自?脫莫柔Unity3D學習之旅?QQ群:【Unity3D(AR/VR) 334163814】【Unity3D(游戲) 119706192】?本文鏈接地址:Unity3D 一些基礎的方向、距離算法
最近做一款一款3D“跑酷”游戲終于要上線了,很開森,忙里偷閑分享點常用的一些基礎算法。
另外感興趣的朋友可以去上網(wǎng)下載下來玩玩 ,游戲叫《讓小編飛》,嘿嘿、
ps:最近使用中文編程~強迫癥們,來咬我啊!
1..A點正前方,10米位置的坐標點
代碼:
public?Transform?A;?? public?Transform?Z;?? ?? ?? void?Start?()??? {?? ????正前方();?? ????Debug.Log("Distance:"?+?Vector3.Distance(A.transform.position,?Z.transform.position));?? }?? ?? void?正前方()?? {?? ????Z.transform.position?=?A.transform.position?+?Vector3.forward?*?10f;?? }?? 運行結果:
2.A點前方Y軸45°,10米位置的坐標點
直接上代碼:
void?斜前方()?? {?? ????Quaternion?q?=?Quaternion.Euler(0,?45,?0);?? ????Z.transform.position?=?A.transform.position?+?q?*?Vector3.forward?*?10f;?? }?? 運行結果:
3.A點到B點方向,10米位置的坐標點
柱子是B點。
這個例子用3D視角來做。
代碼:
void?到B方向正前方()?? {?? ????Vector3?方向?=?(B.transform.position?-?A.transform.position).normalized;?? ????Quaternion?q?=?Quaternion.LookRotation(方向);?? ????Z.transform.position?=?A.transform.position?+?q?*?Vector3.forward?*?10f;?? ?? ????Debug.Log("Distance?A-B:"?+?Vector3.Distance(A.transform.position,?B.transform.position));?? }?? 運行結果:
4.A點到B點方向Y軸偏移45°,10米位置的坐標點
這個例子將B點與A點放在了同一高度,繼續(xù)使用2D視角。
代碼:
void?到B方向斜前方()?? {?? ????Vector3?方向?=?(B.transform.position?-?A.transform.position).normalized;?? ????Quaternion?q?=?Quaternion.LookRotation(方向)?*?Quaternion.Euler(0,45,0);?? ????Z.transform.position?=?A.transform.position?+?q?*?Vector3.forward?*?10f;?? ?? ????Debug.Log("Distance?A-B:"?+?Vector3.Distance(A.transform.position,?B.transform.position));?? }?? 運行結果:
到此展示完畢~
謝謝參觀~!
總結
以上是生活随笔為你收集整理的Unity3D之Position的设置的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。