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


VR用アセット「VRTK」の Example 020_CameraRig_MeshTeleporting の解説です。
メッシュコライダー上へのテレポートのデモです。
SnapCrab_NoName_2017-2-2_21-2-1_No-00

■公式サイトの解説

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

このExampleの解説動画



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

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

■Exampleの解説

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

シーンには岩山(崖)のようなオブジェクトが配置されており、それには(CubeコライダーやSphereコライダーのような基本的な形状のコライダーではなく)メッシュコライダーがアタッチされています。
このデモシーンでは、VRTK_HeightAdjustTeleport がメッシュコライダーのアタッチされた複雑な形状のオブジェクトへの昇り降りにも使えることを示しています。
SnapCrab_NoName_2017-2-2_21-10-26_No-00

以下、シーンに配置されているオブジェクトについての概要説明です。
  • Cliff: シーン上に配置された岩山・崖のようなオブジェクト。その複雑な形状にあわせて、Mesh Colliderがアタッチされている。
    SnapCrab_NoName_2017-2-2_21-14-1_No-00

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

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

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

    VRTK_HeightAdjustTeleport スクリプトがアタッチされているため、ビームを発しているコントローラーのタッチパッドを離すと、ビームが指し示していた場所へテレポートする。VRTK_HeightAdjustTeleport は、ポインタービームがオブジェクトの上を指し示していれば、ユーザーがそのオブジェクトの上に乗るよう Y 座標を更新する。これはMesh Colliderのアタッチされたオブジェクトに対しても同様に機能する。
    SnapCrab_NoName_2017-2-2_21-16-4_No-00

今回は以上です。