【问题标题】:Translate geometry of object so all subsequent transforms include the original translation平移对象的几何形状,以便所有后续变换都包括原始平移
【发布时间】:2016-05-26 19:42:44
【问题描述】:

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

【问题讨论】:

标签: scenekit vuforia


【解决方案1】:

双环绕几何

使用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)

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

【讨论】:

  • 后来我发现了 SCNPlane(width: 50.0, height: 50.0)
猜你喜欢
  • 1970-01-01
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
  • 1970-01-01
相关资源
最近更新 更多