Post

So glad people are as interested in 3D Platformer cameras as I am! Let's cover some things I missed in the first thread. (With some #GameDev WIP areas from the final game thrown in!) First: "autocam!" The camera will automatically rotate to frame the direction the player is moving.

Wave (Slime 64)@waveparadigm.com

I've spent *years* researching 3D Platformer Cameras in hopes of making Slime 64's camera "not terrible." In this thread, the White Cylinder is the Camera Target (slightly above the player!), and the Orange Cones represent the "vertical dead zone" where the camera won't follow player movement.

21 reposts90 likes

While we allow players to completely disable the autocam in the settings, usually people just want to make a slight correction. When the player manually adjusts the camera we disable autocam for a little while, to try and not fight the player's intentions. Input display in the lower left!

We also have a camera recenter button! For some people using the right stick all the time can be painful, and being able to recenter the camera with a single button press is very helpful.

We also force the camera behind the player when using our Water ability, which constantly propels the player forward. This gives that power essentially "tank control" steering, in a way we quite like. Players can use either stick to steer, or use both for a tighter turn!

Definitely record a video if you're comfortable, but if you're able to manage the speed at which the lookahead moves, and how fast the camera blends from "no lookahead" to "full lookahead" it may help - I've found if the lookahead is too sensitive it can end up feeling super jerky

Thanks! How do you blend the positions? When I blend in world space I get issues with the player running straight into the camera and that in turn affecting the movement direction (i.e. causing flipping like in the video if unhandled).

I tried blending only the x-axis in the camera's local space, which eliminates the flipping problem, but as soon as I include the `dot(playerVel, camForward)` somewhere in the blend process it gets super disorienting.