VRTK4.0Beta FloatをBooleanへ変換

前回はトリガーボタンの入力に応じて、透明度が変化する仕組みを作成しました。
今回はトリガーの入力値をブーリンアン型へ変更する仕組みを紹介します。
これを行うことにより、「トリガーを引いたら物をつかむ」「トリガーを離したら物を離す」という動きが作成できます。

前回の記事「1軸アクションの追加」の続きとなります。
前回の記事はこちら

今回は以下のドキュメントをもとに進めていきます
https://academy.vrtk.io/Documentation/HowToGuides/Actions/ConvertingAFloatActionToABooleanAction/

ボタン処理用オブジェクトの作成

シーンに空のオブジェクトを追加し、名前を「RightTriggerPressed」に変更します。
その後、コンポーネントの追加で「Float To Boolean」を追加します

値変換処理の追加

シーン内の「TriggerPress」オブジェクトを選択し、Unity Axis 1D Actionのプロパティを変更します。
Value Changeのプロパティに「RightTriggerPressed」オブジェクトを設定し、呼び出すメソッドに「ToTransform」を選択します。

ここまでの設定を行うと、画面は下記のようになっているはずです

※ちなみに「DoTransform」は引数を受け取るもの、受け取らないものの2種類がドロップダウンに表示されますが、ここでは引数を受け取らないものを指定します

閾値の調整

RightTriggerPressedを選択し、閾値を設定します。
今回は0.75に指定しました。
トリガーを75%入力したときに、ブーリアンの値がTrueになります

ブーリアンアクションの制御

ブーリアンアクションで値の入力があった時に実行される処理を設定します。

まずはRightTriggerPressedオブジェクトを選択し、Boolean Actionコンポーネントを新規で追加します。

次にRightTriggerPressedのFloat To Booleanを選択し、Transformedプロパティの+ボタンを押してリストを追加します。
追加リストに、先ほど設定した「Boolean Action」を設定し、呼び出すメソッドに「Recive」を設定します。
ここまで設定すると、以下のような画面になります。

以上・・・なのですが

公式チュートリアルでは以上で設定完了となるのですが、これだと動作確認が取れないため、もう少しだけ設定を行います

RightTriggerPressedに追加したBoolean ActionのValue Changeイベントに処理を追加します。
+ボタンでリストを追加後、シーン内のCubeオブジェクトを設定し、呼び出すメソッドを「SetActive」に設定します。
ここまでの設定を行うと、画面は以下の通りになります。

この状態でシーンを実行し、コントローラのトリガ―を入力してみましょう

うまく設定されていれば、トリガーの入力に応じて、床が消えたり現れたりするはずです。

無事に動作確認が取れたところで、今回は以上になります。
これでやっと、物をつかむという処理が作れそうですね