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


VR用アセット「VRTK」に収められているスクリプト「VRTK_DashTeleport」の概要を説明します。(点から点への瞬間移動ではなく)ダッシュでテレポートする機能を提供します。

■ VRTK_DashTeleport は VRTK_HeightAdjustTeleport を継承しています。
VRTK_DashTeleport

■公式サイトの解説

まずは公式サイトによる解説。これで用が足りる方は以下を読む必要はありません。
VRTK_DashTeleport · VRTK - Virtual Reality Toolkit

以下、公式サイトの解説をざっくりと直訳または意訳したもの+若干の補足です。誤り等があれば指摘してもらえると大変ありがたいです。また、イベントおよびメソッドについての解説は省略していますので、それらは公式サイトを参照願います。


■概要

  • VRTK_DashTeleport スクリプトは VRTK_HeightAdjustTeleport を拡張し、ユーザーをダッシュで新しい場所へテレポートさせることを可能にする。
  • 基本原則としては、シミュレーション酔い(※VR酔い)を避けるために、ダッシュはとても短い時間で行うこと。デフォルト値は100ミリ秒。この値は通常および、より長い距離において固定される。距離がとても短いときには、最小スピードは50mpsに制限され、ダッシュ時間はさらに短くなる(※これもデフォルト値の設定の話であり、変更可能)。
  • 固定時間ダッシュとなる最短の距離は、Min Speed Mps と Normal Lerp Time の値により定まる。もしあなたがいつも固定スピードでの線形補完(ダッシュ移動)を望むのであれば、Normal Lerp Time を高い値にセットすればよい(※そうすることにより常に Min Speed Mps の値が適用されるようにする)。
  • テレポートの直前に、カプセルが前方のターゲットに向けて投げられ、道をブロックするすべてのコライダーを登録する。それらの障害物はイベントでブロードキャストされるので、例えば、ダッシュの進行中はそれらのゲームオブジェクトまたはレンダラーを消すことができる。

■インスペクタのパラメータ

  • Normal Lerp Time:  ダッシュ移動で新しいポジションにたどり着くまでの固定時間。 
  • Min Speed Mps: ダッシュ移動の最小スピード(メートル / 秒)。
  • Capsule Top Offset: カメラの上のカプセルキャストのオフセット。(※上記概要説明参照)
  • Capsule Bottom Offset: カメラの下のカプセルキャストのオフセット。
  • Capsule Radius: カプセルキャストの半径。
 SnapCrab_NoName_2017-2-2_22-43-20_No-00

■関連するExamples

関連するExamplesについての解説記事です。

■VRTKのセットアップ方法および関連スクリプトの解説

VRTKのセットアップ方法および関連するスクリプトについての解説記事です。

今回は以上です。