在我的项目中,我使用 ARKit 定位 3D 文件。我能够加载.dae
并.obj
格式模型。
有什么方法可以加载.fbx
文件吗?
更新 时间:2023 年 1 月 14 日。
您可以在此处找到有关.FBX
转换的信息。
ARKit 无法在场景中加载 3D 模型。这是SceneKit或RealityKit的工作。但是,这两个框架都不直接支持.FBX
文件格式。您可以通过 ModelIO 实现.FBX
文件格式的读取,但这对任何开发人员来说都是一个真正的挑战,因为您需要弄清楚如何处理层次结构、材质、照明、动画等。
准备模型以在 SceneKit 和 RealityKit 中工作的最佳方法是将其转换为 。USDZ 文件通过 Xcode 命令行工具中的usdzconvert
命令。要将.FBX
文件转换为.USDZ
只需在终端中执行以下命令:
usdzconvert ~/Desktop/fileName.fbx
还有用于应用在 3D 包中生成的渲染通道的其他标志:
usdzconvert fileName.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 中设置全局变量。
如果您更喜欢GUI,请使用现实转换器应用程序。
> 六月 2020
要将FBX转换为USDZ,您需要Apple的usdzconvert实用程序。要使其正常工作,请仔细阅读安装说明。
您将需要此处的"FBX Python SDK"和"FBX Python Bindings"。
请注意,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。
就是这样!
您可以从Apple下载Reality Converter应用程序。这允许将 fbx 转换为美元。
尝试使用AssimpKit 在 SceneKit 场景中使用fbx文件。
AssimpKit目前支持29种文件格式(包括fbx),允许您使用 这些文件直接在 SceneKit 中,而无需将它们转换为 场景套件或模型 IO 支持的任何文件,从而保存 资产管道中的额外步骤。
其他支持的文件格式:
3d, 3ds, ac, b3d, bvh, cob, dae, dxf, ifc, irr, md2, md5mesh, md5anim, M3SD, NFF, OBJ, 关闭, 网状.xml, 层, Q3O, Q3S, 原始, SMD, STL, WRL, XGL, ZGL, FBX, MD3
你不能直接在XCode/Scenekit中使用FBX(或者至少现在不能)。
您需要将文件以太转换为 .obj 或(我更喜欢的).dae
使用i.Ex Blender作为转换工具通常没有任何问题。
然后,如果需要,您可以直接从XCode将其转换为.scn文件。(根据Apple的说法,.scn文件具有较小的尺寸和更快的加载速度)