MRが楽しい

MRやVRについて学習したことを書き残す

HoloLens2でAzure Digital Twinのラーニングパスを試す その5

本日は HoloLens2 の技術調査枠です。
HoloLens2でAzure Digital Twinのラーニングパスを試して実施記録を記事にします。
f:id:bluebirdofoz:20210613230020j:plain

前提条件

前回記事の続きです。
bluebirdofoz.hatenablog.com

ユーザーインターフェイスを備えたAzure Digital Twinを作成する

本項では操作データにウィンドウを提供する Azure Digital Twin を備えたユーザーインターフェイスを作成します。

MainSceneに操作メニューを追加する

1. シーンに Bing Maps プレハブまたは何らかのタービンプレハブがある場合は Hierarchy からそれらを削除します。
f:id:bluebirdofoz:20210613230030j:plain

2. Assets/Art/Prefabs ディレクトリから BingMapsOperate.prefab をシーンにドラッグします。
f:id:bluebirdofoz:20210613230044j:plain

3. BingMapsController は以下の機能を持ちます。
3-1. 開発者キーを含む Maps SDK パラメーターを構成します。(Bing Maps の作成キーを再設定します)
f:id:bluebirdofoz:20210613230105j:plain

3-2. Addressable Asset System を使って、実行時に Addressables を指定して風力タービンを読み込みます。
3-3. タービンの位置はタービンのサイトデータ ScriptableObject を使用して変更できます。
配置するタービンの位置を変更するには[Wind Turbine Meta Data] の Latitude または Longitude の値を変更します。
タービンのこれらの構成パラメーターは、Assets/ScriptableObjects/TurbineSiteData で確認できます。
f:id:bluebirdofoz:20210613230117j:plain

注意

Addressables の他のパラメーターや特性を変更しないでください。
変更してしまうと、再コンパイルする必要が生じてしまいます。
コンパイルについてはこのチュートリアルでは説明されません。

4. Assets/UIPrefabs/Prefabs ディレクトリから OperateSceneUI.prefab をシーンにドラッグします。
この UI パネルには、実行時にタービンサイトデータが取り込まれます。
f:id:bluebirdofoz:20210613230130j:plain

また、この Prefab には HandMenuOperate.prefab が含まれます。
本プレハブでユーザーの手を使った HoloLens 2 でのメニュー操作で制約、しきい値、および追跡の構成を指定します。
f:id:bluebirdofoz:20210613230141j:plain

OperateSceneUIとハンド メニューの [操作] での構成可能な項目を調べる

シーンに慣れたら OperateSceneUI の子オブジェクト TurbinePanel でデータ範囲の色の値をカスタマイズできます。
f:id:bluebirdofoz:20210613230152j:plain

UIのデータ範囲の色をカスタマイズする

1. Assets/ScriptableObjects/テレメトリ範囲データ ディレクトリを開きます。
2. RangeAmbientTemperature, RangePower, RangeRotorSpeed, RangeWindSpeed の4つのテレメトリ範囲のいずれかを選択します。
3. [正常性インジケーターのグラデーション] で色範囲を構成できます。
f:id:bluebirdofoz:20210613230202j:plain

MainSceneにUI を配置する

1. Hierarchy の OperateSceneUI ゲームオブジェクトを選択します。
2. 他のゲーム オブジェクトと同様にシーンに UI を配置しなおしてみます。
ユーザーがタービンデータをどのように表示するだろうか、どのようなユーザーインターフェイスの配置を期待するかと考えてください。
f:id:bluebirdofoz:20210613230213j:plain

記事が長くなったので分けます。
次は SignalR を使用してシミュレートを試します。
bluebirdofoz.hatenablog.com