ARKit/ARCore 开发中的 3D 模型格式 [英] 3D model formats in ARKit / ARCore development

查看:39
本文介绍了ARKit/ARCore 开发中的 3D 模型格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 iOS 和 Android 增强现实游戏开发的初学者.我有以下问题:

I am a beginner at AR game development for both iOS and Android. I have the following questions:

  1. ARKit for iOS 和 ARCore for Android 分别支持哪些 3D 模型格式?(我试过 .dae.obj 都支持 ARkit,还没有测试 ARCore.)

  1. What kinds of 3D model formats are supported by ARKit for iOS and ARCore for Android respectively? (I tried .dae and .obj are supported by ARkit, not yet test ARCore.)

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

Our 3D model vendor can only provide us FBX format. How can I convert it to the formats supported by ARKit and ARCore? I tried using 3D model converter, but the converted model has no texture.

推荐答案

更新时间:2021 年 7 月 25 日.

Updated: July 25, 2021.


Apple SceneKit 框架处理 ARKit 和 3D 应用.SceneKit 支持以下具有相应材质文件的 3D 资产:

Apple SceneKit framework handles 3D models for ARKit and 3D apps. SceneKit supports the following 3D assets with corresponding material files:

  • .dae(有或没有动画)
  • .obj(单帧)及其 .mtl 纹理
  • .abc(仅支持单帧)
  • .usdz(有或没有动画)
  • .scn(原生 SceneKit 的场景格式)
  • .dae (with or without animations)
  • .obj (single-frame) with its .mtl texture
  • .abc (only single-frame supported)
  • .usdz (with or without animations)
  • .scn (native SceneKit's scene format)


Apple 的 RealityKit 框架也处理 ARKit 的 3D 模型代码>.您可以在一个名为 Reality Composer 的独立应用程序中为 RealityKit 制作内容原型强>.RealityKit 支持以下 3D 资产:

Apple's RealityKit framework also handles 3D models for ARKit. You can prototype a content for RealityKit in a standalone app called Reality Composer. RealityKit supports the following 3D assets:

  • .usdz(有或没有动画)
  • .reality(带或不带动画和动态)——为更快的加载时间而设计
  • .rcproject(有或没有动画和动态)
  • .usdz (with or without animations)
  • .reality (with or without animations and dynamics) – Made for much faster loading time
  • .rcproject (with or without animations and dynamics)

此外,您可以使用终端的 usdzconvert 命令从以下格式获取 .usdz:

Additionally you can use Terminal's usdzconvert command to get .usdz from the following formats:

  • .obj
  • .glTF
  • .fbx
  • .abc
  • .usda
  • .usdc
  • .usd
  • 当然,您可以使用 Reality Converter 应用程序(发布于2020)具有简单的用户界面.

    And, of course, you can use Reality Converter app (released in 2020) with simple UI.


    Google Sceneform 处理 3D 模型ARCore SDK.Sceneform 支持以下 3D 资产及其材质依赖:

    Google Sceneform handles 3D models for ARCore SDK. Sceneform supports the following 3D assets with their material dependencies:

    • .obj(及其 .mtl 依赖项)
    • .glTF(不支持动画)
    • .fbx(有或没有动画)
    • .sfa(ascii 资产定义,在 Sceneform 1.16 中已弃用)
    • .sfb(二进制资产定义,在 Sceneform 1.16 中已弃用)
    • .obj (with its .mtl dependency)
    • .glTF (animations not supported)
    • .fbx (with or without animations)
    • .sfa (ascii asset definition, deprecated in Sceneform 1.16)
    • .sfb (binary asset definition, deprecated in Sceneform 1.16)

    附言很遗憾,但自 2020 年 6 月起 Sceneform 已存档,不再由 Google 维护.

    P.S. It's a pity but since June 2020 Sceneform has been archived and no longer maintained by Google.


    SceneKitRealityKitSceneformReality Composer 支持基于物理的渲染.

    SceneKit, RealityKit, Sceneform and Reality Composer support Physically Based Rendering.


    那么 ARKit 和 ARCore 的作用是什么?

    这两个模块不关心 3D 几何图形的导入和渲染.他们只关心跟踪、场景理解(平面检测、命中测试和光线投射、精确的场景深度感知、光估计、场景几何重建等).

    These two modules don't care about importing and rendering of a 3D geometry. They only care about tracking, scene understanding (plane detection, hit-testing and raycasting, precise scene depth perception, light estimation, scene geometry reconstruction, etc).

    这篇关于ARKit/ARCore 开发中的 3D 模型格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆