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


VR用アセット「VRTK」の Example 009_Controller_BezierPointer の解説です。コントローラーのタッチパッドを押すことでベジエ曲線ポインタービームを発します。
SnapCrab_NoName_2017-1-31_15-25-51_No-00

■公式サイトの解説

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

このExampleの解説動画



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

適宜、以下の記事を参照願います。
  • スクリプト「VRTK_BodyPhysics」の解説
      (今後執筆予定)

■Exampleの解説

VRTK/Examples 内にある当該番号のシーンを呼び出すことで、デモを動かしてみることができます。
 
シーンにはさまざまな高さのオブジェクトが配置されています。ストレートビームではなく湾曲した(ベジエ曲線の)ビームにより、それらを乗り越えて、ユーザーが見ることのできないアイテムの上に登ることができます。
SnapCrab_NoName_2017-1-31_21-52-2_No-00

以下、シーンに配置されているオブジェクトについての概要説明です。
  • ExampleWorldObjects: シーン上に配置されたオブジェクト群(上図のとおり)。テレポートして上に乗ることができる。コントローラーから発するベジエ曲線ビームは壁を上から乗り越えることもできる。

  • Left Controller、RightController: 左右のコントローラー用のVRTKスクリプトをアタッチするゲームオブジェクト。VRTK_ControllerEvents スクリプトと VRTK_BezierPointer スクリプトがアタッチされている。

    VRTK_BezierPointer スクリプトにより、コントローラーからベジエ曲線ポインタービームを発することができるようになっている。(VRTK_BezierPointer スクリプトの解説は この記事 を参照)
    SnapCrab_NoName_2017-1-31_22-2-37_No-00

  • PlayArea: [VRTK] ゲームオブジェクトの下にぶら下げられたゲームオブジェクト。VRTK_BodyPhysics スクリプトと VRTK_HeightAdjustTeleport スクリプトがアタッチされている。(いずれのスクリプトも詳しい解説は別の記事で行う)

    VRTK_HeightAdjustTeleport スクリプトがアタッチされているため、ビームを発しているコントローラーのタッチパッドを離すと、ビームが指し示していた場所へテレポートする。直接見ることのできない高さの場所へも移動可能。
    SnapCrab_NoName_2017-1-31_22-13-58_No-00

今回は以上です。