有没有办法使用 ARKit 加载 FBX 文件?

vin*_*yil 7 bash augmented-reality scenekit arkit realitykit

在我的项目中,我使用 ARKit 投影 3d 文件。我能够投影.dae.obj格式化模型。

无论如何我可以加载.fbx文件吗?

ARG*_*Geo 6

更新时间:2020 年 9 月 11 日。

涵盖.fbx转换设置的完整信息,请阅读此处

ARKit 不会在场景中加载 3D 模型。这是 SceneKit 或 RealityKit 的工作。然而,这两个框架都不直接支持.fbx文件格式。您可以.fbx通过ModelIO实现文件格式的读取,但这是一项重要的任务。

准备模型以使用 ARKit、SceneKit 和 RealityKit 的最佳方法是通过Xcode 11 和 Xcode 12 中的新命令将其转换为.usdz文件usdzconvert

要将.fbx文件转换为.usdz只需在终端中键入以下行:

usdzconvert file.fbx
Run Code Online (Sandbox Code Playgroud)

还有九个标志用于应用在 3D 包中生成的渲染通道:

usdzconvert file.fbx -diffuseColor albedo.png 
                     -opacity transparent.png
                     -metallic chrome.jpg
                     -roughness rough.jpg
                     -normal bump.png 
                     -occlusion ao.jpg
                     -emissiveColor emit.png
                     -clearcoat varnishing.jpg
                     -clearcoatRoughness ungloss.png                      
Run Code Online (Sandbox Code Playgroud)

要使用此命令行转换工具从 Apple 开发人员资源下载USDZ 工具,从 Autodesk 开发人员资源下载FBX Python SDK。不要忘记在 macOS 中设置全局变量。

  • 你是否设法做到了 FBX-> USD 或 SCN 保留变形目标?我尝试了现实转换器和 USDZ 工具,但两者都不导出变形目标... (2认同)
  • @Fattie,如果您正在使用 SceneKit,那么您不应该考虑将 DAE 转换为 USDZ,因为 SceneKit 中的 DAE 是本机的,并且它比 USDZ 具有更多功能。然而,在 RealityKit 中,合理的选择是使用 REALITY 格式或 USDZ 格式。 (2认同)

Mo *_*ani 1

尝试使用AssimpKit在 SceneKit 场景中使用您的fbx文件。

AssimpKit 目前支持 29 种文件格式(包括fbx,允许您直接在 SceneKit 中使用这些文件,而无需将它们转换为 SceneKit 或 Model IO 支持的任何文件,从而节省资源管道中的额外步骤。

其他支持的文件格式:

3d、3ds、ac、b3d、bvh、cob、dae、dxf、ifc、irr、md2、md5mesh、md5anim、m3sd、nff、obj、off、mesh.xml、ply、q3o、q3s、raw、smd、stl、 wrl、xgl、zgl、fbx、md3