I am a beginner at AR game development for both iOS and Android. I have the following questions:
What kinds of 3D model formats are supported by ARKit for i
Updated: July 12, 2020.
Apple SceneKit framework handles 3D models for ARKit
and 3D apps. SceneKit supports the following 3D assets with corresponding material files:
.dae
(with or without animations).obj
(single-framed).abc
(single-framed).usdz
(with or without animations).scn
(native SceneKit's scene format)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
(with or without animations).reality
(with or without animations and dynamics) – Made for much faster loading time.rcproject
(with or without animations and dynamics)Additionally you can use Terminal's usdzconvert command to get
.usdz
from the following formats:
.obj
.glTF
.fbx
.abc
.usda
.usdc
.usd
And, of course, you can use Reality Converter app (released in 2020) with simple UI.
Google Sceneform handles 3D models for ARCore
SDK. Sceneform supports the following 3D assets with their material dependencies:
.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)P.S. It's a pity but at the moment (since June 2020) Sceneform
has been archived and no longer maintained by Google.
SceneKit, RealityKit, Sceneform and Reality Composer support Physically Based Rendering.
But what's the role of ARKit and ARCore then?
These two modules don't care about importing and rendering of a 3D geometry. They only care about tracking, scene understanding and light estimation.