Okabintaro / SubmersedVR

A Subnautica VR mod aiming to bring full motion controler support and common VR mechanics to the game.
MIT License
179 stars 10 forks source link

Added controller haptics behind two new settings in Options to enable… #76

Open jbusfield opened 10 months ago

jbusfield commented 10 months ago

There are now two new settings in Options, one for enabling UI haptics and the other for enabling world interaction haptics.

I also added an experimental player body scalar for Full Body rendering to make the body closer to the actual size of a player's body. This should help with the issue where you reach out you arms fully but the IK stops the hands from fully extending.

jbusfield commented 10 months ago

In this update I added snap turning to Exosuit and SnowBike but found that adding it to SeaTruck was problematic. Imagine you have your SeaTruck with all modules attached stopped parallel to and up against an ice wall. Snap turning to 90 degrees would immediately cause a physics collision which would be resolved by throwing the SeaTruck a great distance. (I once ended up upside down on dry land). A possible solution is to continue using physics based turning but provide a tunneling vignette while turning. There is a vignette post processor built in, but so far I have been unable to make it do anything.

I fixed some issues with the WristHUD not responding to taps and added a new text message on the wrist saying either "HUD ON" or "HUD OFF". Hopefully this will help with people who accidentally tap their wrist and then ask for support because they can't see their HUD.

jbusfield commented 9 months ago

Added articulated hands so now the rendered hands can react to real world finger movements. This is more realistic with Index controllers and just estimated with oculus controllers.

In order to use both perimeter defense and speed boost in the SeaTruck, I made the Quickslots overlay available while piloting the SeaTruck. Moving your hand over the speed boost icon will immediately trigger the speed boost. Holding your hand over the perimeter defense icon will charge the defense while your hand is held there. When you release, the defense will be triggered. If you charge to 100% the defense will automatically be triggered. It's best to use this feature with haptics on so you can feel the charge as it is charging. With Index Controllers, since the Sprint action (right joystick click) and Quickslots action (right dpad click) are separate, you can still use the Sprint action to quickly sprint or use the Quickslot overlay to choose either action.

Okabintaro commented 9 months ago

Added articulated hands so now the rendered hands can react to real world finger movements. This is more realistic with Index controllers and just estimated with oculus controllers.

In order to use both perimeter defense and speed boost in the SeaTruck, I made the Quickslots overlay available while piloting the SeaTruck. Moving your hand over the speed boost icon will immediately trigger the speed boost. Holding your hand over the perimeter defense icon will charge the defense while your hand is held there. When you release, the defense will be triggered. If you charge to 100% the defense will automatically be triggered. It's best to use this feature with haptics on so you can feel the charge as it is charging. With Index Controllers, since the Sprint action (right joystick click) and Quickslots action (right dpad click) are separate, you can still use the Sprint action to quickly sprint or use the Quickslot overlay to choose either action.

That is super cool. So you more or less solved #6 then. I thought more research on the Unity/SteamVR would be needed. If you can raise and point with the index finger maybe one could implement a collider based touchscreen/interaction system.

Hopefully can give this a test tomorrow and see how it feels on the quest.

jbusfield commented 9 months ago

Yeah it works pretty well, especially with Index Controllers. The index finger pointing definitely works. Im currently working on being able to grab the SeaTruck steering controls with your hands and maneuvering with wrist actions (like they do piloting spaceships in No Man's Sky). Touchscreens and other touch based controls would also be awesome.