Clamped Camera Inheritence Aiming Questions (Resident Evil 4 / Goldeneye 64 Style Aiming)

Hello!

I’ve recently committed to experimenting with Third Person Shooter mechanics, and wanted to recreate one of my favorite mechanics - Clamped Camera Inheritance Aiming. This used to known more as Deadzone Aiming, but can also be known as screen space aiming and aimbox, among other things. It’s been used in a lot of the 007 First Person Shooters like Goldeneye, The World is Not Enough, Agent Under Fire and Nightfire. It’s also been used in Resident Evil 4 and 5, alongside products like Receiver, Rising Storm, Freedom Fighters and others.

I’ve worked with a lot of wonderful people and examined their examples when provided and did my best to full tutorials like the “Deadzone Aiming” tutorial on Reid’s Channel that goes over how to implement it from a cursor driven perspective. This looks good, but struggles to be a workable solution for gamepad.

After a lot of different attempts, I’ve gotten to tracking the character mesh’s local rotation against the character rotation and trying to use the dot product to figure out the angular difference between the two. I’ve been getting stuck at how to make it so when the difference hit’s a certain threshold, it stops rotating the mesh’s local rotation and starts affecting the control rotation. I’ve gotten it to work partially, but with a “record skip” like look that seems to be the calculation slowly shifting from how I initially designed it. My blueprint is as follows.

Input:

Calculating Dot Product:

Utilizing/Evaluating Difference:

Any advice would be greatly appreciated. Video examples of my current best attempt is here:

And an example of Clamped Camera Inheritance from Resident Evil 4:

Thanks again!