LoginSignup
5
1

【VisionPro】UnityEditor とVisionPro Simulatorをリアルタイムに接続して動作チェックする方法【Unity】

Last updated at Posted at 2023-12-11

何ができるの?

  • UnityEditor のアプリをVisionOSSimulator上で再生できる
    • UnityEditor の操作内容・ VisionOS Simulator 上の操作がリアルタイムに双方に適応される
    • Interactive デバッグ環境

UNITE2023 APAC でも紹介されていることができます

TL;DR

  • バージョン一致してるか気をつけよう
  • ProjectSettings は設定抜け漏れやすいので何度も確認しよう
  • 基本的にはマニュアル通り

検証環境

ここ、めちゃくちゃ重要です!
バージョンがちょっとでも違うと動かない可能性が非常に高いです

項目 Version 補足
OS MacOSX 13.5 Xcode15.1beta が使える環境 + AppleSillicon 搭載Macが必要です
Unity 2022.3.11f1 ~3.13f1 今回の検証では2022.3.112f1 を使いました
Unity License Pro/Enterprise/Industry UNITE2023発表後以降 Personal/Plus ライセンスでの提供はできなくなりました (現状個人開発は厳しい)
PolySpatial 0.6.3 基本最新版
PolySpatial visionOS 0.6.3 基本最新版
PolySpatial XR 0.6.3 基本最新版
PolySpatial visionOS XR Plugin 0.6.3 基本最新版
PlayToDevice Host.app 0.6.3 詳細は後述
Xcode 15.1beta 今回の検証では Xcode15.1 beta 3 を使用

導入手順

基本的にはマニュアルに基づいて行います

HW編

  1. AppleSillicon 搭載Mac を購入します
    • Intel Mac はサポート対象外らしいです
    • 自分はVisionOS検証用にサブ機兼副業用Macを買い替えました(30万円の出費)

Unity編

  1. Unity2022.3.12f1 をUnityHUB経由で導入

    • VisionOS とiOS モジュールの追加が必須です
    • 基本Unity2022.3.11f1以降が必須
  2. Unityのプロジェクトを新規で作成

    1. URP が必須なので3D(URP)テンプレートから作成がおすすめ
  3. PackageWindowから必要なパッケージをいれます

    1. Unity Registory にあるもの
      1. ARFoundation(AR テンプレートから作ったら導入済み )
      2. Universal RP(URP テンプレートから作ったら導入済み )
    2. AddPackage by name で入れるもの
      スクリーンショット 2023-12-06 18.58.15.png
      1. com.unity.xr.visionos
      2. com.unity.polyspatial
      3. com.unity.polyspatial.visionos
      4. com.unity.polyspatial.xr
      • このあたりは ココ を参照
    3. PolySpatial パッケージを選択して、画面右側のSampleタブから Play to Device Input SettingsUnity Polyspatial Sample を両方Import
      スクリーンショット 2023-12-06 19.20.13.png
  4. ProjectSettings で設定

    1. ProjectSettings→Graphics→URP Global Settings でURPアセットを登録
      スクリーンショット 2023-12-06 19.02.14.png

      • Asset がない場合は Assets→Create→Rendering→URP Asset で作ってください
    2. ProjectSettings→PolySpatial→Enable PolySpatial Runtime にチェックをいれる
      スクリーンショット 2023-12-06 19.04.41.png

      • 最重要 これを有効にしないと動かないです
    3. ProjectSettings→Player→Resolution and Presentation→ Run in Background を有効化
      スクリーンショット 2023-12-06 19.07.13.png

      • ここFAQページにもある通り、VisionOSタブにはないので Standaloneタブ に切り替えないと項目が表示されないので注意
    4. ProjectSettings→Player→Splash Image→ Show Splash Screen を無効化
      スクリーンショット 2023-12-06 19.09.37.png

      • これがあると、後々Xcodeビルドに失敗する可能性があるので開発用途であれば無効化しておく
    5. ProjectSettings→Player→OtherSettings→Rendering→Color SpaceLinear にする
      スクリーンショット 2023-12-06 19.11.36.png

      • gamma 空間はv0.6.3時点でサポート対象外
    6. ProjectSettings→XR Plug-in Management→Plug-in Providers →Apple visionOS を有効化
      スクリーンショット 2023-12-06 19.13.14.png

    7. ProjectSettings→XR Plug-in Management→Apple visionOS →AppModeMixed Reality に設定
      スクリーンショット 2023-12-06 19.14.36.png

      • 今回はAR/MRアプリを想定しているのでMRモード
      • VRアプリ開発者は Virtual Reality にしてください
  5. cmd(ctrl)+shift + bキー で BuildSettings を呼び出して、visionOSにSwitchPlatformをしましょう
    スクリーンショット 2023-12-06 19.17.54.png

  6. Assets/Samples/PolySpatial/Scenes/BalloonGallery.unity を開く

  7. メニューバーから Window→PolySpatial→Play to Device を選択
    スクリーンショット 2023-12-06 19.23.23.png

    1. でてきたWindow の Coonect To Player On PlayMode にチェック
      スクリーンショット 2023-12-06 19.24.05.png
    2. Player IP はXcode 側のSimulator の準備ができるまで入れないでください

Xcode/VisionOS Simulator編

  1. 公式のGoogleDriveからUnityとXcodeSimulator用接続用のアプリをDLしておく
         - こちら より落とせます
         1. Play To Device Host.zip を解凍しておきます
         - 生成されるアプリは VisionOS Simulator 用アプリです
         - ダブルクリックで起動してもすぐアプリクラッシュします
     1. Xcode 15.1betaを落としておく
     - https://xcodereleases.com/ からのDLがおすすめです
     - 誤ってRCやリリース版をDLしないように注意
  2. Xcode 15.1beta を起動
    • 初回に vision OS とiOS 開発用モジュールのインストールが必要か聞かれるので問答無用でチェックマークを入れて導入してください
    • 導入に失敗するとvisionOS Simulator が動かないです
  3. visionOS 開発モジュールが導入されたら、メニューバーより Xcode→OpenDeveloperTool→ Simulator を選択
    スクリーンショット 2023-12-06 19.26.30.png
    • こんな感じの画面が出れば導入OK
      スクリーンショット 2023-12-06 19.27.27.png
    1. この画面がでたら 1-1 で 解凍した Play To Device Host.app をSimulator Window にDrag &Drop
      • 画面に 黒丸に赤枠の正六角形のアイコンが出てきてたらOK
  4. 追加したアプリを起動します
    1. スクショのように IP アドレスが表示されれば動作OKです
      ip.png
      • IP はGlobal/Privateどちらでも動作します
      • 筆者の環境はPrivate IPで動作チェック
      • Global はUNITEの動画参照

動作確認編

  1. Xcode の VisionOS Simulator 上で起動した Play To Device Host.app で表示されているIPアドレスを控える
  2. UnityのPlay To Device ウィンドウの Player IP に先ほどのIPを入力
  3. Unity を起動

これでうまくいくとUnityのGameView の画面がSimulator 上にも映ります

おまけ

手っ取り早く確認したいよ!!!

という方は、公式が用意しているテンプレートプロジェクトをご利用ください

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1