【问题标题】:SCNNode Disobeying Position after PlacementSCNNode 放置后不服从位置
【发布时间】:2018-05-18 15:06:54
【问题描述】:

我正在使用 Apples SceneKit 并拥有一个自定义 .dae 资产。我已将资产转换为 .scn 文件。我从.scn 文件中按名称获取SCNNode。将 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)
    }
}

附件是我移动时看到的屏幕截图。

【问题讨论】:

    标签: ios swift scenekit scnnode


    【解决方案1】:

    所以问题是我的 3d 资源太大了。资产在 200cm^2 处创建,即 3d 建模程序中的 2meter^2。资源导入 Xcode 后,SceneKit 将其解释为 200 米,这对于 SceneKit 来说显然太大了。

    【讨论】:

      猜你喜欢
      • 2017-04-15
      • 2018-12-29
      • 2019-05-02
      • 2017-10-27
      • 2019-07-26
      • 2018-09-24
      • 1970-01-01
      • 2020-03-27
      • 1970-01-01
      相关资源
      最近更新 更多