假设在3dmax中创建一个 长x宽x高=1cm x 1cm x 1cm 的单位立方体,则默认局部坐标系原点在底面中心,进入 “层次”面板->轴->调整轴,按下“仅影响轴”,再点“居中到对象”,可以将局部坐标系原点对齐到立方体中心,不过当我们将立方体导出为fbx,并通过fbx sdk从中提取出顶点数据查看会发现局部空间顶点坐标并不是关于(0,0,0)对称分布的,即局部坐标原点并不是在立方体中心,而是仍然跟未调整轴之前一样,局部坐标原点在立方体底面中心。经进一步实验证实,调整轴并不会影响物体顶点的局部空间坐标,所以无论怎么调整,立方体的局部空间原点都是位于底面中心。
那么如何得到一个局部空间原点在中心的单位立方体呢?
可以通过移动顶点实现,方法如下:
1,创建 1cm x 1cm x 1cm 的单位立方体(此时局部坐标系原点在底面中心),并将其世界坐标设为(0,0,0)(此时底面中心与世界原点对齐)。
2,将上面立方体转化成可编辑多边形,然后进入顶点层级,选中所有顶点向下移动0.5cm。
此时若再将立方体导出为fbx并从中提取顶点数据,就会发现其顶点的局部空间坐标是关于(0,0,0)对称分布的了,即局部空间原点真的是在立方体中心了。
应用场景:
有时候我们在3dmax里摆放一些box用于标记位置,以便导入到程序中在这些位置生成Boss。如果我们摆box的时候按box中心为目标位置,但实际box的局部空间原点却不在box中,那么我们在程序中用box mesh的position作为解析出的boss位置,实际上是不正确的。所以我们需要在3dmax中使用局部空间原点真正在其中心的box。
补充(2015-4-10):
为了查看物体的真正局部坐标原点位置,可以选中物体然后进入 “层次”面板->轴->调整轴,按下“重置轴”(这样就可以排除掉“调整轴”的影响了),并且将“参考坐标系”选“局部”,这时视图中显示的坐标系的原点即为物体当前的真正局部坐标原点。