Unity 5.4查找对象的长度

时间:2016-10-19 17:08:39

标签: c# unity3d unityscript unity5

我希望每个人都使用Unity 5.4.1f1来创建一个简单的游戏,我希望我的代码能够在第一个平台的末尾添加一个街道的平台,而不需要对街道长度进行硬编码。 14米

所以我尝试了这段代码:
我在开始时添加了:

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

并添加了在更新中调用此代码:

Vector3 currentPos = lastPos;

currentPos.z + = size;     lastPos = currentPos;     实例化(平台,lastPos,Quaternion.identity);

但它确实有效,即使它是14,它总是得到1号 这是可行的统一还是我应该硬编码?

enter image description here

2 个答案:

答案 0 :(得分:2)

比例表示对象大小的乘数。 所以一个10米但没有比例的物体会返回因子1,如果你复制那个模型的大小(20米),那么比例将是2。

您可以通过其边界获取网格的长度

mesh.bounds.size,此vector3将具有每个轴的长度。

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

答案 1 :(得分:2)

您可以使用renderer.bounds

例如

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