(この記事の使用環境: Unity5.5.0f3 Personal、Windows10、SteamVR Plugin 1.2.0、VRTK3.0.1)


今回はVR用アセット「VRTK」に収められている Example 013_Controller_UsingAndGrabbingMultipleObjects の解説です。VR空間上でオブジェクトを掴んだり、使ったりすることができるデモです。

■公式サイトの解説

VRTK公式サイトでこのExampleの解説文及び解説動画を見ることができます。ただし、動画に関してはVRTK旧バージョンのときに作られたものであり、VRTK3.0(以降)とは設定は異なっていることに留意してください。動きを中心に見てもらえれば良いかと思います。

解説動画



■VRTKのセットアップ方法および使用されているスクリプトの解説

適宜、以下の記事を参照願います。

■Exampleの解説

VRTK/Examples 内にある当該番号のシーンを呼び出すことで、デモを動かしてみることができます。
 
左右のコントローラーでそれぞれ独立してオブジェクトをつかんだり使ったりする、また、それらのオブジェクトのUse-Stateをトグルすることもできる、というデモです。
SnapCrab_NoName_2017-1-26_18-41-25_No-00

以下、シーンに配置されているオブジェクトについての概要説明です。
  • Whirlygig、Whirlygig (1): VRTK_InteractableObject を継承した Whirlygig スクリプトがアタッチされている。 Hold Button To Grab がチェックされているため、Grab ボタンを押し続けている間だけ掴み、Grab ボタンを離せばオブジェクトを離す。また、 Hold Button To Use はチェックされていないため、「使用」(ホイールが回転する)はトグルアクションとなる。オブジェクトにタッチした状態でトリガーを1回引けば使用開始、もう1回引けば使用停止する。
    SnapCrab_NoName_2017-1-26_16-6-58_No-00

  • Whirlygig (2): ほかの Whirlygig とは設定が異なる。Hold Button To Grab がチェックされていないため、Grab ボタンはトグルアクションとなる。1回押せば掴み、もう1回押せばオブジェクトを離す。また、 Hold Button To Use はチェックされているため、オブジェクトにタッチした状態でトリガーを引いている間は「使用」(ホイール回転)し、トリガーを離せば使用停止する。
    SnapCrab_NoName_2017-1-26_16-16-3_No-00

  • Gun、Gun (1): VRTK_InteractableObject を継承した Gun スクリプトがアタッチされている。 Hold Button To Grab がチェックされていないため、Grab ボタンはトグルアクションとなる。1回押せば掴み、、もう1回押せば離す。また、 Hold Button To Use がチェックされている。オブジェクトにタッチした状態でトリガーを引けば「使用」(銃弾発射)する。
    SnapCrab_NoName_2017-1-26_16-43-54_No-00

  • Gun (2): ほかの Gun とは設定が異なる。Hold Button To Grab がチェックされているため、Grab ボタンを押し続けている間だけ掴み、Grab ボタンを離せばオブジェクトを離す。また、 Hold Button To Use はチェックされていないため、「使用」(銃弾発射)はトグルアクションとなるところであるが、銃弾の発射はトリガーを引いた時点で完結しているため、銃弾が連射されるようなことはならないことに注意。結果的に Gun に関しては、Hold Button To Use のチェック有無にかかわらず同様の振る舞いをする。
    SnapCrab_NoName_2017-1-26_16-47-29_No-00

今回は以上です。