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


VR用アセット「VRTK」の Example 038_CameraRig_CameraRig_DashTeleport の解説です。
ダッシュテレポートのデモです。
VRTK_DashTeleport

■公式サイトの解説

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

このExampleの解説動画
(※ まだ公式による解説動画はアップされていません)


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

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

■Exampleの解説

VRTK/Examples 内にある当該番号のシーンを呼び出すことで、デモを動かしてみることができます。

シーンにはさまざまなオブジェクトが配置されています。
このシーンは、ダッシュテレポートの振る舞いと、ブロードキャストされたRaycastHit配列を使用する方法を示します。この例では、ダッシュテレポート中、その途中にある障害物はメッシュレンダラーをオフにします(=見えないようになります)。
SnapCrab_NoName_2017-2-1_13-48-3_No-00

以下、シーンに配置されているオブジェクトについての概要説明です。
  • ExampleWorldObjects: シーン上に配置されているオブジェクト群(上図のとおり)。テレポートすることにより、それらの上に乗ることもできる。

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

    ポインタースクリプトにより、コントローラーからポインタービームを発することができるようになっている。

  • PlayArea: [VRTK] ゲームオブジェクトの配置されているゲームオブジェクト。
    VRTK_DashTeleport、VRTK_BodyPhysics、VRTK_PolicyList スクリプトがアタッチされている。

    VRTK_DashTeleport スクリプトがアタッチされているため、ビームを発しているコントローラーのタッチパッドを離すと、ビームが指し示していた場所へダッシュテレポートする。
    また、テレポート時にインスペクタで定められた大きさのカプセルをキャストし、衝突を検出している。衝突検出されたオブジェクトは配列に格納される。この例ではダッシュテレポートの際に非表示にされている。
    SnapCrab_NoName_2017-2-4_14-58-26_No-00

今回は以上です。