Replies: 1 comment
-
Closing in favor of the full proposal in: |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
In the documentation, it is said that the SpringArm3D node casts a ray or a shape along its Z axis and moves all its direct children to the collision point, and just like the documentation says, it really is useful for 3rd person cameras, but I feel like it's missing an important part of the cameras from 3D games that I'm taking inspiration from, in this case specifically 3D platformers.
2025-03-27.21-02-30.mp4
You see, in this video the camera continues to rotate behind the wall even though the player is blocked by it, and it only snaps into the other side of the wall when the actual camera collides with it.
2025-03-27.21-14-26.mp4
And this is what happens in Godot when using the SpringArm3D with a SphereShape and a Camera3D as its only child, the camera snaps into the wall just for being in the way between the player and the camera.
I won't say that I fully know how the SpringArm3D works, but from what I tested and from what is written in the documentation and tutorials, it seems like there is no way of replicating the results of the first video with just the SpringArm3D node because it is always casting its ray or shape from its origin (the player) to its entire spring length.
My suggestion would be simply to have an option so that the shape, if there is one, to be cast and stay at the end of the spring until it collides with something, if it collides it will cast its shape until it's not colliding anymore. Also would be appreciated if the shape would be actually visible on the editor.
Beta Was this translation helpful? Give feedback.
All reactions