2016-10-19 40 views
1

嗨每一個我使用Unity 5.4.1f1創建一個簡單的遊戲,我想我的代碼添加平臺,這是第一個平臺結束時的一塊街道,與出硬編碼街道長度爲14mUnity 5.4查找對象的長度

所以我嘗試驗證碼
i的開始時加入:

lastPos = platForm.transform.position; 
size = platForm.transform.localScale.z; 

並加入稱爲在更新這樣的代碼:

Vector3 currentPos = lastPos; 

currentPos.z + = size; lastPos = currentPos;實例化(platForm,lastPos,Quaternion.identity);

但它沒有工作它總是得到大小1,即使它是14 所以這是可以統一或我應該做它硬編碼?

enter image description here

+0

爲什麼你期待'size'改變,如果你從來沒有修改的刻度值? – UnholySheep

+0

@UnholySheep這只是我想使用的代碼模板的另一種不同的平臺 – mohammad

回答

2

您可以使用renderer.bounds

例如

var size = GetComponent<Renderer>().bounds.size; 
2

規模表示乘數的對象的大小。 因此,一個10米但沒有比例的物體將返回因子1,如果重複該模型的尺寸(20米),尺度將爲2.

您可以通過其邊界獲得網格的長度

mesh.bounds.size,這個vector3將有一個長度爲每個軸。

https://docs.unity3d.com/ScriptReference/Mesh-bounds.html

+0

我沒有看到你的對象沒有對撞機,你可以使用相同的想法,我編輯我的第一篇文章。 –