【问题标题】:Unity 5.4 find the length of the objectunity 5.4 求物体的长度
【发布时间】:2016-10-19 17:08:38
【问题描述】:

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

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

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

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

Vector3 currentPos = lastPos;

currentPos.z +=大小; 最后一个位置=当前位置; 实例化(platForm,lastPos,Quaternion.identity);

但它没有工作它总是得到大小 1 即使它是 14 那么统一可行还是我应该硬编码?

【问题讨论】:

  • 如果您从不修改比例值,为什么还要期待 size 发生变化?
  • @UnholySheep 这只是我想将代码用于其他不同大小平台的模板

标签: c# unity3d unityscript unity5


【解决方案1】:

你可以使用 renderer.bounds

例如

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

【讨论】:

    【解决方案2】:

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

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

    mesh.bounds.size,这个vector3每个轴都有一个长度。

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

    【讨论】:

    • 我没有看到你的对象没有碰撞器,你可以用同样的想法使用网格,我编辑了我的第一篇文章。
    猜你喜欢
    • 2020-07-18
    • 2011-07-29
    • 2012-08-15
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 2017-07-18
    • 1970-01-01
    相关资源
    最近更新 更多