Riftの場合には、XRDevice.DisableAutoXRCameraTracking(target, true);でカメラのトラッキングは止められるが、FOVEの場合には利かないので、Fove Plug inに手を入れる必要がある。
以下に示すFoveInterfaceBase.csのコードの中で、positionやorientationが有効な時に、カメラのlocalPositionやlocalRotationに、HMDの現在の位置や角度の値である_sHeadPositionや_sHeadRotaionを代入しているので、このコード自体を無効にすれば、カメラのトラッキングを止めることが可能。同時に任意の値を入れれば、移動や回転も出来るのだが、これをRift側のカメラに実施しても、残念ながら思ったようには動かない。まだまだ調査が必要である。もっともカメラの固定や移動が必要なのは、VR動画でなく、2Dの動画なので、そちら側だけの機能として、先に実装するのはありかなと思う。
if (_isAuthoritative)
{
// position head
if (position)
{
Vector3 posiTemp = _sHeadPosition * worldScale;
if (useCustomPositionScaling)
{
posiTemp.x *= positionScales.x;
posiTemp.y *= positionScales.y;
posiTemp.z *= positionScales.z;
}
gameObject.transform.localPosition = posiTemp;
}
// rotate head
if (orientation)
{
gameObject.transform.localRotation = _sHeadRotation;
}