Unity如何在脚本生成的网格上分配枢轴点位置

时间:2017-09-09 16:37:12

标签: unity3d mesh gameobject

我试图找到有关Unity如何将枢轴点分配给对象的任何信息,但我一直在寻找的是如何移动枢轴点并且无法完成的线程。我正在创建一个2D游戏,背景是随着用空游戏对象包裹的网格随机创建的。这些对象是有机形状的,但它们具有一个属性,该属性返回一个限制对象的矩形,以便它们可以以不重叠的方式放置。麻烦的是算法假定枢轴点将成为对象的中心。我想知道的是Unity如何确定枢轴点的设置位置,以便我可以预测在父对象内部移动网格所需的量,以便枢轴点位于边界的中心长方形。

2 个答案:

答案 0 :(得分:0)

可能的解决方法:

尝试在运行时创建网格,并查看它是否始终将轴心点放在某个角落或至少相对位置相同的位置。

如果这样做,你会知道枢轴点的位置,并且可以在你的代码中考虑它,如果你也知道你产生的网格的大小。

答案 1 :(得分:0)

所以我认为我能想出的最普遍和正确的答案是,Unity将枢轴点分配给您应用Mesh的GameObject的中心。网格顶点的局部坐标取决于您创建它们的方式,可以放置网格,使其逻辑中心与其附加的空GameObject的逻辑中心不同。我解决这个问题的方法是从局部点(0,0,0)到边界矩形的中心制作一个矢量,并将我用来制作网格的顶点转换为该矢量。它并不完美,但足够接近以确保我不会有任何重叠的网格。