[Unity][Transform]父物體與子物體座標偏移導致的問題

 

一些設定導致 物體的座標不與 實際物體 的座標一致。

 

座標偏移會導致哪些問題?

1.導航目的地 與實際位置不一致,導致無法到達目的地。

2.敵人物體與角色物體的 實際位置不一致,導致一系列問題。

 


人物模型導致的座標偏移的問題

 

 

進行一個測試。

1.先創建一個人形模型,帶有骨骼的。

2.再創建一個空物體,於Plane物體的子物體,與Zombie物體並列,發現 GameObject物體的座標爲(0,0,0)(Vector3.zero),並且與座標爲0的Zombie物體差不多。

3.4.分別在Zombie人形模型的不同身體部位創建 不同顏色的 Cube方塊,爲不同身體部位的子物體,並且偏移座標。

5.使得Zombie爲GameObject的子物體,發現GameObject的物體座標發生偏移。這是爲什麼。

 

參考資料1,在編輯器中菜單上面的GameObject-Center On Children,

發現所有的父物體,都是對所有其子物體的座標進行 中心對其。

解決辦法:

1.那麼 要使得 父物體 與 子物體的 實際座標 不發生偏移,就要改變所有在父物體的子物體以及其孫物體的座標 爲(0,0,0)(Vector3.zero);

2.使得所有子物體,每一個對應一個座標的相加的和始終爲(0,0,0)(Vector3.zero)。

例如(1,1,1)(-1,-1,-1)

(1,0,-1)(-1,0,1)

 


物體自身帶的組件導致 座標偏移。

比如LineRenderer組件,刪除該組件即可。

 

 

 

 

 

參考資料:

1.在Unity中讓一父物體的位置轉變成所有子物體的中心位置

2.

3.

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章