/// <summary> /// The TriggerHapticPulse/1 method calls a single haptic pulse call on the controller for a single tick. /// </summary> /// <param name="strength">The intensity of the rumble of the controller motor. `0` to `3999`.</param> public void TriggerHapticPulse(ushort strength) { if (!enabled) { return; } hapticPulseStrength = (strength <= maxHapticVibration ? strength : maxHapticVibration); VRTK_SDK_Bridge.HapticPulseOnIndex(controllerIndex, hapticPulseStrength); }
protected virtual IEnumerator HapticPulse(uint controllerIndex, float duration, float hapticPulseStrength, float pulseInterval) { if (pulseInterval <= 0) { yield break; } while (duration > 0) { VRTK_SDK_Bridge.HapticPulseOnIndex(controllerIndex, hapticPulseStrength); yield return(new WaitForSeconds(pulseInterval)); duration -= pulseInterval; } }
private IEnumerator HapticPulse(float duration, float hapticPulseStrength, float pulseInterval) { if (pulseInterval <= 0) { yield break; } while (duration > 0) { VRTK_SDK_Bridge.HapticPulseOnIndex(VRTK_DeviceFinder.GetControllerIndex(gameObject), hapticPulseStrength); yield return(new WaitForSeconds(pulseInterval)); duration -= pulseInterval; } }