【问题标题】:SceneKit Error: C3DSkinnerUpdateJointsAndBoundingBox skinner has no meshSceneKit 错误:C3DSkinnerUpdateJointsAndBoundingBox 蒙皮器没有网格
【发布时间】:2018-10-04 11:22:07
【问题描述】:

当我为我的服务器加载 .scn 文件下载并本地存储在用户域目录中以及在 Scene Kit 中使用这些文件时, 我在无法动态应用动画的情况下收到此错误。由于骨头和剥皮者不是联合的。 SCN 文件包含皮肤几何网格节点和骨骼节点(rig)。

        do {
            let options = [ SCNSceneSource.LoadingOption.convertToYUp : true ]
            let scene = try SCNScene(url: fileURL , options: options)
            for childNode in scene.rootNode.childNodes {
                baseNode.addChildNode(childNode)
            }
        }catch let error as NSError {
           NSLog("Unable to load file \(error.debugDescription)")
        }

代码加载,我能够看到模型,但它确实加载了skinner。并得到错误 "[SceneKit] Error: C3DSkinnerUpdateJointsAndBoundingBox skinner has no mesh"

注意:如果我使用 assets 文件夹中的所有角色和动画 dae 文件并在代码中使用它,效果会很好。(我使用 xcode 将 dae 转换为 scn 文件)

【问题讨论】:

    标签: swift scenekit xcode9.3


    【解决方案1】:

    这是系统级别的日志记录。您可以通过在目标的环境设置中添加以下标志来禁用此功能: OS_ACTIVITY_MODE - 禁用

    第一步:

    第 2 步:

    【讨论】:

      【解决方案2】:

      我发现不是scn文件或rig的原因,是动画。 当在动画中添加以下行时,它运行良好。 animation.usesSceneTimeBase = false

      【讨论】:

      • 以上行对我有用。另外,请注意我们可以使用压缩的 DAE 格式。
      • 好的,对我来说它不起作用..虽然我没有对 DAE 文件进行更改..我得到了一种方法,我添加了作为答案。
      猜你喜欢
      • 2016-12-02
      • 2018-01-05
      • 2019-08-23
      • 2018-01-12
      • 2022-11-21
      • 1970-01-01
      • 2013-10-01
      • 1970-01-01
      • 2021-11-25
      相关资源
      最近更新 更多