我正在使用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)
}
}
附件是截图,显示我每次移动时看到的内容 .
1 回答
所以问题是我的3d资产太大了 . 资产创建于200平方公尺,在3d建模程序中为2平方公尺 . 在将资产导入Xcode之后,它被SceneKit解释为200米,这对于SceneKit来说太明显了 .