Unity Cinemachine – The Smart Way to Use Virtual Cameras
Coding camera angles for games and animation has been a pain … Until now.
Before Unity Cinemachine, camera movement needed to be directly keyframed or, using code, had to be carefully scripted.
What Is Unity Cinemachine?
In short, Unity Cinemachine opens up an entirely new world of opportunities for animation, game design and development, and directors working with virtual cameras.
It’s critical to understand that Unity Cinemachine is meant for use with Unity’s Virtual Cameras, not real-world cameras, though the two can be combined in certain situations.
When using Cinemachine, you don’t need to know how to write code, though coding is still essential for some components, such as scripting how a user zooms using a mouse wheel, for example.
What’s even more exciting is that you can create complex behaviors using virtual cameras in a matter of minutes that once took hours or even days.
This can be ideal for cinematics who have been looking for a way to fully automate in game camera systems.
Before Unity Cinemachine, in order to follow the movements or even create different camera angles in the same scene, was a slow, painstaking process.
Not only would each movement have to be created, but it also had to be fine-tuned.
Now, though, Cinemachine introduces an entire suite of what they call “smart” camera modules, streamlining the process.
Cinemachine can do, with virtual cameras on your computer, what real camera operators can for a director on a set of a major motion picture. In fact, using Unity’s Cinemachine is like an army of camera operators at your disposal.
Who Would Be Interested in Unity Cinemachine?
Anyone who is a cinematographer, game developer, artist, or those who are using Unity as a means to create complex behaviors and who have no desire to learn or continue writing code or detailing keyframes day after day.
In short, the Unity Cinemachine is a game-changer. It completely transforms the landscape of game development, digital animation, and especially in-game camera systems.
Is There a Learning Curve to Cinemachine?
Of course. It’s the same as with any new technological development. However, the way that Unity has developed Cinemachine makes it streamlined, with a quick learning curve, and robust features that make it worth the investment.
What’s even better and why more people would likely be interested in using the Unity Cinemachine is it’s not a standalone software program but a plug-in. It plugs directly into Unity’s software and provides the opportunity to get started right away.
It is simple to install and provides a flexible system that allows you to control all your virtual cameras from the very beginning, from your initial setup to the full immersion of animation. It is designed to elevate the potential of Unity cameras without slapping a whole bunch of extra work on your shoulders.
Another great benefit that can be attractive to those seeking these advantages is it doesn’t interfere with your current workflow.
All of the components and behaviors that you have already worked out in whatever project you’re on at the moment will be retained without you having to do anything. This has long been the bane of creative minds whenever a new plugin or software upgrade has been developed.
You can even store cinematography data so it doesn’t need to be coded directly to the Unity camera you are currently using.
What If You Aren’t Using Unity?
Then Unity Cinemachine is not going to be useful for you, but if you are somebody who has been using a different system, or different software to create real-time 3-D experiences for games, movies, or other purposes, Unity truly elevates the creation experience to a whole new level.
Some of the top entertainment and gaming developers in the world are turning to Unity, which is why Cinemachine can be so exciting for those creative types. Also, the Unity camera is an essential aspect to be utilizing in order for Cinemachine to be useful.
Now, as long as we have gotten that out of the way, let’s look at a few quick examples of Unity Cinemachine in action.
Unity Cinemachine In Action
Cinemachine isn’t just for those using multiple cameras. This makes it different than other software plug-ins, and the power of Cinemachine lies in its ability to provide many different views with just one camera versus having to use multiple cameras.
This allows users to create a more fluid and seamless blend between all of those views. It also requires far less processing power than having many different cameras running at the same time.
One of the best, earliest, and clearest examples of Cinemachine in action comes from the now Emmy® Award-winning broadcast short, ‘Baymax Dreams.’ This was created by Unity in collaboration with Disney Television Animation. They won the Technology and Engineering Emmy® award for excellence and engineering creativity.
You can check out the behind-the-scenes regarding the development of “Baymax Dreams” using Unity and it’s a free plug-in, Cinemachine on this YouTube video here.
Here’s another example of full CGI film development using Unity and the Unity Camera and Cinemachine: Check out the video here on YouTube as well.
Pros and Cons of Unity Cinemachine
As with just about every software program you will find on the market around the world today, there are positives and negatives. The same holds true for Unity Cinemachine.
What you will find, however, is that the pros dramatically outweigh the cons, especially when you consider the amount of time that can be saved over coding and keyframing.
Let’s take a quick overview of some of the more positive aspects of the Unity Cinemachine plug-in.
Keep in mind that -in the past- game creators and developers were more focused on functionality, but now, thanks in large part to the addition of Cinemachine cameras, they can spend more time and energy on the entertainment aspect, especially the visual attention to detail than they could in the past.
Why We Love Cinemachine
Cinemachine is fast.
In other words, it is stable and fast, with the ability to launch the entire software program in a matter of seconds.
One of the common comments Unity users make, especially when it comes to adding Cinemachine as a plug-in, is that the program doesn’t seem to hang or lag, even when you have a number of experiments running, especially while importing assets.
Adding in many cameras, deleting or reimporting objects, using extremely high settings, and even lighting doesn’t seem to impact the functionality and performance of Unity.
The results look amazing.
Yes, in the past, Unity has come up a little short when it came to interior renderings. Now, though, with Cinemachine, these interior renderings are beginning to look absolutely stunning.
Of course, that all depends on what you are seeking to accomplish and the types of original footage you’re using as your baseline.
It’s easy to import files.
Some rendering programs complicate the process of importing files. However, Unity accepts FBX files, either in a binary version or in ASCII.
While other programs have a tendency to tinker with animations (meaning they can be altered inadvertently when importing), Unity doesn’t do that. It recognizes animations automatically.
Importing assets is not just accurate, it is quick. That is a huge plus when you’re talking about in-game development.
There are plenty of plug-ins to consider.
Yes, Cinemachine is a plug-in for Unity, but what makes this plug-in great for this platform is the fact there are many other plug-ins to choose from that can work seamlessly with Cinemachine.
You can expand editing functionality with a whole streamline of assets from the Asset Store, and when you incorporate Cinemachine into the mix, you have an incredible, robust set of tools at your fingertips which not only saves an incredible amount of time, but you can create stunning landscapes and amazing, smooth transitioning scenes for your audience or gamers.
Unity was originally built for game developers.
This might not seem like a big pro for animation designers and movie developers, but it is certainly a benefit for game developers.
That’s because when a program is developed with a specific audience in mind, they are focused on exactly what game developers want, need, and wish for.
With that in mind, Cinemachine is a feature-rich plug-in that was also designed with game developers at the forefront of their thoughts. While subsequent versions of Unity are incorporating more artist-friendly features, it is still, at its heart, a game engine.
Now, though, thanks to Cinemachine, there’s no more need to code or, at the very least, code a lot less.
There’s Always Room for Improvement
At the moment, there aren’t many negative aspects to Cinemachine, especially for seasoned veterans of Unity and the Unity camera. That being said, it doesn’t mean everything is perfect.
A bit of a learning curve.
As with any new software development or technology, there’s going to be a learning curve. While Unity’s developers have done a great job at streamlining Cinemachine to work seamlessly within the editor, it takes some getting used to.
This is especially true for those who have become accustomed to detailing keyframes or coding every camera angle and movement.
However, what you may lose in time during that learning curve, you gain in functionality and performance later on. Plus, most users become accustomed to the new features that Cinemachine delivers in short order.
Limitations on exporting.
This isn’t necessarily a problem for the Cinemachine, but Unity itself. You have to pay for extra plug-ins to export, for example, FBX meshes out of an engine. Even if you buy the plug-in that allows you to do this, you won’t be able to export animated cameras.
Again, this isn’t necessarily a problem with Cinemachine, but rather with Unity itself. Still, if you’re a beginner just diving into the Unity universe, it’s good to know, as is the next potential con.
As of yet, there is no distributed baking.
If this sounds like a foreign language to you, don’t worry. You will learn these terms in time the more you use Unity, a Unity camera, and Unity Cinemachine. This basically means you can only bake lightmaps using a single machine.
This limitation is likely to change as Unity developers are working on a solution.
For beginners, though, this is not something to be concerned about, at least not yet. And, ultimately, it is a minor bump in the road, especially when you consider how much you gain by using this plug-in.
Who Would Benefit from Cinemachine?
First of all, those currently using Unity (or who may be planning on using Unity in the near future). It’s a plugin designed specifically for Unity and to be used with Unity Camera.
It is an Emmy® Award-winning tool that offers a vast array of options for codeless cameras, allowing directors and cinematographers the option of capturing the best shots and angles, seamless transitioning in movement, and fine-tune, experiment, and create camera behaviors in real-time.
What does it mean to ‘create camera behaviors in real-time?’
In essence, up until Cinemachine, directors, and editors had to use keyframes and write code if they wanted to change the camera angle, have the camera move with the action, or create other behaviors like this.
It also requires extensive forethought and planning, rather than experimentation. Cinemachine allows Unity users to experiment, try different angles and movements, sweeping patterns without the time constraints of coding and entering keyframes constantly.
Cinemachine Is Especially Ideal for Game Developers
Not only does it speed up game development, since developers no longer have to focus on camera logic, but you can also now experiment on the fly with new ideas, prototypes, and all while saving those new settings in play mode.
Game developers can switch from 2D to 3D, from real-time play to cutscene, and from the traditional first-person shooter view to a camera that follows the action up close and personal.
Imagine being able to configure the Unity camera so it rotates automatically, maintaining your prime subject at any position within the screen space. Make adjustments seamlessly and streamlined like a professional game developer.
Another incredible feature that Cinemachine offers is the camera shake. This ‘impulse promote’ module offers a complete camera shake system. When you set up Impulse sources on specific objects, the camera will respond based on the scale and distance, using a six-dimensional shake that can be generated for the procedure or handcrafted for each instance.
Another great benefit for game developers is the split-screen and Picture-in-Picture mode. You can assign Cinemachine to any “Brain” or all of them, blending from a single shot to a split-screen and back again. For those who understand the complexities of game development, this is truly (pardon the pun) a game-changer.
When you want to make sure your prime subject is the right size on the screen, even when you are zooming in or out, it can be difficult to achieve. This usually requires keyframe definitions and coding, but not with Unity’s Cinemachine.
The camera will dynamically set the zoom so all of your subjects are the right size on the screen, no matter what you do with those scenes.
What happens when something gets in the way, gets between the character and the screen view?
With Clear Shot, a wonderful feature of Cinemachine, it automatically decides what is the best camera for that shot. This is great for replacements and cutscenes, especially those that have variable scenarios.
Now, though, Unity’s Cinemachine is ideal for film and video, too. It automatically seems to know exactly where to aim and focus. You can experiment with tracking, shaking, and dollies. It’s even possible to conduct post-FX in real-time.
Cinemachine seems to know exactly what you want your shots to look like and makes adjustments on the fly, even when performances change.
There are some incredible features, including Composer, which automatically composes the action, in much the same way that a camera operator would work in a real-life setting.
This allows cinematographers and directors to make a wide range of changes and still enjoy the benefits of the shot working as imagined. This is truly a revolution in preproduction and layout.
The Transposer provides a plethora of controls for cameras to follow the action. All you have to do is set up your shots and even if you change the performances, those shots will still work out in your favor.
Post-Processing can be done live, while each shot is taking place. You can even change the edit and color grading. When you blend shots on the Timeline, everything else in the scene gets blended, too. For those in the know, they understand this saves so much time that is worth the investment.
Cinemachine even offers lens packs that allow you to set a list of your favorite lenses as quick, easy-to-select drop-down menus. You can streamline each project by limiting focal lenses and lengths to a preset. This is much like what happens on the set of actual movie filming.
How to Learn Cinemachine
When you want to get started with Unity’s Cinemachine, you need to have a basic understanding of Unity itself. For the purposes of this guide, we’ll assume you have the basics down.
First, you’ll need to know how to get started, which includes keeping a transform in the shot, composing a shot, and following a transform.
Next, you’ll want to understand the track and dolly feature in Cinemachine, which includes adding a camera dolly with a track path, moving the camera using a track, and following a target automatically on a track.
Then, you want to learn how to create a state-driven camera system in Cinemachine. This includes learning how to control cameras with animation states and blending between camera states.
After that, it’s best to learn how to use the free look composition feature, which includes orbiting a transform, customizing player input, and adjusting composition at different stages of a rig.
Once you have learned that, the next step is to learn about Clearshot. This will provide you the ability to cut virtual cameras dynamically, prioritize shots, and customize shots.
After that, it’s about Post-Processing, and then Cinemachine 2D.
Helpful Resources and Videos
Here are a series of videos made available by Unity that can help you learn how best to use Cinemachine:
Common Cinemachine Questions
Is Cinemachine Part of Unity?
Yes. Cinemachine is a plug-in that’s made available specifically for use with Unity and the Unity camera. This is a powerful tool that can take hours, even days, or weeks of coding and keyframing and provide game developers, directors, producers, and editors of film and videos a chance to experiment on the fly and create smooth follow transitions using single or multiple virtual camera angles.
How do you set up a Cinemachine camera?
- From inside Unity, choose the Unity menu, and select Cinemachine> Create Virtual Camera.
- Use the Follow property and specify a GameObject to follow.
- Next, Select the Look At property and dedicate the GameObject you want the Virtual Camera aimed at.
- Once you’ve done this, customize your Virtual Camera as you want.
How do you use Cinemachine brain?
It is very easy to use the Cinemachine brain. Simply Add a Virtual Camera or any other Cinemachine object to your Scene and Unity adds a Cinemachine Brain component to the Unity camera automatically, if there isn’t one already in place.
How do you use Cinemachine code?
When you want to add code in Cinemachine, for example, to set a zoom feature when somebody uses the mouse scroll wheel, you will do so using C#.
How do you zoom in with Cinemachine?
There are many different ways to go about zooming in with Cinemachine, including activating a script, using two cameras to blend together, or turning on the close of the camera via a script.