日本でも空間コンピューティングの時代の始まりと銘打たれた「Apple Vision Pro」がついに販売開始され、実機でのアプリ開発が可能となりました。さっそく開発の流れと、動作を確認する為にVisionOSベースのアプリを試作してみましたのでご紹介します。
また、単にVisionOSで動くだけのアプリを試作しても先駆者の後追いとなるので、最近弊社で取り組んでいる生成AIで3Dモデルを自動生成するプロジェクトを組み込んでみました。
まずはアプリの動作を動画でご覧ください。
試したことはシンプルで「写真一枚で実物っぽいモデルを生成し、Apple Vision Proの空間内で閲覧が出来る」という物です。アルバムから選択した画像に写っている対象物を3Dモデルにして空間に出現させています。
3Dモデルを表示して閲覧する機能はApple Vision Pro に標準搭載されていますが、その機能を手軽にできる範囲で少し拡張してみた、といった感じです。2Dの写真データから3Dのモデルデータを作成する部分には生成AIを使っています。
![](https://image.jimcdn.com/app/cms/image/transf/none/path/s2862ed836fb86f79/image/i194bafb319f4a294/version/1720569912/image.png)
アプリのフローと仕様
アプリの流れは以下となっています。
- ユーザーが3Dモデルにしたい対象の写真を撮りアルバムに保存する。
- 撮った写真をアルバムから選択し、サーバーに写真データを送信する。
- サーバーで生成AIを使用して3Dモデルを生成し、AppleVisionProのアプリ側に返す。
- Apple Vision Proで認識した空間にモデルデータを出現させる。
- 出現したモデルを空間上で掴んで投げたりといった操作を行う。
VisionOSのアプリはUnityを使って作成しています。(PolySpatial VisionOS Unityの公式パッケージを使っています)
生成AIのモデルは「TripoSR」という単一の画像から情報が無い部分を推測して3Dモデルを生成してくれるモデルを使用しています。
生成AIの動作はサーバーPCで行い、ネットワーク通信でデータをやり取りできる仕組みを構築しています。
![](https://image.jimcdn.com/app/cms/image/transf/none/path/s2862ed836fb86f79/image/ie21cfc753eae0fda/version/1720569913/image.png)
アルバムの写真を選択
事前にわかっていましたが、Apple Vision Proは画面に表示しているカメラ画像にアクセスする方法がありません。アクセスが出来ればアプリで写真を撮影し、そのデータを使用してモデルを生成するという流れが出来るので分かり易いのですが、プライバシー上の問題を発生させてしまうのでこの制限は止む無しというところでしょうか。
そのため今回はデバイス内部に保存した写真にアクセスして使用する事としました。この方法も残念ながらPolySpatial VisionOS Unityではまだ非対応だったので、SwiftUIのプラグインを自作して対応しました。
※動画をご覧になるとお気づきになると思いますが、アルバムの画像選択UIの空間内の位置指定方法が見つからず、すこし離れた位置に出現してしまっています。次回は調査を進めて改良したいと思います。
![](https://image.jimcdn.com/app/cms/image/transf/none/path/s2862ed836fb86f79/image/ib0498f2e5eddce5e/version/1720569913/image.png)
生成AIでImage to 3D Model を行う
TripoSRを使用することで、1枚の画像から3Dモデルを作成することができます。このTripoSRはサーバー上でPythonで動作しておりAPIのリクエストを送ると自動的に動作を開始します。今回はUnityアプリから画像といくつかのパラメータを含むリクエストを送信し、3Dモデルを取得します。
モデルを取得した後、シーンの中央にプレビュー表示し、ユーザーの左手でアクションを行うか、シーン内のボタンを押すことによって、そのモデルをシーン内に何体でも出現させることができます。
![](https://image.jimcdn.com/app/cms/image/transf/dimension=528x10000:format=jpg/path/s2862ed836fb86f79/image/idf75f55c10336181/version/1720769152/image.jpg)
![](https://image.jimcdn.com/app/cms/image/transf/dimension=528x10000:format=png/path/s2862ed836fb86f79/image/ifb7b85bd44593573/version/1720769734/image.png)
![](https://image.jimcdn.com/app/cms/image/transf/none/path/s2862ed836fb86f79/image/i9ec23e2996250e2c/version/1720574182/image.png)
まとめ
Apple Vision Pro自体については色々な機能がシミュレーターで動作確認ができますので、今回の試作でアプリを作るだけであればすぐできるということが分かりました。とはいえ、シミュレーターでは動作するのにデバイス上では正常に動作しないというケースもあり、開発に慣れやノウハウは必要そうです。PolySpatial VisionOS Unityパッケージは、まだ開発初期段階と思いますが、現在対応している機能はとても良く、次のアップデートが楽しみです。ですがそれまではSwiftUIで自前実装しないといけないことなどもありそうです。
このアプリは将来的にはECサイトなどに応用できると思います。ECサイトには商品の画像は絶対に存在するので、画像から3Dモデルを生成してリアルな店舗のように棚に並べて閲覧できたら面白そうではないでしょうか。今回はその取っ掛かりを掴めることが出来たと思っています。EC事業者で、試してみようと思われる方がいらっしゃいましたら、ぜひご一報ください。
生成AIと、Apple Vision Proを活用したサンプルについては、次回作も作成していますので乞うご期待です。
![](https://image.jimcdn.com/app/cms/image/transf/none/path/s2862ed836fb86f79/image/i82d25688faf19743/version/1720574315/image.png)
上記ブログの内容に少しでも興味がありましたら、お気軽にご連絡ください。
紹介したアプリのデモ実施やAppleVisionProのアプリ開発についてのご相談などお待ちしております。
弊社のエンジニアがフレンドリーに対応させていただきます。