yotiky Tech Blog

とあるエンジニアの備忘録

MRTK v2 - チートシート

目次

検証環境

  • MRTK 2.5.3

機能

Profiles

Spatial Awareness

  • Clone する Profile ファミリー
    • DefaultHoloLens2ConfigurationProfile
    • DefaultMixedRealitySpatialAwarenessSystemProfile
  • 設定
    • DefaultHololens2ConfigurationProfile をクローン
    • MixedRealityToolkit スクリプト > Spatial Awareness セクション で [Enable Spatial Awareness] を ON
    • DefaultMixedRealitySpatialAwarenessSystemProfile をクローン

yotiky.hatenablog.com

ハンドメッシュを表示する

  • Clone する Profile ファミリー
    • DefaultHoloLens2ConfigurationProfile
    • DefaultHoloLens2InputSystemProfile
    • DefaultHoloLens2HandTrackingProfile
  • 設定

    • DefaultHololens2ConfigurationProfile をクローン
    • DefaultHoloLens2InputSystemProfile をクローン
    • DefaultHoloLens2HandTrackingProfile をクローン
    • [Hand Mesh Visualization Modes] で [Player] を選択する

    f:id:yotiky:20210131162954p:plain:w280 f:id:yotiky:20210131163013p:plain:w100

  • Experimental で Pulse メッシュが含まれている

    f:id:yotiky:20210131163556p:plain:w200 f:id:yotiky:20210131163005p:plain:w200

    Pulse shader | Mixed Reality Toolkit Documentation

Mixed Reality Capture (MRC) でハンドメッシュがズレる

  • MixedRealityToolkitConfigurationProfile の Camera の項目で、DefaultHoloLens2CameraProfile をクローン
  • CameraSettingsProviders の DefaultWindowsMixedRealityCameraSettingsProfile をクローンして [Render from PV Camera] をONにする
  • Render from the PV camera (opt-in)

RiggedHandVisualizer (Experimental)

  • f:id:yotiky:20210125044256p:plain:w200
  • Clone する Profile ファミリー
    • DefaultHoloLens2ConfigurationProfile
    • DefaultHoloLens2InputSystemProfile
    • DefaultMixedRealityControllerVisualizationProfile
  • 設定
    • DefaultHololens2ConfigurationProfile をクローン
    • DefaultHoloLens2InputSystemProfile をクローン
    • DefaultMixedRealityControllerVisualizationProfile をクローン
    • Global Left Hand Visualizer および Global Right Hand VisualizerRiggedHandLeft(Right) を設定 f:id:yotiky:20210125044113p:plain

Object Manipulator

Bounds Control

Constraint Manager

Transform の動きに制約を適用できる

Interactable (TODO)

Button

  • MRTK Toolbox もしくは Packages/com.microsoft.mixedreality.toolkit.foundation/SDK/Features/UX/Interactable/Prefabs から追加 f:id:yotiky:20210125032414p:plain

  • 基本的な設定は Button Config Helper コンポーネント

    • OnClick イベントに処理を登録する
    • 見た目を変更する
  • アイコンを追加するには、Icon Set を作成する

yotiky.hatenablog.com

yotiky.hatenablog.com

Keyboard

  • 実機でしか表示されない
public TextMeshPro tmp;
private TouchScreenKeyboard keyboard;

public void OpenKeyboard()
{
    keyboard = TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, false, false);
}

void Update()
{
    if (keyboard != null)
    {
        tmp.text = keyboard.text;
    }
}

Slate

Solver (TODO)

Object Collection (TODO)

Scroll Object Collection (TODO)

Tooltip (TODO)

Slider (TODO)

Progress Indicator (TODO)

Hand Menu (TODO)

Near Menu

  • MRTK Toolbox もしくは Packages/com.microsoft.mixedreality.toolkit.foundation/SDK/Features/UX/Prefabs/Menus から追加 f:id:yotiky:20210125031316p:plain

yotiky.hatenablog.com

App Bar (TODO)

Dialog (Experimental) (TODO)

Hand Coach (Experimental) (TODO)

Pulse Shader (Experimental)

Spatial Awareness

  • Clone する Profile ファミリー
    • DefaultHoloLens2ConfigurationProfile
    • DefaultMixedRealitySpatialAwarenessSystemProfile
    • DefaultMixedRealitySpatialAwarenessMeshObserverProfile
  • 設定
    • Material を新規作成し、SR_Triangles シェーダーに設定し MRTK_Pulse_SpatialMeshBlue もしくは Purple からプロパティをコピーする
    • [Auto Pulse] のチェックをONにする
      • ライブラリに含まれているマテリアルは、OFFになっているのでスクリプトなどから有効にする必要がある
    • DefaultHololens2ConfigurationProfile をクローン
    • MixedRealityToolkit スクリプト > Spatial Awareness セクション で [Enable Spatial Awareness] を ON
    • DefaultMixedRealitySpatialAwarenessSystemProfile をクローン
    • DefaultMixedRealitySpatialAwarenessMeshObserverProfile をクローン
    • Display Settings の Visible Material に 作成したマテリアルを設定する

f:id:yotiky:20210131164752p:plain:w300 f:id:yotiky:20210131164805p:plain:w200

ハンドメッシュ

  • 必要な手順は「ハンドメッシュを表示する」の項目を参照
  • Hand Mesh Prefab に Packages/com.microsoft.mixedreality.toolkit.foundation/SDK/StandardAssets/Prefabs/ArticulatedHandMeshPulse.prefab を設定する

f:id:yotiky:20210131162954p:plain:w300 f:id:yotiky:20210131163556p:plain:w200

Dock (Experimental) (TODO)

ElasticSystem (TODO)

Joy Stick

  • Packages/com.microsoft.mixedreality.toolkit.foundation/SDK/Experimental/Joystick/JoystickPrefab.prefab から追加 f:id:yotiky:20210125035321p:plain
  • Target Object に対象を登録する