Camera and Controller Questions

Alright so first off, I’ve got a question about controller inputs. I am trying to recreate Rocket League from scratch (not to release a title but to learn how they do it) because they’ve created an excellent “action camera” style with vehicles and I really want to learn how this type of camera movement is done with blueprints.

First question
The first camera setting that I am trying to figure out is how to “soft-lock on target”. The camera follows the players vehicle (the positioning) however, if you were to give the Gamepad’s Right thumbstick any axis movement, the camera is free to orbit the vehicle. What event triggers when the axis input is changed? I see events for when the axis changes on buttons (such as bumper buttons) however, I do not see an event that triggers when a thumbstick axis has changed. What I am looking for is a sort of snapping. When a player moves the thumbstick, they can orbit the camera around the car however, when they release the thumbstick - the camera snaps back into place which follows the cars heading/yaw. I’ve got the orbiting down but I cannot get the boolean (false) to trigger when the thumbstick is centered again. Any advice on this matter? Here’s a shot of the blueprint I am working with as well as a gif that shows what I’ve got so far.


Second Question
So, once I get the camera to lock back onto the car - I need to setup another “soft-lock on target”. I need the camera to follow the car like it normally does however, I need it to “look at” the ball that you see in the first animated gif. I need it to lock its pitch and yaw on the ball. So far I have the balls position and rotator stored as a public variable that I can reference in the car’s blueprint. What math is involved to determine the appropriate yaw & pitch between the position of the car and the position of the ball?

I’m a newbie so take my word with a healthy dose of salt.

Question 1: There are probably a few ways you could do this. But you have an input axis for that thumbstick right? If you “get” that axis value, it will be zero if the stick is centered. (it will range from -1 to 1 if it’s moved.) If you find it doesn’t tend to return to exactly zero, you can always use a Nearly Equal node.

Question 2: Try “Get Direction Vector” if you want a vector, or “Find Look at Rotation” if you want a rotator.