VRTK4.0Beta Unity Button Actionの追加

テレポート前の準備として、今回はボタン入力について実装を進めます。

前回の記事「VRTK4.0Beta TrackedAliasの追加」の続きとなります。
前回の記事はこちら

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

床の作成

床となるキューブを配置します
ヒエラルキービューで右クリック > 3D Object > Cube

作成したキューブを以下の大きさに変更します
・Position X=0. Y=-0.5, Z=0
・Scale X=20, Y=1, Z=20

コントローラプレハブの追加

シーンにボタン入力を処理するためのプレハブを追加します
UnityXR.OpenVR.LeftController
UnityXR.OpenVR.RightController
の二つのプレハブを追加します。

キーボードの入力切替の画像が入ってしまいましたが、気にしないでください・・・

ボタン割り当ての確認

今回は右コントローラのメニューボタンに処理を割り当てます。
UnityXR.OpenVR.RightController > MenuButton > Press[0]
を選択し、「Joystick Button 0」が設定されていることを確認します

ボタンアクションの割り当て

実際にメニューボタンが押された時の処理を設定します

  1. UnityXR.OpenVR.RightController > MenuButton > Press[0] を選択
  2. Unity Button Actionスクリプトの「Activated」リストの+ボタンをクリック
  3. 冒頭で追加した「Cube」オブジェクトを設定
  4. ドロップダウンからGame Object > Set Active(bool) を選択

ここまでの操作で、プロジェクトは以下のようになっていると思います

次はボタンが離された時の処理を設定します。
(設定内容はボタンが押された時の設定方法とほぼ同じです)

  1. UnityXR.OpenVR.RightController > MenuButton > Press[0] を選
  2. Unity Button Actionスクリプトの「Deactivated」リストの+ボタンをクリック
  3. 冒頭で追加した「Cube」オブジェクトを設定
  4. ドロップダウンからGame Object > Set Active(bool) を選択
  5. オブジェクトを設定した横にあるチェックボックスにチェックを入れる

ここまでの設定で、以下のような構成になっていると思います

以上

これで、右コントローラのメニューボタンを押したり話したりすると、操作に応じて床が消えたり、表示されたりするようになります

本家のサイトでは、VRコントローラの入力以外に、通常のコントローラ(キーボード)を利用した入力についても紹介されています。
このブログではVRに内容を絞って紹介しているため、キーボード入力の方法は省略させていただきました。
気になる方は、ぜひ本家のドキュメントもご覧ください!