MRTK v2.5 Release Notes (日本語訳)

# Overview
__ついに先日 Mixed Reality Toolkit - Unity ( 以下、MRKT ) v2.5 がリリースされました__ 🎉

- [Mixed Reality Toolkit v2.5.0](https://github.com/microsoft/MixedRealityToolkit-Unity/releases/tag/v2.5.0) ( GitHub )

以下 Release Notes ( Draft時の内容含む ) を日本語訳しながら解説したいと思います。機械翻訳ではなく、自力で翻訳 ( + 所感 ) しているのでフィードバック等あればお気軽にコメントいただければと思います。


> リリース翌日に公開した資料も宜しければご覧ください。<a href="https://speakerdeck.com/futo23/mixed-reality-toolkit-v-dot-2-5-dot-0-release-notes-woniu-jie-ku"><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/d1393913-8592-1f8b-b84e-0e3876bd1f00.png" width="600"></a>
[Mixed Reality Toolkit v2.5.0 Release notes を紐解く](https://speakerdeck.com/futo23/mixed-reality-toolkit-v-dot-2-5-dot-0-release-notes-woniu-jie-ku) ( SpeakerDeck )


# Agenda

- __What's new__ / 新しくなったポイント
- <font color="#cdcdcd">__Breaking changes__ / 破壊的な変更点
- <font color="#cdcdcd">__Update guidance__ / 前バージョンからのアップデート
- <font color="#cdcdcd">__Known issues__ / 既知の問題

今回の記事では MRTK v2.5.0 Release Notes に含まれる What's new の内容についてご紹介いたします。
 
# What's new

今回のバージョンアップでは、大きく22個 ( Release notes What's new 項目数 ) のアップデートが含まれています。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/c9f31fe0-91d6-627b-2296-375aa5774462.png" width="800">

## 1. Unity Package Manager (UPM) support
__Unity Package Manager を使った MRTK のインポート__

MRTK v2.5 から Unity Package Manager ( 以下、UPM ) を通じて  を プロジェクトに組み込むことができるようになりました。本機能は __Unity 2019.4 以降の Unity バージョンで使用可能__ です。

> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/a2d1aa06-ca93-19a1-1543-313dc84f434b.png" width="600">

> グローバルメニュー > Window > Package Manager


__【 注意点 】__ MRTK の UPM ( Unity Package Manger ) パッケージをインポートするためには、いくつか手動で作業が必要となります。詳しい情報が欲しい方は __「[Mixed Reality Toolkit and Unity Package Manager](https://github.com/microsoft/MixedRealityToolkit-Unity/blob/prerelease/2.5.0_stabilization/Documentation/usingupm.md)」__ をご覧ください。

また Unity Package Manager を使用してインポートした場合と、GitHub上から .unitypackage をダウンロードの上、手動インポート場合ではディレクトリパスが異なるので合わせて注意が必要となります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/e9ff7e5f-8396-ac4e-1678-e74e6ab4418d.png" width="500">

| インポート方法 | MRTK ディレクトリパス |
| --- | --- |
| __UPMインポート時__ | ..\Packages\Mixed Reality Toolkit Foundation<br/>..\Packages\Mixed Reality Toolkit Tools<br/>..\Packages\Mixed Reality Toolkit Extensions<br/>..\Packages\Mixed Reality Toolkit Examples<br/><br/>etc.. |
| __手動インポート時__ | ..\Assets\MRTK\Core<br/>..\Assets\MRTK\\Provider<br/>..\Assets\MRTK\SDK<br/>..\Assets\MRTK\Services<br/><br/>etc.. |

[ちょまどさん](https://twitter.com/chomado)が日本語で Unity Package Manager を使った MRTK v2.5 インポート方法をまとめられていたので、日本語で読みたいという方は「[MRTK 2.5 を Unity Package Manager を使って取り込む](https://qiita.com/chomado/items/ff21e57aa563191f3be0)」をご覧ください。

## 2. Oculus Quest XRSDK support
__Oculus Quest を ネイティブ XRSDK でサポート__

MRTKは ネイティブ XR SDK パイプラインを使用した Oculus Quest ヘッドセットとコントローラーでの動作をサポートしました。ハンドトラッキングもまた [Eric Provencher](https://twitter.com/prvncher) 氏の #MRTK-Quest の取り組みによって、Oculus Integration Unity パッケージでサポートされています。

新しいパイプラインを用いて Oculus Quest へデプロイする方法については「[Oculus Quest Setup Guide](https://github.com/microsoft/MixedRealityToolkit-Unity/blob/releases/2.5.0/Documentation/CrossPlatform/OculusQuestMRTK.md)」をご覧ください。

Oculus Quest 環境セットアップ方法は [Microsoft MVP for Windows Development の宮浦さん](https://twitter.com/takabrz1)が Qiita に記事を書かれているので、以下記事をご覧ください。

- [Oculus Quest 2でMRTK使って豆腐と戯れる最小手順](https://qiita.com/miyaura/items/7f6bb7ddcaab8bc6cb8e)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">とりあえず、Oculus Quest 2が来たので <a href="https://twitter.com/hashtag/MRTK?src=hash&amp;ref_src=twsrc%5Etfw">#MRTK</a> 動かしてみる。V2.5.0でハンドトラッキングできるのを確認。<a href="https://twitter.com/hashtag/OculusQuest2?src=hash&amp;ref_src=twsrc%5Etfw">#OculusQuest2</a> <a href="https://t.co/mwHUZt8rIe">pic.twitter.com/mwHUZt8rIe</a></p>&mdash; takabrz1@MRTKV2とAzure Spatial Anchorsと格闘中 (@takabrz1) <a href="https://twitter.com/takabrz1/status/1316753021729075201?ref_src=twsrc%5Etfw">October 15, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## 3. Scrolling Object Collection
__スクロール可能なオブジェクトコレクション__

前回バージョンまで MRTK UX Component の Experimental Feature ( 実験的機能 ) の1つであった ```Scrolling Object Collection``` がアップグレードされ、正式な機能として実装されました。コライダーの設定されていないゲームオブジェクトも新たにサポートされ、大きさの異なる様々なサイズの3Dオブジェクトを今まで以上に気軽にレイアウトすることができるようになるための UX コンポーネントです。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/b98ec1df-f16b-71fb-6c3c-4ea4702a6d43.png" width="400">

<blockquote class="twitter-tweet" data-conversation="none"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/MRTK?src=hash&amp;ref_src=twsrc%5Etfw">#MRTK</a> v2.5.0 にて<br>実験的機能 (Experimental) から<br>標準機能にアップデートされた<br>Scrolling Object Collection<br><br>コリジョン未設定のオブジェクトや<br>大きさの異なるオブジェクトなどを<br>まとめて自由にレイアウト可能🎉<a href="https://twitter.com/hashtag/MRTK?src=hash&amp;ref_src=twsrc%5Etfw">#MRTK</a> <a href="https://twitter.com/hashtag/HoloLens2?src=hash&amp;ref_src=twsrc%5Etfw">#HoloLens2</a> <a href="https://t.co/1J3AlfizFB">pic.twitter.com/1J3AlfizFB</a></p>&mdash; Futo Horio (@Futo_Horio) <a href="https://twitter.com/Futo_Horio/status/1311748196985565184?ref_src=twsrc%5Etfw">October 1, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

※ __MRTK UX Component <font color="red">( Experimental )</font>__ は、現在実装途中であり、時間の経過と共に変更が加わる可能性のある新たな機能を開発者がいち早く検証できるよう提供されている実験的な取り組みです。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/30d62e87-0b49-06b5-d1da-b76d7157b70b.png" width="600">

ScrollingObjectCollection (Script) にてゲームオブジェクトのレイアウト ( ```Pagination``` ) 、スクロール時の速度 ( ```Velocity``` ) などを簡単に設定することが可能です。

詳しい設定方法等は「[Scrolling Object Collection](https://github.com/microsoft/MixedRealityToolkit-Unity/blob/releases/2.5.0/Documentation/README_ScrollingObjectCollection.md)」をご覧ください。
 
## 4. Teleport pointer animation, handling, and sound improvements
__テレポートポインターのアニメーション、ハンドリング、音響効果の向上 (VR)__

主にVR端末向けですが、テレポートポインターのアニメーションと音声フィードバックが向上しました。また、テレポートポインターの処理内容を改善し、近くの境界面を指す状態から遠くの境界面を指すようにポインターを移動させた際の処理を円滑に行えるようにしました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/0120b41a-0f06-9920-b5f5-7ed7811c5210.png" width="600">


アニメーションで確認したい方は__[こちら](https://streamable.com/3f222q)__をご覧ください。

## 5. Input Simulation Cheat Sheet 
__入力シミュレーションチートシート ( Unity Editor Play モード )__

Unity Editor ゲーム再生中 ( Play Mode ) に入力シミュレーションのチートシートを表示できるショートカットが追加されました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/678df377-e9ab-8ebb-d5c5-766f79b25826.png" width="600">

Unity Editor 上でゲーム再生 (Play) を行った状態で ショートカット ( 左Ctrl + H ) を押下することで、チートシートの表示/非表示の切り替えを行うことができます。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/28a1bdc1-eee2-7ad9-d536-014dd68a351d.png" width="600">

※ 本機能は HandInteractionExample.unity (サンプルシーン) にてデフォルトで含まれている機能ですが、他のサンプルシーン or ご自身で作られたシーンで使用するためには 「Prefab : Help_Panel_Viewer」を追加する必要があるのでご注意ください。

( Prefab パス : ``Packages/com.microsoft.mixedreality.toolkit.examples/Common/Prefabs/Help_Panel_Viewer.prefab`` )

## 6. Input Simulation Eye Gaze with mouse
__マウスを用いたアイトラッキングシミュレーションが可能に ( Unity Editor Play モード )__

__Mixed Reality Toolkit > Input > Input Data Provider > Input Simulation Service > Eye Gaze Simulation > Default Eye Gaze Simulation Mode__ にて設定可能です。

| 設定項目 | 内容 |
| --- | --- |
| Disabled | シミュレーション無効化 |
| Camera Forward Axis | カメラの向きで視線入力シミュレーションを有効化 |
| Mouse | マウスカーソルで視線入力シミュレーションを有効化 |

※ MRTK 検索バーに「eye tracking」と入力し、検索結果の「MixedRealityPointerProfile」から設定内容を変更することも可能です。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/4fe8bbe6-3e86-89fc-8c0b-744657a7bbe8.png" width="600"> <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/43c8fbd7-23e9-b138-cd89-f989119d19d2.png" width="600">


## 7. Input Simulation Motion Controller in Editor Play Mode
__モーションコントローラーのシミュレーションが可能に ( Unity Editor Play モード )__

ユーザーは Unity Editor Play モードの手のようにモーションコントローラーをシミュレーションできるようになりました。トリガー、グラブ、メニューボタンが現在サポートされています。

## 8. Conical Grab Pointer
__円錐グラブポインターへのアップデート__

グラブポインターは球体ではなく、グラブポインターからの円錐を使用して近くのオブジェクトを検索するようになりました。これは円錐を使用して近くのオブジェクトを検索する HoloLens 2 の標準インターフェースの動作によく似ています。DefaultHoloLens2InputSystemProfile も新しい円錐グラブポインター (ConicalGrabPointer) が使用されるように変更が加えられています。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/30950af3-1533-af36-d707-f17ea9bdafba.png" width="600">

変更理由 : グラブポインターが球体だとオブジェクトより自分の手が奥にある場合でもオブジェクトを掴める (誤操作) につながるので、円錐を利用して自分の手の置くにあるオブジェクトのみを掴めるようにアップデートされました。詳細な変更理由を知りたい方は [MRTK's issue](https://github.com/microsoft/MixedRealityToolkit-Unity/issues/7686) を見ていただくのが良いと思います。

## 9. TestUtilities package
__ハンドジェスチャーを伴うテストユーティリティパッケージの追加__

MRTKがプロジェクトの端から端までテストを作成するために使用する Play Mode および Test Mode テストインフラストラクチャを含むパッケージ (Microsoft.MixedReality.Toolkit.Unity.TestUtilities.2.5.0.unitypackag) が追加されました。このインフラストラクチャは、MRTKチーム自身にとって非常に便利であり、開発者がこのパッケージを使用して自身のプロジェクトにテストカバレッジを追加できることを嬉しく思います。 

次のコードはテストハンドを作成し、特定の場所に表示し、移動してから、摘まんで手を開く方法を示しています。

```csharp
TestHand leftHand = new TestHand(Handedness.Left);
yield return leftHand.Show(new Vector3(-0.1f, -0.1f, 0.5f));
yield return leftHand.SetGesture(ArticulatedHandPose.GestureId.Pinch);
yield return leftHand.Move(new Vector3(0.2f, 0.2f, 0));
yield return leftHand.SetGesture(ArticulatedHandPose.GestureId.Open);
```

- これらのテストユーティリティを使用してテストを作成する方法については [writing tests](https://github.com/microsoft/MixedRealityToolkit-Unity/blob/releases/2.5.0/Documentation/Contributing/UnitTests.md#writing-tests) をご覧ください。
- このインフラストラクチャを使用する既存のテスト例については [MRTK's PlayModeTests](https://github.com/microsoft/MixedRealityToolkit-Unity/tree/mrtk_development/Assets/MRTK/Tests/PlayModeTests) をご覧ください。


## 10. Support for the Leap Motion 4.5.1 Unity Modules
__Leap Motion 4.5.1 Unity モジュールのサポート__

Leap Motion Unity モジュールバージョン 4.5.1 のサポートが追加され、4.4.0アセットのサポートリストから削除されました。現在サポートされている Leap Motion Unity モジュールのバージョンは 4.5.0 と 4.5.1 です。

## 11. Spatial Awareness Mesh Observer better handles customization of materials
__空間メッシュオブザーバーの更新__

今回のリリースでは Windwos Mixed Reality 空間メッシュオブザーバーおよび、ジェネリックXRSDK空間メッシュオブザーバーコンポーネントの視覚マテリアルハンドリングが改善されました。これによりメッシュがオブザーバーによって更新された時にマテリアルが保持されるようになりました。以前はMRTKプロファイルで構成されているデフォルトのVisibleMaterialにリセットされていました。このアップデートにより開発者の空間メッシュマテリアル変更を予期せず上書きされることが無くなります。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/27b5f889-e685-f932-02ea-e3cefa4c2671.png" width="400">

( __Windows Mixed Reality Spatial Mesh Observer パス__ : ``Packages/com.microsoft.mixedreality.toolkit.foundation/Providers/WindowsMixedReality/XR2018/WindowsMixedRealitySpatialMeshObserver.cs`` )

( __Generic XR SDK Spatial Mesh パス__ : Observer``Packages/com.microsoft.mixedreality.toolkit.foundation/Providers/XRSDK/GenericXRSDKSpatialMeshObserver.cs`` )

## 12. Link.xml created in the MixedRealityToolkit.Generated folder
__MRTK UPM版の導入時に Link.xml が Mixed RealityToolkit.Generated 配下に生成されます__

Unity Pakage Manager 版 MRTK の導入により、MRTK は link.xml ファイルを MixedRealityToolkit.Generated フォルダーに書き込むようになりました。特に何も制約がない場合は、この link.xml ファイル (および link.xml.meta ファイル) をソース管理に追加することを推奨します。link.xml は Unity Linker のマネージドコードストリッピング機能に影響を与えるために使用されます。MRTK link.xmlファイルの詳細については、[MRTKおよびマネージコードストリッピング](https://github.com/microsoft/MixedRealityToolkit-Unity/blob/releases/2.5.0/Documentation/MRTK_and_managed_code_stripping.md)の記事を参照してください。

## 13. Unity 2019.3+: MRTK configuration dialog no longer attempts to enable legacy XR support
__MRTK設定ダイアログでの レガシーXRサポート の有効化が削除されました__

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/05b3309a-5354-ebd5-81bb-31e5c07fb8ec.png" width="400">
Unity XR プラットフォームを使用した際の潜在的な競合を避けるため、MRTK設定ダイアログからレガシーXRサポート有効化のオプションを削除しました。もしレガシーXRサポートを有効化したい場合は、Edit > Project Settings > Player > XR Settings > Virtual Reality Supported にて設定を追加することができます。

## 14. Reduction in InitializeOnLoad overhead
__初期化処理のオーバーヘッドを削減__

MRTK内のInitializeOnLoadを削減し、コンパイル時や Unity Editor Playモード移行時の処理時間が削減されました。InitializeOnLoadハンドラーは、スクリプトがコンパイルされるたびに実行されます。このアップデートにより内部ループの開発速度の向上が見込めます。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/625481db-99b0-d15a-9069-b42a8fe674ee.png" width="600">

## 15. Bounds control graduated
__Bounds Cotrol 標準パッケージ化 ( 旧:BoundingBox廃止 )__
 
Bounds control が Experimental (実験的機能) から卒業し、標準パッケージに含まれることになりました。このアップデートに伴い、たくさんの機能とバグ修正が行われました。今回のアップデートのハイライトは以下の通りです。

- プロパティが設定ごとに分割され、設定が容易に
- 設定内容をスクリプトで共有可能 ( Configuraion ) に
- プロパティ変更時に境界制御リグが再作成されなくなりました
- すべてのプロパティを実行時 (ランタイム) に変更することが可能に
- 翻訳ハンドルのサポート
- Constraint Manager (後述、制約管理) を通じてオブジェクトの操作制限をサポート
- Elastic system (後述、弾性システム) の統合 [実験的機能]

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/ded5c832-9b0c-b672-f6bf-98cf9a002aa4.png" width="600">

古い Bouding Box は非推奨となり、Bouding Box を使用する既存のゲームオブジェクトは、migration tool (移行ツール) または、Bounding Box インスペクター上に表示されているボタンにてアップグレードを実施することが可能となります。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/80f4a032-887c-df78-3108-97bc0d937102.png" width="600">
Bounding Box と Bounds Control の Inspector 比較
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/9627ce4d-ba3b-8cc2-9739-6ffea283b93b.png" width="600"> 


## 16. Constraint manager component
__オブジェクトの制約を管理するマネージャーの更新__

Bounds Control (境界面操作) と Object Manipulation (オブジェクト操作) の両方から Constraint Manager を通じて、制約を使用できるようになりました。これまでは Bounds Control, Object Manipulation それぞれで設定を行う必要があったので統一されるのは良いですね。また、境界面制御 (Box Control) とオブジェクト操作 (Near/Far) で異なった操作性にならないのでアプリケーションの体験性としても理解しやすいUXが実現できるのではないかと思います。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/73b98824-3989-52c7-ac76-9f1c6a8ab40c.png" width="600">

Constraint Manager から Add constraint to GameObject ボタンを押下し制約を追加するだけで、Bounds Control, Object Manipulation の操作に反映させることができます。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/479e6258-e311-ba0a-bba1-77fb0f4fc3aa.png" width="600">

オブジェクトに対する制約は8種類あり、それぞれ Inspector 上でプロパティ設定を行うことで微調整が可能です。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/09bf4aa9-6e45-3d51-5a26-f7b30dae3f27.png" width="600">

Constraint の種類と設定方法の詳細は[こちら](https://github.com/microsoft/MixedRealityToolkit-Unity/blob/releases/2.5.0/Documentation/README_ConstraintManager.md)をご覧ください。


## 17. HoloLens 2 Button material update
__HoloLens 2 ボタンマテリアルの更新__

HoloLens 2 ボタンマテリアルが更新されました。これは MRC (Mixed Reality Capture) で動画を撮影した場合にボタンが黒っぽくなることを防ぐためのアップデートとなります。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/0cc95a6e-487f-1410-e634-83a6a2eae3b0.png" width="600">


## 18. Description panel update, movable example scene
__説明パネルの更新、シーン全体の移動機能追加__

Example シーンなどで使用されている説明パネルに更新が入り、「TitleBar : 説明パネル上部」オブジェクトに ObjectManipulator.cs (Script) が追加され、シーン内に含まれるすべてのオブジェクトを移動できるようになりました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/3f28af00-52c7-2f1d-653d-70351bc08d5e.png" width="600">

サンプルシーンを開いて場所を微調整したい場合や違う場所に移動させたい場合に便利ですね！これでオブジェクトの配置位置を合わせるためにアプリ再起動しなくて良くなりますね！

## 19. Spatial mesh visualization - Pulse on air-tap
__HoloLens 2 シェル標準の空間メッシュサンプルシーンの追加__

HoloLens 2 シェルと同様の動作をする空間メッシュサンプルが追加されました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/f2d0603c-3ddb-87a4-ca1b-dd7b2af94f5e.png" width="600">

( サンプルシーンパス : ``Assets/Samples/Mixed Reality Toolkit Examples/2.5.0/Experimental - PulseShader/Scenes/PulseShaderExamples.unity`` )

## 20. Elastic System - Experimental
__弾性システム (実験的機能)__

ゲームオブジェクトに弾力性を持たせることのできるUXコンポーネント (Experimental) が追加されました。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/MRTK?src=hash&amp;ref_src=twsrc%5Etfw">#MRTK</a> v2.5.0 新機能<br>Elastic system 試してみた！<br>(Experimental)<br><br>Elastic は「弾力性のある」<br>という意味を持つ英単語<br><br>UI や ゲームオブジェクトに<br>バネのような弾力性を持たせる<br>ことができます！<a href="https://twitter.com/hashtag/MRTK?src=hash&amp;ref_src=twsrc%5Etfw">#MRTK</a> <a href="https://twitter.com/hashtag/HoloLens2?src=hash&amp;ref_src=twsrc%5Etfw">#HoloLens2</a> <a href="https://t.co/DlP62gUZv7">pic.twitter.com/DlP62gUZv7</a></p>&mdash; Futo Horio (@Futo_Horio) <a href="https://twitter.com/Futo_Horio/status/1311733661088116736?ref_src=twsrc%5Etfw">October 1, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

( サンプルシーンパス : ``Assets/Samples/Mixed Reality Toolkit Examples/2.5.0-preview.20200928.5/Experimental - Elastic/Scenes/ElasticSystemExamples.unity`` )

## 21. Joystick (Experimental)
__ジョイスティック UXコンポーネント (実験的機能)__

ジョイスティックを使って 位置・回転・大きさを 自由自在に変えることできるUXコンポーネント(Experimental) ( スケールの大きなオブジェクトの操作に最適 ) が追加されました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/180432/49c4ad6b-2559-e7ff-363f-a489cd11be8b.png" width="600">

実際に動作させた際の様子は以下動画をご覧ください。
<blockquote class="twitter-tweet" data-conversation="none"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/MRTK?src=hash&amp;ref_src=twsrc%5Etfw">#MRTK</a> v2.5.0 新機能<br>Joystick を試してみた！<br>(Experimental)<br><br>ジョイスティックを使って<br>位置・回転・大きさを<br>自由自在に変えることができます！<br><br>大きなオブジェクトの操作に最適✨<a href="https://twitter.com/hashtag/MRTK?src=hash&amp;ref_src=twsrc%5Etfw">#MRTK</a> <a href="https://twitter.com/hashtag/HoloLens2?src=hash&amp;ref_src=twsrc%5Etfw">#HoloLens2</a> <a href="https://t.co/Ba5gBp8JcZ">pic.twitter.com/Ba5gBp8JcZ</a></p>&mdash; Futo Horio (@Futo_Horio) <a href="https://twitter.com/Futo_Horio/status/1311738485624066048?ref_src=twsrc%5Etfw">October 1, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

( サンプルシーンパス : ``Assets/Samples/Mixed Reality Toolkit Examples/2.5.0-preview.20200928.5/Experimental - Joystick/JoystickExample.unity`` )

## 22. Color picker (Experimental)
__カラーピッカー (実験的機能)__

アプリ実行時 (ランタイム) にマテリアルカラーを動的に変更できる機能が Experimental として追加されました。RGB, HSV (Hue : 色相, Saturation : 彩度, Value : 明度) などを操作できるUXコンポーネントです。実際に動作させた際の様子は以下動画をご覧ください。

<blockquote class="twitter-tweet" data-conversation="none"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/MRTK?src=hash&amp;ref_src=twsrc%5Etfw">#MRTK</a> v2.5.0 で追加された<br>Color picker (Experimental)<br><br>アプリケーション実行時に<br>オブジェクトのマテリアルカラーを<br>ユーザーの任意で変更可能✨<br><br>これからの進化が楽しみ！<a href="https://twitter.com/hashtag/MRTK?src=hash&amp;ref_src=twsrc%5Etfw">#MRTK</a> <a href="https://twitter.com/hashtag/HoloLens2?src=hash&amp;ref_src=twsrc%5Etfw">#HoloLens2</a> <a href="https://t.co/FWE3WYwjHQ">pic.twitter.com/FWE3WYwjHQ</a></p>&mdash; Futo Horio (@Futo_Horio) <a href="https://twitter.com/Futo_Horio/status/1311764697155137536?ref_src=twsrc%5Etfw">October 1, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

( サンプルシーンパス : ``Assets/Samples/Mixed Reality Toolkit Examples/2.5.0/Experimental - ColorPicker/ColorPickerExample.unity`` )

# 最後に
最後までお読みいただきありがとうございましたー👏

# Reference / 参照元

- [Microsoft Mixed Reality Toolkit 2.5.0 draft release notes](https://github.com/microsoft/MixedRealityToolkit-Unity/blob/prerelease/2.5.0_stabilization/Documentation/ReleaseNotes.md)
- [もうすぐMixed Reality Toolkit V2.5.0がリリースされるはずなのでフライング調査](https://www.slideshare.net/TakahiroMiyaura/mixed-reality-toolkit-v250)
- [Mixed Reality Toolkit v2.5.0 Release notes を紐解く](https://speakerdeck.com/futo23/mixed-reality-toolkit-v-dot-2-5-dot-0-release-notes-woniu-jie-ku) ( SpeakerDeck )