MixedRealityToolKit(以下MRTK)にはHoloLensやMixedRealityイマーシブデバイスをはじめとするxRの開発に役立つ多くのツールが提供されています。
今回はSliderを使ってみます。
〇PinchSlider
MixedReakkutyToolkit.SDK/Features/UX/Prefabs/Slidersにあります。
Prefabであるためシーンに配置するだけですぐに使うことができます。 PinchSliderは Sliderを動かすボタンであるThumbRoot
Sliderの値域であるTrackVisuals
メモリであるTickMarks
によって構成されています。
ThumbRootの中身にはコライダーと動かすためのNearInteractionGrabbable.csがアタッチされています。 また、Animationで操作時に色が変わるようになっています。
エディタで実行中にGrab、もしくはCursorを合わせAirTapし手を動かすことでSliderを操作することができます。
〇Sliderの値を使う
Sliderを操作することができましたがこのままではなにも行うことはできません。
Sliderの値を外部でから必要があります。
PinchSliderにはPinchSlider.csというスクリプトがアタッチされています。
PinchSlider.csには様々なパラメータがあります。
・ThumbRoot・・・sliderのボタン
・SliderValue・・・sliderの値(初期値になります)
またSliderTrackのSliderAxisで軸を選択できます。
On Value Updated(SliderEventData)のEventの下部[+]をクリックしてイベントを追加します。
扱いたいゲームオブジェクトをアタッチ、No Functionから扱いたいスクリプトの機能を設定することでsliderの値を扱うことができます。
public void hoge(SliderEventData eventData) { }
でfloat型のeventDataとしてsliderの値を扱えます。