0

当我为我的服务器加载 .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 文件)

4

2 回答 2

1

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

步骤1:

在此处输入图像描述

第2步:

在此处输入图像描述

于 2018-12-06T04:04:53.073 回答
0

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

于 2018-04-24T10:21:23.187 回答