Unity’s Cinemachine: Creating a 3rd Person Behavior Using State-Driven Cameras

Marcus Cohee
3 min readJun 12, 2022

--

Hello all!

Today, I will be going over how to make a 3rd person camera behavior using State-Driven Cameras! I used an asset from the Unity Asset store called “Starter Assets — Third Person Character Controller” as the player. I also got the death and aim animations from the GameDevHQ program for this challenge.

Setting up the Animator

First, we have to make sure all the animations run when they are supposed to, or the State-Driven cameras won’t work.

The animator window with complete transitions.

I had to add the Aim and Death animations to this since it’s native to this asset. I will get into character animations and the animator in more detail when I get to that course and learn more.

To make this work, I set the Death animation transition to run when a trigger is activated and set the Aim animation to a bool. When aiming, set to true; if not, set to false.

Setting up the State-Driven Camera

After the animator is setup, we link the animation states to their respected cameras.

Inspector for the State-Driven Camera

Looking at the picture above:

  • When no other animation states are active, use the default camera.
Default Camera
  • When the run state is running, switch to the sprint camera.
Sprint Camera
  • When the aim state is true, set to the aim camera.
Aim Camera
  • And when the Death trigger happens, start the Death blended camera.
Death Blended Camera

Scripting for Aim and Death

The asset already comes with the idle, walk, and run scripted for the player. We just have to add a small script for our aim and death.

Since I don’t have a health system, I just set the death to occur when I press the K key. Then I set the aim animation to be true when I press the right mouse click, and to false when I let off.

The scripting of this was just to make the recording easier but was simple to implement!

That was how to make a cool 3rd person camera behavior!

Next up, I get into camera transitions using the CinemachineBrain on the Main Camera!

Thanks for your time!

--

--

Marcus Cohee

I am starting Unity and learning the ropes as I go! Let’s take this journey together!