翻译对象的几何体,以便所有后续变换包括原始翻译

时间:2016-05-26 11:42:44

标签: scenekit vuforia

在SceneKit中我创建了一个框并希望沿y轴平移它,但我希望所有变换到该框的节点(平移,旋转,缩放)不会影响几何体的原始平移。如何使用SCNNode完成此操作?

1 个答案:

答案 0 :(得分:2)

双重包裹几何

使用SCNNode - > SCNNode - > SCNGeometry双重包裹对象相当简单。

let planeBox = SCNBox(width: 50.0, height: 50.0, length: 1.0, chamferRadius: 0.0)
planeBox.firstMaterial?.diffuse.contents = UIColor(white: 0.0, alpha: 1.0)

let planeNode = SCNNode(geometry: planeBox)
planeNode = SCNMatrix4MakeTranslation(0.0, 50.0, 0.0)

let wrappingNode = SCNNode()
wrappingNode.addChildNode(planeNode)
scene.rootNode.addChildNode(wrappingNode)

然后对wrappedNode的所有后续更新将与原始翻译隔离。

SCNBox translated along y-axis