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


今回はVR用アセット「VRTK」に収められているスクリプト「VRTK_PlayAreaCursor」の概要を説明します。VR空間内にプレイエリア(テレポートなしに動ける範囲)を表示します。
SnapCrab_NoName_2017-1-31_15-52-3_No-00

■公式サイトの解説

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

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

■概要

  • VRTK_PlayAreaCursor スクリプトは、VRTK_BasePointer スクリプト(を継承する各種ポインター)と組み合わせて使用​​され、ポインタカーソルがヒットしたプレイエリアを表示する。

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

  • Play Area Cursor Dimensions: プレイエリアカーソルとコライダーのサイズを定める。もし値が(デフォルトの)ゼロのままであれば、プレイエリアカーソルは(あらかじめ)調整されたプレイエリアスペースのサイズになる(← Viveのプレイエリア設定どおりのサイズとなる)。
  • Handle Play Area Cursor Collisions: これがチェックされていれば、プレイエリアカーソルが他のオブジェクトに衝突した場合、ポインターカーソルは Pointer Miss Color に変わり、DestinationMarkerSet イベントはトリガーされず、(プレイエリアとの衝突が起こるであろうエリアへの)テレポートは阻まれる。
    (※逆に、このチェックを外せば、プレイエリアカーソルが他のオブジェクトに衝突していてもテレポート可能。狭い場所へのテレポートを許可したい場合などではこのチェックを外せばよい)
  • Headset Out Of Bounds Is Collision: これがチェックされていれば、ユーザーのヘッドセットがプレイエリアカーソル領域の外にある場合、プレイエリアが何にも衝突していなくても、衝突しているとみなされる。
  • Target List Policy: プレイエリアカーソルの衝突が作用するかどうかを判断するために使用する VRTK_PolicyList。
 SnapCrab_NoName_2017-1-31_16-26-9_No-00

■関連するExamples

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

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

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

今回は以上です。