Какие форматы 3D-моделей поддерживает ARKit?

Какие форматы 3D-моделей поддерживает ARKit? Кто-нибудь знает все поддерживаемые форматы для использования в ARKit, и какой формат Xcode можно экспортировать для использования в приложении?

1 ответ

Решение

DAE и OBJ/MTL поддерживаются автоматически, в том смысле, что вы можете просто перетащить файлы в папку.scnassets, и она будет обрабатывать их для вас. Лично у меня было меньше проблем с OBJ/MTL, но я не очень хорошо разбираюсь в 3D.

В документации для Model I/O говорится, что вы можете импортировать 3D-активы из следующих файлов

Набор поддерживаемых форматов включает Alembic (.abc), объект Wavefront (.obj), Polygon (.ply) и стандартный язык тесселяции (.stl). Также могут поддерживаться дополнительные форматы.

Я не работал с этой платформой, поэтому не могу сказать вам, насколько хорошо она работает с ARKit.

И вы можете взглянуть на AssimpKit, который позволяет экспортировать несколько форматов в сцены.scn SceneKit

ARKit 4.0

Сам ARKit не читает никаких 3D-форматов. Это могут делать только движки рендеринга.

SceneKit а также RealityKit фреймворки, которые являются спутниками ARKit 4.0, поэтому они могут читать в поли-геометрии, поддерживая несколько популярных форматов 3D-файлов на данный момент:

  • Биржа цифровых активов Collada .dae

  • Описание универсальной сцены Pixar в архиве .usdz

  • Описание универсальной сцены Pixar в формате ASCII .usda

  • Двоичное описание универсальной сцены Pixar .usd а также .usdc

  • Форматы Reality Composer и RealityKit .rcproject а также .reality

  • Объект волнового фронта .obj вместе с материалом .mtl

  • Формат файла обмена Alembic .abc

  • Формат файла многоугольника .ply

  • Формат файла стереолитографии .stl

  • SceneKit Сцена .scn

Лучший способ использовать эти форматы - инициализировать SCNScene из MDLAssset вот так:

import SceneKit.ModelIO

guard let url = Bundle.main.url(forResource: file, withExtension: "usdz") 
else { 
    fatalError() 
}
let mdlAsset = MDLAsset(url: url)
let scene = SCNScene(mdlAsset: mdlAsset)

Полный набор типов файлов, документированных как поддерживаемые платформой ввода-вывода модели, можно найти здесь:

https://developer.apple.com/documentation/modelio/mdlasset/1391813-canimportfileextension

В набор поддерживаемых расширений и форматов входят:

  • .abc Alembic
  • .usd,.usda,.usdc Описание универсальной сцены
  • .usdz Описание универсальной сцены (для мобильных устройств)
  • .ply Многоугольник
  • .obj Объект волнового фронта
  • .stl Стандартный язык тесселяции

Также могут поддерживаться дополнительные форматы.

Похоже, что новый предпочтительный тип файла Apple для ARKit на iOS (начиная с iOS 12) - это их собственный usdz:

https://developer.apple.com/augmented-reality/quick-look/

Другие вопросы по тегам