Microsoft Mixed Reality ツールキット 2.7 リリース ノート

2.7.3 の新機能

Redmond からの謝意

MRTK チームは、MRTK コミュニティの皆さんに感謝の意を申し上げます。 皆さんの投稿、フィードバック、投票により、MRTK は 2021 Auggie Award for Best Developer Tool (2021 年最優秀開発者向けツールのための Auggie Award) を受賞することができました。 皆様のサポートがなければ、ここに到達することはできなかったでしょう。 新しいプラットフォームのサポート、新機能、バグ修正、提案、質問、またはその他さまざまなすべての貢献に感謝いたします。

また、私たちに代わって Auggie Award を受け取ってくれた友、Lachlan Ford 氏にもお礼申し上げます。 2021 Auggie Awards Best Developer Tool

Unity 2021 のサポート

2.7.3 のリリースにより、Unity 2021 でのビルドが簡単になりました。 Unity 2021 での MRTK の使用中に問題が発生した場合は、GitHub リポジトリで問題を報告してください。

リモート処理サポートを介したシーンの理解 (OpenXR のみ)

OpenXR プラットフォームを使用した HoloLens 2 でのリモート処理中に、シーンの理解を使用できるようになりました。

MRTK 2.7.3 のバグ修正と変更

  • プロファイルがそのフォルダーに複製されていない限り、CustomProfiles フォルダーの作成が停止されました #9916
  • GameObjects での .gameObject の呼び出しを削除しました #9939
  • コンポーネントが無効化されたオブジェクトでポインターに焦点が集まりロックされる問題を修正しました #9945
  • 非推奨のメソッドを更新し、Unity 2021 のコンパイラ エラーを修正しました #9938
  • Unity 2021 向け link.xml を修正しました #9942
  • ボタン構成インスペクターを、アイコン名を表示するように更新しました #9972
  • コントローラー マッピング リストのヘッダーと配置を更新しました #9976
  • MRTK 向け Unity 機能強化を分類しました #9940
  • BoundsControl コライダーの問題と不整合を修正しました #9973
  • ボタン アイコンセット インスペクターを修正しました #9999
  • BoundsControl スケール ハンドル コライダーの配置を修正しました #10007
  • SDF フォント テクスチャの分類を修正しました #10006
  • BoundsControl の自動フラット化とスケール ハンドルの向きを修正しました #10013
  • BoundsControl フラット化修正のフィードバックを追加しました #10016
  • アニメーション再生中のハンド メッシュによるゆがみを修正しました #10024
  • シーンの理解のログ記録と SpatialAwarenessSurfaceTypes を修正しました #10026
  • スタンドアロンの define ディレクティブを Leap のシーン スクリプトの例に追加しました #10036
  • 既定以外のアクティブ化の種類がエディターで指定されている場合の BoundsControlOnEnable の問題を修正しました #10039
  • OpenGL ES と Metal の無効なシェーダー バイトコード エラーを修正しました #10041
  • ClearProgressBar 呼び出しを追加して、Unity 2020 でのビルド ウィンドウのフリーズを修正しました #10046
  • フォント アセットのシリアル化を更新しました #10047
  • ピンチ スライダー コライダーが適切になるようにハンド対話シーンを修正しました #10060
  • 表面吸着の四元数の計算を修正しました #10074
  • PV カメラのバージョン メッセージを強化しました #10077
  • BoundingBoxHelper.GetRawBoundsCorners 保護レベルを修正しました #10093
  • gLTF インポート ログが 1 つではなく複数になるように更新しました#10090
  • MRTK が存在しないシーンから MRSceneContent スクリプトを削除しました #10091
  • Unity 2018 互換性用にサンプル シーンからパッケージベースのイベント システムを削除しました #10092
  • プレビュー Microsoft OpenXR パッケージのサポートを削除しました #10119
  • データの受信時にアプリがフリーズする問題を修正しました #10033
  • EyeTrackingTarget を持つコライダーから、それを持たないコライダーに渡すときに OnLookAway をトリガーしない EyeTrackingTarget を修正しました #10127
  • 既定のポインター エクステントを、マウス ポインターの動作がより直感的になるように変更しました #10075
  • 初期化が実行されるときが明確になるように要約を更新しました #10177
  • LinePointer の問題 NullReferenceException を修正しました #10190
  • 不統一のスケールの問題を含む BoundsControl を修正しました #10133
  • さまざまなカルチャでの IOSMinOSVersion の処理を修正しました #10178
  • 目の視線入力対応オブジェクトから余分なレイキャストを削除しました #10162
  • MixedRealityToolkit プレハブのエディター インスペクターでさまざまなプロファイルをポイントしたときのヒントを追加しました #10180
  • EyeTrackingExample での音声コマンドのドロップダウンと更新コマンドを修正しました #10197
  • Unity の標準シェーダーによる読み込み時に 'gLTF' オブジェクトが黒く見える問題を修正しました #10209
  • IsEnabled プロパティが false の場合に自身を更新する UnityTouchDeviceManager を修正しました #10203
  • ボタン構成ヘルパーでのプロパティ名を更新しました #10221
  • オブジェクト エクスポーターの座標空間、回転順序、カルチャ書式を修正しました #10208
  • つかみポイントを指先に移動するオプションを追加しました #10206
  • Leap UnityModules 4.9.1 のサポートを追加しました #10282
  • ReserializeAssetsUtility.cs へのいくつかの小さな変更をバックポートしました #10280
  • enumValueIndex の不適切な使用を intValue に変換しました #10274
  • 近くの操作時のオブジェクトのドリフトを修正しました #10294
  • 境界コントロールによる他のコンポーネントの過度な削除を修正しました #10296
  • 近接照明のちらつきを修正しました #10325
  • イベントの発生を決定する前に、何かがイベントにフックされるかどうか確認するチェックを追加しました #10330
  • 些末なものの分類を変更しました #10316
  • .HasFlag の代替手段を導入しました #10319
  • HandConstraint ソルバー デバッグ ログのスパムが減ります #10331
  • HandConstraintPalmUp.cs からのログ スパムを修正しました #10326
  • OpenXR を介した Holographic Remoting 用のシーンの理解を有効にしました #10338
  • パラメーターなしのコンストラクターを InteractableOnClickReceiver に追加しました #10353
  • サンプル パッケージで FingerChaser プレハブを Common フォルダーに移動しました #10358
  • OpenXR で多関節ハンド セレクトのフォールバック ケースを追加しました #10359
  • Windows Mic ストリーム デモの UPM インポートの問題を修正しました #10362
  • OpenXR プロファイルの名前を変更しました #10363
  • Unity 2021 でのレイキャスト ヒット ログ出力を改善し、AssetBundles を使用した場合のクラッシュを修正しました #10370
  • 割り当てを減らすために文字列を const 型と cache型に更新しました #10369
  • アプリベースの Holographic Remoting を使用した場合の XRSDK ベースのメッシュ オブザーバーを修正しました #10366
  • Oculus 視覚化を統合しました #10067
  • BoundsControl プロパティのドキュメントを追加しました #10361
  • ハンド ジョイント チェイサーのプレハブを修正しました #10377
  • Oculus Quest のデプロイ エラーを修正しました 10374
  • シーンの理解のサンプル シーン プロファイルに関する問題を修正しました #10368
  • 最新バージョンの Unity 2021.2 でインポートされた場合の MRTK コンソール エラーを修正しました #10182
  • カーソルを変更する方法に関する不足しているドキュメントを追加しました #4934
  • MRTK Unity パッケージ リリース ページの手順がより明確になるように改善しました #9575
  • MicStream 選択デモのシーンで音声が処理されない問題を修正しました (UPM パッケージ) #9908
  • MRTK サンプル パッケージでサンプルを個別にインポートできなかった問題を修正しました #10216
  • 一部のプロパティについて BoundsControl の不足していたドキュメントを追加しました #10346
  • インタラクティブにできるコンポーネントを持つゲーム オブジェクトに InteractableOnClickReceiver を追加できなかったバグを修正しました #10341

2\.7.2 の新機能

UPM パッケージの依存関係に関する問題が修正された

MRTK 2.7.1 UPM パッケージには、依存関係が正しく設定されないという問題がありました。 この問題により、Mixed Reality Feature Tool は MRTK 2.7.1 パッケージの適切なインポートに失敗します。 この問題は、2.7.2 で解決されました。 2\.7.1 と比較して、このバージョンのコードに変更はありません。

2\.7.1 の新機能

バージョンを表示する

[Mixed Reality] > [ツールキット] メニューに含まれるようになった [バージョンの表示] エントリを使用すると、Mixed Reality Toolkit Foundation パッケージが検査されて、プロジェクトで使用されている MRTK のバージョンが特定されます。

Show version menu

MRTK version dialog

注意

MRTK が GitHub リポジトリからクローンされる場合、バージョン情報は設定されません。

Unable to determine version

作成者リスト

MRTK 2.7.1 以降では、作成者リスト ファイルが Mixed Reality Toolkit Foundation パッケージに含まれます。

コンフィギュレーターのセットアップ フローへの OpenXR プロジェクトの統合

MRTK 2.7.1 以降では、Mixed Reality OpenXR プラグインのユーザーに、MRTK でのそのプラグインの設定方法についての説明が表示されます。 HoloLens 2 を対象とするユーザーは、推奨される設定を自動的に適用できます。

Configurator window with OpenXR setup instructions

注目すべきバグ修正と変更

  • Unity Joystick Manager が XR SDK パイプラインのサポート対象としてマークされました (#9954#9994)
  • null エラーを防ぐため、対話型インスペクター コードにチェックが追加されました (#9943)
  • パルス シェーダーのシーンの例に、OpenXR メッシュ プロバイダーが追加されました (#9902)
  • シーンの例に手の物理プロファイルが復元されました (#9915)
  • HandConstraint スクリプトにいくつかのクリーンアップが行われました #9935
  • プロファイルの作成と複製に影響を与えるいくつかのバグが修正されました (#9982)

2\.7.0 の新機能

MRTK で OpenXR が正式にサポートされるようになった

新しい OpenXR プラグインがますます成熟してきたため、MRTK で OpenXR が正式にサポートされるようになりました。 以前のリリースと比較すると、次の機能が OpenXR を使用するプロジェクトに追加されました。

OpenXR で HoloLens 2 または Windows Mixed Reality のヘッドセットを対象とする場合は、Mixed Reality Feature Tool を使用して Mixed Reality OpenXR プラグイン バージョン 0.9.5 以降をインストールするか、それに更新してください。そうしないと、上記の機能強化の一部を使用できない可能性があります。

レガシ XR と XR SDK のデータ プロバイダーを同じプロファイルで使用できるようになった

また、適切なパイプラインが選択されているときにのみデータ プロバイダーが読み込まれるようになり、レガシ XR と XR SDK の両方のデータ プロバイダーを同じプロファイル内に共存させることができます。 これに対応するため、レガシ XR と XR SDK のデータ プロバイダーはプロファイル ビュー内の異なるタブに編成されるようになり、ユーザーは対象の XR パイプラインに適したプロファイルを使用しているかどうかを判断できます。

Legacy and XR SDK data providers can now be unified under a single profile

これに対応するため、null データ プロバイダーがプロファイル インスペクターに読み込まれて表示されることはなくなりました。 ユーザーは、[編集] -> [プロジェクト設定] -> [Mixed Reality Toolkit]Show null data providers in the profile inspector を切り替えて、データ プロバイダーが見つからない場合の予期しない動作をデバッグできます。

Null data providers are now hidden by defaultToggle show null data providers in the profile inspector

エクスペリエンスの設定および関連する Mixed Reality シーン コンテンツ動作が追加された

ユーザーはエクスペリエンスの設定を構成できるようになりました。これにより、MRTK で、対象となるエクスペリエンスに基づいて、Mixed Reality シーン コンテンツを適切に表示できます。

ユーザーの以前のエクスペリエンス スケール設定が新しいエクスペリエンス設定プロファイルと一致しない場合は、インスペクターでそれを修正するように求めるメッセージが表示されます。

Experience Scale Migration

再設計されたコンフィギュレーターでユーザーにセットアップ プロセスが案内するようになった

新しい MRTK コンフィギュレーターでは、XR 開発用のプロジェクトを適切に構成して MRTK で使用するための、ステップバイステップ ガイダンスがユーザーに提供されます。 そこでは、XR パイプラインの選択、プラットフォーム固有のプラグインの取得、TextMeshPro のインポート、例の表示 (UPM を使用)、およびその他の以前も含まれていたプロジェクトに関する推奨設定が示されます。

Configurator showing the pipelines list

実験段階ではなくなったテレポート ホットスポット

新しいテレポート ホットスポット コンポーネントが実験段階ではなくなりました。 GameObject にテレポート ホットスポットを追加することで、ユーザーがその場所にテレポートするときに、特定の位置と向きが設定されます。

Teleport Hotspot example

実験段階ではなくなったドウェル

ドウェル機能と例が、実験段階ではなくなりました。 ボリュームのある HoloLens 2 スタイル ボタンの新しい例が、サンプル シーンに含まれています。

Dwell hero

Leap Motion Unity モジュール バージョン 4.6.0、4.7.0、4.7.1、4.8.0 のサポートが追加された

最新バージョンの Leap Motion Unity モジュールのサポートが、MRTK 2.7.0 と互換性を持つようになりました。 詳細については、Leap Motion 用に MRTK を構成する方法に関する記事を参照してください。

新しい LeapMotionOrientationExample シーンの貢献に関して、@jackyangzzh に深く感謝します。

対象指定の音声イベントの発生が、視線ポインターに制限されなくなった

以前は、対象指定の音声イベントは、視線ポインターでフォーカスされたオブジェクトでのみ発生することができました。 現在は、任意のポインターによってフォーカスされている場合、オブジェクトで音声イベントを受け取ることができます。

Speech Events with Far Pointers

HTK から MRTK に移植された TextToSpeech

TextToSpeech スクリプトが MRTK で使用できるようになりました。これは、SpeechSynthesizer を使用して UWP プラットフォームでテキストから音声を生成するのに役立ちます。 また、この機能のデモを行うサンプル シーンも追加されました。

OpenXR でのシステム提供のモーション コントローラー モデルのサポート

OpenXR でのシステム提供のモーション コントローラー モデルのサポートが、エディターとランタイムの両方に追加されました。

Editor window showing two motion controller models

OpenXR での HoloLens 2 多関節ハンド メッシュのサポート

The hand mesh running on-device in an MRTK example scene

レガシ WMR、Windows XR プラグイン、OpenXR でのコントローラー触覚のサポート

レガシ WMR、Windows XR プラグイン、OpenXR でのコントローラー触覚のサポートが追加されました。 #9735

Windows XR プラグインでの視線追跡のサポート

Windows XR プラグインの最小バージョン 2.7.0 (Unity 2019)、4.4.2 (Unity 2020)、5.2.2 (Unity 2021) を使用しているときの、視線のサポートが追加されました。 #9609

注目すべきバグ修正と変更

  • ピンチの検出がいっそうスムーズになりました。 ピンチ ジェスチャが誤って破棄されることが、発生しにくくなりました。 #9576
  • オブジェクト マニピュレーター コンポーネントが含まれるオブジェクトで、フラグが設定されているときに、解放の速度が一貫して維持されるようになりました。 #9733
  • 後ろに移動するときにフロアがチェックされるようになり、カメラが環境にクリップされたり、ユーザーが空間に浮いたままになる可能性のある状況を防ぐことができるようになりました。#9697
  • IsNearObject が仮想プロパティになったため、球体または指さしポインターを拡張するときの柔軟性が向上します。 #9803
  • 使用可能な音声コマンドを表示するときに、ボタンに適切なキーワードが表示されるようになりました。 #9824
  • Oculus コントローラーで独自のスタンドアロン ビジュアライザーが使用されるようになったため、MRTK の視覚化が Oculus 統合パッケージの視覚化と競合することが防がれます。 #9589
  • キーボード関連のスクリプトが、最新の Unity バージョン (2019.4.25 以降と 2020.3.2 以降) の動作に合わせて変更されました。 リリースの時点では、HoloLens に影響するオート コンプリートのバグと TMP 入力フィールドのバグ (両方とも MRTK の外部) が存在します。 詳細については、#9056#9724 を参照してください。
  • スクロール オブジェクト コレクションのパフォーマンスが向上しました。 また、コレクション内の GameObject が重複した場合に素材が失われる問題も修正されました。 #9813#9718
  • シーンの理解デモ スクリプトで、特定の種類の観察されたすべてのシーン オブジェクトを取得する GetSceneObjectsOfType 関数が追加されました。 #9524#9744
  • コマンド ライン ビルド ツールでは、sceneList または sceneListFile フラグによって指定されたシーンのみが (フラグが存在する場合) ビルドに含まれます。 #9695
  • ビルド ツールに、nuget.exe へのパスを指定し、それを使用して msbuild (既定のオプション) ではなくパッケージの復元を実行する新しいオプションがあります。 #9556
  • Windows XR プラグインを使用すると、古い手の関節と 2 倍のハンド メッシュが生成される問題を修正しました。 #9890
  • Windows XR プラグインの自動リモート処理機能を使用すると入力と対話ができない問題を修正しました。 #9868
  • BuildDeployWindow によって Windows SDK パスの無効なレジストリ キーが照会される問題を修正しました。 #9664
  • MRTK の glTF インポーターがオプションになりました。 複数の MRTK_GLTF_IMPORTER_OFF インポーターが存在する場合は、カスタム スクリプト定義シンボルに glTF を追加することで MRTK を無効にすることができます。 #9658
  • OpenVR の Knuckles コントローラーが正しく検出されなかった問題を修正しました。 #9881
  • ハンド メッシュを表示するときの、フレームごとの割り当ての数が減りました #9756
  • (Unity Package Manager で) MRTK Examples パッケージを起動するためのメニュー項目が追加され、サンプルを簡単にインポートできるようになりました #9798
  • Unity 2020.3 を使用するときの、読み込み時の警告の数が少なくなりました。
  • ビルド ウィンドウ機能のドキュメントが追加されました: ページに移動

既知の問題

オーディオ デモに asmdef ファイルがありません (UPM パッケージ)

Mixed Reality Feature Tool を使用して MRTK をインポートするとき、サンプルとデモは Unity Package Manager UI を使用してプロジェクトに追加されます。 オーディオ デモをインポートした後は、WindowsMicrophoneStreamDemo.unity シーンが正しく動作しません。 これは、サンプルの .asmdef ファイルがないためです。

この問題を回避するには、次の手順を実行します。

  • Library/PackageCache/com.microsoft.mixedreality.toolkit.examples@[...]/MRTK.Examples.asmdef を、お使いの "Assets/Samples/Mixed Reality Toolkit Examples" フォルダーにコピーします
  • コピーしたファイルの名前を Examples に変更します
  • Examples ファイルを開きます
  • [名前] ボックスで、内容を「Examples」に置き換えます
  • [適用] をクリックします
  • ビルドとデプロイ

この問題は、MRTK の次のリリースで解決されます。

Unity 2020.3 の MRTK ビルド ウィンドウで [Importing assets](資産のインポート) ダイアログが永続的にトリガーされる

Unity 2020.3 の MRTK ビルド ウィンドウには既知の問題があり、UWP のビルドが正常に実行された後、[Importing assets](資産のインポート) ダイアログが完了しません。 この問題は、Unity と協力して調査されています。

Unity 2020 での Text Mesh Pro Canvas Renderer の警告

Unity 2020 を使用していると、MRTK のほとんどのサンプル シーンで次の警告がログに記録されます。

Please remove the `CanvasRenderer` component from the [TextMeshPro] GameObject as this component is no longer necessary.

Canvas Renderer のこの警告は、TextMeshPro バージョン 3.0.3 で追加されました。 これらの警告は MRTK のサンプル シーンに影響しないため、コンソールから消去できます。 詳細については、イシュー 9811 を参照してください。