How would I make a third person gravity controller/wall walking camera?

I get what you’re trying to do, and it’s probably possible via some cframe math. If I had to guess an easy way to do this, I’d look into the default scripts and try to find anything that returns a default camera value. From there I’d multiply it with some angles from the HumanoidRootPart of your character.

As for the actual math and logic behind it, I don’t really know where I’d begin. I’m pretty bad with CFrame math. However, I do have a few ideas.

You could start by just putting the camera above the humanoid rootpart at a fixed distance and orienting it to face the humanoid root part direction. It’s certainly not ideal, but it would be the easiest to make. If you want zoom and rotation, it’s much more difficult.


I did find the source code for EgoMoose’s Gravity Wallstick controller.

Digging further into the github you can find a script named init.client.lua, which looks to be where he creates a fully custom camera (or close to it).

https://github.com/EgoMoose/Rbx-Wallstick/blob/main/src/ServerScriptService/Wallstick/Client/PlayerScriptsLoader/init.client.lua


Sorry I couldn’t be of more help, as CFrame math just isn’t really my thing. But I do hope that these resources I found help you out!


This just kind of seems to be the reality of the devforum. If your question isn’t easily answered by a google search or two, its a complete dice roll whether or not you actually get help w/ your issue. I’ve struggled with this in the past, and really the only choice is to just make a new post or keep slamming your head against a desk until you find a solution lol.