Adding camera shake.

In this article, we’re going to tackle adding a slight camera shake when the player takes damage. In Unity create two new animations that you will place on the ‘Main Camera’. One call it ‘Camera_Idle_anim’ and leave it alone for a moment. The second, name it ‘Camera_Shake_anim’ and then add a ‘Transform’ ‘Position’ property. Drag put your settings on the x at 0 and the y to 1. Then, drag the line to 1 second and place a marker. Set the x to 0.1 and y to 1.1. Add another marker at the 2-second frame and set the x to -.1 and y to .9. Drag the ending marker to the 4-second frame and set them the same as the first frame.

Next, we want to go back to the animations we just created. We want the ‘Loop Time’ active on the ‘Camera_Idle_anim’ and not on the shake.

Open up our Animator window and make the idle box our default. Set transitions going to the shake box and back to the idle box. We now want to create a trigger parameter and name it ‘Shake’. We will reference this in script later.

Click on the transition from idle to shake. We want ‘Has Exit Time’ to be disabled and the ‘Transition Duration’ at 0. We will also add the shake trigger to this transition.

On the transition from shake to idle, we want ‘Has Exit Time’ enabled and the ‘Exit Time’ at 1. The ‘Transition Duration’ needs to be 0 also.

Now, we want to create a new script named ‘Camera_Shake’ and place it on the ‘Main Camera’. In this script, we will add a serialized private ‘Animator’ and call it ‘_camAnim’. We will create a new public function called ‘CameraShake’ and just set the trigger of our ‘_camAnim’ to ‘Shake’.

We’re almost done. Now in the ‘Player’ script, we need to add a reference to the camera shake, so we need to create a private ‘Camera_Shake’ variable named ‘_shake’. We have to assign this in our ‘Start’ and null check like always. You will have to use GameObject.Find to complete the reference.

The final thing that will have to be done is calling the camera shake after taking damage. Look in your ‘Damage’ function for that and place it right after.

Now, when playing you will notice a slight jitter in the screen when you get hit. Adjust the camera shake animation if you want to change how it feels any.




Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Python Ten-X Developer

What is SCORM and Why Should I Care?

Installing NGINX on CentOS 8

What should you know about the Load Balancer?

Phone number & E-mail verification in Android using Facebook Account Kit

Flutter - Cloud Messaging with Firebase Functions, Firestore (Android )

8 Useful Software to Export Google Maps Search Results to Excel

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Chance Cornell

Chance Cornell

More from Medium

The Window Watcher — A Smarter Office using LoRaWAN

Improving the performance of record updates

Dynamic Level Loading in Godot

2.5D Phase1 Framework: Moving Platforms