😎
RealityKit でカスタムジオメトリを設定するメモ
背景
TinyUSDZ https://github.com/syoyo/tinyusdz を使って iOS, VisionOS 系で USDZ モデルを表示したい...
3D のライブラリは SceneKit と RealityKit がありますが,
SceneKitとRealityKitの比較
こちらをみると今後(本メモの執筆時点は 2024/06)は RealityKit がメインとなるようである.
RealityKit だと環境推定とか PBR シェーディングとかもぺろっとやってくれるようなので, メッシュとマテリアルの情報だけ渡せばよしなにレンダリングしてくれそ?
RealityKit だと一応 USDZ モデルをデフォで読めるようですが, いろいろカスタマイズしたいのを考えると, TinyUSDZ で自前で USD モデルを読み, RealityKit にジオメトリデータとかを与えたいところ
(モーションを付け替えたりとか, USD 読んだあとにプロシージャルにモデルを変形させたり, マテリアル張替とか)
方法
GLTFKit2 を見ていたら glTF のモデルを RealityKit に変換するのがあった.
自前でメッシュとか設定できました!
Getting Started with RealityKit: Procedural Geometries
これらを参考にすればカスタムメッシュを設定できるでしょう!
特に複雑なことはなく, OpenGL, glTF 的な感じのデータ構造のようです
(オフィシャル(?)だとサンプルコードがログインしないと取得できなかったり, ドキュメントとかが貧祖でわかりずらいよね...)
Discussion