New Cinemachine v1.5

Big news about the new Cinemachine v1.5 + strategy

We have made A LOT of improvements and changes since January 1, 2017

After some testing by you fine folks, we will be updating the free version on the Asset Store with a new v1.5 version.

Cinemachine v1.5 +Timeline +postFX integration (.unitypackage) [beta]

It is almost completely good news with one exception: Previous versions of CM, like the one on the asset store, is not compatible with this new v1.5. You’ll have to make new v1.5 cameras and reinstall. It looks like deleting your existing Cinemachine folder then installing this new one is the cleanest method.

We cannot confirm backwards compatibility with this beta or even in between beta updates

We really wish that the new version could play nice with the old but it wasn’t possible for a few reasons which we could not get around.

The priority system had to change to match other Unity priority systems (postFX) where bigger numbers are higher priority. We also further componentized the CM architecture to be ‘future proof’ so we never have to break previous versions again.

Originally CM was an external system. Now that it’s a part of Unity some substantial changes - and improvements! - had to be done in order to make it ‘the Unity way’.

That said, there’s an incredible amount of improvement and we can’t wait to see what you do with this new far more powerful CM.

Here’s the list of updates. There is so much good stuff!

  • We are no longer going to have ‘Base Rig’ and ‘Game Rig’, it will just be ‘Cinemachine’ with all the components as we test and move them over. So far we have moved FreeLook, Collider and Cloud over to the new Cinemachine v1.5

  • Removed CM “Autogen” singleton which gets created. Now, a component on the main camera called ‘Cinemachine Brain’ gets added when you initialize CM

  • Each Unity camera in the scene can have its own brain, to which vcams connect.

  • Brains can cull vcams based on layer. This allows support for split screens!

  • Various editor refresh issues have been fixed.

  • Removed confusing “Auto-add to priority queue” checkbox.

  • Removed confusing duplicate “offset” animatable fields. All fields are now animatable.

  • Timeline integration - any vcam can appear on a timeline, and all vcam properties can be animated. No asset files to manage.

  • Multiple timeline tracks are supported: higher-priority tracks override lower-priority ones. Inter-track blending and blending with non-timeline cameras is supported: smoothly blend between game and cut-scenes.

  • No asset files to manage for composer and transposer. ‘It just works’

  • Changes made to vcams during play mode are propagated to the scene when play mode is exited.

  • Can change the priority of an active vcam.

  • Simplified and streamlined vcam UI, with Aim/Body/Noise sections. Lens to come.

  • Extensible vcam component pipeline architecture, with the possibility of user-creatable options in the various sections. This includes inspector UI that will self-discover user-authored pipeline components.

  • Vcams children can be wholly-owned by other vcams, giving the ability to craft complex camera behaviours, which are exposed to the brain as a single vcam. SDC, Cloud, and FreeLook are examples of this.

  • Collider is now part of standard Cinemachine.

  • Added concepts of ReferenceUp and ReferenceLookAt to camera state.

  • Implemented agnostic camera blending. Cameras can be blended without specific high-level knowledge of composer settings.

  • Refactored composer logic - now it can handle gimbal-lock situations gracefully.

  • Component copy/paste/reset and Undo are all handled gracefully.

  • New OrbitalTransposer option for vcam body. Use it to make a follow cam.

  • HardConstraint option available for both Body and Aim.

  • Blender can blend orientations gracefully, even when LookAt target changes.

  • Blends can be nested (i.e. blend the result of a blend). This can come up when there are multiple timeline tracks.

  • More than 2 cameras can be blended.

  • FreeLook is now part of standard Cinemachine.

  • FreeLook can have independent LookAt, Follow, and Lens settings for the 3 rigs.

  • FreeLook: smoother transition between top and bottom segments.

  • FreeLook: Velocity and PositionDelta options are working.

  • New StateDrivenCamera. Drive vcams by mapping them to animation states. This is a major feature.

  • New UI for blend curves: set the time, and choose from the preset curve shapes.

  • Draggable composer screen guides.

  • Composer screen guides are grey if looking at an inactive camera.

  • Added current camera and blend display in brain inspector.

  • Added efficient onscreen in-game display of current camera and blends. No need for fullblown debugger.

  • Added camera status display (active/inactive) in vcam inspector.

  • Added Solo button to vcam inspector, which forces the camera to become active while its inspector is up. Indispensable for tuning.

  • Priority meaning is inverted (higher number means higher priority) to be consistent with the rest of Unity.

  • Plays nicely with PostProcessing module. Resets TAA etc when camera cuts.

  • Each vcam can have its own postprocessing effects settings.

  • Brain invokes Camera Cut and Camera Activated events, to which anyone can listen.

  • Camera state includes ShotQuality assessment (WIP) this is for a very interesting upcoming feature…

  • Collider lowers the ShotQuality if it had to move the vcam, or if an obstacle is blocking view of the LookAt target

  • Cloud is now part of standard Cinemachine. Chooses vcam child based on ShotQuality.

  • Cloud has been re-implemented using the SDC model.

  • Cloud refresh problems have been fixed.

  • Added ActivateAfter and MinDuration settings to cloud, to reduce hysteresis.

  • Cloud manages its own blend environment (same as StateDrivenCamera).

Cinemachine TODO

  • User Manual is outdated and is being updated

  • Code documentation

  • Repackage and put on github - opensource, like PostProcessing

  • Test builds on all platforms

  • Test in split-screen environment.

  • Better UI for Noise module

  • SaveDuringPlay: add ability to save non-transform references (e.g. SDC mappings)

  • Brain needs to check for deleted vcams (edge cases in editor)

  • Improved collider filter, to help reduce jitter

  • Vcam damping

  • Reactor or Andre’s Blackboard/Tags/Query concept

  • Composer II - center/size interface, rounded corners? Allow hard guides to be offscreen

  • Ability to target a group of objects, keeping all in frame

  • Ability to specify the size of a target (keep it all in frame, not just a point)

  • Follow-focus

  • Smart camera navigation

  • More sophisticated shot-quality assessment

  • E-sports console… (this is very exciting…)

6 Likes

Hi, i am impress about new features after watching unity keynote at GDC 2017. And i want to try it myself.
Just downloaded the package above but i have an 30 error about post fx and timeline. Deleted the postfx and timeline fix the error.

Hi @wahyuway If you’re not using 5.6 or the new postfx plugin, yes you’ll need to delete those scripts when installing v1.5 of Cinemachine. Checkout the READ ME doc in the Cinemachine folder which says to do exactly that.

Is it working ok if you do that?

Sounds awesome. Before I test, is it worth making a note of my current camera settings to re-enter in the new version or is that effected by the compatibility changes?

@DominoM yes, make a note. You’ll need to make your new CM 1.5 cameras. We are looking at an upgrade script but for now you’ll have to remake new cameras. It’s worth it for all the new features. Unfortunately we couldn’t make it retroactively support your old cameras for a number of reasons.

@Adam_Myhill
No problem. Before this announcement I was expecting to have to redo it to change over to the game rig anyway.

I’m working on a character controller and am using cinemachine as a very nice follow camera on my prototyping scene. I spent about 15 minutes tweaking it when I first set it up and haven’t needed to touch it since.

Edit: I’m going to copy paste that for my review :slight_smile:

1 Like

Opps my bad, i am still on 5.5.2
Ok then, i ll try to download 5.6 today.

Love the asset, but…

Can I ask why so many of the classes are marked as internal sealed classes? Or why so many useful methods are private? It’s a great asset used from the editor, but horrendous if you want to use it from code.

@Lightning-Zordon We know and it’s an open discussion right now. Exposing everything would have a lot of advantages and we’re totally aware of that.

There’s this, which is frightfully out of date but perhaps it may help a little http://www.cinemachineimagery.com/documentationCode/

I’ll post the outcome after we discuss this further

I just got the new 1.5 plugin running. How would you suggest doing an indoor follow camera, I want to have the camera follow a character that is moving, but not get cut off by walls.

Sort of like if there were a cross of reference points around the camera all raycasting, and when the main camera gets cut off, it adjusts the camera so the main object is in scene. and it raycasts behind, and to the sides of the camera, to make sure it stays in the same room. I don’t have the time to try and implement something like that, and was hoping part of your package could handle something like that.

Thanks for the great work so far, keep it up :slight_smile:

Hi @wirelessdreamer . I’d start out by making a FreeLook camera and giving the Recenter heading checkbox a tick so the camera will follow behind the character. You can do this based on the characters positional delta, the velocity or the angle. Disable the inputs if you don’t want to let the user have control.

As for collisions, add a ‘Cinemachine Collider’ component to that camera and it will keep itself out of walls. The numbers are really touchy right now and the collider can freak out / vibrate in certain scenarios - we’re working on it.

That should have you covered. Don’t forget that you can easily blend between different Freelook cameras, or any cameras, based on trigger volumes or animations. The State Driven Camera is the new system to trigger cameras from any animation event. Super powerful !

1 Like

@Adam_Myhill Thanks, I’ll give it a try :slight_smile:

wow, it just worked in less then 5 minutes. thanks a ton.

I love to hear that. Once you get familiar with things it’s easy to throw down dozens - hundreds - of cameras into your project so you can make it do exactly what you want under any situation… without writing any code.

Glad it worked out!

@Adam_Myhill Can this work in 5.5? or is it 5.6 only?

I’m doing it in 5.5, just removed the scripts that threw errors

1 Like

Technically it should go back to 5.4 but we haven’t tested all the versions just yet. As wirelessdreamer says, 5.5 is fine after yanking a few things. We’ll clean all that up.

Hello! Everyone & @Adam_Myhill

I use Cinemachine FreeLook with my own X,Y Axis preferences and every time when i run the game (in-editor) and leave the values are not the same as before, Is there any way to fix it?

Hi @JakubSmaga !

A great question and one which we’re well aware of. To further explain for everyone, we’re currently not storing the ‘initialize’ FreeLook settings. This can cause problems, let me explain:

Let’s say you have a default freelook which you’d like to start up right behind the player and at a certain height. After playing the game and using this freelook camera, it will remember where you left it - which is probably a different angle / height than how you initially set it.

Now, the next time you run the game, that freelook camera starts based on where it was left, not on some desired initial setting. Almost always that looks… bad !

Our fix for this idea is to have a checkbox which says ‘Initialize camera with these settings’. It’s on our feature list and we’ll get an update out shortly.

2 Likes

@Adam_Myhill Thank your for fast reply!

Cinemachine is love, Cinemachine is life.

2 Likes