Exemple #1
0
        /// <inheritdoc />
        protected override void UpdateSimulatedController(IMixedRealitySimulatedController simulatedController)
        {
            // Ignore updates if the simulated controllers are not tracked, but only visible.
            if (simulatedController.ControllerHandedness == Handedness.Left && !LeftControllerIsTracked)
            {
                return;
            }
            else if (simulatedController.ControllerHandedness == Handedness.Right && !RightControllerIsTracked)
            {
                return;
            }

            var simulatedHandController = (MixedRealityHandController)simulatedController;
            var converter = simulatedHandController.ControllerHandedness == Handedness.Left
                ? leftHandConverter
                : rightHandConverter;

            var simulatedHandData = converter.GetSimulatedHandData(
                simulatedController.GetPosition(DepthMultiplier),
                simulatedController.GetDeltaRotation(RotationSpeed));

            simulatedHandData = postProcessor.PostProcess(simulatedHandController.ControllerHandedness, simulatedHandData);
            simulatedHandController.UpdateController(simulatedHandData);
        }
Exemple #2
0
 /// <summary>
 /// Updates the provided simulated controller instance.
 /// </summary>
 /// <param name="simulatedController">Controller to update.</param>
 protected virtual void UpdateSimulatedController(IMixedRealitySimulatedController simulatedController)
 {
     simulatedController.UpdateController();
 }