On top of the previous Cinemachine Virtual Camera extensions we have looked at, there are many more. Some are very simple, whereas others can do some very intelligent things. Let’s have a look through the rest of the list!
These first two work hand in hand really, allowing for additional composition manipulation after everything else has been calculated.
The Camera Offset extension, allows a final offset to be applied, with the ability to determine after which setting this takes place.
On top of this, we have the Recomposer, which acts in a similar way, but allows for actual camera composition values to be manipulated such as pan, tilt and dutch.
Where these two extensions really excel, is when an animation is already set in motion. Rather than changing keyframes, we can apply these extensions in addition to what has already been created, allowing for non-destructive editing to the likes of our cutscenes.
The next extension we can take a look at, is the 3rd Person Aim. While we can achieve this with our Body and Aim properties, if we were to add any movement noise, the central target point would be manipulated. Not the best for 3rd person shooting. Instead, using this extension, allows for a constant raycast that stays true throughout movement noise, meaning our target will stay in place! One neat bonus is that we can use this extension to pass in a target reticle sprite. It’s also worth noting that any rotational noise, will in fact affect the raycast.
The Collider and Confiner extensions, allow for additional logic in terms of moving or limiting the camera depending on different conditions in our scene. This temporarily overrides any Aim and Look At parameters to meet the requirements.
Firstly, the Collider extension works based upon collisions — funny that. The main functionality of this extension, is to create a radius around the camera, that prevents the camera from clipping through objects in the scene, if said objects are set up as colliders!
Additionally, this extension makes use of Physics raycasts, to detect any colliders between the camera and it’s Look At target. If an object is in the way, we can define various strategies for the camera to move to keep the target in clear view.
Alternatively, the Confiner allows for us to define a set 2D or 3D area, in which the extents of the camera are allowed to travel to.
Lastly, we have the Follow Zoom extension. This adjusts the Field of View value of the camera to keep the Look At object the same size regardless of camera distance and position as it moves around the scene. This can be used well with something like a sprint mechanic, having the target moving away faster with the camera following damping variables, resulting in needing to ‘zoom’ the lens in to keep up.