Esempio n. 1
0
        PoseDataFlags GetPoseData(DeviceType device, TrackedPose poseSource, out Pose resultPose)
        {
            if (m_PoseProviderComponent != null)
            {
                return(m_PoseProviderComponent.GetPoseFromProvider(out resultPose));
            }

            return(PoseDataSource.GetDataFromSource(poseSource, out resultPose));
        }
Esempio n. 2
0
        protected void UpdateTrackingInput()
        {
            Vector3    devicePosition = new Vector3();
            Quaternion deviceRotation = new Quaternion();

#if LIH_PRESENT_V1API
            if (m_PoseProvider != null)
            {
                Pose poseProviderPose = new Pose();
                if (m_PoseProvider.TryGetPoseFromProvider(out poseProviderPose))
                {
                    transform.localPosition = poseProviderPose.position;
                    transform.localRotation = poseProviderPose.rotation;
                }
            }
            else
#elif LIH_PRESENT_V2API
            if (m_PoseProvider != null)
            {
                Pose poseProviderPose = new Pose();
                var  retFlags         = m_PoseProvider.GetPoseFromProvider(out poseProviderPose);
                if ((retFlags & SpatialTracking.PoseDataFlags.Position) > 0)
                {
                    transform.localPosition = poseProviderPose.position;
                }
                if ((retFlags & SpatialTracking.PoseDataFlags.Rotation) > 0)
                {
                    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;
                }
            }
        }