SCNNode在放置后违反位置

时间:2017-12-05 03:04:43

标签: ios swift scenekit scnnode

我正在使用Apples SceneKit并拥有自定义.dae资产。我已将资产转换为.scn文件。我从SCNNode文件中按名称抓取.scn。将SCNNode作为子节点放入我的SCNView场景并将其设置为SCNVector3(0,0,-1)后,它会忽略此位置,而是跟随我的手机位置。资产在我身上呈现,当我走开时​​,它跟随着我。它变得非常烦人,我无法找到解决方案。

但是,如果我替换取自.scn文件的SCNNode,并使用SCNBox,相反,一切正常。立方体保持在其设定位置。

以下是相关代码:

func addCoins(at position: SCNVector3) {

    let donorScene = SCNScene(named: "art.scnassets/nodes.scn")
    if let coin = donorScene?.rootNode.childNode(withName: "coin", recursively: true) {
        coin.position = position // 0, 0, -1 (right in front of me)
        scene.scene.rootNode.addChildNode(coin)
    }
}

附件是一个屏幕截图,显示了我移动时的所有内容。

SCNNode

1 个答案:

答案 0 :(得分:0)

所以问题是我的3d资产太大了。资产创建于200平方公尺,在3d建模程序中为2平方公尺。在将资产导入Xcode之后,它被SceneKit解释为200米,这对于SceneKit来说太明显了。