Camera Movement around Character without change ForwardVector

Hey there,
i try to rotate the camera on my spring arm around the character without changing the characters ForwardVector. What I want is to manage the rotation of the camera with the Mouse inputs. Character rotation and location get managed through a Spline. The ForwardVector is important to be in character orientation to calculate the movement. The character rotation Should not effect the rotation of the camera if character rotate.

Found out if I uncheck the Inherit Pitch/Yaw/Roll in SpringArm the Camera didn’t rotate with the character, but my inputs apply to the rotation of the character and not to the camera.

If i use something like USpringArmComponent->AddWorldRotation can’t rotate endless and is adds an roll without changing the value. Endless Rotation should be possible to implement but why inventing the wheel again.

Played a little bit with the UGameplayStatics::GetPlayerCameraManager but also no success.

I looked at the engine code how there implemented the camera rotation but anyone who looked there should know that it’s not that easy to read with such poor documentation.

I wanna do all this with c++. Also, I’m new to the unreal engine, actually any engine, but I have some experience in coding.

Anyone done something like this?
Tipps where to look?

Please, need help. Thanks for every tip.

Edit: Found the freshly released official Course.(Camera Framework Essentials for Games | Course) I gonna check this out.

Usually this is done by having two more components. One for pitch another for yaw and the spring arm is attached to them. I see no reason why the “endless” rotation shouldn’t be possible.

1 Like

Thanks this solved it for me.
To clear it for others might have a similar problem.

I Created a Component inheriting from USceneComponent named UAngleRotatorComponent.

Full Code on GitHub with Working Project.

The “Camera Angle Yaw” and “Camera Angle Pitch” are UAngleRotatorComponent Notice there hierarchy
Root Component (Capsule Component) → Camera Angle Yaw → Camera Angle Pitch → Spring Arm Third Person → Camera Third Person

Character Movement it is important to activate Orient Rotation to Movement and Set a Rotation Rate Z value. (For me it only worked with such a high value)

In the Spring Arm Component Activate Inherit Pitch and Inherit Yaw to inherit from the UAngleRotatorComponents.