【发布时间】:2017-02-17 18:09:29
【问题描述】:
我有一个比例设置为 1,1,1 的 平面。我愿意得到它的起始位置和结束位置。物体在世界空间中的起始位置是什么,结束位置是什么。 完成这项工作的一种简单方法是将对象放置在平面的开始和结束处并获取对象位置,但我想通过地板仅来完成。
我刚刚尝试了这段代码,但它没有在世界空间中引入位置。
Debug.Log(floor.GetComponent<MeshRenderer>().bounds.min);
Debug.Log(floor.GetComponent<MeshRenderer>().bounds.max);
Debug.Log(floor.GetComponent<MeshRenderer>().bounds.center);
Debug.Log(floor.GetComponent<MeshRenderer>().bounds.extents);
【问题讨论】:
-
您的代码似乎没问题。认为有什么问题?当您在
bounds.min和bounds.max临时创建一个新的立方体对象时会发生什么注意,对象的变换可能与中心不同 -
飞机的起点和终点是什么意思?一个平面有 4 个边,你不能只使用 floor.position 并在你考虑开始或结束的方向上添加或减去一半的楼层比例吗?
-
您是否对网格本身进行任何操作?如果是这样,请在将边界打印到控制台之前尝试调用重新计算边界。还有你得到什么结果。 docs.unity3d.com/ScriptReference/Mesh.RecalculateBounds.html