跳到內容

2.0 版本說明

發佈日期: 10th January 2024

在 Cavalry 1.5.6 或更早版本中建立的場景,在 Cavalry 2.0 中開啟時將會被轉換。該檔案將被複製為一個新場景,需要保存——你會注意到舊場景在開啟時將被命名為 <yourSceneName> [Converted].cv。從 2.0 起儲存的任何場景將不相容任何舊版本的 Cavalry。

Minimum requirements on macOS have been bumped to macOS 11 for the 2.0 release.

新增功能:

  • Cameras - Create a 2.5D environment to add depth to Compositions.
  • Pre-Comp Overrides - Override attributes contained within Compositions to create templates.
  • Component Shape - Collect Layers and promote attributes to create a simplified, custom container.
  • Background Rendering - Hand off rendering to continue working in parallel.
  • Tapered Strokes - Taper the width of a stroke along a Path.
  • Big performance improvements.
  • A new Particle system is now available as an Experimental Feature.
  • And much more…
  • Pre-Comp Overrides - Promote a Layer’s attributes so they can be accessed and overridden from the Pre-Comp itself making it possible to add variation to several versions of the same Pre-Comp.
  • Track Mattes - mask Shapes with Alpha Mattes.
  • A new Transform Only Motion Blur option for Shapes.
  • Particle Distribution to position Shapes onto Particles.
  • Animation Offsets - layer additional animation on top of any existing keyframe animation.
  • Increment and Save added to the File menu.
  • Palette Generator in the Color Window.
  • Upgrades to the JavaScript Editor :
    • Find and Replace text.
    • Auto-indentation.
    • Helpers for inserting matching brackets and double quotes.
    • Snippet Editor.
  • Motion Paths - Preview the position and speed of a Shape in the Viewport.
  • Locking Layers Prevents Selection in the Scene Window option added to the Preferences window.
  • When hovering Shapes in the Viewport, Pre-Selection Highlighting now appears. The level of detail is adaptive to the complexity of the Shapes being hovered. For example, rather than highlighting every character in a paragraph, simply show bounding boxes for the words or the entire Text Shape.
  • The View menu now includes a Show Layer Names on Hover option.
  • Labels now appear in the Viewport for selected Shapes.
  • Background Rendering - Hand off rendering so you can continue working in parallel.
  • New Sprite Sheet render format.
  • The WebP image format can now be imported as an asset and exported as a File Format.
  • Alpha Add Blend Mode to help with fixing seams between adjacent edges.
  • Retime Compositions at render time. See the Compositions tab on the Render Manager page.
  • Component Shape - Components are Layers that contain a collection of other Layers. Attributes from those Layers can be promoted to the Component in order to create a simplified custom user interface.
  • Tapered Stroke - Create a tapered stroke along a path. See Common Attributes (Stroke tab).
  • Segment Path - This replaces the Trim Path Utility (experimental feature) which has now been removed.
  • Merge - Create a Shape containing a closed Path from two Shapes containing open Paths.
  • Super Shape added to the Basic Shape.
  • EXPERIMENTAL Particle system including a Shape, Emitters and Modifiers.
  • degreesToRadians()
  • radiansToDegrees()
  • boundingBox() now outputs variables for centre, top, bottom, left and right.
  • New methods for the Cavalry Module’s Path Class:
    • empty() - Return if a path is empty or not.
    • pointCount() - Return the number of points in the path.
    • contains() - Return if the point specified by x,y is inside the path (only works on a closed path).
    • pathData() - Return an array of verbs and points representing the path.
    • length() - Return the length of the path.
    • pointAtParam() - Return a point object with x,y variables that corresponds to a position a given parameter along the path.
    • tangentAtParam() - Return a point object with x,y variables that corresponds to a tangent a given parameter along the path.
    • angleAtParam() - Return an angle in degrees representing the tangent a given parameter along the path.
    • paramAtLength() - Given a length, return the corresponding parameter value for that length value.
    • findClosestPoint() - Find the closest point on a path.
    • offset() - Grow or shrink a closed Path.
    • trim() - Reduce the length of a Path by clipping it from its start/end points.
    • resample() - Rebuilds the path by sampling points based on a desired ‘edgeLength’.
    • lineIntersections - Returns an array of points at which the path and line intersect.
    • pathIntersections - Returns an array of points at which this path and the given path intersect.
    • relax - Relax the points in the path away from each other.
    • smooth - Smooths the points by averaging their positions.
    • scatter - Scatter points inside the path via dart throwing. Points are relaxed by default.
  • A new Line Class including several new methods.
  • A new Mesh Class including several new methods.
  • A new Material Class including several new methods.
  • A new Matrix Class including several new methods.

Note - the Mesh Module has been renamed to Deformer Module. Existing scripts using mesh. will be backwards compatible.

  • Enterprise The CLI can now be used as an interactive JavaScript mode via the —prompt argument.
  • The Frame Behaviour has a new ‘Seconds’ interpolation.
  • Beta Features have been renamed to Experimental Features to try and avoid the confusion between beta builds (e.g. Cavalry 2.0 beta 7 ) and the features.
  • Sorting is now supported in the Assets Window.
  • Group selection/interaction in the Viewport has been improved:
    • Clicking and dragging any Shape within a Group will now move the whole Group.
    • Double clicking a Shape will drill down to that hierarchy level.
    • Hold S to select a child of a Group.
    • Right click a Shape within a Group to select a parent within that hierarchy.
  • EXPERIMENTAL Trails can now automatically inherit colours from a Particle Shape.
  • A Shape’s Opacity is now respected when used as the Input Shape to a Duplicator.
  • The Mesh Explorer has had a facelift and now includes thumbnail previews.
  • The Notes feature in the Scene Window now has a yellow background colour to improve contrast.
  • When creating a Pre-Comp from the Composition > Pre-Compose menu (or via the contextual menu in the Scene Window) the new Pre-Comp will inherit the parent Composition’s FPS.
  • New Flow Rows/Columns attribute for the Grid Distribution.
  • Subdivide has an option to improve the resulting curve at the ends of open Paths.
  • There’s a new Preference to determine whether locked Layers are also locked in the Scene Window.
  • Points are now represented in the Viewport when using the Add Divisions Behaviour with Editable Shapes.
  • If an Editable Shape is being deformed, the original path is now drawn along with the deformed path.
  • Bracketed image sequences (e.g. filename (1).png, filename (2).png, filename (3).png …) can now be imported to the Assets Window.
  • New Blur Align option added to the Composition Settings window.
  • New improved defaults for the Drop Shadow Filter.
  • A new option in the Render Manager to include (or not) the Composition Background in an SVG file.
  • Scene Presets have been renamed to Demo Scenes (they were never really ‘presets’!).
  • Several new Text transitions added to the Demo Scenes using the Auto-Animate feature.
  • Several new JavaScript examples added to the Demo Scenes.
  • Bevel now handles the penultimate points on open paths in a more predictable way.
  • A warning is now thrown in the Message Bar when missing fonts are detected.
  • Hierarchy is now respected when importing SVG artwork as Editable Shapes.
  • Resample Path has a new Corner Angle attribute to help preserve corner points.
  • Option/Alt + dragging a Pre-Comp in the Viewport will now create a second reference of the Pre-Comp (e.g. remain linked to the existing Composition) rather than create a new copy of the Composition.
  • Get Sub-Mesh Transform now has a new Use Bounding Box attribute in order to support Words and Lines for Text Shapes.
  • It’s now possible to disable Attribute Expressions.
  • A new additional control will appear when Keyframe Layers are in use to reflect the combined values of all layers.
  • Connections can now be made by dropping a connection onto a Shape in the Viewport.
  • The Font menu for a Text Shape now renders the list using the font. Fonts that are not supported fall back to the default.
  • The Attribute Editor now includes:
    • ‘Sticky headers’.
    • Animated scrolling.
    • Color divider added to the header.
    • Dividers to better group common attributes.
    • Improved indenting for Generators (e.g. a Duplicator’s Distribution).
    • Improvements to the UI for Arrays.
    • Show/hide attributes dependent on ‘mode’ (see Auto-Animate).
    • New ‘inline help’ messages.
  • Procedural Animation Curves are now previewed in the Graph Editor.
  • Magic Easing settings can now be accessed in-line by double clicking a keyframe in the Scene Window.
  • The pop up window that appears when double clicking a keyframe in the Graph Editor now contains more options including Magic Easing, interpolation and bezier handle lengths.
  • Improvements have been made to ‘constraints’ for handles in the Graph Editor. Previously, constraints imposed on moving bezier handles (e.g. moving a handle past other keyframes) were overly aggressive which could result in the ‘double clicking an animation curve to add a new keyframe’ feature resulting in inaccurate curves in certain cases. Similar improvements have also been made to the Graph Attribute curves (e.g. Falloffs).
  • Recently added Layers now appear as ‘quick add’ shortcuts in the Attribute Editor for a Shape’s Deformers and Filters attributes.
  • New hotkeys for setting a Shape’s Fill/Stroke colors by clicking a color swatch in the Color Window.
  • New commands to close a Composition or ‘other’ Compositions added to the Composition menu.
  • The Enable Time Remapping command is now available from the context menu in the Scene Tree and Time Editor.
  • It’s now possible to constrain the proportions of several attributes. For example, if a rectangles’s Width = 100 and Height = 200, setting Width to 200 will also set Height to 400 when the constraint is active.
  • The Shift + F hotkey now fits to the Frame Range in the Graph Editor to match the Time Editor.
  • Improvements to the preservation of animation curves when deleting keyframes in the Graph Editor.
  • Improvements to the preservation of the graph curve when adding points in the Graph Attributes (e.g. Falloff).
  • Entering partial valid hex codes now auto-complete (e.g. entering AB will result in #ABABAB).
  • Icons have been added to the contextual menu for the Assets Window.
  • Improved highlight contrast for editing values/strings/labels.
  • Double clicking a Pre-Comp will now load its UI into the Attribute Editor – this is consistent with how any other Layer works in the Scene Window. Either clicking the Open button or Option/Alt + Cmd/Ctrl + double clicking a Composition Layer’s row in the Scene Window will open that Composition (making it the active Composition).
  • A Control with Null option is now available when right clicking on a row in the Attribute Editor. This creates a Null and connects its Position to the row’s attribute.
  • A Get Info option now appears when right clicking in the Viewport which provides information about the Shape under the cursor. Clicking a menu item will copy its value to the clipboard.
  • getBoundingBox() now outputs variables for centre, top, bottom, left and right.
  • preCompose() - ‘name’ is now an optional argument.
  • keyframe() in the API now also returns the keyframe’s Id.
  • getBoundingBox() now outputs variables for centre, top, bottom, left and right.
  • Many optimisations have been made in Cavalry 2.0. Speed improvements will be dependent on the Scene but on average you can expect to see ~200% increase in playback speed. Performance improvements will be most noticeable in complex scenes where we have observed up to ~600% speed improvements. Simple Scenes should see at least a 10% improvement in playback performance.
  • Opening large Scenes is now much faster. In our tests a 2000 Layer Scene load time is now ~22x faster.
  • Selecting large numbers of Layers is now ~100x faster.
  • Count for Per Contour is working as expected again for the Path Distribution.
  • Path Offset is now correctly handling holes again.
  • Holding Option/Alt + dragging to duplicate a Shape when the Select tool is set to ‘Individual’ no longer causes double transforms.
  • MP4 and WebM movies are now loading via the Image Cache which means they use far less RAM when loaded.
  • Fixed a bug when double clicking in the Graph Editor to create new keyframes.
  • When copying Layers that are connected to the Composition by default (e.g. a Composition Constraint is connected to Resolution) to a different Composition, those Layers will be connected to the new Composition’s attributes.
  • Fixed a bug when making connections from an Animation Control via the Scene Window pop-up menu.
  • Render Tokens using Custom Time Formats which included / or : as separators (e.g. <%X>) now use -.
  • Viewport decorators (e.g. FPS) no longer draw when using Viewport Caching.
  • The ‘New Beta Available’ pill should only appear if there actually is a beta newer than the one currently installed available.
  • Shapes using Blend Modes no longer blend with the Composition’s checkerboard.
  • Input connections from a Spreadsheet’s Row Count can now be accessed from the attribute it is connected to.
  • The Fast Blur Filter no longer clips the Y axis.
  • Fixed Spacers no longer break Layout Groups.
  • Caching for Forge Dynamics simulations has been fixed.
  • The Reverse Animation command is now working again.
  • Character Spacing for centre and right aligned Text now works as expected.
  • When adding Time Remapping to Pre-Comps which are offset in time, the keyframes are now correctly placed at the start/end of the Pre-Comp.
  • A crash caused when an image sequence was found at the root of an Image Smart Folder has been fixed.
  • Fixed an issue in the macOS Save dialogue where hitting Return after quitting Cavalry with an unsaved Scene open was not respecting the default (Save) option.