UnityでvisionOS用のMR(複合現実:現実世界と仮想世界を融合させた技術や体験)がどのようなものなのか実機で確認した動画です。PolySpatialという機能拡張をUnityに加え、そのサンプル群をざっと試してみています(PolySpatial Mixed Reality App)。シミュレータでも箱型アプリの多くは試せますが、空間を利用したものは実機でないと動作しませんでした。(今回のはUnity 6000.3.31f1でビルドしてます)
サンプルの開始位置
- Targeted Input (00:16)
- uGUI (00:29)
- Input Debug (00:52)
- Object Manipulation (01:20)
- Character Navigation (01:46)
- Mixed Reality (02:01)
- Image Tracking (02:52)
- Object Tracking (04:11)
- Swift UI (04:28)
- Meshing (04:52) ←これ面白い
- Portal (06:33)
- Particles (08:36)
- Lights (09:21)
- Blendshapes (09:50)
- Resizable Volumes (10:10)
- Billboard Component (11:08)
作成手順
- ここの「Immersive App Template」からリンクされている visionOS Template ページから「visionOSTemplate-2.1.2.zip」をダウンロードし、これを元にするのが早そう。
- Unity HubでAddし、Editor Versionは、最新のLTS(ここではvisionOSサポートをインストール済みの6000.0.31f1)で開く。開くときエラーが出たりした時は、開いた後、一旦閉じてまた開くと良さそう。
- Build ProfilesでPlatformをvisionOSにし、Project Settings > XR Plug-in Management で「Apple visionOS」にチェック(すでにチェックされている)。
- Window > Package Managerを開き、「poly」を検索し、「PolySpatial(2.1.2)」を選ぶと「Samples」というタブがあります。「Unity PolySpatial Samples」の「Import」を押します。
- Assets/Samples/PolySpatial/Scenes にあるシーンをすべて、Build ProfilesのScene Listへドラッグ&ドロップで追加します。「ProjectLauncher」シーンを一番上の0番目にしておきます。
- UnityからvisionOSビルドを書き出し。
- Xcodeでプロジェクトを開き、あとは「UnityとVision Pro(1) 開発準備編」の実機確認。(シミュレーターで動くサンプルもいくつかあります)
おまけ
以下、新規作成からのMEMOですが、最終的にXcodeのビルド時にエラーが出て実機確認できなかったのですが、一応残しておきます。上記、「Immersive App Template」を元にするのが早そうです。
- 新規作成時に6000.0.31f1を選び、Mixed Reality (MR) Core テンプレートで新規作成。
- Build ProfilesでPlatformをvisionOSにし、Project Settings > XR Plug-in Management で「Apple visionOS」にチェック。
- XR Plug-in Management 以下のApple visionOSでApp Modeを「RealityKit with PolySpatial」にすると、「Install PolySpatial」というダイアログが出るのでYes。Package Managerで「PolySpatial visionOS」機能拡張をインストールしたのと同じ状態に。
- XR Plug-in Management 以下のProject Validationで「Fix All」を押しておきましょう。
- Apple visionOSのHands Tracking Usage Descriptionに「Hand tracking required for interaction(日本語なら「ハンドトラッキングを使用して操作を行います」)」と、World Sensing Usage Descriptionに「World sensing required for plane detection(日本語なら「平面検出のためにワールドセンシングを使用します」)」と入れておきましょう。
- 「IL2CPP Large Exe Workaround」もチェック。(これをチェックしないとXcodeのビルド時にエラーが出ます)
- この時点で、「XR Hands」などのサンプルもありますが、上記動画にあるPolySpatialのサンプルをインストールします。
- Window > Package Managerを開き、「In Project」で「poly」を検索し、「PolySpatial(2.1.2)」を選ぶと「Samples」というタブがあります。(Unity Registryの方で検索したものには、Samplesタブがないので要注意)「Unity PolySpatial Samples」の「Import」を押します。再度エラーが見つかるので、Project Validationで「Fix All」を押します。
- Assets/Samples/PolySpatial/Scenes にあるシーンをすべて、Build ProfilesのScene Listへドラッグ&ドロップで追加します。「ProjectLauncher」シーンを一番上の0番目にしておきます。
- UnityからvisionOSビルドを書き出し
- Xcodeでプロジェクトを開き、あとは「UnityとVision Pro(1) 開発準備編」の実機確認。(シミュレーターで動くサンプルもいくつかあります)
- この手順ではXcodeビルド時にエラーでした・・・
このシリーズの続きは「UnityとVision Pro(3) Play to Device 試してみた」で。
東京造形大学卒業後、マクロメディア(現アドビ)に入社。QAやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、Unity, Unity Netcode for GameObjects, CakePHP, Laravel, ZBrush, Modo, Adobe Substance 3D, Adobe Firefly, Xcode, Apple Vision Pro, Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。