スタジオおふとん

プログラミング系

HeadSetの位置を取得する方法

using UnityEngine.VR;
//略
    public Vector3 GetHeadsetPosition()
    {
        return InputTracking.GetLocalPosition(VRNode.CenterEye);
    }

docs.unity3d.com

よくないやり方

以下は、よくないやり方なので読まなくてもいいです。

    public Vector3 GetHeadsetPosition()
    {
        return GameObject.Find("VRTK/SteamVR/[CameraRig]/Camera (eye)").transform.position;
    }

カメラのオブジェクトから位置情報をとってきています。
これでもできなくはないです。

なんでダメか

  • 名前が変わったら発見できなくなる。
  • 生成タイミングによってはNULL参照になる。