ARKit支持哪些3D模型格式? 有人知道在ARKit中使用的所有支持格式,以及Xcode可以导出以在app中使用的格式吗?
答案 0 :(得分:6)
DAE和OBJ / MTL是自动支持的,因为您可以将文件放在.scnassets文件夹中,它将为您处理它们。就个人而言,我对OBJ / MTL的问题较少,但我并不精通3D。
Model I/O的文档说明您可以从以下文件中导入3D资源
支持的格式集包括Alembic(.abc),Wavefront Object (.obj),多边形(.ply)和标准曲面细分语言(.stl)。 也可以支持其他格式。
我没有使用过这个框架,所以不能告诉你ARKit的效果如何。
你可能想看看AssimpKit,它允许将几种格式导出到.scn SceneKit场景
答案 1 :(得分:0)
ARKit 2.0
框架以及SceneKit
框架目前支持几种流行的3D文件格式:
Collada的数字资产交易所 .dae
皮克斯压缩的通用场景描述 .usdz
皮克斯的ASCII通用场景描述 .usda
皮克斯的二进制通用场景描述 .usd
, .usdc
Wavefront对象 .obj
以及材料 .mtl
Alembic交换文件格式 .abc
多边形文件格式 .ply
立体光刻文件格式 .stl
SceneKit场景 .scn
使用这些格式的最佳方法是像这样从MDLAssset初始化SCNScene
:
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)
希望这会有所帮助。
答案 2 :(得分:0)
可以在以下位置找到Model I / O框架支持的完整文件类型集:
https://developer.apple.com/documentation/modelio/mdlasset/1391813-canimportfileextension
受支持的扩展名和格式集包括:
- .abc Alembic
- .usd,.usda,.usdc通用场景描述
- .usdz通用场景描述(移动)
- .ply多边形
- .obj Wavefront对象
- .stl标准镶嵌语言
可能还支持其他格式。
看来,Apple的iOS(自iOS 12起)针对ARKit的新首选文件类型是他们自己的usdz: