夜風のMixedReality

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

MRDL Surfaceを学ぶ Startup Scene Cubeのロード

本日はMRDLのSurfafeを学んでいきます。

前回まででStartup Sceneの概要をつかめました。

今回は実際に[Cube]を選択した際の動きを見ていきます。

〇HandMenu

ユーザーが[HandMenu]により[Cube]を選択した際MRTKによって提供されている[PressableButton HoloLens 2]コンポーネントの[Button Pressed()]に設定されているイベントが発火します。

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

ここでは3つの処理を実行します。

・[PhysicalPressEventRouter]の[OnHandPressTriggered]を実行

・自身の[AudioSource]に[MRTK_ButtonPress]をアタッチ=音を鳴らす。

・[HandMenu]オブジェクトの[ContextualHandMenu]コンポーネントの[CloseMenu]を実行

[PhysicalPressEventRouter]コンポーネントはMRTKから提供されているコンポーネントでタッチやプレスのアクションをMRTKでアクションに対してリアクションを返す[Interactable]に渡す役割を持っています。

この[PhysicalPressEventRouter]コンポーネントがあることでプレスのアクションが[Interactable]コンポーネントの[OnClick()]が実行されます。

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

この[OnClick()]には[ButtonLoadContentScene]の[LoadContent]が実行されます。

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

前回シーンロードで見たように[ButtonLoadContentScene]コンポーネントはMRTKのシーン遷移システムを使用してシーンをロードする役割を持っています。

redhologerbera.hatenablog.com

これによってCubeシーンがロードされます。

他のシーンに関しても同様にロードされます。

次回はCubeのシーンをロードした際の親オブジェクトにアタッチされている[Volume]クラスを紐解いていきます。

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