😺
UnityでMRTK2とMRTK3を利用する場合の違いについて
Unityにおける MRTK2 と MRTK3 の違いと選び方
MRTK2 vs MRTK3 概要比較
項目 | MRTK2 | MRTK3 |
---|---|---|
対応Unityバージョン | 2019.4〜2021.3 | 2021.3〜2023以降 |
基盤 | 独自フレームワーク | Unity XR Interaction Toolkit (XRI) |
OpenXR対応 | 後付けで部分対応 | 初期から完全対応 |
柔軟性 | 柔軟だが複雑 | モジュール式で扱いやすい |
学習コスト | ドキュメントが豊富 | 構成に慣れる必要あり |
パフォーマンス | 安定動作 | 軽量化・最適化済み |
将来性 | 保守フェーズ | 継続的に開発中(推奨) |
実装の違い(例:Cubeを手で持ち上げる)
MRTK2 の例
必要なコンポーネント(Inspectorから追加):
NearInteractionGrabbable
ManipulationHandler
BoxCollider
Rigidbody
使い方:
- UnityのInspector上でCubeに上記コンポーネントを追加するだけで、手で持ち上げ可能になります。
特徴:
- シンプルなUIベースの設定
- HoloLens 2に最適化
MRTK3 の例
必要なコンポーネント:
XR Grab Interactable
BoxCollider
Rigidbody
サンプルコード:
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
[RequireComponent(typeof(Rigidbody))]
[RequireComponent(typeof(XRGrabInteractable))]
public class CubeSetup : MonoBehaviour
{
void Start()
{
var grab = GetComponent<XRGrabInteractable>();
grab.throwOnDetach = false;
}
}
開発スタイルの違い
観点 | MRTK2 | MRTK3 |
---|---|---|
UIからの設定 | ◎ 簡単に可能 | ○ やや学習が必要 |
スクリプトによる拡張 | ○ 標準的 | ◎ 柔軟で拡張性高い |
Meta Quest対応 | △ 一部制限あり | ◎ OpenXRで安定 |
HoloLens最適化 | ◎ 実績多数 | ○ 互換あり |
今後の拡張性 | △ 停止傾向 | ◎ 継続開発中 |
MRTK3 の最小セットアップ手順(例)
Unity Hubでプロジェクトを作成
Mixed Reality Feature Tool を使って MRTK3 を導入
「Default XR Scene Template」を選択してサンプルシーンを追加
Cube に以下のコンポーネントを追加:
Rigidbody
BoxCollider
XR Grab Interactable
XR Origin, XR Hands, XR Device Simulator などをシーンに配置
既存のUnityプロジェクト利用状況別のMRTK推奨version
利用状況 | 推奨 |
---|---|
既存のHoloLensプロジェクトがある | MRTK2 |
Meta Questや複数デバイスに対応したい | MRTK3 |
UnityのXR標準に乗りたい | MRTK3 |
情報量や安定性を重視したい | MRTK2 |
参考リンク
MRTK2 公式ドキュメント(旧)
MRTK3 公式ドキュメント
XR Interaction Toolkit Docs
Discussion