如何更改节点的枢轴

时间:2018-01-22 22:43:12

标签: swift scenekit

我试过这个

xxxx.pivot = SCNMatrix4MakeTranslation(0.5, 0.5, 0.5)

但它并没有使它居中。使用代码执行此操作的最佳方法是什么? enter image description here

2 个答案:

答案 0 :(得分:1)

将枢轴置于物体中心,将物体置于世界中心,在Blender,Cheeatah 3D,3D studio Max或任何其他合适的软件中,然后将枢轴重新导出到适当的位置。在代码中更改枢轴不具有相同的效果,并且一旦您想要翻译,旋转,缩放等,很可能会导致其他问题。通过代码偏移枢轴实际上并不意味着修复了错误放置的枢轴,实际上顶点具有错误位置的结果。而不是试图在代码中修补它,而是在3D建模包中正确修复它。

答案 1 :(得分:0)

对这个问题有点困惑。你想把沙发放在坐标原点上吗?为什么使用pivot代替translationpivot属性相对于对象本身移动局部坐标系原点(即将沙发的左上角设置为0,0而不是中心)。而translation移动场景中的对象,但保持对象相对于其自身坐标系的位置。你想要完成哪些工作?

https://developer.apple.com/documentation/scenekit/scnnode/1408044-pivot