しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

MRDesignLabs のサンプルを Unity 2017.2.0f3 用に移行する

※ これは 2017/10/21 MixedRealityToolkit-Unity for Unity 2017.2.0f3 時点の情報です

最新版では動作が異なる可能性がありますのでご注意ください

そろそろ HoloLens 用の UI を追加していきたいところ・・・というわけで Microsoft の HoloLens チームが作っている MRDesignLab のサンプルを動かしてみたいと思います

MRDesignLab のサンプルは UI コンポーネントやその実装サンプルが含まれているので手っ取り早く UI を作りたい場合は便利です・・・が、まだ Unity 2017.1 用みたいなので Unity 2017.2.0f3 でも動くようにしてみたい

とりあえず下記2つの各リポジトリからソースファイルをダウンロードしておきます

f:id:matatabi_ux:20171030212709p:plain

f:id:matatabi_ux:20171030212920p:plain

MRDesignLabs_Unity の zip の方を解凍したら、中の MRDesignLabs_Unity/DesignLabs_Unity_Examples/Assets/MRDesignLab のフォルダを開きます

f:id:matatabi_ux:20171030214100p:plain

MRDesignLabs_Unity_Tools の圧縮ファイルの中身から HUX フォルダをこの MRDesign フォルダにコピーします

この MRDesignLabs_Unity/DesignLabs_Unity_Examples ディレクトリを Unity 2017.2.0f3 の Editor で開きます

途中 Unity のバージョンが違う、上書きしてもよいか、バックアップとったかなどといわれますが気にせず「Continue」、「I Made a Backup, Go Ahead!」を選びます

f:id:matatabi_ux:20171031080720p:plain

UnityEditor が開いたらコンパイルエラーは置いといて Assets/MRDL_ControlsExamples/Scenes/InteractableObject_Examples のシーンを開きます

f:id:matatabi_ux:20171030220735p:plain

さてここからが本番

Assets/MRDesignLab/HUX/Scripts/Interaction/InteractionManager.cs ファイルを Visual Studio で開き、下記の表の通り文字列置換します

置換前 置換後
InteractionManager.SourcePressed InteractionManager.InteractionSourcePressedLegacy
InteractionManager.SourceReleased InteractionManager.InteractionSourceReleasedLegacy

Visual Studio 上で Ctrl+H で一括置換用ダイアログを開いて行うのがおすすめです

さらに Mixed Reality Toolkit を以前投稿したような感じで入れ替えます

まずは Assets/HoloToolkit のディレクトリを丸ごと削除!

f:id:matatabi_ux:20171021190319p:plain

下記の MixedRealityToolkit-Unity for Unity 2017.2.1 の .unitypackage をダウンロードしてインポート

f:id:matatabi_ux:20171021190039p:plain

その後フォントをダウンロードしてとのダイアログが表示されるので「Click here to download font」ボタンから圧縮ファイルをダウンロードします

f:id:matatabi_ux:20171030225039p:plain

解凍後、中の .ttf ファイルを Assets/MRDL_ControlsExample/Fonts ディレクトリにコピーします

f:id:matatabi_ux:20171030225023p:plain

コピーが終わったら元のダイアログの「Click here to view button profile」ボタンを押下し Inspector パネル状に表示されるペインから「Auto-assign 'HoloLens MDL2 Symbols' font」ボタンを押下して設定します

f:id:matatabi_ux:20171030230001p:plain

このあと Mixed Reality Toolkit の Configure メニューの Apply Mixed Reality Project Settings をするとまた大量のコンパイルエラー!

f:id:matatabi_ux:20171031075208p:plain

f:id:matatabi_ux:20171031075354p:plain

Assets/MRDesignLab/HUX/Scripts/Input/InputSourceHands.cs ファイルを Visual Studio で開き、下記の表の通り文字列置換します

置換前 置換後
InteractionManager.SourcePressed InteractionManager.InteractionSourcePressedLegacy
InteractionManager.SourceReleased InteractionManager.InteractionSourceReleasedLegacy
InteractionManager.SourceDetected InteractionManager.InteractionSourceDetectedLegacy
InteractionManager.SourceLost InteractionManager.InteractionSourceLostLegacy
InteractionManager.SourceUpdated InteractionManager.InteractionSourceUpdatedLegacy
.location.TryGetPosition .sourcePose.TryGetPosition
.location.TryGetVelocity .sourcePose.TryGetVelocity

Assets/MRDesignLab/HUX/Scripts/Spatial/Planes/SurfacePlaneManager.cs ファイルを Visual Studio で開き、下記の表の通り文字列置換します

置換前 置換後
UnityEngine.VR. UnityEngine.XR.

Assets/MRDesignLab/HUX/Scripts/Spatial/PointOfReferenceManager.cs ファイルを Visual Studio で開き、下記の表の通り文字列置換します

置換前 置換後
WorldAnchorStore. UnityEngine.XR.WSA.Persistence.WorldAnchorStore

本格的に利用するのは MRDesignLab が正式に Mixed Reality Toolkit に対応するのを待った方がよさそうですが、とりあえずこれで動きました!

f:id:matatabi_ux:20171031211903g:plain