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


VR用アセット「VRTK」のスクリプト「VRTK_MoveInPlace」の概要を説明します。
コントローラーまたはヘッドセットを上下させることによって移動する機能です。
VRTK_MoveInPlace

■公式サイトの解説

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

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


■概要

  • VRTK_MoveInPlace スクリプトは、ユーザーのヘッドセットまたはコントローラーのY方向(上下方向)への移動を計算することによって、ユーザーをプレイエリアで移動させる。それら(ヘッドセットまたはコントローラーを)たくさん動かすほど、ユーザーは前方に進みます。これは実世界での移動によってゲーム内での移動をシミュレートします。
  • この移動方法は、もともとHighsightによって作成されたImmersive Movementに基づいています。

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

  • Engage Button: Move In Place に従事させるためにホールドするボタン。
    (※デフォルトでは「Touchpad_Press」がセットされており、タッチパッドが押されている間だけ、コントローラーまたはヘッドセットを振ることで移動する)
  • Control Options: 移動を定めるのに用いるデバイスを選択する
    (※デフォルトでは「Controllers Only」がセットされており、ヘッドセットを振っても移動しない。ほかの選択肢には「Headset Only」・「Headset And Controllers」がある)
  • Speed Scale: スピードスケール。遅くするためにはこの値を下げ、速くするためには上げる。
  • Max Speed: ユーザーが移動可能な最大速度をゲーム内単位で定める。(もし 0 かそれ以下なら、最大速度に制限はかからない)
  • Direction Method: ユーザーの移動方向を定める方法。「Gaze」はモーション酔いを最小限にする傾向がある。「Smart Decoupling」はまだ開発中。
  • Smart Decoupling Threshold:「Smart Decoupling」メソッドを使う場合は、方向転換するには、すべての追跡されるオブジェクト(コントローラ、ヘッドセット)がこの角度の閾値内にある必要がある。
  • Sensitivity: 敏感さ。仮想世界で登録される必要がある運動の最大量。これを減らすと加速が増え、その逆もある。
 SnapCrab_NoName_2017-2-5_15-20-43_No-00

■関連するExamples

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


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

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

今回は以上です。