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)