Mixed Reality Toolkit (MRTK) コンポーネントと Unity のスクリプト可能オブジェクト
MRTK-Unity は、一連のコンポーネントと機能を提供する Microsoft 主導のプロジェクトで、Unity でクロスプラットフォームの MR アプリの開発時間を短縮するために使用されます。 MRTK を使用して、シーン内の風力タービンの 3D モデルでイマーシブ対話式操作を迅速に作成します。 このプロジェクトでは特に、Microsoft.MixedReality.Toolkit.UI 名前空間内の次の MRTK オブジェクト クラスを使用します。
ObjectManipulator:
ObjectManipulator
スクリプトを使用すると、片手または両手を使用してオブジェクトを移動、拡大縮小、回転できるようになります。 このスクリプトは、HoloLens のジェスチャ入力と、イマーシブ ヘッドセットのモーション コントローラー入力の両方で動作します。BoundsControl: Bounds コントロールを使用すると、オブジェクトを変換したり (回転と拡大縮小)、ユーザーが変換操作をトリガーできることを視覚的に示すキューブをオブジェクトの周りに描画したりできます。 Bounds コントロールによって提供される拡大縮小および回転ハンドルを使用して、オブジェクトの遠距離と近距離の対話式操作を実行できます。 さらに、スケーリングと素材を変更する近接効果が、拡大縮小ハンドルと回転ハンドルに提供されます。
NearInteractionGrabbable: コライダブルを持つ任意の GameObject に NearInteractionGrabbable コンポーネントを追加して、そのコライダブルをグラバブルの近くにすることができます。 すべての
IMixedRealityNearPointer
により、最も近いグラバブル オブジェクトへのポインター イベントがディスパッチされます。 さらに、装飾されたオブジェクトが近接ポインターに最も近いオブジェクトである場合、近接ポインターによりフォーカスの開始イベントと終了イベントが送信されますRotationAxisConstraint: Y (上向き) 軸を中心としてのみ回転するようタービンを制約するために使用できます
タービン プレハブ
各デジタル ツイン タービン プレハブに対応して、Microsoft Azure から受信したデータを格納する ScriptableObject
が Unity プロジェクトにあります。 ScriptableObjects
は、基本的に、シーン間およびアプリケーション実行間でグローバルにデータを保持できる軽量のオブジェクトです。 風車プレハブにはこの ScriptableObject
への参照が保持されており、データが更新されると、アセットに通知するイベントがトリガーされます。 これらのプレハブを調べて、含まれる MRTK コンポーネントと、Azure のデータが受信される場所をご確認ください。
[Assets] > [Art] > [Prefabs] に移動して、デジタル ツイン タービンを表示します。 風車のインスペクターで、LOD グループ、先ほど説明した MRTK コンポーネント、このプレハブにアタッチされている他のスクリプトがあることがわかります。
タービンのシミュレートされた対応するスクリプト可能オブジェクトは、[Assets](アセット) > [Scriptable Objects](スクリプト可能オブジェクト) > [Turbine Site Data](タービン サイト データ) で確認できます。