>>391
グリップ移動はフレームごとのコントローラーの移動量をトラッキングスペースの位置に足すだけだよ

void Locomotion()
{
currentPos = controller.localPosition; //トラッキングスペース内でのコントローラーの位置を取得
moveDistance = Vector3.zero; //初期化
   //m_controllerのボタンOneが押されていたら{}内の処理を実行
if (OVRInput.Get(OVRInput.Button.One, m_controller))
{
//1フレーム分の移動用ベクトルを取得、移動距離は1フレ前の位置-現在の位置
//これにトラッキングスペースの回転クォータニオンをかけて1フレーム分の移動用ベクトルに
moveDistance = trackingSpace.rotation * (oldPos - currentPos) * speed;
}
//トラッキングスペースの位置に移動用ベクトルを足して位置を更新
trackingSpace.position = trackingSpace.position + moveDistance;
//次のフレームで使うので、現在位置をoldPosに保存
oldPos = currentPos;
}

これを毎フレームごとにUpdate()で呼び出すだけ。
入力や値の取得はOculusのSDK用なので、SteamVR Plugin 2.0用に置き換えてね