Ios 定义SCNNode的位置

Ios 定义SCNNode的位置,ios,swift,augmented-reality,arkit,Ios,Swift,Augmented Reality,Arkit,我基于scinvector3创建SCNBox。但我不理解创造的概念 对于二维矩形,x和y表示右上角的矩形。 对于ARKit 3DSCNBox,x、y和z代表什么?这是否表示SCNBox的中心?当您设置SCNNode的位置时,您正在初始化描述节点位置的scinvector3 您必须定义节点的中心点相对于父节点位置的位置(中心点不一定在自定义节点的中心,但如果您的基本节点具有SCNBox或SCNSphere等几何体,则中心点在中心) 一个简单的例子是将带有几何体的节点添加到scenview的root

我基于
scinvector3
创建
SCNBox
。但我不理解创造的概念

对于二维矩形,x和y表示右上角的矩形。
对于ARKit 3D
SCNBox
,x、y和z代表什么?这是否表示
SCNBox
的中心?

当您设置
SCNNode
的位置时,您正在初始化描述节点位置的
scinvector3

您必须定义节点的中心点相对于父节点位置的位置(中心点不一定在自定义节点的中心,但如果您的基本节点具有
SCNBox
SCNSphere
等几何体,则中心点在中心)

一个简单的例子是将带有几何体的节点添加到
scenview
rootNode
,这是您在Xcode中创建新的增强现实应用程序时得到的

如您所见,要初始化
SCInvector3
,必须定义节点中心点的x、y和z位置。请注意,单位以米为单位

我用x轴、y轴和z轴创建了一张(非常好的)图片,这将帮助您了解如何定位
SCNNode

…原点是添加节点时节点父坐标系的原点。AR世界的图像原点简化为
ARSCNView的中心位置


谢谢您的回复。还有一个问题。如果我从ARFrame获得相机位置,那么x、y和z值是否也代表iPhone的中心点?
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)