SCNNode的convertTransform - 幕后

时间:2016-09-15 13:17:44

标签: scenekit eigen

我正在尝试将SCNNode的convertTransform转换为Eigen但我显然没有得到幕后发生的事情。

let targetNodeTransform = targetNode?.convertTransform(transform, from: nil)

我正在使用Eigen所以我认为变换的逆是相同的。情况似乎并非如此,那么当从世界坐标空间到对象坐标空间时,convertTransform中会发生什么?我正在寻找convertTransform背后的数学,所以我可以使用Eigen实现它。

1 个答案:

答案 0 :(得分:0)

确定这相当于上面的convertTransform返回的值。

let targetNodeTransform = SCNMatrix4Mult(transform, SCNMatrix4Invert((targetNode?.worldTransform)!));

根据SCNNode的worldTransform

上的文档
  

世界变换是节点的坐标空间变换   相对于场景的坐标空间。这种转变是   节点的transform属性与其父节点的连接   节点,父节点的父节点,依此类推,直到场景的rootNode对象。

相关问题