SteamVR Developer Hardware

SteamVR Developer Hardware

g4mmler Sep 2, 2019 @ 9:29am
SteamVR 2.0 haptic change
We recently upgraded our game to use SteamVR 2.0 for better Index support. However the haptic pulse seems to work quite different now.
As it used to receive a single ushort and now requires a duration, amplitude and frequency.

float convertedStrength = maxHapticVibration * strength; SteamVR_Controller.Device device = SteamVR_Controller.Input((int)index); device.TriggerHapticPulse((ushort)convertedStrength, EVRButtonId.k_EButton_Axis0);

After upgrading to 2.0 I changed the code to this:

float convertedStrength = maxHapticVibration * strength; float seconds = (float)convertedStrength / 1000000f; controllerInputSource.TriggerHapticPulse(1f, seconds, 1f / seconds);

This seems to emulate the previous behavior for Vive and Index controllers quite fine but is completely off for the oculus touch controllers.
Short haptic ticks now seem to be longer high frequency vibrations.

Is there any guide for upgrading and consistency for the haptic feedback?
And why do the Touch controllers behave in such a different way. Shouldnt the haptic feedback be consistent across OpenVR devices?

Thanks,
Pascal
< >
Showing 1-1 of 1 comments
g4mmler Sep 4, 2019 @ 8:23am 
After some testing it seems like the Oculus and Windows MR controllers need a value of 0 for the frequency to work similar to Steam VR 1.0 input. A frequency value of 0 however leads to the Vive and Index controllers having no haptic output at all.
Also the haptic feedback of the Index controllers is really weak compared to the others.
Shouldnt the SteamVR SDK abstract away exactly these kind of differences?
< >
Showing 1-1 of 1 comments
Per page: 1530 50

Date Posted: Sep 2, 2019 @ 9:29am
Posts: 1