Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
121 stars 2 forks source link

Option to Ascend/Descend in Fly or Noclip Locomotions for Vr Users #2384

Open Dusty-Sprinkles opened 1 week ago

Dusty-Sprinkles commented 1 week ago

Is your feature request related to a problem? Please describe.

One of my friends wanted the ability that desktop users have fairly easy access to, ascending and descending in fly mode since it would improve their experience, and I think it's a pretty good idea too since having to look down/up to do the same thing is a bit tedious

Describe the solution you'd like

One possible idea I've thought of was basically while in fly mode changing the forward/backward input on the right controller to an up/down, but there are probably multiple possible ways to do this reasonably.

Describe alternatives you've considered

some kind of tool that uses the virtualkey components to trigger up/down (the problem with this though is you're sorta fighting the default behaviour still), going into desktop mode while using fly (not really a solution though), not flying

Additional Context

No response

Requesters

Venport, The_13th_Junker

Zyzyl commented 1 week ago

Is your friend able to use hand direction-based movement instead? That removes the need to look up or down to move vertically

Dusty-Sprinkles commented 1 week ago

Probably though I feel like that would still be less preferable and I personally would rather still have the solid up/down for control but I can mention it to the next time I see them on

Frooxius commented 1 week ago

Hmm... we could potentially add another mode to configuring the left/right controllers, so you can one of them be up/down, instead of forward/backward.

It might make the controls a bit more complicated - you could configure something like: Left - Forward/Backward + Strafe Right - Turn + Up/Down

So it probably wouldn't be the default, but it would work if configured.

5H4D0W-X commented 1 week ago

my avatar has a system that makes me ascend vertically while in fly when I hold down my jump button. This reflects how ascension is done in desktop where the space bar is held down. This would be compatible with most controller architectures because they all already have a jump button that becomes entirely useless while in fly (unless it is used as secondary for a tool, but at that point it isn't really a jump button anymore)

Frooxius commented 1 week ago

The problem with that one is there's no descend button, because there's not really a crouch button in VR, so it would be a bit asymmetric.

We could perhaps use the other jump button, but there's also not guaranteed to be two with all controller.

5H4D0W-X commented 1 week ago

Maybe descent could be achieved with a double-click-and-hold action?

Frooxius commented 1 week ago

I think that might be making the controls a bit too convoluted and add more latency to them (or cause you to ascend on the first click a bit, which can be weird).

With the joysticks, I think that would give the most control, because you have full analog control over the movement.

5H4D0W-X commented 1 week ago

How about a combination of head/hand input? While in head direction mode, the head direction is used normally, unless the hand is pointing very close to vertical in which case the stick on that hand moves the player vertically up or down. This should probably be an opt-in feature though since it's not very transparent

Frooxius commented 1 week ago

I think that's overcomplicating this too much - conditional controls like that tend to be very confusing and could be unreliable and counter intuitive.

The question we should be asking - why not go for the simplest solution here - the joystick.

If there's some reason not to do that we can explore other alternatives, but we should not exploring more complicated solutions until the simpler ones were ruled out for some reason.

mirrormc commented 1 week ago

Hmm... we could potentially add another mode to configuring the left/right controllers, so you can one of them be up/down, instead of forward/backward.

It might make the controls a bit more complicated - you could configure something like: Left - Forward/Backward + Strafe Right - Turn + Up/Down

So it probably wouldn't be the default, but it would work if configured.

I've been craving the same request as the OP for a minute and I think this control scheme is exactly what I initially expected noclip & fly controls to be when I first started playing Resonite.

5H4D0W-X commented 1 week ago

The question we should be asking - why not go for the simplest solution here - the joystick.

The reason why it can't just be the joystick is that that would be incompatible with touch controllers or any other controller type where locomotion can be locked by tools. And if equipping a tool stops vertical movement from working, it's somewhat pointless since navigating a large flux script or editing a large structure would probably be a big use case for vertical movement. This would also interfere with locomotion settings even more than it already does

Frooxius commented 1 week ago

If that's the case, using the jump button could be even worse solution though, because that also locks the jump button.

I feel almost at that point just using the hand direction instead of head direction would be best.

Dusty-Sprinkles commented 1 week ago

Hmm... we could potentially add another mode to configuring the left/right controllers, so you can one of them be up/down, instead of forward/backward.

It might make the controls a bit more complicated - you could configure something like: Left - Forward/Backward + Strafe Right - Turn + Up/Down

So it probably wouldn't be the default, but it would work if configured.

I like this idea, because it was their first idea too, maybe to help there could be control behaviors configurable per locomotion category? It might miss out on some specifics of user made ones but I think it'd be useful

5H4D0W-X commented 1 week ago

the jump button currently has no function though since we're just talking about fly locomotion here, so it's not the same as joysticks. At least for ascent, it would not remove or block any existing functionality if the jump button was used and it would be intuitive since ascension is basically a continuous jump. It would also always be accessible because it's not chiral

epicEaston197 commented 1 week ago

maybe to help there could be control behaviors configurable per locomotion category?

I would love to have this I want to use hand direction for movement when in no-clip but in walk I want to use head direction for movement

Frooxius commented 1 week ago

I guess the question here is what's the main intended use-case for this? If it's using it without the tools, then joysticks would work best.

With tools, this is trickier, because there's much fewer inputs available - the main one being the hand direction (which works well enough), but that's already supported there.

The jump for ascension would work technically, but it doesn't have the same analog control as other movement and descending is more complicated too, so I don't know if that one would be worth doing.

Dusty-Sprinkles commented 1 week ago

Well ideally you'd like to be able to use it with tools since working on things is probably one of the main places the precise up/down would be useful, but when it was brought up we weren't really doing anything so it might be enough of a comfort option to justify anyway.

If theres a good way to get that up/down without being blocked by tools though that's probably the best solution