ARKit / ARCore 开发中的 3D 模型格式

2023-11-21

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

  1. ARKit for iOS 和 ARCore for Android 分别支持哪些 3D 模型格式? (我试过.dae and .objARkit 支持,尚未测试 ARCore。)

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


更新日期:2023 年 8 月 19 日。

SceneKit

Apple SceneKit框架加载 3D 模型ARKit和 VR 应用程序。 SceneKit 支持以下 3D 格式及其相应的材质文件:

  • .dae(支持动画)
  • .obj(单帧)及其纹理和.mtl file
  • .abc(仅支持单帧)
  • .usdz(支持动画)
  • .scn(原生SceneKit格式,支持动画)

现实套件

Apple 现实套件框架加载 AR 和 VR 应用程序的 3D 模型。您可以在名为的独立应用程序中为 RealityKit 制作内容原型现实作曲家专业版。 RealityKit 支持以下 3D 格式:

  • .usdz(支持动画和动态)
  • .reality(支持动画和动态,优化加载速度更快)
  • .rcprojectXcode 14–(支持动画和动态)
  • .realitycomposerproXcode 15+

此外,您还可以使用终端的美元兑换命令生成.usdz来自以下格式:

  • .obj
  • .glTF
  • .fbx
  • .abc
  • .usda
  • .usdc
  • .usd

当然,您可以使用现实转换器应用程序及其简单的 GUI。


场景形式

遗憾的是,自 2020 年 6 月起Sceneform已存档且不再由 Google 维护。

Google 场景形式处理 3D 模型ARCore SDK。 Sceneform 支持以下 3D 资源及其材质依赖性:

  • .obj(以其.mtl依赖性)
  • .glTF(不支持动画)
  • .fbx(有或没有动画)
  • .sfa(ascii 资产定义,在 Sceneform 1.16 中已弃用)
  • .sfb(二进制资产定义,在 Sceneform 1.16 中已弃用)

SceneKit, 现实套件, 场景形式 and 现实作曲家专业版支持基于物理的渲染。


ARKit 和 ARCore

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

这两个 AR 模块不关心 3D 几何图形的导入和渲染。他们只负责tracking(世界、图像、面孔、地理等)和场景理解(即平面检测、命中测试和光线投射、深度感知、光估计和几何重建)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ARKit / ARCore 开发中的 3D 模型格式 的相关文章

  • 如何使用 Arcore 截屏?

    我正在尝试截取增强现实屏幕的屏幕截图并将其作为位图传递给另一个活动 这是我用来截取屏幕截图的代码 截图功能 public static void tmpScreenshot Bitmap bmp Context context try Wr
  • SKVideoNode 作为 SCNSphere 的纹理

    我正在尝试使用 SKVideoNode 作为 SCNView 中 SCNSphere 的视频纹理源 我正在关注这个答案 SKVideoNode 嵌入在 SKScene 中 作为场景套件节点的纹理不起作用 https stackoverflo
  • ARKit – 有没有办法知道物体在与 ARCamera 相关的空间中的位置?

    我在 ARKit 的屏幕上有一个物体 我想知道它与相机方向之间的水平角度 或者至少该物体位于屏幕的左侧 中心或右侧 绝对 很好 首先 我们需要了解ARKit ARKit 对象不在actual空间并基于相机所看到的内容 相机并不完美 你会注意
  • 使用 Scenform 将 SceneView 加载到片段中后出现黑屏

    我正在开发一个项目 该项目将在一个片段中包含 3D 模型查看器 为了做到这一点 我决定使用 sceneform 在尝试在我的选项卡片段中显示 SceneView 后 我遇到了 SceneView 的问题 一切都是根据示例和 scenefor
  • SceneKit 在与 Swift 接触后获取纹理坐标

    我想在 3D SceneKit 场景中操作 2D 纹理 因此我使用此代码来获取本地坐标 IBAction func tap sender UITapGestureRecognizer var arr NSArray my3dView hit
  • 将 SceneKit 对象放置在 SCNCamera 当前方向的前面

    我想在用户点击屏幕时创建一个新的 SceneKit 节点 并让它以设定的距离直接出现在相机前面 为了测试 这将是一个 SCNText 读取 您点击此处 它还应该与视线成直角 即 面向 相机 所以 鉴于self camera orientat
  • ARKit - 获取相机到锚点的距离

    我正在创建一个锚点并将其添加到相机前面一定距离处的 ARSKView 中 如下所示 func displayToken distance Float print token dropped at distance guard let sce
  • ARImageAnchor 相对于 SCNNode 的方向

    我当前的代码库提供了方向 pitch yaw roll of an ARImageAnchor与世界的关系 我想要实现的是获得ARImageAnchor与启动会话后某个时间添加的节点相关的方向数据 func renderer rendere
  • 在 SceneKit 游戏中为 SCNNode 制作 SCNConstraint (LookAt) 动画以使过渡逐渐进行

    一般来说 当你想让游戏中的角色面对镜头时 可以使用 SCNLookAtConstraint 这实际上也对我很有帮助 Below 我的对象是我试图根据约束定向的节点 Enemy 指的是场景中的某个节点 pointOfView 是场景的视角 当
  • xcode9 / SceneKit - .dae 文件未加载到 SCNScene 中 - 返回 nil

    我正在尝试使用以下代码将 dae 文件加载到 SCNScene 中 let solutionScene SCNScene named art scnassets level1 dae print solutionScene rootNode
  • 在arcore中的3D对象上使用模板蒙版时出现问题

    我正在使用 hello ar java demo 在 3d 对象上使用模板掩模 但是我遇到了一些意外的行为 我的模板蒙版正确遮挡了平面渲染器 但 3D 对象 andy 似乎没有按预期做出反应 相反 如图所示 他似乎被翻转了 我不知道如何解决
  • 如何在SceneKit中实现逼真的景深效果?

    我正在尝试渲染具有真实景深效果的帧 我已经尝试过景深属性camera节点 但它不会产生可用的结果 是否可以切换到景深效果的最大渲染质量 性能不是一个因素 我只需要渲染一帧 用户可以等待它 SceneKit 中逼真的景深效果 在SceneKi
  • RealityKit – 什么是 `steelBox` 实例加载?

    当您使用标准 Xcode 模板创建增强现实项目时 Xcode 会添加以下内容swift文件到您的项目 Experience swift GENERATED CONTENT DO NOT EDIT import Foundation impo
  • 如何获得 ARAnchor 的绝对偏航、俯仰、横滚?

    几天来我一直在试图解决这个问题 给定一个基于 ARKit 的应用程序 我可以在其中跟踪用户的脸部 如何从其锚点获得脸部的绝对旋转 我可以获得 ARAnchor 的变换 它是 simd matrix4x4 有很多关于如何从该矩阵中获取位置的信
  • swift 4.0:覆盖“prepare”必须与其覆盖的声明一样可用

    我试图将 Apple 的 ARKit 示例应用程序集成到我的应用程序中 由于ARKit只是一个附加功能 所以我需要支持较低版本的iOS 我向所有 ARKit 示例应用程序类添加了 available iOS 11 0 标签 它几乎可以工作
  • 在 ARKit 和 RealityKit 中使用 Raycast 的真正好处是什么?

    RealityKit 和 ARKit 中的光线投射有何用途 我什么时候需要使用makeRaycast查询 https developer apple com documentation realitykit arview 3255315 m
  • ARKit 演示在 iPhone 6/iPhone 6 Plus 上崩溃

    我正在与ARKit功能 https developer apple com videos play wwdc2017 602 最近发布了主要的 iOS 版本 但我遇到了错误崩溃failed assertion MTLRenderPassDe
  • SceneKit unproject Z 文档解释?

    我正在经历一些 SceneKit 概念 而我试图在脑海中巩固的一个概念是 unprojectPoint 我知道该函数将获取 2D 中的一个点并返回 3D 中的一个点 因此具有正确的 Z 值 当我阅读文档时 我读到了以下内容 method u
  • 将 USD 模型转换为 GLTF 文件格式 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在寻找一种转换的方法 usdc usda usdz文件到 gltf使用命令行 Python 节点等等 到目前为止 一直在研究每个
  • 如何在 RealityKit 中录制视频?

    我在 Xcode 中有一个 RealityKit 项目 我想记录ARView 我考虑过ReplayKit 但那是为了屏幕录制 我只想录制ARView与它的相机饲料 我考虑过 AFathi 的开源项目 ARVideoKit 但它不支持 Rea

随机推荐