在保留位置的同时将子SCNNode移动到rootNode

时间:2015-05-03 08:11:03

标签: ios8 scenekit scnnode

我无法保留已删除的子节点的位置并添加到 rootNode 。父节点和子节点都有 pivot 转换,我认为这是问题的一部分。我尝试将转换属性设置为 worldtransform 属性,然后删除并重新连接到根节点。但该立场略有变动。我尝试删除数据透视转换,让 worldtransform 添加到根节点并恢复数据透视。有时我认为我已经解决了它,然后当一个特定节点作为根节点重新连接时会跳转。

子节点和父节点的 pivot 似乎影响 worldtransform 。因此,将父节点排除在等式之外似乎会改变最终位置。

是否有方法将子节点添加到根节点,同时保持其物理位置/旋转。

任何指针都将不胜感激。

1 个答案:

答案 0 :(得分:1)

我也不知道为什么worldTransforms或worldPosition合并了枢轴,这是一种内部信息给节点。

无论如何,我的解决方案:

MoveNode.transform = [newParentNode convertTransform:MoveNode.transform fromNode:[MoveNode parentNode]];