【问题标题】:Is there any way to load FBX file using ARKit?有没有办法使用 ARKit 加载 FBX 文件?
【发布时间】:2019-10-22 22:34:25
【问题描述】:

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

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

【问题讨论】:

    标签: bash augmented-reality scenekit arkit realitykit


    【解决方案1】:

    更新:2020 年 9 月 11 日。

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

    ARKit 没有在场景中加载 3D 模型。这是 SceneKit 或 RealityKit 的工作。然而,这两个框架都不直接支持.fbx 文件格式。您可以通过ModelIO 实现对.fbx 文件格式的读取,但这并非易事。

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

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

    usdzconvert file.fbx
    

    还有九个标志用于应用在 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                      
    

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

    【讨论】:

    • 这是一个很好的答案。只是为了让人们知道:使用此工具从 FBX 转换为 USDZ 时可能不会保留顶点顺序。起初听起来可能无害,但这可能会破坏你的变形。
    • 您是否设法进行 FBX-> USD 或 SCN 保留变形目标?我尝试了 Reality Converter 和 USDZ Tools,但都没有导出 Morph Targets...
    • 对不起@ManeManero,关于变形目标我不能说...
    • 我无法保持变形目标。我所做的就是使用 Blender 脚本对模型进行预处理,将变形目标导出为单独的对象。然后我自己创建变形目标。这不是一个好的解决方案,但总比没有好
    【解决方案2】:

    2020 年 6 月

    要将 FBX 转换为 USDZ,您需要来自 Apple 的 usdzconvert 实用程序。要使其正常工作,请仔细阅读安装说明。

    您将需要来自here 的“FBX Python SDK”和“FBX Python 绑定”。

    请注意,FBX Python SDK 的当前(2020 年 6 月)版本是 2020.1,因此您必须更改 USB.command 中的以下行

    # export PYTHONPATH=$PYTHONPATH:/Applications/Autodesk/FBX\ Python\ SDK/2019.0/lib/Python27_x86
    

    export PYTHONPATH=$PYTHONPATH:/Applications/Autodesk/FBX\ Python\ SDK/2020.1/lib/Python27_ub
    

    要使用 usdzconvert,请双击 /Applications/usdpython/USD.command,然后在打开的终端中输入 usdzconvert。

    就是这样!

    【讨论】:

      【解决方案3】:

      您可以从 Apple 下载Reality Converter app。这允许将 fbx 转换为 usdz。

      【讨论】:

        【解决方案4】:

        尝试使用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,关闭,mesh.xml,ply,q3o,q3s,原始,smd,stl,wrl,xgl, zgl, fbx, md3

        【讨论】:

          猜你喜欢
          • 2017-05-06
          • 2020-03-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-21
          • 2012-05-23
          相关资源
          最近更新 更多