ios - 如何从 Xcode 中导入的 .dae 混合器访问混合形状

标签 ios swift xcode blender arkit

我对 ARKit 和 SceneKit 以及 3D 建模/Blender 2.8 非常陌生,所以请耐心等待,并对冗长的详细解释表示歉意,我只是觉得我错过了一些简单的东西,而且在线指南并不多,我可以找到有关如何执行此操作的信息。

我正在尝试使用 ARKit 和 Scenekit 构建自己的动话表情/拟我表情,并尝试将其导出到 .dae/.scn 并访问所有混合形状,以便能够使用 ARFaceAnchor 混合形状修改它们.

所以我的 3D 模型具有所有必要的混合形状: 3D model

我已将 3D 模型从 Blender 导出到 COLLADA (.dae),并选择了以下内容: 主要的 - 仅限选择, 包括形状键

几何- 应用修改器 - View 三角测量

如果我随后在文本编辑器中打开 .dae 文件,我可以在其中看到所有混合形状和 Material 。

.dae file

然后,我将该文件导入到我的 .scnassets 文件夹中并获取以下实体: entities

在此阶段,我已设法找到一些示例 .scn 文件,其中包含作为几何变形器的搅拌器形状。然而,我的只包含以下内容,无法添加它们。 geometry morphers

我设置了场景,SCNNode 工作正常,出现在 View 内。我在 SCCNode 中也找不到混合形状。

 func sceneSetup() {
        let scene = SCNScene()
        DispatchQueue.main.async {
            if let filePath = Bundle.main.path(forResource: "smiley_8.16-1", ofType: "dae", inDirectory: "Models.scnassets") {
                let referenceURL = URL(fileURLWithPath: filePath)
                self.contentNode = SCNReferenceNode(url: referenceURL)
                self.contentNode?.load()

                scene.rootNode.addChildNode(self.contentNode!) 
            }
        }

        sceneView.scene = scene

        sceneView.allowsCameraControl = true
        sceneView.backgroundColor = UIColor.gray
    }

我假设我必须在某处设置 SCNMorpher 才能访问混合形状。但如果我能得到一些关于如何以及在哪里的指示。另外,如果有人知道如何将变形器设置为节点检查器中的属性,那就太好了。

最佳答案

您需要将 instance_controllers 添加到您的 Blender dae 文件中,以便 SceneKit 可以正确读取混合形状。您可以使用 this great tool在将文件导入到 SceneKit 之前修复它。然后,形状键出现在 Xcode SceneKit 编辑器中,您可以使用 SCNMorpher 类在代码中进行修改。

关于ios - 如何从 Xcode 中导入的 .dae 混合器访问混合形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57420620/

相关文章:

ios - 如何替换 - (BOOL)application : openURL: sourceApplication: annotation:(id)annotation

ios - 导航控制嵌入在容器 View 自定义 segue 中

iOS swift : Sound not playing

swift - 删除 isLeapMonth : false

ios - 实例化新 VC 后销毁当前 tabbarVC

swift - 如何使用 GMSPlacePickerViewController 类?

swift - 来自 youtube 的数据未使用委托(delegate)传递

iphone - 解析问题预期标识符

ios - iOS Xcode:更新到Xcode 10.2后,未能找到适合类型IBSlimDeviceTypeiPdad2x错误的设备

ios - 如何从 UIImagePickerController 选择多个图像