【问题标题】:ARKit dae model positionARKit dae 模型位置
【发布时间】:2018-05-08 21:58:27
【问题描述】:

我使用 .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 模型附加节点来指定位置而不是相机。

【问题讨论】:

    标签: ios scenekit ios11 augmented-reality arkit


    【解决方案1】:

    你用什么方法做这段代码?
    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 会话的 update 方法中执行此操作,那么这是合乎逻辑的,因为您每次相机移动时都会更改对象的变换。 确保只调用一次 - 在场景设置期间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-23
      • 2020-06-03
      • 2017-12-24
      • 2018-03-04
      • 2018-05-28
      • 2018-01-06
      • 2020-01-12
      • 2017-12-20
      相关资源
      最近更新 更多