Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

move_and_slide wall detection only works when pressing up against it #758

Open
Deltt opened this issue Jan 26, 2024 · 4 comments
Open

move_and_slide wall detection only works when pressing up against it #758

Deltt opened this issue Jan 26, 2024 · 4 comments
Labels
bug Something that isn't working as intended regression Something that used to work but now doesn't severity:minor Small impact on functionality or usability topic:runtime Concerning runtime behavior (or its source code)

Comments

@Deltt
Copy link

Deltt commented Jan 26, 2024

I've switched to Jolt physics in my current project to test it out, and immediately noticed that is_on_wall_only() would not behave like it would in the default physics version. All Jolt 3D settings are left on default.

I'm using the method for wallsliding and walljumping in a 3D platformer, however it doesn't seem to trigger at all, unless my players velocity is constantly pushed toward the wall, and even then it seems to rapidly switch between returning true and false where as the in built physics would return true even while not giving any input/velocity other than downwards, given a perfectly vertical wall/surface.

I've been testing this using a copy of my current project with 0 changes made except switching to Jolt physics.

I'd be happy to share the project or give more information if that would be of any help.

@github-actions github-actions bot added the needs triage Something that needs investigation label Jan 26, 2024
@Deltt Deltt changed the title is_on_wall_only() doesn't behave like Godots default physics is_on_wall_only() doesn't behave like Godots default physics (4.2.1 Mono) Jan 26, 2024
@mihe
Copy link
Contributor

mihe commented Jan 26, 2024

Thank you for reporting this. I'm able to reproduce this discrepancy if I don't provide any velocity towards the wall, as you point out.

This looks to be a regression caused by #559, as reverting that change fixes this problem, but that of course reintroduces the issue that it was meant to fix, meaning ghost collisions.

I'll see what can be done to fix this while preserving that other fix.

@mihe mihe added bug Something that isn't working as intended topic:runtime Concerning runtime behavior (or its source code) severity:minor Small impact on functionality or usability and removed needs triage Something that needs investigation labels Jan 26, 2024
@mihe mihe changed the title is_on_wall_only() doesn't behave like Godots default physics (4.2.1 Mono) move_and_slide wall detection only works when pressing up against it Jan 26, 2024
@Deltt
Copy link
Author

Deltt commented Jan 26, 2024

If this helps in any way, fiddling around with the Resolver settings in the Jolt 3D settings and setting it to around 20% or lower will make it behave more consistently, but I assume it also should when left to the default value when it did in previous versions.

@mihe mihe added the regression Something that used to work but now doesn't label Jan 29, 2024
@reliAttic-Games
Copy link

Sounds good. Thanks for investigating this issue :)

@NothingAnimated
Copy link

I am facing the exact same issue with CharacterBody3D nodes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something that isn't working as intended regression Something that used to work but now doesn't severity:minor Small impact on functionality or usability topic:runtime Concerning runtime behavior (or its source code)
Projects
None yet
Development

No branches or pull requests

4 participants