overte-org / overte

Overte open source virtual worlds platform.
https://overte.org/
Other
132 stars 48 forks source link

Movement is too imprecise (and other movement issues) #141

Open ksuprynowicz opened 1 year ago

ksuprynowicz commented 1 year ago

Movement in VR is too imprecise and has a lot of inertia. If you have other improvement requests for movement, please add them here.

shocktail39 commented 1 year ago

the jump has a little start-up animation where you crouch for a split second before you leave the ground. this is fine in desktop mode, but in vr mode, this makes the jump feel unresponsive. consider removing the delay in vr mode.

NishaWolfe commented 1 year ago

--Walking up stairs is jarring, either having the ability to use invisible colliders for stairs to smooth them out, or some kind of motion smoothing system for smaller jagged edges would be nice.

--I noticed that when you turn smooth locomotion on, and you try to move forward while turning, it moves you to the side instead of forward. It's very jarring.

--I'm unsure if it's intentional, but jumping in the air multiple times is possible, to the point where the avatar can launch itself forward at massive speeds or just fly. I do not have an issue with flight, but perhaps some kind of option to disable this per-world?

--When starting movement and starting turning, it feels like there's a buildup of speed for a split second. This makes it feel like you're on ice most of the time, and should either just be immediately start walking, or a toggle at the very least for speed smoothing.

I'm happy to clarify on any of my suggestions if it's confusing at all!

ksuprynowicz commented 1 year ago

Thanks! As for the stairs, invisible colliders are supported, I just have to add them to the Hub world. I will test issues with smooth turning and with jumping this weekend. Flying and teleportation can be disabled per world. I will also look at the code and try to reduce movement inertia - this is the thing that makes movement feel like sliding on ice.

shocktail39 commented 1 year ago

edit: i was under the assumption that adding a checklist comment would add a task list to the issue.

AleziaKurdis commented 1 year ago

high flying speeds... mainly in VR (max 146 km/h), I wish it could reach similar speed as in desktop (220 km/h) If you see where this is in the code, let me know, I would like to see how it works.

ksuprynowicz commented 1 year ago

This PR should help a lot with movement precision: https://github.com/overte-org/overte/pull/144 It changes default control scheme from "Digital" to "Analog". Default settings are read only on first run though, so you will need to change it in Settings->Controls menu if you ran Interface before.

ksuprynowicz commented 1 year ago

We should also look into gamepad controls. In Desktop mode currently movement inputs work only as digital, and in my opinion gamepad stick inputs should work as analog. It's lines 3902-3916 in interface/src/avatar/MyAvatar.cpp. VR controls can be used as an example of how to implement this.