Jos*_*pen 6 xcode augmented-reality swift arkit
我有移动的物体,我希望能够与玩家碰撞.我有能力通过获取我当前的位置/方向来启动我的物体,但我不明白如何将物体附加到我身上,这将随时跟随我的位置.
ric*_*ter 20
在SceneKit中,可以在场景中具有位置的所有内容(附加到)节点.这不仅包括可见物体,还包括光源和照相机.当你使用时ARSCNView,仍然有一个SceneKit相机,但ARKit控制它的位置/方向.
SceneKit节点创建层次结构:每个节点的位置(和方向等)都相对于其父节点.如果父节点在场景内移动,则其子节点随之移动,以便它们保持相同的父相对位置.因此,如果您希望某些内容始终保持相对于相机的相同位置,则应将该内容设为相机节点的子项.
即使在您不自己创建相机的场景中 - 例如当SceneKit和ARKit为您管理相机时 - 您也可以获得包含具有视图pointOfView属性的当前相机的节点.(注意:ARSCNView是其子类SCNView,其大多数有用的API由SCNSceneRenderer协议定义.)
您可能必须等到会话开始运行才能访问ARKit管理的摄像机节点.
Jim*_*imi 10
ARSCNView有一个属性'pointOfView'.您可以将子节点附加到它.
let ball = SCNSphere(radius: 0.02)
ballNode = SCNNode(geometry: ball)
ballNode?.position = SCNVector3Make(0, 0, -0.2)
sceneView.pointOfView?.addChildNode(ballNode!)
Run Code Online (Sandbox Code Playgroud)
无论您走到哪里,节点都会跟随您的相机.
| 归档时间: |
|
| 查看次数: |
10059 次 |
| 最近记录: |