Cinemachine: Creating A Hand-Held Camera Look Using Noise

Ryan McCoach
4 min readAug 18, 2022

--

Intro

In this article, we are going to cover how to easily add noise to virtual cameras using Cinemachine to create a running camera bounce.

What kind of noise are we talking about? This type of camera noise is how much bounce does it have. You can see this when someone is use a hand-held camera, there will be unintentional (small or big) camera movement due to the person’s movement that is holding the camera. Look at the images below to see the difference between no camera noise and some camera noise.

No Camera Noise (Left) vs Camera Noise (Right)

Adding Camera Noise

In the settings of Cinemachine’s virtual cameras, there is a Noise option.

The noise is created by using a predefined noise profile asset. This defines the shape of the noise over time.

Once the noise profile is selected you will notice an organic bounce to the camera.

You can adjust the Amplitude, which will determine the size of the movements and/or the Frequency, which will determine how often the movements will happen.

Accessing Amplitude & Frequency using Script

You will need access to the Cinemachine library to modify the settings and will need to get a handle on the virtual camera you want to adjust settings on.

The amplitude and frequency are part of the Cinemachine Basic Multi Channel Perlin class, so we will create a variable to store it and we will do the same about the Follow Zoom (more on this later).

In Start, we grab those component from the virtual camera we are using.

In my Movement method, we can set the amplitude and frequency value by appending our Cinemachine Basic Multi Channel Perlin class variable with m_AmplitudeGain and m_FrequencyGain

When the Left Shift is being held, we have the player running, so we increase the amplitude and frequency, which gives the camera move bounce. When the Left Shift is released, we return them back to their original values.

Follow Zoom Extension

Cinemachine has built-in extensions and we are going to use the Follow Zoom.

The Follow Zoom has Field of View (FOV) settings and we are focusing on the Max FOV.

The image below shows the Max FOV being increased and decreased.

We can adjust the Max FOV by appending the followZoom Class variable. When the player holds down the Left Shift, this will have the player start to running and we will increase the field of view to give it that lightspeed tunneling look.

When the Left Shift is release, we return back to the original value.

--

--

No responses yet