首页 文章

ARKit dae 模特位置

提问于
浏览
0

我用.dae 模型创建 SCNNode。

let node = SCNNode()  
   let scene = SCNScene(named: "scene.scnassets/scene.dae")! 
   for child in scene.rootNode.childNodes
   {
       node.addChildNode(child)
   }

然后添加 simbTransform 并将节点添加到 ar 场景

var translation = matrix_identity_float4x4
   translation.columns.3.z = -1
   node.simdTransform = matrix_multiply(currentFrame.camera.transform, translation)
   self.sceneView.scene.rootNode.addChildNode(node)

当我移动相机节点附加到它。所以我不能走动节点或走近一点。

但是当我做那样的事情时,它就像我预期的那样工作。

let node = SCNNode(geometry: SCNBox(width: 0.5, height: 0.5, length: 0.5, chamferRadius: 0)) 
  var translation = matrix_identity_float4x4
  translation.columns.3.z = -1
  node.simdTransform = matrix_multiply(currentFrame.camera.transform, translation)
  self.sceneView.scene.rootNode.addChildNode(node)

那么如何用.dae 模型附加节点来指定位置而不是摄像机。

1 回答

  • 0

    您使用哪种方法执行此代码?
    var translation = matrix_identity_float4x4 translation.columns.3.z = -1 node.simdTransform = matrix_multiply(currentFrame.camera.transform, translation) self.sceneView.scene.rootNode.addChildNode(node)

    如果在 AR 会话的更新方法中执行此操作,则它是合乎逻辑的,因为每次相机移动时都会更改对象的变换。确保在场景设置期间只调用一次。

相关问题