MRTK v2.5.0 に含まれている Examples の Demos シーンについて確認したので、 それぞれの説明パネルのキャプチャと概要を記載しました。ボリュームが多かったので Experimental のシーンについては別記事でまとめています。
MRTK v2.5.0 の更新内容については、リリースノート をご参照ください。
確認環境
- Unity 2019.11f1 (LTS)
- MRTK v2.5.0
MRTK Examples
MRTK v2.5.0 では UPM(Unity Package Manager) を利用した場合 Examples を個別にインストールする必要があります。
UPM によるインストールについては、以下を参照ください。
Mixed Reality Toolkit and Unity Package Manager
以降、各シーンの概要です。
Demos_Audio
AudioLoFiEffectExamples
ローファイオーディオのサンプル。球をタップすることで3種類の効果を確認できる。
AudioOcclusionExamples
音の遮蔽を確認することができるサンプル。壁の前と後ろで音の聞こえ方が変わる。
Demos_Boundary
BoundaryVisualizationExample
境界を視覚化するサンプル(VR向け機能)。
Demos_Diagnostics
DiagnosticsDemo
診断システムを使用して実行時のアプリケーションパフォーマンスを確認するサンプル。
Demos_EyeTracking
EyeTrackingDemo-00-RootScene
アイトラッキングの他のサンプル(02~05)の親シーン。
EyeTrackingDemo-01-BasicSetup
アイトラッキングを行うための最小設定のシーン。
EyeTrackingDemo-02-TargetSelection
アイゲイズと選択(エアタップまたは音声コマンド)で宝石を破壊するサンプル。
EyeTrackingDemo-03-Navigation
アイゲイズとスクロール、パン、ズームイン/アウトのサンプル。
EyeTrackingDemo-04-TargetPositioning
目とハンドまたはボイスによるオブジェクトの選択、移動を行うサンプル。
EyeTrackingDemo-05-Visualizer
アイトラッキングデータをビジュアライズするサンプル。
Demos_Gltf
Glb-Loading-Demo
ネット経由で Glb ファイルを読み込むサンプル。
Gltf-Loading-Demo
StreamingAssets にある Gltf ファイルを読み込むサンプル。
予め StreamingAssets 配下に gltfファイルを準備しておくか、または以下の [Copy models to StreamingAssets] ボタンを押してモデルを取得しておく必要がある。
Demos_HandTracking
HandInteractionExamples
プレス、タッチ、グラブ、スクロール、移動、回転、スケールなど、さまざまなタイプのハンドトラッキングインタラクションを示したサンプル。
HandInteractionGestureEventsExample
IMixedRealityGestureHandler を使用したさまざまなタイプのジェスチャーイベント(Select, Hold, Manipulation, Navigation)を示したサンプル。
HandInteractionRecordArticulatedHandPose
手のポーズ(位置・回転)を記録するサンプル。Record Right Hand、もしくは Record Left Hand のボイスコマンドで記録を開始し、Stop ボイスコマンドで記録を停止する。Console に記録内容が json で表示される。
HandInteractionTouchablesExample
さまざまなタッチ可能なコンポーネントと、それらがさまざまなコライダーとどのようにインタラクションするかを示したサンプル。
HandMenuExamples
ハンドメニューを表示するサンプル(追跡されたオブジェクトを手で拘束されたコンテンツの安全な領域に拘束するソルバーである HandConstraint の使用方法を示している)。ハンドメニューを表示するには、手を上げて手のひらを見る必要がある。
LeapMotionHandTrackingExample
Leap Motion によるハンドトラッキングのサンプル。本サンプルを試すには、Leap Motion Controller が必要。
NearMenuExamples
様々なメニューのサンプル。ピン止めしたり、掴んで移動したりできる。
Demos_Input
DictationExample
音声を録音し、音声のテキスト化を行うことができるサンプル。日本語を表示する場合は日本語のフォントを入れる必要がある。
DisablePointersExample
PointerUtils の利用方法を示したサンプル。
コードから Hand Ray、Gaze、Grab、Poke などのポインターをオンオフすることができ、 HoloLens 1 と 2 などのスタイルのインタラクションを切り替えることができる。
InputActionsExample
異なるソースからの入力をユーザー定義の入力アクションにマッピングし、単一のリスナーを介してそれを処理する方法を示したサンプル。
回転可能なオブジェクトにフォーカスを当てた状態で、以下のアクションのいずれかを行うと Cube が回転する。
- Xbox コントローラの B ボタンを押す
- Rotate と言う
- Hold ジェスチャーを実行する
InputDataExample
手、頭、目、モーションコントローラーの位置・ポジションなどの入力データにアクセスする方法を示したサンプル。
PointerResultExample
ポインタのヒット位置を利用して、ポインタクリック時にオブジェクトを生成する方法を示したサンプル。
PrimaryPointerExample
プライマリポインタ変更イベントを使用してプライマリポインタを追跡する方法を示したサンプル。
感覚を掴むために、異なるコントローラを使用してチーズを選択して操作したり、コントローラを切断したり、トラッキングロスを強制したりして遊ぶと良いらしい。
SpeechInputExamples
音声コマンドの構成および使用する方法を示したサンプル。
Open, Close, Change Color, (Select) の音声コマンドが登録されており、音声コマンド発声時にフォーカスが必要な Local Speech Handler と フォーカスの必要がない Global Speech Handler の例が示されている。
Demos_ScrollingObjectCollection
ScrollingObjectCollection
ScrolingObjectCollection コンポーネントを使用したさまざまなタイプのスクロールインタラクションを示したサンプル。
Demos_Solvers
SolverExamples
ソルバーのサンプル。
ソルバーは、あらかじめ定義されたアルゴリズムに従ってオブジェクトの位置と向きを計算する手段を容易にするコンポーネント。
SurfaceMagnetismSpatialAwarenessExample
Spatial Awarenessを使ってSurface Magnetism Solver の使用を示したサンプル。
現実空間の壁の表面にオブジェクトがスナップして、ポインタに追従する。
TapToPlaceExample
タップしてオブジェクトを配置するサンプル。
タップして配置すると、オブジェクトがサーフェスに配置される。 サーフェスが検出されない場合、オブジェクトは、ソルバーハンドラーにあるTrackedTargetType(ヘッド、コントローラーレイ、ハンドジョイント)を基準にしたデフォルトの距離に配置される。
Demos_SpatialAwareness
SpatialAwarenessMeshDemo
空間認識のサンプル。現実環境をワイヤーフレームメッシュで表示する。
球のクリックで環境認識のオブザーバーの動作を停止・再開できる。
Demos_StandardShader
ClippingExamples
Mixed Reality Toolkit/Standard シェーダをクリッピングプリミティブ(ClippingPlane、ClippingSphere、およびClippingBox)と組み合わせて使用して、メッシュ上のピクセルを動的にクリップする方法を示したサンプル。
HoverLightExamples
Mixed Reality Toolkit/Standard シェーダと HoverLights を組み合わせて使用し、メッシュをダイナミックにライトする方法を示したサンプル。
MaterialGallery
Mixed Reality Toolkit/Standard シェーダで可能なマテリアルとシェーディング手法の例を示したサンプル。
OutlineExamples
Mixed Reality Toolkit/Standard シェーダを MeshOutline、MeshOutlineHierarchy、および MeshSmoother コンポーネントと組み合わせて、さまざまな手法を使用してメッシュレンダラーの輪郭を描く方法を示したサンプル。
StandardMaterialComparison
Unity/Standard シェーダと Mixed Reality Toolkit/Standard シェーダを比較したサンプル。
StandardMaterials
Mixed Reality Toolkit によって提供される標準的なマテリアルを示したサンプル。
Demos_Utilities
MixedRealityCapabilityDemo
プラットフォームとデータプロバイダーによってサポートされる Capability の状況を表示するサンプル。
Demos_UX
BoundingBox
BoundingBoxExamples
様々なタイプのバウンディングボックスのサンプル。
BoundingBox コンポーネントは deprecated となっているので注意。今後は BoundsControl を利用する。
BoundingBoxRuntimeExample
実行時にバウンディングボックスを作成し、さまざまなバウンディングボックスのプロパティを変更する方法を示したサンプル。
BoundingBox コンポーネントは deprecated となっているので注意。今後は BoundsControl を利用する。
BoundsControl
BoundsControlExamples
様々なタイプのバウンディングボックスのサンプル。
BoundsControlRuntimeExample
実行時にバウンディングボックスを作成し、さまざまなバウンディングボックスのプロパティを変更する方法を示したサンプル。
Collections
ObjectCollectionExamples
オブジェクトコレクションのサンプル。
オブジェクトコレクションは、あらかじめ定義された3次元形状のオブジェクトの配列をレイアウトするのに役立つレイアウトコントロール。
Interactables
InteractablesExamples
Interactable コンポーネントのサンプル。
Interactableは、ボタンやUIコントロールなどのインタラクティブなコンテンツを構築するための基本コンポーネントであり、インタラクティブな状態に基づいてフィードバックを提供する。
Lines
LineExamples
ライン描画のサンプル。ラインは Data Provider と Renderer の2つのコンポーネントから成る。
ManipulationHandler
ManipulationHandlerExample
ManipulationHandler のサンプル。 ManipulationHandler コンポーネントは deprecated となっているので注意。今後は ObjectManipulator を利用する。
球が操作でき、 壁にぶつかると、インタラクションが停止する。
ObjectManipulator
ObjectManipulatorExample
ObjectManipulator のサンプル。
球が操作でき、 壁にぶつかると、インタラクションが停止する。
ObjectManipulatorExamplePhysics
ObjectManipulator の物理機能をテストするためのサンプル。
PressableButton
PressableButtonExample
PressableButton のさまざまなカスタマイズ例を示したサンプル。
ProgressIndicator
ProgressIndicatorExamples
進行状況インジケーターのサンプル。
Slate
SlateExample
Slate プレハブでの HandInteractionPanZoom スクリプトの使用を示したサンプル。
Slider
SliderExample
ピンチスライダーコントロールの使用方法を示したサンプル。
Text
TextPrefabExamples
テキストプレハブのサンプル。
適切なスケーリング値と Text3DShader によるオクルージョンサポートにより、品質が最適化されている。
Tooltips
TooltipExamples
ツールチップのサンプル。