How to dynamically rotate camera when moving?

I’ve watched this GDC talk about simple dynamic camera movements that you can implement to subconsciously make the game feel a little better.

I just want to make the camera rotate a little bit to the left when character is moving left and rotate right when character is moving right. But still have a complete control with the camera rotation using mouse or joystick if player wants it.

I’ve trying to tinker about this where technically its the camera spring arm that needs rotation but also needs to have the “Use Pawn Control Rotation” turn off, which I don’t want. I still can’t figure this out. Hopefully someone can help me ;D

Hi man,
you can simply “nest” components and give every component a behaviour.

for example,
Char—>SpringArm–> scenecomponent –> camera.
You can rotate the char,
the spring arm will do his work,
Add another rotation to the scene component
Add another rotation to the camera

You can also make all by blueprint and vector , making the camera location and rotation manually

I really appreciate your response but I have no clue on how to implement what your saying. Specifically this “Nest” and yes I’m all doing this with blueprint.
Just also want to add that this is on 3rd person. If you’ve played Journey or if you currently have journey on your system try it by moving right and see that the camera rotates slightly to the right too. Same with left movement. Ofcourse journey has more complex system when it comes to the camera but I’ll be happy enough with just that simple camera rotation when moving left or right. :slight_smile:

You add “dummy” component to bone (component) you want rotate around. Usually I am adding ARROW component, then setting it invisible in game (or visible for debugging).
On that arrow component i place camera arm. To that camera arm i connect camera.

Then by rotating ARROW i rotate arm and camera. You can add lag and smoothing for camera arm, also zooming in works great with just changing its length.

Hi man,
Nest i mean just child XD,
like the camera is child of the springarm, you can make the camera child of a scenecomponent and make that child of the spring arm,
and code different behaviour of rotation for all the parts,
By the way i made a quick thing to show you that you can rotate the actor, and the camera in different ways

Thanks for clarifying. The blueprint that you’ve made is something that I understand no problem. But this rotates the actual camera. I want to make the camera rotate pivoting the character with the spring arm. Thats why I’ve mentioned that I’m tinkering with the spring arm. problem is that “Use Pawn Control Rotation” is turn on. in order for me to manually rotate the spring arm it needs to be turned off. So I was wondering how to implement this subtle rotation when moving left or right while at the same time have full control of the camera if player choose to do so. Probably the best example I can make as a reference is the game journey.

When you move the character in journey say to the left, the camera slightly pivots and rotate around the character like you normally do if your controlling the camera. You would point the camera to the direction your character is moving, but in the case of dynamic camera it will do it just a little, maybe like 15 degree rotation to point the camera to that direction.

Hopefully this clarifies my question as well. I’m still trying to solve this and I’ll post the solution once I’ve figured it out. :smiley:

1 Like

Hi divine123, although I’m a little bit late I just watched this GDC talk as you did and I’m looking for the same. Did you solve it?