最近做題正好遇到了這樣的問題,移動,或旋轉,或縮放物體時,如何判斷使用局部(自身)坐標系,還是世界坐標系。
因此特意寫了一個小例子測試了下,局部坐標系到底受哪些因素影響。
創建兩個物體,為其建立父子物體關系。
分別針對父物體旋轉90度,子物體旋轉90度,兩者均旋轉90度以及初始化狀態的四種情況下,讓父子物體按照transform.forward向量,各自在Center.World(世界坐標系)和Center.Self(局部坐標系)下進行移動。
觀察兩個物體的運動趨勢,實驗如下:
以上表格觀察不難得出,在四種情況中,父物體出現了兩種結果,而子物體出現了四種結果。
因此可以判斷處於父子關系最頂層的物體,其局部坐標系的改變,僅受自身的位置、旋轉改變的影響。
而處於父子關系下層的物體,除受自身的位置、旋轉改變的影響外,還受父物體(們)的影響。
再次總結下:
最后再記錄下心得:
1.子物體的Inspector視窗中顯示的Transfrom屬性,實際均為local屬性(localPosition、localRotation、localScale)
2.在縮放有父子關系的物體群組時,物體之間的間距也會隨之縮放