夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

月探査機のリセットボタンを作る HoloLens 2アプリのチュートリアルその⑰

Microsoftのドキュメント[Microsoft Docs]ではHoloLens 2の入門チュートリアルが公開されています。

ツールのインストールから詳しく掲載されているためこちらを今回勉強しながらHoloLens 2が手元にないためHoloLens 1stで動かしてみます。

 チュートリアルは以下で公開されています。

docs.microsoft.com

 前回はユーザーがボタンを押すことで月面探査機が打ちあがる設定を行いました。

redhologerbera.hatenablog.com

 今回はリセットボタンを作成していきます。

〇リセット ボタンの構成

 [Hierarchy]ウィンドウで、[RocketLauncher] > [Buttons] > [ResetButton] オブジェクトを選択し、[Pressable Button]コンポーネントで、新しい Button Pressed () イベントを作成します。

f:id:Holomoto-Sumire:20200403105654j:plain

 作成したイベントを受信するように [LunarModule] オブジェクトを設定して、トリガーするアクションとして LaunchLunarModule.ResetModule を定義します。

f:id:Holomoto-Sumire:20200403095556j:plain

 [Pressable Button]コンポーネントの[Button Pressed()]イベントはHand Trackingによって認識されたユーザーの手や指がオブジェクトを押し込む(Press)されたときに呼び出されるイベントを指定します。

 [RocketLauncher] > [Buttons] > [ResetButton] オブジェクトを選択したまま、[Pressable Button ] コンポーネントで、Button Pressed () イベントを作成し、イベントを受信するように [RocketLauncher] オブジェクトを構成して、トリガーするアクションとして GameObject.BroadcastMessage を定義し、メッセージ フィールドに ResetPlacement と入力します。

f:id:Holomoto-Sumire:20200408103737j:plain

docs.unity3d.com

 GameObject.BroadcastMessageはオブジェクトもしくはその子オブジェクトにある指定されたメソッドを呼び出すAPIになります。

 ここでは[RocketLauncher]オブジェクト、そしてその子オブジェクトの[ResetPlacement]メソッドを呼び出します。

 以上で打ち上げた月着陸船の位置がリセットされるようになりました。