Open7

iOSエンジニアなのでARKitについて調べてみる

akeomeakeome

ARで何ができるのか?

  • 空間に物が置ける
    • 置いた物の当たり判定、物理シミュレーション
  • 空間になんか書ける
  • 平面の認識
  • 顔の認識
  • Occlusion 2D/3D
    • ユーザーの体と2D/3Dオブジェクトの前後関係を反映できる

サンプル集

akeomeakeome

SceneKit VS RealityKit(2021年3月)

結論

今後のAppleによるサポートを考えると、SceneKitよりもRealityKitを採用した方が良さそう。ただし現時点(2021年3月)でRealityKitは機能不足だったり、ネット上のサンプルが少なかったりする可能性がある


ARKit

iOS 11.0+

  • AR体験のためのフレームワーク
  • モーショントラッキング、カメラ、フェイストラッキング

SceneKit

iOS 8.0+

  • 3Dコンテンツ表示のためのフレームワーク
  • 物理シミュレーション、パーティクルエフェクト、アニメーション

RealityKit

iOS 13.0+

  • 3Dコンテンツ表示のためのフレームワーク
  • SceneKitの新しい版?
  • LiDARスキャナのサポート

参考

akeomeakeome

3Dモデルのフォーマットについて

.usdz

.scn

  • SceneKit Catalogのこと
    • ということはSceneKit専用のオブジェクトかも?
  • https://developer.apple.com/documentation/scenekit/scnscenesource
  • Xcode上では .scnassets を作って、 .scn (3Dモデル)と .png (そのテクスチャ)のセットで扱うっぽい
  • .dae ファイルをXcode上で .scn に変換可能

.dae

akeomeakeome

Unityという選択肢

  • 3Dコンテンツを誰が作るねん問題
    • Apple製品上でしか使えないReality Composerを使って3Dコンテンツを作るのか?
    • Unityを使って3Dコンテンツを作ればiOS/Android両方で使いまわせるはず