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


今回はVR用アセット「VRTK」に収められている Example 006_Controller_UsingADoor の解説です。VR空間内でオブジェクトを「使う」例として、ドアを開け閉めするデモです。

■公式サイトの解説

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

このExampleの解説動画


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

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

■Exampleの解説

VRTK/Examples 内にある当該番号のシーンを呼び出すことで、デモを動かしてみることができます。
 
コントローラーによってドアを開け閉めできます。床にあるCubeは持つことができます。
SnapCrab_NoName_2017-1-26_22-52-19_No-00

以下、シーンに配置されているオブジェクトについての概要説明です。
  • Doorway1 の Door : VRTK_InteractableObject を継承した Openable_Door スクリプトがアタッチされている。 ドアオブジェクトにタッチした状態でトリガーを引けばドアを開け、ドアが開いた状態でもう一度トリガーを引けばドアを閉める。
    SnapCrab_NoName_2017-1-26_23-23-27_No-00
    SnapCrab_NoName_2017-1-26_23-10-12_No-00
  • Doorway2 の Door : Doorway1のDoorと同様に  Openable_Door スクリプトがアタッチされているが、設定が異なる。
    まず、 Grab Override Button および Use Override Button に Grip_Click が設定されている。デフォルトのGripボタン=トリガーボタンではなく、グリップボタンを使用する上書きする設定である。しかし、自分の環境ではうまく動作しなかった。Grip_Click ではなく Grip_Press に設定を変更したところ、コントローラーのグリップボタンを押すことでドアを開閉できるようになった。(OculusだとGrip_Clickでも動くのかな?)
    また、Use Options の Flipped にチェックが入っている。しかし自分の環境ではチェック有無による違いを確認できなかった。
    SnapCrab_NoName_2017-1-26_23-12-54_No-00

  • Cube : 床に落ちているCube。VRTK_InteractableObject がアタッチされており、コントローラーでタッチすると黄色にハイライトされ、タッチした状態でグリップボタンを押すと掴むことができる。
    SnapCrab_NoName_2017-1-26_16-43-54_No-00
今回は以上です。