I want to make a steering wheel in VR that is interactable via Motion Controllers. How can I do this?


I am trying to make a steering wheel in VR that can do the following -

  1. Be grabbed by a player using motion controllers, using physics handles
  2. Based on the wheel’s rotation, get a value of -1 to 1, or 0 to 1
  3. Constrain the wheel’s rotation so it can’t rotate too far

Is this possible? How can I do it using the VR template?

Grabbing things in VR that are not freely movable is tricky.

  1. I’d make it so the player needs to hold the trigger near the wheel to snap their hands to the wheel and then rotate the wheel based on the movement of the hands (= delta rotation around the center of the wheel) to rotate the steering wheel accordingly.

  2. Just map the axis that is facing away from the wheel to a range of -1 to 1 by dividing it by 180 and maybe throw a modulo in there.

  3. As you know now how far it has rotated (delta rotation), just limit the rotation at your desired cap. This is where it will feel weird in VR though, as you will feel no real limit and the virtual steering wheel will just stop.

Hope this will get you on the right track.

I’m facing a similar problem…so, if you don’t mind me asking, for the first point, would I take the location of the controller with event tick and then make a rotator from XY and add that rotator to the current rotation of the wheel??