我正在使用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)
}
}
附件是一个屏幕截图,显示了我移动时的所有内容。
答案 0 :(得分:0)
所以问题是我的3d资产太大了。资产创建于200平方公尺,在3d建模程序中为2平方公尺。在将资产导入Xcode之后,它被SceneKit解释为200米,这对于SceneKit来说太明显了。