WWDC'23 で発表されたVisinoPro がついに発売されました!
今回は会社で無事に入手できたのでVisinoPro 向け(専用)アプリをUnityで開発するときに
出来ること・できないことをまとめました。
前提/注意点
- UnityはPro以上のライセンスが必須です
- 開発はApple Sillicon 搭載のMac が必要です
- 一部 SwiftUI/UIKit で使えていたAPIはVisionOS1.0では未実装なものがあります
- ある程度実現できない部分を考慮しつつ開発する必要があります
現状の PolySpatial(VisionOS) で出来ること
項目 | 補足 |
---|---|
ハンドトラッキング | 当たり判定があればObjectを持つ等も可能 |
ハンドジェスチャー | 手で特定のポーズを作った時にそのイベントをトラックすることが可能 |
タップ操作 | 人差し指と親指をくっつけることで選択アクションが可能 |
空間音響 | 音源を空間配置可能。立体音響として聴くことが可能(※HRTFを使うので体感には個人差があります) |
ARアンカー | 空間上にARアンカーを設定可能 |
平面検知 | 壁・床・テーブル等の平面を検知し、検知したMesh情報も取得可能 もちろんラベルも取得可能 |
リアルタイムデバッグ | UnityEditorを XCode のVisionOSSimulator もしくは VisionPro実機 とリアルタイムにデバッグが可能。 Editorでの操作 or Simulator/実機での操作をそれぞれの環境に即時に反映が可能PlayToDevice を利用 |
現状の PolySpatial(VisionOS) で出来ないこと
課題 | 現在の挙動 | 回避策 |
---|---|---|
Application のポーズ判定がとれない | OnApplicationPause() が発火しない | visionOSのバージョンアップ待ち |
Application の終了イベントがとれない | OnApplicationQuit() が発火しない | visionOSのバージョンアップ待ち |
アプリを終了してもBGMが停止できない | アプリ終了してもBGMは再生し続ける | UIにBGM停止ボタン等を設定するしかない. visionOSのバージョンアップ待ち |
視線ベクトル(Gaze)をリアルタイムにとれない | HoverEventかRaycastでHit位置はとれる | ポリシー的に無理そう |
HoverEvent をとれない | HoverEffect Componentによる自動的にエフェクトが適応されるのみ | visionOSのバージョンアップ待ち |
実機リアルタイムデバッグ |
AR系コンテンツはリアルタイムに検証は不可能(平面検知やハンドトラッキング等) |
現状はLogを貼っておくしかできない |
実機でよく使う開発に使える操作
スクショ
- デバイス左端にあるTopボタンを押す
- RealityComposerPro の
File
→Device Capture
を選択
アプリの強制終了
- デバイスの両端にあるTopボタンとCrownボタンを同時に長押しするとForceQuitメニューが出てくるのでそれを選択
- 基本的にxボタンを押してもホームに戻るだけでアプリは
Active状態
です
- 基本的にxボタンを押してもホームに戻るだけでアプリは
ファイル共有
- 基本的にはAirDrop経由でPCと実機間でやり取りが可能
- 実機のスクショや動画のキャプチャを送る時は覚えておくと良い
Eye/Handのセットアップ
通常開発時
公式にもある通り General
→ Eyes & Hands
→ Redo Eye Setup
, Redo Hands Setup
を選択
ゲストユーザーに装着してもらう場合
- 上方向を見て 丸いチェックマーク
✅
を探してTap - バーが並んでいる設定アイコンを選択
- 人型のバストアップアイコンの「ゲストモード」を選択
- この時Screen共有しておくとOK
- Guest モード設定後5分以内に被り直せば初期設定から行えるゲストモードで起動