1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Apple Vision Pro MRアプリ開発 - XR Interaction Toolkit

Last updated at Posted at 2025-07-30

はじめに

Apple Vision ProでのMRアプリ開発について解説します。
PICO4/4U、Vive Focus Vision、Meta Questに続いての記事になります。

※ Apple Vision Proでは"MR"という表現はされませんが、他の記事との兼ね合いであえてMRアプリ開発とタイトルにつけています。

開発環境

  • Unity 6000.0.48f1 (Pro licence以上が必要です)
  • PolySpatial 2.3.1
  • XR Interaction Toolkit 3.2.0
  • Mac(Apple Silicon)

XR Interaction Toolkitのセットアップまで

こちらの記事に従ってXR Interaction Toolkitをセットアップしてください。

PolySpatialをインストールする

PolySpatialはUnityでVision Pro向けのアプリを開発するためのフレームワークです。
Package Managerで PolySpatial visionOSを検索してインストールしてください。
現在のlatestは2.3.1です。
image.png

PolySpatial visionOSをインストールすれば、依存しているパッケージも同時にインストールされます。

  • PolySpatial
  • PolySpatial visionOS
  • Apple visionOS Plugin
  • PolySpatial XR

Projectをセットアップする

公式ドキュメントに従ってセットアップします。
ここでは必要最小限の内容を説明します。

  1. Build Profilesウィンドウを開く (メニュー: File > Build Profiles)
  2. visionOS platformを選択
  3. Switch Platform ボタンを押し、visionOS platformに切り替える

image.png

Project Settings > XR Plug-in Management > visionOSタブでPlugin ProvidersのApple visionOSにチェック
image.png

XR Plug-in Management > Apple visionOSにて
App ModeにRealityKit with PolySpatialを選択
Hands Tracking Usage Deskription,World Sensing Usage Descriptionに利用理由を記載。
※この内容はアプリ起動時にユーザーの許可を得るダイアログで表示されます。
image.png

ビルドして実機で確認する

Build ProfilesでBuildを実行します。

実機向けにビルドする場合は TargetSDKにDevice SDKを、
シミュレーター向けにビルドする場合は TargetSDKにSimulator SDKをそれぞれ選択する
インタラクションはシミュレーターよりも実機の方が確認しやすいので実機向けにビルドしましょう。
image.png

Buildボタンにて、フォルダを指定してビルドしてください。

XCodeで実行する

ビルドすると指定したフォルダにUnity-VisionOS.xcodeprojeファイルが出来ます。
ダブルクリックしてXCodeで開き、インストールするデバイスを指定して実行してください。
image.png

Vision Proで操作出来るようにシーンをカスタマイズする

実機で動作確認すると分かりますが、HandsDemoSceneの全ての機能に対応するには、いくつか変更が必要になります。

まずは、XR Interaction ToolkitのvisionOS向けサンプルがありますので、そちらを確認してみましょう。

XR Interactio ToolkitのvisionOSサンプルをインポートする

XR Interactio Toolkitのsampleから、visionOSを探してimportしてください。
image.png

VolumeDemoを開く
image.png

Build Profielsにて、Scene ListにVolumeDemoシーンを追加し、ビルドして実行する
image.png

image.png

⚠️文字が表示されない時は Textが表示されない場合、TextMeshPro Essentialをインポートしてください。 メニュー > Window > TextMeshPro > Import TMP Essential Resources を選択

これでオブジェクトのGrabなどができている事が分かります。
VolueDemoを参考に、HandsDemoSceneを変更していきます。

VolumeCameraを追加する

VolumeCameraはVision Proで見た時のUnityの原点になります。
Bounded/Unbounded/Windowなどのモードがありますが、今回はUnboundedを選択します。

Hierarchy右クリック > XR > Setup > Volume Camera 選択
VolumeCamera Game Objectが追加される。
image.png

Assets > Resourcesフォルダで右クリック > Create > PolySpatial > Volume Camera Window Configuration
でVolumeCameraWindowConfigファイルを作成
image.png

ModeをUnboundedに設定
image.png

作成したUnbouded VolumeCameraWindowConfigをVolumeCameraコンポーネントに設定
image.png

VolumeCameraはXR Originの下、Camera Offsetと同一階層に配置する。
Position、Rotationは(0,0,0)にする。
image.png

AR Session を追加する

Hierarchyを右クリック > XR > AR Sessionを選択して追加。
image.png

Grab出来るようにする

XR RigにPrimary Interaction GroupとSecondary Interaction Group Variantを追加する事で、Grab出来るようになります。
Assets/Samples/XR Interaction Toolkit/3.2.0/visionOS/Prefabs/Interactors/

  • Primary Interaction Group
  • Secondary Interaction Group Variant

この2つをXR Rigの下に配置してください。

image.png

これで操作は出来るようになりました。

Handの見た目を調整する

あと一歩。手のモデルが真っ黒なのと、Rayが出ているのが気になります。

Handモデルを消す
HandVisualizer、Left/Right Hand Interaction Visiual GameObjectを非アクティブにして非表示にします。

image.png

Rayを消す

  • 全てのPinch Point Stabilizedを非アクティブ
    image.png

  • 全てのLine Visual を非アクティブ
    image.png

設定は以上です。
ビルドして実機で動作を確認してください。

おわりに

お疲れ様でした。

今回はOpen XRを使用していませんが、XR Interaction Toolkitが動作することでインタラクションに関して多少の調整で同じコンテンツを動作させる事が出来ました。
XR Intraction ToolkitにvisionOS用のサンプルがあるのがありがたかったです。

今回解説したセットアップ済みUnity ProjectはGitHubで公開しますので、自由にご利用ください。
https://github.com/afjk/visionOS-MR-Unity-Template
※ サンプルのHands Interaction Demoのインポートとセットアップは記事に沿ってご自身で設定してください。

XRアプリ開発に少しでもお役に立てれば幸いです。

参考

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?