Cinemachine Free Look Camera jittery rotation issue

Hey, im having an issue with the rotation handling when rotating the cinemachine free look camera (position control: Orbital Follow & Rotation Control: Rotation Composor) The jittering can not be seen in scene view from which i’am assuming that it must have sth to do with the cinemachine. Would be a pleasure if Some(1) would have a look at it. Sample Project can be found here: GitHub - Ravry/HELP Scenes/SampleScene

It takes significant time to pull and open someone’s project. Please post more details here instead, using screenshots and code tags.

Common issues with Cinemachine:

  • hierarchy ie don’t put a Cinemachine on the Camera object or one of its children
  • make sure the Cinemachine update mode is correct (try changing it to LateUpdate for instance)
  • avoid changing the Camera object’s transform in any way through your own scripts
  • avoid having the Camera on an object along with either a CharacterController or a Rigidbody (or in one of the parents) since both alter the transform and thus move the camera

While Cinemachine works with such a setup it can exhibit strange issues like jittering or lag or sudden jumps.

Sure it’s this sample script im refering to.

    void Update()
    {
        HandleRotation();
    }

    public void HandleRotation() {
        Vector3 forward = Vector3.ProjectOnPlane(cameraTRS.forward, Vector3.up);
        Quaternion desiredRotation = Quaternion.LookRotation(forward, Vector3.up);
        rb.rotation = desiredRotation;
    } 

i’ve already tried setting the cinemachine update method to late/fixed/smart update this wouldn’t change anything nor i’ve done any of the other aspects you mentioned i’m using a cinemachine free look camera with a rotation composer and orbital follow

Several things wrong here.

First you’re manipulating the RB during Update, which is a no-no. Always use FixedUpdate for that.
Next, you’re using a stale camera rotation. Cinemachine updates late in the frame, after this script has run.
And finally, I would recommend changing the entire approach. Rather than making your player derive its rotation from the camera, do the opposite: let your character controller drive the character directly, then attach the camera as an observer.

See the sample scenes that ship with Cinemachine for examples. for instance ThirdPersonWithAimMode, or ThirdPersonWithRoadieRun.

This tutorial is also very good:

1 Like