本日はMRDLのSurfafeを学んでいきます。
前回まででStartup Sceneの概要をつかめました。
今回は実際に[Cube]を選択した際の動きを見ていきます。
〇HandMenu
ユーザーが[HandMenu]により[Cube]を選択した際MRTKによって提供されている[PressableButton HoloLens 2]コンポーネントの[Button Pressed()]に設定されているイベントが発火します。
ここでは3つの処理を実行します。
・[PhysicalPressEventRouter]の[OnHandPressTriggered]を実行
・自身の[AudioSource]に[MRTK_ButtonPress]をアタッチ=音を鳴らす。
・[HandMenu]オブジェクトの[ContextualHandMenu]コンポーネントの[CloseMenu]を実行
[PhysicalPressEventRouter]コンポーネントはMRTKから提供されているコンポーネントでタッチやプレスのアクションをMRTKでアクションに対してリアクションを返す[Interactable]に渡す役割を持っています。
この[PhysicalPressEventRouter]コンポーネントがあることでプレスのアクションが[Interactable]コンポーネントの[OnClick()]が実行されます。
この[OnClick()]には[ButtonLoadContentScene]の[LoadContent]が実行されます。
前回シーンロードで見たように[ButtonLoadContentScene]コンポーネントはMRTKのシーン遷移システムを使用してシーンをロードする役割を持っています。
これによってCubeシーンがロードされます。
他のシーンに関しても同様にロードされます。
次回はCubeのシーンをロードした際の親オブジェクトにアタッチされている[Volume]クラスを紐解いていきます。