Search Unity

Question Why hmd position is not the same as camera position?

Discussion in 'AR/VR (XR) Discussion' started by NewMagic-Studio, Jul 11, 2020.

  1. NewMagic-Studio

    NewMagic-Studio

    Joined:
    Feb 25, 2015
    Posts:
    454
    I just realized that setting trackedposedriver to rotation only doesnt prevent camera transform to change position when i move, so i wonder why positions are not the same
     
  2. NewMagic-Studio

    NewMagic-Studio

    Joined:
    Feb 25, 2015
    Posts:
    454
    I calculated the hmd world position and differs a lot from camera position using
    public Vector3 HMDWorldPosition()
    {
    return mainCamera.cameraToWorldMatrix.MultiplyPoint(Quaternion.Inverse(InputTracking.GetLocalRotation(XRNode.Head)) * InputTracking.GetLocalPosition(XRNode.Head));
    }

    HmdWorld==(402,3, 7,7, 354,4)==CameraPos==(403,2, 6,7, 354,3)