CM v2.1 Release Candidate

A lot of work has gone into this release
As always, we deeply value your feedback. Let us know how things go!

Version 2.1 RC 7
https://drive.google.com/open?id=0BwhlqkMsERx4VzZoMUFMa2xQR28

Also, because it’s a beta, we haven’t finished all the example scenes or documentation
hit these forums with questions if you get stuck anywhere

If you get errors, delete your old Cinemachine folder and re-import this new version. All your cameras and settings will be ok.

New Features

  • Post Processing Stack V2 is now supported.

  • New Collider implementation curb feelers are gone, replaced by a clever camera-repositioning algorithm that will try to preserve camera height or distance from target (strategy is user-selectable).

  • New Cinemachine Confiner confine a virtual camera to a simple bounding volume.

  • Added Lookahead Time to Composer. Composer will look at the point where it estimates the target will be at some time in the near future. This gives much more natural framing of a moving target.

  • New Framing Transposer This is a special transposer that will respect composition and framing rules by moving the camera without rotating it. Takes only a Follow Target (no LookAt - this is important). Designed for Orthographic cameras, but will also work for Perspective cameras. If Follow target is a CinemachineTargetGroup, then will also provide Group Framing options. Great for 2D

  • New Cinemachine POV 1st person shooter type aim component. Camera aim is entirely controlled by user, using 2 input axes.

  • New Cinemachine MixingCamera Drive a continuous blend of up to 8 virtual cameras from timeline or game logic. Create complex rigs with custom blends and expose them as ordinary vcams.

  • New Cinemachine DollyCart behaviour, for moving anything along a path. No need to create dummy vcams just for that.

  • New Cinemachine SmoothPath component. You can use it instead of the old CinemachinePath. The difference is that the SmoothPath guarantees second-order continuity, which means that there will never be any sudden camera rotation changes baked into the path tangents. Easier to use, too: no tangents to mess around with (they get automatically set for smoothness).

  • Path now supports Distance Units in addition to Path units, making it easy to create steady motion.

  • TrackedDolly: added ability to use Distance or Path units for path position.

  • Transposer and TrackedDolly: added target angular damping on 3 axes.

  • OrbitalTransposer and FreeLook: added angular damping and binding mode, same as Transposer.

  • OrbitalTransopser and freelook: added checkbox to invert input axis.

  • Added IgnoreTimeScale option to Brain. Useful for snappy cameras even in slo-mo.

Improvements

  • SmartUpdate is smarter: added support for Interpolation when target is animated by physics system.
  • Added off-button for SaveDuringPlay.
  • No SaveDuringPlay for vcam priority, LookAt and Follow targets, GroupTarget members.
  • Added IsBlending API method to StateDrivenCamera and ClearShot.
  • TargetGroup now has a user-selectable update method.
  • TargetGroup now respects the weight when computing bounding box, so it’s possible to gradually add or remove members by manipulating the weight.
  • Clearshot: if randomize, then re-randomize whenever it becomes active.
  • ClearShot: default blend is cut.
  • ClearShot create menu: add a Collider by default.
  • FollowZoom: min/max FOV defaults changed to 3/60.
  • Composer damping range is now 0-20 instead of 0-100.
  • Orbital and FreeLook: Heading Bias can now be animated on the timeline.
  • Orbital and FreeLook: damping no longer interferes with camera response to user input. Axis movement bypasses all damping.
  • TrackedDolly: added path position offset to Auto-Dolly. Stays on the path (unlike path offset, which is based on the path tangent and so can go off the path)
  • Noise component inspector now has a dropdown for Profile presets, instead of directly allowing editing of the Profile asset.
  • Added concept of Cinemachine Extension . Collider, confiner, PostProcessing, etc are now Extensions. They are available via a dropdown at the bottom of the inspection for virtual cameras. They will no longer appear in the standard Components menu.
  • Time.timeScale = 0 is now supported. Pausing the game will also pause the virtual cameras.
  • Split HardConstraint into 2 options: Do Nothing, and HardLookAt/Follow. The latter replaces the former behaviour of HardConstraint. The “Do Nothing” option allows the vcam to have a target that does not affect the vcam’s transform.
  • Added draggable transform handle for some vcams. Transposer, OrbitalTransposer, and Tracked Dolly update their camera offset to incorporate the position change.
  • API enhancement: Added CinemachineVirtualCameraBase.MoveToTopOfPrioritySubqueue() to make a vcam active if it shares the same highest priority with other vcams in the scene.
  • SaveDuringPlay: removed use of obsolete API, so that Undo now works to revert changes propagated back to the scene from Play Mode.
  • Timeline Shot inspector: reflects changes to extensions. Sections labeled better.
  • Changed inspector Error messages to Warnings
  • Brain no loner requires a Camera component. Can be added to an ordinary GameObject, so that it can become a container for a VR rig, or for other things.
  • vcam inspector: update type display only if SmartUpdate
  • Confiner: added support for PolygonCollider2D. Now confining shape can be auto-generated from tilemap
  • Transposer, Orbital, and FreeLook: added new Simple Follow binding mode for natural follow behaviour.
  • FreeLook and Orbital: improved axis accel/decel logic, for more responsiveness

Bugfixes

  • SaveDuringPlay obsolete API fix for 2017.2.
  • Fixed build errors when building for UWP.
  • Clearshot and SDC: don’t reset state if deactivated.
  • FreeLook destroy - no more orphan rigs.
  • Fixed strange build error that only showed up in MonoDevelop.
  • FreeLook was not respecting X-axis accel and decel. Heading speed had to be crazy high. Now same as Orbital (warning: may have to re-tune settings on existing FreeLooks).
  • Recenter to target heading was not moving smoothly in some circumstances.
  • Collider raycasts no longer hit triggers.
  • Noise: handle variable deltaTime gracefully.
  • State-Driven-Camera: don’t generate errors when animated target is inactive.
  • Several jitter and judder issues resolved.
  • Collider was not pushing back all the way in some circumstances
  • Solo works in context of Timeline
  • Extensions work even if vcam is disabled (same as component pipeline)
  • StateDrivenCamera: get rid of warning spam when not in play mode
  • API change: Added new base class CinemachineComponentBase, replaces interface ICinemachineComponent.
  • API change (Editor): Added new base class for inspector editors
  • SmoothPath bugfix: was not always smooth at the loop connection
  • Framing Transposer bugfix: was performing poorly in 3D scenes where camera is at an oblique angle to game plane. Works better now. Also added possibility of an unlimited soft zone size (i.e. no hard zone)
  • MixingCamera bugfix: extensions were not working properly
  • extensions were not managed properly when child vcams were reparented
  • SaveDuringPlay was not saving disabled objects
  • Composer was ignoring dead zone if no damping (stupid bug recently introduced)
  • Always use LateUpdate if target is not moving
  • If blending, ignore LookAt target if both camera orientations are the same
  • Confiner: ConfineScreenEdges defaults to true if ortho camera
  • SmartUpdate was broken for FixedUpdate-animated things
  • SmartUpdate: if vcam has no targets, look at vcam’s transform to see if it’s being animated
6 Likes

Small review:
-Post-Processing Stack V2 support - Amazing.
-New Collider is even better than before - Perfect.
-IgnoreTimeScale - Great for time changing cut-scenes - Great.
-TimeScale = 0 support - Great for pausing the game, no need to disable camera controls and stuff.
-New Composer Lookahead Time - Amazing for even more physical and cinematic camera movement.
-New Cinemachine MixingCamera - Just perfect.
-Works with 2017.3 Beta - No need to wait for any small updates - Great.

Feedback:
-Add min/max values in the new CM POV:
Would be useful when player should only see front of the scene:
Example:
Character laying on mountain looking at the city that they will attack in a second. Player can only look forward. (Developers can remove everything from behind that player can’t see, which will improve performance in their games)

-Add default FOV in the Edit->Preferences->Cinemachine, new created cameras should use it.

-Add debug text position Enum: Top left, top right, bottom left, bottom right. (Useful when all of my debug UI is in the top left and i would want to see CM debug text in bottom left or something)

-Multi-object editing support should be added. - Useful for changing things such as FOV in all the selected cameras etc, right now developer needs to select every single camera and change FOV which takes even few minutes when you have scene with hundreds of cameras.

-Freelook should have Collider added by default. (?)

-FreeLook Recenter Heading Y axis support. - Used in almost all racing/third person games.

-Dragging vCam from Inspector into Timeline CM track should automatically create CM shot and assign the vCam.

-After creating new vCam it should be automatically selected in the Hierarchy.

-Add “Save During Play” to the new extensions.

Bugs:
-Adding any extension to a vCam that’s being selected in Timeline adds it to the vCam but doesn’t update Inspector window, user needs to deselect and select vCam again to fix it.
Example: Screen capture - 3678bf8bc3f48f80fe628984f319ad09 - Gyazo

-Clicking on Solo button in selected CM clip in Timeline turns on Preview mode even thought it was disabled.

Small question:

-I wanted to use CM logo in my game splash screen, Do i need to contact anyone about that and also where can i download full-res (4K) logo?

That’s it for now.
Thank you.
Jacob

3 Likes

RC just updated with some bugfixes:

  • Bugfix: Tracked Dolly “Default” setting was not respecting World Up
  • Bugfix: FreeLook was aligning to X-axis instead of Z-axis, requiring a 90-degree bias to correct
  • Bugfix: CinemachineCollider was creating a spurious invisible sphere collider at the scene origin, which persisted until Unity restart
1 Like

@JakubSmaga as ever your feedback is fantastic and rich with good ideas.

POV min/max. Absolutely. We’ve discussed it, it’s on the list. We wanted to get this out first. The UI design for it needs more discussion

Freelook collider - arguable. We’re keeping it off for simplicity for now. It’s a lot of interface to traverse.

Freelook Y recenter. Absolutely. It’s at the interface design stage. We’re getting a little pressure from the Unity UX department about how big / intense some of the CM panels are!

Dragging vcam into Timeline. Oh we know… it’s actually on the Timeline team and it’s not as simple as it sounds. We’ve been asking for a while and it will get done.

Autoselect vcam after creation. Fantastic idea. On the list.

Bugs: Yes. On the list, thank you.

CM Art - yes! email me adam.myhill@unity3d.com

Thanks Jacob, you’re a real friend of CM, we appreciate all your feedback immensely.

1 Like

I’m glad that i can help and work with this amazing software. :slight_smile:

Email sent.

Hello Guys!
Good job, I’ve just tried the RC1. It’s really good!

One change I would do is to give two Damping values on the collider:

  • First value when it’s actually colliding
  • A second value when it’s not colliding

Also it coud be good to add a radius to the line of sight detection and switch between a raycast and a spherecast if the radius is above 0

1 Like

Is CinemachinePostFx still used to select PostProcessing Volume? Or is there another way?

For PostProcessing V2, it is different (and simpler).
Put a standard PostProcessingLayer on the Unity Camera (alongside the CinemachineBrain).
On the Vcam, put a CinemachinePostProcessing extension (accessible via the vcam Extension popup in the inspector). Populate it with a profile. This profile will blend in along with the vcam.
CinemachinePostFX behaviour exists only if you have PostProcessing V1.

[Edit] you have to make sure that the vcams are on a layer that PostProcessingLayer can see.

Hi Gregoryl,
the only extensions I see are:
CinemachineCollider
CinemachineConfiner
CinamachineFollowZoom

The CinemachinePostProcessing extension is dependent on the PostProcessing V2 module. It will appear when you upgrade PostProcessing, and CinemachinePostFX will disappear at the same time.

I have downloaded and installed PostProcessing V2 from git.
I have Post Process Layer on Camera and a GameObject with Post Process Volume on it, I should be good…

And you are not seeing CinemachinePostProcessing extension? Do you have the CinemachinePostProcessing.cs file?

Yep, had to add UNITY_POST_PROCESSING_STACK_V2 in player settings, now it works.

hmmm… should have done that automatically. How old is your PPv2?

:slight_smile: Got it this morning right after Cinemachine V2.1 (blame Adam, I do anything he says)
I’m on UWP platform, maybe this makes the difference?

Shouldn’t make a difference. Be aware that the Player Setting defines are per-platform. If you switch platforms you’ll have to add the define again. PPv2 is supposed to do that automatically. I wonder why it didn’t run for you.

I’m the unluckiest guy on the planet.
Is there a way to convert PPv1 settings to PPv2 so I don’t have to redo all of them one by one?

Nope.

Thank you Jacob for proving my point :wink:

2 Likes

Updated to RC2. Release Notes:

  • Performance improvements
  • CinemachineExternalCamera: added LookAt field, for improved blending
  • Cinemachine Menu: automatically select the newly created vcam
  • CinemachineConfiner: added Confine Screen Edges option if camera is orthographic
1 Like