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


VR用アセット「VRTK」の Example 037_CameraRig_ClimbingFalling の解説です。
コントローラーでオブジェクトを掴んで昇り降りできるデモシーンです。

SnapCrab_NoName_2017-2-18_18-25-57_No-001

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

このExampleの解説動画
(VRTK公式による解説動画はまだありません)

 
■VRTKのセットアップ方法および使用されているスクリプトの解説
適宜、以下の記事を参照願います。


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

このデモシーンでは、さまざまなアクティビティにクライミングの仕組みを設定する方法を示しています。
VRTK_InteractableObjectVRTK_ClimbableGrabAttach コンポーネントを持つさまざまなオブジェクトがシーン上に散在しています。それらをコントローラーで掴んで登ることができます。
SnapCrab_NoName_2017-2-18_18-25-57_No-001

以下、シーンに配置されているオブジェクトについての概要説明です。
  • PlayArea: [VRTK] ゲームオブジェクトの下に配置されているゲームオブジェクト。
    VRTK_PlayerClimb がアタッチされているが、これは VRTK_ClimbableGrabAttach がアタッチされているオブジェクトをユーザーが登るために必要となるスクリプトである。

    また、VRTK_HeightAdjustTeleport(および VRTK_PolicyList )がアタッチされており、左右のコントローラーのタッチパッドでテレポートできるようになっている。

    さらに、VRTK_BodyPhysics によってユーザーの身体は壁などに衝突するようになっており、VRTK_HeadsetCollisionVRTK_HeadsetFadeVRTK_HeadsetCollisionFadeVRTK_PositionRewind によって、ヘッドセットが壁などに突っ込んだ場合は視界が真っ暗にフェードし、元の位置に戻される。
    SnapCrab_NoName_2017-2-19_18-50-32_No-00

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

    VRTK_ControllerEventsVRTK_InteractGrab がアタッチされており、シーンに配置されているインタラクタブルオブジェクト( VRTK_ClimbableGrabAttach つき)をつかみ、昇り降りすることができる。

    また、VRTK_BezierPointer がアタッチされており、タッチパッドを押すとコントローラーの先からベジエ曲線ポインタービームが放たれる。タッチパッドを離すと、PlayArea ゲームオブジェクトにアタッチされているテレポートスクリプトによって、ユーザーはテレポートする。
    SnapCrab_NoName_2017-2-19_19-3-27_No-00

  • Cube: シーンに配置されているCube。VRTK_InteractableObject などがアタッチされていないため、コントローラーで触れることはできない。コライダーはアタッチされているため、テレポートで上に乗ることはできる。
    SnapCrab_NoName_2017-2-19_19-15-6_No-00

  • Tree: 木の形をした複合オブジェクト。
    VRTK_InteractableObject および VRTK_ClimbableGrabAttach がアタッチされているため、左右のコントローラーで掴んで昇り降りすることができる。
    SnapCrab_NoName_2017-2-19_19-18-31_No-00

  • SmallTower: 小さな塔。Ladder(はしご)がかけられている。
    黄色の LadderRung(はしごの段)オブジェクトには VRTK_InteractableObject および VRTK_ClimbableGrabAttach がアタッチされているため、左右のコントローラーで掴んで昇り降りすることができる。
    SnapCrab_NoName_2017-2-19_19-21-7_No-00

  • LargeTowerほか: SmallTowerの反対側にある大きな建造物状の複合オブジェクト。
    まばらに取り付けられている赤・緑・青・黄・黒のオブジェクトには VRTK_InteractableObject および VRTK_ClimbableGrabAttach がアタッチされているため、左右のコントローラーで掴んで昇り降りすることができる(地のベージュ色の部分には掴まることができない)。

    登っている途中で操作を誤ってオブジェクトを掴み損なうと落下するが、オブジェクトの配置具合によって難易度が異なり、プレイしていてとても楽しい。両手を目一杯広げても次のオブジェクトまで届かない配置になっている場所もあり、空中で飛び移るアクションが要求される。
    SnapCrab_NoName_2017-2-19_19-28-20_No-00

    飛び移る動画。



    また、VerticalHolds と名付けられた場所に取り付けられた2本の長い黄色のCubeもコントローラーで掴んで昇り降りできるが、VRTK_InteractableObjectAllowed Grab Controllers がそれぞれ Left_OnlyRight_Only にセットされており、左のCubeには左手、右のCubeには右手でしか掴まれないようになっている。
    SnapCrab_NoName_2017-2-19_19-34-33_No-00

今回は以上です。