
visionOSアプリ作ろうと思ったらアプリで頑張ることそんなにない説
これは フェンリル デザインとテクノロジー Advent Calendar 2024 15日目の記事です
2024年6月10日…
クパチーノホテルで体験させてもらったApple Vision Proが楽しくて、私も開発したいと思い立ったあの日から半年…
3年間で培ったなけなしのSwiftの知識だけでvisionOSアプリ開発を始めた私が感じたことを綴ります。
強力な仲間
さてやろうとは思ったものの自分でデバイスを買うには高いし…と思っていた矢先、フェンリルのデザインセンターでApple Vision Pro検討チームが発足されるという噂をききつけました。これは乗るしかない!とデザイナーさんたちの中にかじりつき、晴れてチームの一員になりました。
最初の壁
空間コンピューティングということで、まずは拡張現実や3Dオブジェクトの技術を取り入れないと話になりません。
ARKit
現実世界のトラッキングやセッション管理
RealityKit
3Dオブジェクトの配置やアニメーション再生
新しい分野に挑戦しようとすると必ずこのナントカKitさんとバトルするわけですが、大体公式ドキュメントに全部書いてあります。書いてあるんですが、英語だし小難しくてそれだけではわからない…..
強力なリソースとサポート
そんな私を支えてくれたのが、Appleのサンプルコードです。
私:3Dオブジェクトをジェスチャーで移動させたい…
🍎:ここにサンプルあるで
私:3Dモデルのインタラクションて…
🍎:ここにサンプルあるで
私:あ、イマーシブ空間って
🍎:ここにサンプルあるで
私:カスタムジェスチャーって流石に難しいよね…?
🍎:ここにサンプルあるで
やろうとしたことはほぼ全部サンプルコードが用意されていました😭神😭
英語の文章は難しいけれど、コードなら読める!ということで、公式ドキュメントとサンプルコードを何度も往復してるうちになんかそれっぽいものができちゃいました。
鬼門:3Dモデリング
発売から間もないため、Appleのサポートも強く、Developer ForumのvisionOSに関する質問はほぼすべてにAppleのエンジニアからの解答がありました。そういうこともあり、アプリ開発は意外となんとかなる。のだけれど。3Dモデリングが大変だった….。
1. 多様なDCCツールとの互換性
DCCツールとは、Digital Content Creationツールの略で、3Dモデルをつくるだけでなく、アニメーションやシェーディングなどのデジタルコンテンツを作成するためのツール。Blender、Maya、Fusionなどいろいろなツールがあります。
やっかいなのが、ツールごとに成果物ファイルのフォーマットが異なること。汎用的なフォーマットとしてfbx, USDなどが用意されてはいるものの、各ツール固有の機能やパーツを使ってしまうとエクスポートに失敗して、せっかく綺麗に作ったモデルが真っ白で出てきたり、丸く作ったはずなのにかくかくしてしまったりする。
とくにRealityKitでサポートされているUSDの機能は限られており、気をつけないと作り直しになることも…
2. 浅はかなデジタルコンテンツ知識
照明を追加する、影をつける、マテリアル、テクスチャ、シェーダーグラフ、マップ....とにかくわからない単語が多すぎる。パートナーに協力してもらって3Dモデリングを依頼するにしても、レンダリングするときにパフォーマンスが落ちるからこうしてほしいだとか言うために、なにかと知識が必要になってきます。
まとめ
visionOSアプリ開発は、最初は少しハードルが高いと感じましたが、やってみると意外といける部分が多いです。ただ、3Dモデリングに関してはまだまだ課題が山積みです。幸い、弊社には3Dモデリングに挑戦しているデザイナーがいるため、協力を仰ぎつつ自分でも挑戦していきたいと思っています。
とはいっても、こんな未来的なデバイスでなにつくればええんや…?ってなると思います。そのあたりのアイデアだしについてはフェンリルのApple Vision Pro検討チームの妄想族が記事を書いているので、のぞいてみてください。