C# Unity 5.4求物体的长度

C# Unity 5.4求物体的长度,c#,unity3d,unityscript,unity5,C#,Unity3d,Unityscript,Unity5,大家好,我正在使用Unity 5.4.1f1创建一个简单的游戏,我希望我的代码添加平台,它是第一个平台末端的一条街道,而不需要硬编码街道长度为14米 所以我尝试了以下代码: 我在start中添加了: lastPos = platForm.transform.position; size = platForm.transform.localScale.z; 并在更新中添加了此代码: Vector3 currentPos = lastPos; 当前位置z+=尺寸; lastPos=current

大家好,我正在使用Unity 5.4.1f1创建一个简单的游戏,我希望我的代码添加平台,它是第一个平台末端的一条街道,而不需要硬编码街道长度为14米

所以我尝试了以下代码:
我在start中添加了:

lastPos = platForm.transform.position;
size = platForm.transform.localScale.z;
并在更新中添加了此代码:

Vector3 currentPos = lastPos;
当前位置z+=尺寸; lastPos=currentPos; 实例化(platForm、lastPos、Quaternion.identity)

但它不起作用,它总是得到大小1,即使它是14 那么,这在统一中是可行的,还是我应该硬编码


比例表示对象大小的乘数。 因此,具有10米但没有比例的对象将返回因子1,如果复制该模型的大小(20米),则比例将为2

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

mesh.bounds.size,此矢量3将具有每个轴的长度


比例表示对象大小的乘数。 因此,具有10米但没有比例的对象将返回因子1,如果复制该模型的大小(20米),则比例将为2

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

mesh.bounds.size,此矢量3将具有每个轴的长度


您可以使用renderer.bounds

比如说

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

您可以使用renderer.bounds

比如说

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

如果您从不修改比例值,为什么您希望
大小
发生变化?@UnholySheep这正是我想将代码用于其他类型不同大小平台的模板如果您从不修改比例值,为什么您希望
大小
发生变化?@UnholySheep这正是我想使用的模板另一种不同大小的平台的代码我没有看到你的对象没有碰撞器,你可以使用相同想法的网格,我编辑我的第一篇文章。我没有看到你的对象没有碰撞器,你可以使用相同想法的网格,我编辑我的第一篇文章。