ARKit / ARCore开发中的3D模型基础

Fun*_* LI 2 augmented-reality scenekit arkit arcore sceneform

我是iOS和Android AR游戏开发的初学者。我有以下问题:

  1. ARKit(适用于iOS)和ARCore(适用于Android)分别支持哪种3D模型格式?(我尝试过.dae.obj得到ARkit的支持,但尚未测试ARCore。)

  2. 我们的3D模型供应商只能提供FBX格式。如何将其转换为ARKit和ARCore支持的格式?我尝试使用3D模型转换器,但是转换后的模型没有纹理。

ric*_*ter 5

ARKit 不关心模型格式,因为 ARKit 本身不显示 3D 模型(或其他任何东西)。

\n\n

ARKit 提供了供更高级别渲染引擎 \xe2\x80\x94 Apple 的 SceneKit 或 SpriteKit、第三方 Unreal 或 Unity 插件或您使用 Metal 或 OpenGL 自行构建的引擎使用的信息。渲染引擎负责绘制相机输入并叠加 3D 内容以创建 AR 幻觉,并且它使用 ARKit 提供的信息来令人信服地执行此操作。

\n\n

我对 ARCore 了解不多,但从表面上看,它在 Android 生态系统中扮演着相同的角色 \xe2\x80\x94 它是 Unity、Unreal 或其他处理 3D 模型的引擎。

\n\n

因此,此类问题特定于您在 ARKit/ARCore使用的任何 3D 引擎。SceneKit 可以直接处理 DAE 和 OBJ,以及通过模型 I/O 处理更多格式(请参阅 和MDLAssetSCNScene.init(mdlAsset:)。对于 Unreal、Unity 以及与 ARCore 手柄一起使用的任何其他内容...请参阅这些技术的文档。

\n


ARG*_*Geo 5

Apple SceneKit框架可处理3D模型ARKit和3D应用程序。SceneKit支持以下3D资源以及相应的材质文件:

  • .dae (有或没有动画)
  • .obj (单张)
  • .abc (单张)
  • .usdz (有或没有动画)
  • .scn (本机SceneKit的场景格式)

苹果公司全新的RealityKit框架(于2019年发布)还处理ARKit3D应用程序的3D模型。RealityKit支持以下3D资产(您可以在全新的Reality Composer应用中为RealityKit制作内容原型):

  • .usdz (带有/不带有动画)
  • .reality (带有/不带有动画和动态效果)
  • .rcproject (带有/不带有动画和动态效果)

Google Sceneform处理ARCoreSDK的3D模型。Sceneform支持以下3D资源及其材料依赖性:

  • .obj(及其.mtl依赖性)
  • .glTF (不支持动画)
  • .fbx (有或没有动画)
  • .sfa (ASCII资产定义)
  • .sfb (二元资产定义)

SceneKitRealityKitSceneformReality Composer支持基于物理的渲染(PBR)。

但是,ARKit和ARCore的作用是什么

这两个模块不关心3D几何的导入和渲染。他们只关心跟踪,场景理解和光线估计。