Motion is a software program from Apple that was released in August 2004.
It is used primarily for motion graphics, e.g., animated intro sequences, though it can be used for all kinds of things from special effects to be layered with video to physics demonstrations, titling, generating textures for 3D apps or whatever.
Motion is particularly strong in what it can do in real time, and also its use of drag and drop behaviors, saving a lot of keyframing work, and its excellent library of particle systems and filters.
It is deep and sophisticated, but the documentation is excellent, being written by Michael Wohl, co-designer of Final Cut Pro, a top Motion expert, and a darn nice guy.
DVcreators.net offers a Motion PowerStart hands-on training course co-authored with Michael to complement the included documentation.
How does Motion do realtime so well?
So why is Motion being heralded as a breakthrough? For one reason, unlike any other inexpensive motion graphics software, you can perform a lot of operations- moving, resizing, rotating elements, adding text, filters, effects, particle systems- while your animation is looping in realtime.
Most software traditionally utilizes your CPU (Central Processing Unit) in your computer to perform the “work”. In a later model Mac, the CPU is a G4 or G5 chip. In a Windows machine, the CPU is made by Intel or AMD.
However, as PC games became more and more graphically sophisticated, users were compelled to seek ever more powerful video cards, made by ATI and nVidia, for example, that provided a smoother, richer gaming experience by taking over a lot of the graphics processing from the CPU. Indeed, as users upgraded their video cards and demanded computers with better and better video cards, the graphic processing power on a typical video card far outstripped the graphics capabilities of the CPU, with huge “GPU” (Graphics Processing Units” chips with heat sinks and fans looking (and costing) just like their CPU brethren.
OpenGL was developed, a common language for talking to the GPU, so that software manufacturers did not have to write code for every graphics card individually. Originally, 3D apps starting taking advantage of OpenGL to give users fast feedback. Boris added OpenGL support for their plug-ins and RED motion graphics program. After Effects started being able to utilize the GPU for lights and shadows with the 6.0 version. Pinnacle’s Liquid Edition editing software utilized the GPU for many filters and effects.
Motion relies heavily on the GPU for its real-time playback, hence the demanding requirements for video cards. The more powerful your video card, the better real-time performance you will get.
Once it comes to rendering, Motion utilizes the CPU to try and exactly create what you’ve been watching on the GPU in actual image data in RAM or on disk. Depending on the effect and your video card, the final render may or may not have (hopefully small) discrepancies from the realtime version. The final render should certainly should be higher quality than the realtime preview.
When rendering, it’s all CPU- the GPU does not help here. If you are creating a RAM Preview, how much RAM you have determines how much of the animation will fit in memory.
Where is Motion going?
OpenGL provides a lot of functionality not apparent in the 1.0 release of Motion, most notably in its ability to render complex 3D scenes in real-time. For a comprehensive look at what today’s modern video cards and OpenGL are capable of in realtime, just download the demos for Halo, Unreal Tournament, or other graphically advanced game and pay attention to all the textures, motion, lights and shadows, 3D modeling, that are being generated in realtime.
Buy copies of Halo for everyone on your network and put your people to “work” evenings researching realtime graphics. I have found these hours very productive in learning about OpenGL, though some relationships have become strained when team members do not return home until after midnight. But you must admire the dedication to their craft.
I would hope at least simple 3D, like compositing 2D layers in 3D a la After Effects, will be added to Motion fairly soon (3.0?). Also, one would have to guess customizable keyboard shortcuts are coming soon (Shift S for the Arrow tool? That’s crazy!)
Hopefully as the code is futher optimized and refined we’ll see advances in realtime performance and general interface performance. (Or, maybe we’ll have to wait for the 4GHz G7).