MixedRealityToolKit(以下MRTK)にはExamplesというデモサンプル集が含まれています。
Examplesを理解すればMRTKの機能の使い方を学習することやノンコーディングでのアプリ開発が可能になります。
前回からUX/Interactables/InteractablesExamplesを見ています。
前回はGrabHandleを見ていました。
〇NearInteractionSample
[NearInteractionSample]は半透明のキューブの中にフラーレンオブジェクト(サッカーボール)があります。
実行中にキューブにカーソルが当たると上部のテキストが[State:Focus]へと変化します。
オブジェクトに触れている場合[State:PhysicalTouch]と表示されます。
フラーレンオブジェクトに対しGrabを行うと[State:Grab]と表示されます。touchした回数を記録して表示も行っています。
オブジェクトをGrabのまま動かすと[State:Gesture]と表示されます。
また、それぞれの状態で色と大きさが変化しています。
〇オブジェクトの構成
NearInteractionSampleオブジェクトには[Cube][Platonic][State][TouchIcon]が子オブジェクトとして存在します。
しかしこれらに特別今回のInteractablesにかかわる特別な機能は付けられておらず、[NearInteractionSample]オブジェクトにアタッチされた機能でオブジェクトの状態を可視化しています。
[NearInteractionSample]にはアクションを認識してイベントとして返す[Interactable]と、Grab動作を認識する[NearInteractionGrabbable]、[NearInteractionTouchable]がアタッチされています。
InteractablenのGeneralのStateには[FocusPressTouchGracStates]が設定されています。
[Profile]には[Target]として[Platoinc]オブジェクトが指定されており[FocusPressTouchGrabStates]でイベントが指定されています。
ここでは[ScaleOffsetColorTheme]というThemeが指定されており、状態に応じ[Color]と[scale]が設定されており、変化させています。