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


VR用アセット「VRTK」のスクリプト「VRTK_ControlDirectionGrabAction」の概要です。
オブジェクトを2つのコントローラーで持って、向きを制御します。

■ このクラスは VRTK_BaseGrabAction を継承しています。

SnapCrab_NoName_2017-2-16_12-51-21_No-00

■公式サイトの解説

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

VRTK_ControlDirectionGrabAction · VRTK - Virtual Reality Toolkit

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


■概要

  • VRTK_ControlDirectionGrabAction は、オブジェクトがセカンダリコントローラで支え持たれたときにオブジェクトの向きを制御するメカニズムを提供する。
  • オブジェクトを正しく回転させるには、オブジェクトの前面を Z 軸(前方)に、オブジェクトの上方を Y 軸(上方)に向けて作成する必要がある。
  • Fixed_Joint ジョイントがオブジェクトの回転を固定するので、インタラクタブルオブジェクトの方向を制御することはできない。

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

  • Ungrab Distance: セカンダリコントローラがオブジェクトを自動的にアングラブする前に、セカンダリコントローラが元のグラブ位置から離れる距離。(※ デフォルトは 1 。これは 1 メートルまで一度に引っ張れることを示す。たとえばこの値を 0.1 にすると、0.1 メートル引っ張ったところで自動的にセカンダリコントローラーがオブジェクトから離される=一度に引っ張れる距離は 0.1 メートルとなる)
  • Release Snap Speed: セカンダリコントローラがグラブを停止したときにオブジェクトが元の回転にスナップバックする速度。0 は即時スナップ、infinity はスナップバックなし。
  • Lock Z Rotation: セカンダリコントローラが Z 軸を介してグラブされたオブジェクトを回転させないようにする。

■関連するExamples

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

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

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

今回は以上です。