我根据 SCNVector3
创建了 SCNBox
。但我不明白创造的概念。
对于二维矩形,x 和y 代表矩形的右上角。
对于 ARKit 3D SCNBox
,x, y 和 z 代表什么?它代表 SCNBox
的中心吗?
最佳答案
当您设置SCNNode
的位置时,您正在初始化描述节点位置的SCNVector3
。
您必须定义节点的中心点相对于父节点位置的位置(中心点不一定在自定义节点的中心,但如果你有像 SCNBox
或 SCNSphere
这样的几何结构的基本节点,中心点 在中心)
一个简单的例子可以是将具有几何形状的节点 SCNBox
添加到 sceneView
的 scene
的 rootNode
中当您在 Xcode 中创建新的增强现实应用时获取。
let cube = SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0)
let material = SCNMaterial()
material.diffuse.contents = UIColor.red
cube.materials = [material]
let node = SCNNode()
node.position = SCNVector3(x: 0, y: 0, z: -0.5)
node.geometry = cube
sceneView.scene.rootNode.addChildNode(node)
如您所见,要初始化SCNVector3
,您必须定义节点中心点<的x、y 和z 位置/em>。请注意,单位是米。
我用 x,y 和 z 轴创建了(非常漂亮的)图片,这应该可以帮助您了解如何定位您的 SCNNode
:
...origin 是添加节点时节点父坐标系的原点。 AR world 的图像原点简化为 ARSCNView
关于ios - 定义 SCNNode 的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53969314/