private void Awake() { _msg = new NetMQ.Msg(); cameraRig = GetComponent <AirVRCameraRig>(); _foveatedRenderer = GetComponent <OCSVRWorksCameraRig>(); liveMotionProvider = new MPPLiveMotionDataProvider(); predictedMotionProvider = new AirXRPredictedMotionProvider(this, liveMotionProvider); gameEventEmitter = new AirXRGameEventEmitter(cameraRig); }
protected override void updateControllerTransforms(AirXRClientConfig config, AirXRPredictedMotionProvider motionProvider, bool bypassPrediction) { var pose = inputStream.GetPose((byte)AXRInputDeviceID.LeftHandTracker, (byte)AXRHandTrackerControl.Pose); leftHandAnchor.localPosition = pose.position; leftHandAnchor.localRotation = pose.rotation; pose = motionProvider == null || bypassPrediction?inputStream.GetPose((byte)AXRInputDeviceID.RightHandTracker, (byte)AXRHandTrackerControl.Pose) : motionProvider.rightHand; rightHandAnchor.localPosition = pose.position; rightHandAnchor.localRotation = pose.rotation; }
protected virtual void updateControllerTransforms(AirXRClientConfig config, AirXRPredictedMotionProvider motionProvider, bool bypassPrediction) { }