首页 文章

SCNNode在放置后违反位置

提问于
浏览
0

我正在使用Apples SceneKit并拥有自定义 .dae 资产 . 我已将资产转换为 .scn 文件 . 我从 .scn 文件中获取名称 SCNNode . 将SCNNode作为子节点放入我的SCNView场景并将其位置设置为 SCNVector3(0,0,-1) 后,它会忽略此位置,而是跟随我的手机位置 . 资产在我身上呈现,当我走开时,它跟随着我 . 它's getting to be very annoying and I can'找到了解决方案 .

但是,如果我替换从 .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

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

相关问题