Update: 3.1.3 has been released.
3.1.2 is mostly a bugfix release, but as always, a few happy additions have crept in as well.
If you were using CinemachineSplineRoll, you’ll notice that the roll direction has reversed. This is because it was backwards before, and now it’s correct. Cinemachine will automatically upgrade existing components, but you might want to note the change.
Added
- Added CinemachineVirtualCameraBaseEditor, to facilitate making conformant inspectors for custom virtual cameras and virtual camera managers.
- Added Padding option to CinemachineConfiner2D.
- Added CinemachineSplineSmoother for creating smooth splines suitable for camera paths. This replicates the behaviour of CinemachineSmoothPath in CM2.
- Added Easing option to CinemachineSplineRoll.
- Added SaveDuringPlay support to CinemchineSplineRoll.
- Added preference option to show spline normals instead of the railroad-track gizmo.
Changed
- The presence of a tracking target no longer affects whether the CinemachineCamera state’s position and rotation are pushed back to the transform.
- TargetPositionCache.GetTargetPosition() and TargetPositionCache.GetTargetRotation() are now public, so that custom classes can support cached timeline scrubbing.
Bugfixes
- Sometimes a deeply-nested passive camera’s position would creep due to precision inaccuracies.
- When coming out of a cutscene, sometimes the original camera would fail to be restored.
- Spline roll direction was inverted.
- The upgrader sometimes failed to delete all obsolete components.
- The path upgrader was creating knots using Broken instead of Mirrored mode, and was not setting knot rotations correctly. This resulted in spline Up vectors not always being smooth.
