protected void UpdateTrackingInput() { Vector3 devicePosition = new Vector3(); Quaternion deviceRotation = new Quaternion(); #if LIH_PRESENT if (m_PoseProvider != null) { Pose poseProviderPose = new Pose(); if (m_PoseProvider.TryGetPoseFromProvider(out poseProviderPose)) { transform.localPosition = poseProviderPose.position; transform.localRotation = poseProviderPose.rotation; } } else #endif { if (inputDevice.TryGetFeatureValue(CommonUsages.devicePosition, out devicePosition)) { transform.localPosition = devicePosition; } if (inputDevice.TryGetFeatureValue(CommonUsages.deviceRotation, out deviceRotation)) { transform.localRotation = deviceRotation; } } }
bool TryGetPoseData(DeviceType device, TrackedPose poseSource, out Pose resultPose) { if (m_PoseProviderComponent != null) { return(m_PoseProviderComponent.TryGetPoseFromProvider(out resultPose)); } return(PoseDataSource.TryGetDataFromSource(poseSource, out resultPose)); }
PoseDataFlags GetPoseData(DeviceType device, TrackedPose poseSource, out Pose resultPose) { if (m_PoseProviderComponent != null) { return(m_PoseProviderComponent.TryGetPoseFromProvider(out resultPose) ? (PoseDataFlags.Position | PoseDataFlags.Rotation) : PoseDataFlags.NoData); } return(PoseDataSource.GetDataFromSource(poseSource, out resultPose)); }