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


今回はVR用アセット「VRTK」に収められているスクリプト「VRTK_BasicTeleport」の概要を説明します。基本のテレポート機能です。
VRTK_BasicTeleport_01

■公式サイトの解説

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

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

■概要

  • VRTK_BasicTeleport スクリプトはゲーム世界で、DestinationMarkerSet イベントがセットされた BasePointer の先端へ、ユーザーの X/Z 座標を更新する。
  • この基本テレポートでは Y 座標は置き換えられない。そのため、上下への移動には使用できず、平面での移動のみ許可される。(※別途紹介する VRTK_HeightAdjustTeleport ではY 座標も更新されます)

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

  • Blink Transition Speed: まばたきのように画面を徐々に暗くするスピード。この値を変えることでカスタマイズされたテレポート体験ができる。この値を 0 にセットするとまばたきエフェクトは表示されない。
  • Distance Blink Delay: 0 から 32 までの値を取り、テレポートする距離に応じてブラックアウトする時間を定める。値が 0 ならば、距離に関わらずテレポートのまばたきに遅延は生じない。値が 32 ならば、元の位置からとても近い位置へのテレポートでさえテレポートのまばたきに遅延が生じる。これは、ユーザが遠くにテレポートするほど長い時間がかかるのをシミュレートするの使用できる。値 16 はこれをシミュレートするための適切な基礎を提供する。
  • Headset Position Compensation:これがチェックされている場合、テレポート場所がプレイエリア内のヘッドセットの位置になる。このチェックボックスをオフにすると、ヘッドセットの位置がプレイエリアの中心になくても、テレポートされた位置は常にプレイエリアの中央になる。
    (※チェックされていればヘッドセット位置をテレポート座標として使用し、チェックされていなければプレイエリアの中央をテレポート座標として使用する感じ。前者ならヘッドセットがエリア外に出たり壁にぶつかるまでテレポートでき、後者ならプレイエリアの中央がエリア外に出たり壁にぶつかるまでテレポートできる。基本的には前者のほうがエリア境界や壁のギリギリまでテレポートできる)
  • Target List Policy: 先のターゲットがテレポーターによって作用するかどうかを判断するために使用する VRTK_PolicyList。
  • Nav Mesh Limit Distance: テレポート先が有効と見なされるため NavMesh 外での最大距離(※この値の分だけ、NavMeshからはみだしてテレポートできる)。値 0 なら、ナビゲーションメッシュによる制限は無視される。
 SnapCrab_NoName_2017-2-1_13-41-43_No-00

■関連するExamples

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

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

VRTKのセットアップ方法および関連するスクリプトについての解説記事です。
  • スクリプト「VRTK_PolicyList」の解説
      (今後執筆予定)

今回は以上です。