MRが楽しい

MRやVRについて学習したことを書き残す

UnityPackageManagerを使ってプロジェクトにMRTK 2.5をインポートする

本日は MRTK 2.5 の技術調査枠です。
Unity Package Manager を使ってプロジェクトに MRTK 2.5 をインポートする手順を記事にします。
f:id:bluebirdofoz:20201005210518j:plain

以下の記事の翻訳と実施キャプチャ、一部追記を元に記事にしています。
microsoft.github.io

Mixed Reality ToolkitとUnity Package Manager

サポートバージョン

以下のバージョンで Unity Package Manager を使った MRTK のインポートが可能です。
・Unity 2019.4 以降
・MRTK 2.5 以降
f:id:bluebirdofoz:20201005210346j:plain

Unity Package Managerを使用したインストール

マニフェストファイル(manifest.json)を使用して、インストールするパッケージとレジストリ(サーバー)を決定します。
f:id:bluebirdofoz:20201005210529j:plain

MRTKのバージョン 2.5 では、サーバーとパッケージの初期登録はプロジェクトごとに手動で行います。
このプロセスは Azure DevOps でサポートされていない Legacy npm 検索機能(/-/all)を Unity Package Manager が使用しているため必要です。

Mixed Realityコンポーネントサーバーの登録

Microsoft Mixed Reality Toolkitを使用するプロジェクトごとに、manifest.jsonファイルで MixedReality スコープのレジストリを追加する必要があります。
以下に MixedReality をサポートするために manifest.json を変更する方法を示します。

1. /Packages/manifest.jsonVisual Studio Code などのテキストエディターで開きます。
f:id:bluebirdofoz:20201005210541j:plain

2.マニフェストファイル上部の"scopedRegistries"セクションに、Mixed Reality サーバーを追加してファイルを保存します。

{
  "scopedRegistries": [
    {
      "name": "Microsoft Mixed Reality",
      "url": "https://pkgs.dev.azure.com/aipmr/MixedReality-Unity-Packages/_packaging/Unity-packages/npm/registry/",
      "scopes": [
        "com.microsoft.mixedreality",
        "com.microsoft.spatialaudio"
      ]
    }
  ],

f:id:bluebirdofoz:20201005210553j:plain

MRTKパッケージの追加

Microsoft Mixed Reality スコープのレジストリマニフェストに追加すると、MRTK パッケージを指定できます。
以下の Unity Package Manager のセクションに、利用可能なMRTKパッケージの内容と利用シナリオを説明しています。
microsoft.github.io

MRTK パッケージを追加するには Packages/manifest.json ファイルの"dependencies"セクションを変更します。
次の例は、foundation, Tools, Examples パッケージの追加を示しています。
標準アセットパッケージは、ファンデーションの依存関係として自動的に追加されます。

  "dependencies": {
    "com.microsoft.mixedreality.toolkit.foundation": "2.5.0",
    "com.microsoft.mixedreality.toolkit.tools": "2.5.0",
    "com.microsoft.mixedreality.toolkit.examples": "2.5.0",

f:id:bluebirdofoz:20201005210614j:plain

Unity Package Managerを使用したMixed Reality機能の管理

パッケージマニフェストへの追加を行うと、Unity Package Manager で MRTK パッケージが管理されます。
f:id:bluebirdofoz:20201005210624j:plain

パッケージは[Package]の下に追加されます。
.unitypackage でインポートした場合とはファイルパスが異なるので注意が必要です。
f:id:bluebirdofoz:20201005210634j:plain

Unity Package Manager から Mixed Reality Toolkit パッケージを削除した場合は、前述の手順で再度追加する必要があります。

Mixed Reality ToolkitのExamplesの使用

アセット・パッケージ(.unitypackage)ファイルを使用する場合とは異なり、com.microsoft.mixedreality.toolkit.examples および com.microsoft.mixedreality.toolkit.handphysicsservice は、サンプルのシーンとアセットを自動的にインポートしません。
サンプルを利用するには、次の手順を使用してください。

1. Unityエディターで[Window -> Package Manager]を開きます。
f:id:bluebirdofoz:20201005210647j:plain

2.[Unity Registries]を[My Registries]に切り替えます。
f:id:bluebirdofoz:20201005210658j:plain

3.パッケージのリストで[Mixed Reality Toolkit Examples]を選択します。
f:id:bluebirdofoz:20201005210709j:plain

4.[Samples]リストから目的のサンプルを見つけます。
f:id:bluebirdofoz:20201005210720j:plain

5.目的のサンプルの[Import into Project]をクリックします。
f:id:bluebirdofoz:20201005210732j:plain

6.これでサンプルのシーンとアセットがインポートされます。
f:id:bluebirdofoz:20201005210741j:plain

7.シーンを開くことでサンプルを確認できます。TextMesh などの追加インポートはこれまでと同様です。
f:id:bluebirdofoz:20201005210750j:plain

サンプルパッケージが更新されると、Unity はインポートされたサンプルを更新するオプションを提供します。
インポートされたサンプルを更新すると、そのサンプルと関連するアセットに加えられた変更が上書きされます。