Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
102 stars 0 forks source link

Teleport Locomotion Blocking Tags #1921

Closed Polly-Geist closed 1 week ago

Polly-Geist commented 2 weeks ago

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

Currently I'm working on a game which we would like to support accessibility features for users who normally cannot handle things like smooth motion. So we're planning to support teleport. However, teleport locomotion seems to lack the ability to block teleporting to surfaces. This results in players being able to climb walls or teleport onto ceilings and stick, as it seems they are entirely unaffected by gravity unless spaced from surfaces far enough.

Describe the solution you'd like

It would be nice to have a component tag for objects or a checkbox on colliders that allows disabling teleport locomotion from being able to target it. As in if you point at the wall, no teleport cursor should appear, or it should be pushed to the lowest stand-able surface below the target point. (Maybe with a configurable "distance from wall"? That could be nice.)

Describe alternatives you've considered

We've looked at restricting the locomotion as much as possible but the only ways to manage it have been effectively making it a useless locomotion. We've also thought about making a custom input system but we'd like to avoid adding extra overhead flux.

For the moment we might follow a recommendation from another user to have interference walls which catch teleport attempts before they can reach actual walls, but that isn't exactly the best approach either.

Additional Context

I've tried to find alternatives or if there's some secret hidden tag but I unfortunately have found nothing great for this. Also hopefully this isn't a dupe of some other issue on the tracker here, doesn't seem like many people talk or think about teleport locomotion.

Requesters

Polly-Geist // @pollygeist on Discord // Polaris on Resonite

ProbablePrime commented 2 weeks ago

I had an interest in doing this when I beat Froppy's MMC entry by cheesing it with Teleport.

I will put it on my backlog but can't promise any development timeline.

Zyzyl commented 2 weeks ago

Did you try adding the TeleportPassthrough (Transform > Tagging) component to the surfaces you do not want players to be able to teleport to? In my testing that seems to make surfaces 'invisible' to the teleport landing point detection system.

Polly-Geist commented 2 weeks ago

Did you try adding the TeleportPassthrough (Transform > Tagging) component to the surfaces you do not want players to be able to teleport to? In my testing that seems to make surfaces 'invisible' to the teleport landing point detection system.

this will not work because that just lets them teleport through the wall or object instead. which we also do not want.

ProbablePrime commented 2 weeks ago

The passthrough component does mean Im somewhat certain this might be easy.

ProbablePrime commented 1 week ago

https://youtu.be/crN3RKeToC4 WIP

ProbablePrime commented 1 week ago

This released in 2024.5.7.505