Automated Staging for Virtual Cinematography

“While the topic of virtual cinematography has essentially focused on the problem of computing the best viewpoint in a virtual environment given a number of objects placed beforehand, the question of how to place the objects in the environment with relation to the camera (referred to as staging in the film industry) has received little attention. This paper first proposes a staging language for both characters and cameras that extends existing cinematography languages with multiple cameras and character staging. Second, the paper proposes techniques to operationalize and solve staging specifications given a 3D virtual environment. The novelty holds in the idea of exploring how to position the characters and the cameras simultaneously while maintaining a number of spatial relationships specific to cinematography. We demonstrate the relevance of our approach through a number of simple and complex examples.”

Associated paper:

Cinemachine: Procedural Camera Rig

Cinemachine is a modular suite of camera tools for Unity which give AAA game quality controls for every camera in your project (Unreal coming soon) . It’s an easy to install plugin which lets you add functionality to cameras you’ve already got, or make new ones with amazing behaviors.

The modular system allows you to combine elements and build smart rigs for everything from procedural gameplay cameras all the way to completely fixed hand animated cutscenes, and everything in-between.

The heart of Cinemachine is the Base Rig. It sets up a virtual camera system inside Unity and holds the data for how each camera will blend together. Unity likes only one camera being active camera at a time, which makes the blending of two shots effectively impossible. Cinemachine goes above this with an architecture where multiple virtual cameras are blended between each other and the product is fed to the main ‘real’ camera.


Cinemachine also supports an environment where you can switch between different render settings, postFX, culling masks – or any other component on a camera. Keep the configuration of the main camera as-is and just animate it, or switch between different postFX on a shot by shot basis. The data is light when you don’t need, yet the architecture is there ready for when you do.

Cinemachine Website
Cinemachine on the Unity Asset Store

Composer cinematically tracks and composes moving objects. A ‘machine vision’ smart camera operator which films the actions based on your direction
Transposer mount cameras to objects
Noise from handheld behaviours to speed vibrations and everything in-between
Blender blend from one camera to the next
Priority Stack choose the best camera based on the scenario

In this talk from Unite 2015, the developers show the use of Cinemachine Composer camera system starting around 13:00