Inspired by Richard Taylor's Final Cut Pro X Top Requests Master List, here are some of my feature requests for Motion, Apple's Final Cut X plugin and motion graphics creation tool.
Since June 2011, Apple have released many updates to Motion 5, but not at the scale of the changes to Final Cut Pro X. Probably one reason for this disparity is that Motion's new role - as an application that makes plugins for Final Cut Pro X - has proved very successful. As well as the many commercial plugins, individuals have made hundreds of free plugins that add so much to what Final Cut can do.
The majority of Motion 5's updates relate to fixing bugs in Final Cut Pro X, however here are the highlights of what's changed since 2011:
- 5.0.1: Dual display support
- 5.0.2: Drop zone pan and scale parameters, option to show animated parameters only in keyframe editor
- 5.0.5: Multi-document support
- 5.1.1: Additional parameters for the Sequence Text behaviour and Contrast filter
Here is a list of improvements to Motion that I hope Apple introduce - in no particular order:
1. Keyframable and publishable shape points
To make masks and other shapes used in Final Cut plugins editable, as well as being able to move points, editors will also want to be able to edit the curves and lines that conect the points. When a Motion shape is published, bezier point controls on screen and a variable amount of point parameters in the inspector - which can be keyframed - including point deletion and addition over time should appear in the inspector.
2. More Drop Zone clip information available in Motion
Including active frame rate, dimensions, metadata (including time-based metadata such as Final Cut Pro X keywords and subtitles) and timecode. These would appear as 'read only' parameters associated with the drop zone.
For testing purposes, if there is no clip in the drop zone, there could be the option to enter values into special fields that simulate attributes of a dropped clip. This would be quicker than changing the clip in the drop zone:
3. Parent timeline properties available to Motion
Having access to the Final Cut Pro project the plugin is being used in gives rigs and behaviours the option to do different things based on the pixel aspect ratio, frame rate, rendering codec, audio format, start timecode, current timecode etc. of the project within which the plugin is being used. In the Link paramater behaviour, you would be able to drag the project into the 'Source Object' well:
4. "Non-frames" time ruler mode
Plugins can be placed in Final Cut timelines of any frame rate; in this ruler mode the ability to set in points, out points of layers, keyframes and parameter values would be defined in seconds and decimal fractions of a second. Dividing timelines into frames doesn't apply to 4 out of the 5 Motion document types - the ones used to create Final Cut Pro X plugins.
5. Multiple Inspectors
So Motion users can inspect the parameters of more than one layer at a time, or see the property, filter and behaviour settings of a layer at the same time.
6. Inspector history
In the same style as the arrows that move between timelines in Final Cut Pro X - perhaps with a pop-up menu that list the lists the most recent 20 things inspected.
7. Parameter combinations stored as styles
In Motion (or Final Cut) a style could be based on the current setting of published parameters. This could be automatically named "Pink, from Left, Fast" when first created and then renamed to decribe what this combination of settings means in the edit such as "Team B." These styles would be saved in a pop-up menu.
A master plugin could have a set of styles defined in a special rig. When saving the master plugin, there could be an option to generate a family of plugins based on each snapshot in the style rig.
In a future version of Final Cut/iMovie a setting on a clip could associate a Role with a style rig snapshot. The advantage would be when the role assigned to a clip is changed a different style would immediately apply to the clip.
8. Group published parameters within a disclosure triangle option
This is possible to do by editing the Motion XML, but this feature should get an official proper user interface:
9. Timing markers
Each marker defines a section of an animation. Two sections are already defined in Motion: Build In and Build Out Markers. Durations between markers can then can be changed in Final Cut Pro X (using timeline and inspector controls) using the Retime Editor UI:
Adding a special timing marker in Motion would add more retiming sections in Final Cut:
The pop-up for each section is associated with turning Build In and Build Out sections on and off. The menu for Build In would be 'Build In' and 'Remove Build In.' The menu for the Main section would be "Main," "Add Build In" and "Add Build Out." When adding timing sections, the name for the section would be defined by the name of the marker. In the second example the Motion template has a timing marker named "1st Group" and the Build Out marker is named "2nd Group" - because it defines the second section as well as the start of the build out.
10. Behaviour access to the rectangle co-ordinates of a text element
The Link parameter behaviour can read the dimensions of a text field, paragraph, line, word or character and apply the link to any other parameter. A new Text Boundary behaviour in the Motion Tracking category could track the position and size of text, paragraph, line, word or character.
11. Multiple parameter animation curves in Final Cut Pro X
Currently only the first rigged slider widget's animation curve appears in Final Cut. Control over which slider widgets, parameter sliders and co-ordinates have optional animation curves in Final Cut
12. 'Divide by source' 'Raise to the power of source' Link parameter behaviour Apply Modes
Useful when simulating scaling animation in 2D.
13. "Calculator" generator
That acts like the 'Numbers' generator, but it calculates values: eg: valueA + valueB, valueB is greater than valueA [result being true (1) or false (0)], distance between points, angle of straight line between points, angles between planes. Points/planes could be from parameters in generator or from parameters from layers connected via drop zones.
14. "Text Factory" generator
A generator that combines text from different places (=Word X of the text from layer 'foo' && characters 7 to 25 of the text from layer 'bar') including font and size text formatting
15. More "Timecode" generator modes
Sometimes minutes and hours need to be combined into minutes e.g. "65:02" in a sports fixture. Suggested by Karsten Schlüter on the fcp.co Motion forum.
16. Named keyframe curves
Where 'Ease in' 'Accelerate' 'Logarithmic' 'Exponential' parameter change settings are used in behaviours, more complex parameter changes can be designed (such as a curve named 'Ease out overshoot damped oscillate to final value'). These would options to choose in the "Mix Over Time" parameter in the Link paramater behaviour:
...and the Speed parameter in the Move basic motion behaviour:
17. Special 'overlay' group for generators and custom controls
A setting for groups that plugin designers can use to communicate with editors in Final Cut Pro X. Any text generators in the group are by default moveable and act like titles. The contents of the group displays in a special overlay layer than can be turned off and on in the Final Cut viewer in the same way as a timecode/guides/safe zones can be turnes off and on. If an clip with an effect (or title or generator) with an overlay group is obscured by another layer in Final Cut, its overlay group is still shown (with a clip by clip disable visibility option).
18. Publishable/Riggable 'Active Camera'
So Final Cut Pro X users can choose which Motion camera to view through
19. Publishable/Riggable overall project 'Motion Blur' and 'Quality' settings
20. Individual layer 'Motion Blur' parameter
…which can be published and rigged.
21. Riggable font control
With the option to be able to rig (change which font is used in a widget snapshot) standard OS X fonts or all fonts available
22. Riggable behaviour and filter switches
So rigs can turn filters and behaviours on and off
23. Editable Display Aspect Ratio rigs
To make it clearer that a parameter is already linked to a display aspect ratio rig (so you can change the way the rig works while working on other rigs)
24. More complex Parameter Link behaviours source parameter/apply to combinations
For example so a single Link behaviour can use the X and Y of a 3D point as the source that gets applied to a 2D point and vice versa or linking pairs of width and height controls in a filter to the X and Y of a scale parameter.
25. Time offsets in Parameter Link behaviour
So the source values of a parameter can come from different times (X seconds from now, X seconds before now, Y seconds from start of behaviour or Y seconds before end).
26. Publishable ‘3D position' and '3D angle' on-screen controls
They already exist in Motion for postion and angle parameters. They should be available in plugins made with Motion.
27. Change template kind
Ways of converting Title motion templates to Generator motion templates or Transition or Effect motion templates or vice versa i.e. "Insert 'Title Background' placeholder" or "Convert Effect Source placeholder to Drop Zone"
28. "Nearby clip" Final Cut Pro X placeholders
Starting with "Clip Below current" and "Clip Above Current." These would act as implicit drop zones that don't have to be chosen directly in the inspector. They would give Motion templates access to nearby clips as the clip which has had the effect applied (or title or generators) are moved along the Final Cut Pro X timeline (optionally getting access disabled clips above and below at that point in the timeline - a 'visible layers only' checkbox)
29. Transition background Final Cut Pro X placeholder
For transitions applied to connected storyline clips with transparency (such as titles and generators), a transition background Final Cut Pro X placeholder would send the background over which the transition would be applied
30. The ability to create password-protected plugins
31. The ability to add notes to document how a template works
32. Access to the audio of clips in Final Cut Pro X placeholders
So effects and behaviours can be driven by audio
33. Audio plugins
34. Rigging/Publishing audio parameters
Including those in audio filters
35. Audio only plugin creation
For Final Cut Pro X and Logic Pro X (including the ability new audio effect bundles based on those built into Final Cut Pro X)
36. Depth maps
The ability to interpret depth maps created by 3D applications. Instead of baking in depth of field and volumetric lighting in the 3D render, Motion should be able to add depth of field and volumetric lighting. Depth maps could help Motion (and generated Final Cut plugins) to render intersections between pre-rendered 3D elements, and calculate occlusion for stereoscopic 3D.
37. Variance in replicator sequence behaviour parameters
Like the Variance parameter in text sequence behaviours
38. Divider replicator
When a divider replicator is applied to a layer, it makes as many copies as replicated cells - each copy being masked by the cell. Useful for breaking a layer into parts which can be animated individually.
39. 3D models as cell sources for replicators
40. 3D models as source arrangements for replicators
41. Bezier warp of layers in 3D
42. 3D extrusion settings for any 2D layer
A simple way of making 3D models - which should have self-reflection and be able to react to Motion lights.
43. Broadcast monitor output
44. Video/Audio scopes
45. On-screen controls layer group
For user-defined on-screen controls that appear in other applications using special library graphic elements that act as click/drag/gesture hotspots. OSCs that can be linked to rig widgets and behaviours.
46. Multi-clip access
Complex clips are those with more than one video and audio clip. These include compound, multicam and clips that have been 'edited in their own timeline.' If a complex clip is used in a dropzone (or a plugin is applied to a complex clip), all the parts of the compound clip should be available to the Motion template - (although Auditions aren't complex clips, it would be useful if the audition candidates were also available).
47. Multicam render
If an effect has been applied to a multicam clip that can process multiple angles. Multiple cameras in the Motion templates should be able to send multiple simultaneous different angles back, which can then be selected using Final Cut Pro multicam editing tools.
48. More commands that can have keyboard shortcuts applied
For example "convert shape to mask" or "convert mask to shape." Suggested by "grailz" on fcp.co.
49. Stop keyboard shortcuts when editing text
A preference suggested by SquidFX on fcp.co
Instead of having moving to Final Cut/iMovie, a simulator to show how plugins will work in - showing application differences: alternate inspector Uis (i.e. Final Cut vs. iMovie) and showing different kinds of projects that the template might be used in: multiple timeline frame rates, display aspect ratios and pixel aspect ratios. The simulator could be loaded with a common group of clips that designers like to test with - and make demos and tutorials with.
51. Quartz Composition creation and editing
A set of generators that act as subset of Quartz Composer patches which can be added and linked together using the Motion metaphor, and a view mode that shows the links between generators(patches) in the same way Quartz Composer shows connections between patches.
52. Plugin creation for iMovie on OS X and iOS
53. Plugin creation for video-capable OS X applications
Apple applications such as Photos, QuickTime Player, Keynote and Pages as well as Motion itself,. Third party applications too, such as Adobe Photoshop, Adobe After Effects, Adobe Premiere, Avid Media Composer and Da Vinci Resolve (Mac OS X versions only). Enabled by a free Motion plugin playback system from Apple (like the UI-less version of Motion that in built into Final Cut Pro X).
54. View of timeline at different time in Motion and host application
When a rig modifies a parameter whose change isn't visible at the current frame, it would be useful for a pop-up window to show the change happening. If the Motion (or Final Cut Pro X) playhead is in the middle of a title and a published slider widget is modifying the build in animation, the widget could have a 'Show a inset preview of timeline at Marker X' parameter so the user will get feedback on their change. Alternatively, changing a parameter value could temporarily move the Final Cut (or host application) skimmer to the marker specified. Suggested by SquidFX on fcp.co.
55. Camera controls of 2D clone view of 3D layer
The clone of the 3D layer would be 2D, whose view could be controlled by camera-like 3D position/rotation/view angle/depth blur parameters. Imagine a video wall of 2D clones of 3D layers (sometimes the same 3D layer) but with different views of the same 3D content depending in the 3D position and angle of the special camera associated with the 2D clone.
56. Line widths of less than 1 pixel
Suggested by "muddygun" on fcp.co
57. Change inspector values by relative amounts
For example the ability to change the X co-ordinate of multiple selected objects by -15 pixels - not change them all so their X co-ordinate is -15. Suggested by Braden Storrs
58. Retime behaviours for drop zone clips
Behaviours could then slip, speed up, slow down or scrub clips in a drop zone (with the option to apply the effect to audio or not)
59. Import 3D keyframes
…from 3D applications. Suggested by Deyson Ortiz of Motion Master Templates
60. Layered PDF and PSD import
61. Convert PDF element to Motion element(s)
Shapes, gradients, patterns (which become replicators), clipping masks (masks)
62. Duplicate naming control
When duplicating layers, behaviours and filters, choose whether 'Copy' a number or nothing is added
63. Parameter behaviour name suggestions
Control clicking on a behaviour name should bring up the option to add useful information using a naming template: Instead of 'Link' or 'Link Copy' a context menu would suggest 'Source.Parameter -> Destination.Parameter' as a naming template which would name the Link behaviour as "Lower Third bg.Opacity -> Type Text Here.Scale.X" A 'Ramp' behaviour applied to a text layer could be named 'Ramp Styles.Style.Offset.X'
64. Background rendering
65. Editable default versions of each kind of Motion template
When choosing to start a transition template for example, the ability to base a template on a preset where the placeholder layers are named 'Outgoing Clip' and 'Incoming Clip' for example.
66. New Sequence Text behaviour 'Animate' by options
At the moment when animating by 'Word' punctuation characters are considered as individual 'words.' Two new options: animate by 'Word (including punctuation)' and 'Custom Delimeter' (such as comma or Tab)
67. Rename layer based on source
After switching a source picture of a layer, it would be useful to rename the layer to denote that the source has changed. After selecting multiple layers, the context menu would have a 'Rename Based on Source' command.
69. More timing parameters for groups
The same timing parameters that are available in movie layers: Time Remap, Speed, Reverse, Frame Blending, End Condition and End Duration. If not possible with groups, perhaps with clones of groups.
69. Publishable/riggable layer/behaviour timing parameters
In/Out/Duration for layers, behaviours and filters, also the additional timing parameters associated with movie layers
70. Copying layers between projects should copy connected rigs and layers
If a layer with rigged or linked parameters is copied from one project to another, the rigs and the objects the parameters are linked to should be copied to the new project.
71. Duplicating layers with rigged parameters
If a layer or group has one or more parameters that are rigged to a popup widget, provide one of four options: 1. Connect duplicate to currently rigged widget snapshot, 2. Do not connect duplicate to currently rigged snapshot, 3. Duplicate rig and connected widget and rig duplicate's parameter(s) to duplicate layer/group. 4. In the case of Pop-Up widgets, create a new duplicate snapshot connected to new duplicate.