8 entries in Animation

Transform Presets

Save and restore transformations as presets to objects such as cameras, IK handles, etc.

Saturday, May 17th, 2008

Transform Presets is a pretty simple plugin – it allows you to store multiple transformations of an object (and it’s target, if there is one) in a list, to call up when you like.

You apply it to any object, and it adds a custom rollout to the base object, with a small interface that you can use when the object is selected.

I built it for fun in response to a thread on CGTalk.

Screenshots

Here it is working on a target camera. Note both the camera and target are transformed.

And here it is working with an IK handle. Note the swivel angle is updated as well as the transform.

Download and installation

Download TransformPresets.mzp and then drag the .mzp file onto one of your 3dsmax viewports, which will install the script in the correct directory. Then you can add the script to a toolbar / quad by going to:

  • Customize > Customize User Interface…
  • Then look under the Animation Tools category for Transform Presets

Particle Visualizer and Papervision3D Exporter

A script to visualize particle motion and export particle and camera data to Flash's Papervision 3D

Saturday, May 10th, 2008

Papervision 3D is the latest in 3D development for the Adobe Flash platform. It supports a variety of methods for creating 3D content, from basic primitives, to import via the Collada file format. However, being XML-based, Collada files are pretty huge – getting a 300 frame, 150 particle animation into Flash was creating files that were about 22MB!

After trying various approaches to get animation data from 3dsmax to Flash, Good Technology got in contact with me to write an exporter in Max Script for their latest Papervision job for the Audi RS6 microsite.

The plugin has 2 main functions:

  • Visualize particle motion before export
  • Export particle and camera data from max’s Z-up coordinate system to Papervision’s Y-up coordinate system

More information and screengrabs are available on my portfolio site.

Screenshot

Interface

As with all interfaces I write for 3dsmax, I do my best to provide as much feedback as possible. Note:

  • Group titles are updated with the latest information
  • Dropdowns have an update button
  • Tasks have multiple customization options
  • Progress bars and dialog preferences come as standard

Download

This plugin is not available for download, however please contact me if you wish to discuss custom Papervision3D or any other development.

After Effects Tracker

Export 3dsmax objects' tracking data (4-corner pin, 2 point track, position) directly to After Effects

Tuesday, October 10th, 2006

As part of a series of promos commissioned by Jetix, we (Huge Designs and I) needed to incorporate up to 15 different characters into a reusable promo “base” that could be changed each month to provide variety. Our storyboard demanded 3D, yet the characters were 2D, and rendering the same complex sequences, re-comping and outputting would have been an impossible task from both time, budget and sanity perspectives!

So, the plan was to render out one complex 3D sequence, do all the sexy post-production in After Effects, then comp-in the characters, as quick post-process, so the whole thing appeared seamless.

Enter After Effects Tracker…

After Effects Tracker is designed to compliment the tracking tools found in After Effects, by transforming and exporting 3D data (world-space) to 2D data (screen-space) that After Effects can use. The following data can be exported:

  • One-point track (position)
  • Two-point track (position and rotation)
  • Four-point track (corner pin effect)
  • Depth (Z-buffer information)

After processing an object in the 3dsmax scene, After Effects-compatible data is copied to the clipboard, that can simply be pasted onto an After Effects layer as key frames, mirroring the 3dsmax scene verbatim

Interface

Below you can see how it’s a simple case of selecting the appropriate objects and clicking “Export”.

Where needed, the vertex positions can be visualized and compared to the After Effects scene to make sure any corner pinning is achieved the right way round, and not mirrored or rotated.

End result


From 3dsmax to After Effects

In the case of getting our 2D characters existing believably within the scene, I knew I would be able to achieve the effect using combination of corner pinning and Z-buffer information, along with a little matting where needed. The process was as follows:

  1. Animating and exporting the 3dsmax scene data:
    • Build, animate and render the 3dsmax scene
    • Position the 3D planes for each shot to face the camera as directly as possible
    • Export the corner-pinning and depth data
  2. Positioning the character layer within the After Effects composition:
    • Within the After Effects comp, place a 2D character on the top layer of the rendered footage
    • Apply the Corner Pin effect to the character layer and paste the corner pin data to give the illusion of the character being positioned correctly in 3D space
  3. Matting in the character so it doesn’t appear to float on top of the footage:
    • Duplicate and isolate the roller coaster car layers using an ID-matte, then place above the character layers
    • Apply the depth information exported earlier to any foreground elements, such as roller coaster cars or the track itself, to isolate only the foreground of each layer

Data

Below is a sample of the exported data:

Adobe After Effects 7.0 Keyframe Data

        Units Per Second        25
        Source Width    0.0
        Source Height   0.0
        Source Pixel Aspect Ratio       1
        Comp Pixel Aspect Ratio 1

Transform       Position

        Frame   X pixels        Y pixels        Z pixels
                0       0       0       

Transform       Anchor Point
        Frame   X pixels        Y pixels        Z pixels
                0       0       0       

Effects Corner Pin #1   Upper Left #2
        Frame   X pixels        Y pixels
        0       -53.172 -31.8445
        1       -52.9779        -35.3856
        2       -52.7437        -38.9376
        3       -52.4771        -42.5169
        4       -52.1589        -46.1085
        5       -51.8003        -49.7146
        6       -51.4037        -53.3403
        7       -50.9531        -56.9749

Download

This plugin is not available for download, however please contact me if you wish to discuss custom 3dsmax / After Effects or any other development.

Camera Animator

Animates a master camera thourgh a series of locked-off shots, and user-defined times

Friday, August 25th, 2006

Overview

Camera Animator is designed to animate a camera through a series of locked-off shots, at user defined times, for such things as titles, credits, walk-throughs, or any other situation where you would want to move methodically through a series of points-of-interest.

Click the image below to view a QuickTime movie of the script in action.

Benefits

Camera Animator allows you to concentrate on framing “template” shots without worrying about animation timings, then quickly and easily create a base animation from those shots by clicking a single button.

You can continually re-frame the original shots, as well as adjust the timing and weighting of the movement in a variety of ways, and it’s just a few clicks to add cameras, reorder cameras, change timings of holds or moves on a per-camera basis, and have the entire animation update.

The final key-framed animation can be used a starting point for further development, or can just be used as-is.

Interface and basic usage

Using the script is quite straightforward:

  1. Set up your scene by framing your required shots using target cameras
  2. Click the Grab Cameras from Scene button to add the cameras
  3. Adjust individual camera settings, such as Hold Time and Move time
  4. Click the Animate Camera button to create the animation
  5. Repeat the process from step 3 as necessary

A new Animated Camera will be created that animates through the Template Camera positions using the default values of 75 frames per hold, and 25 frames per move.

You can continually re-adjust settings, and click Animate Camera again to update the animation.

Options

There are various ways to customize the animation that the script creates:

Change Template Camera order by selecting camera(s) in the list and clicking the Up and Down buttons.

Change Hold and Move timings by either selecting the camera(s) in the list and adjusting the timings spinners, or by selecting the camera by double-clicking the item in the list, and editing the camera’s Camera Animation parameters in the Modify Panel.

Toggle the Synchronize List checkbutton to automatically synchronize the Template Cameras list selection as you drag the Time Slider. This is useful for quickly adjusting timings as you scrub through the animation.

You can also change the controller types used, depending on the level of control / ease of use required. Choose from between Position XYZ, or Bezier Position.

Choose any of the default tangent types, such as Slow, Auto, Linear to adjust the easing of the movement.

Assign a Secondary Animation track to the Animated Camera, complete with placeholder keyframes for later adjustment, to add subtle movement on top of the main animation.

Animation

The script automatically creates 2 sets of controllers and keyframes:

  • Primary Motion: a primary set of keyframes for Camera, Target and FOV, animating a path through the Template Cameras
  • Secondary Motion: a secondary set of placeholder keyframes (on either Camera’s position controller, or an XForm modifier) to allow the animator to add further subtle movement.

You can clearly see both animation curves in the Trackview below.

In this case, the Secondary Motion keys have been adjusted to give the holding phases a little life, by gently tracking left and right in the horizontal axis.

Case Study

You can see Camera Animator in action on a real job in the screen grab for my Viewport Layout Manager.

Download and Installation

Download Camera Animator.ms then drag it onto your 3dsmax viewports to create the Camera Animator dialog.

Sample Scenes

Path Controller 2

A scripted controller setup that allows you to animate the distance along a path in real-world units

Friday, March 17th, 2006

This MAXScript entry has not yet been completed…
(more…)

Filter Trackbar Keys

Show only specific keys / tracks on the trackbar

Friday, February 25th, 2005

Preamble

A lot of times when you’re animating, your trackbar can get pretty crowded. 3dsmax provides trackbar key filtering on a global level, but sometimes this isn’t as precise as needed:

Plugin

Filter Trackbar Keys provides multiple per-track control over which keys display in trackbar for the selected object.

Download and Installation

Download and run Filter Trackbar Keys 1.0.ms from 3dsmax.

It will create the macroscript in the correct directory for your max version, then you can add the script to a toolbar by going to:

  • Customize > Customize User Interface…
  • and looking under the Animation Tools category for Filter Trackbar Keys.

Animated Surface Align

Stick one animated object to the animated surface of another, maintaining orientation in 3 axis

Monday, October 11th, 2004

Just a bit of fun with…

  • Scripted controllers & node references
  • IntersectRay
  • Object transforms

…to make a boat stick to a very animated surface, as well as holding its direction. Before anyone moans about the fact it doesn’t look like it’s actually sailing – thank you, but that’s not really the point of the exercise ;)

Screenshot

Download

Download Animated Surface Align for 3dsmax 8.

Scripted Look-at Controller

A 1-dimensional look-at; useful for trees, billboards, etc.

Thursday, February 21st, 2002

A “billboard” type script that sets up objects to look in one axis only at a target object. Useful for things like cutouts of trees, people, etc. The nice thing about this script is that you can assign the controllers to all thee axis if you like, creating some rather interesting effects.

NB. This script’s capabilities have now been superseded by max’s new Script Controllers, so I may update this at some point.

Screenshots

Interface

Download and Installation

Download and run Scripted Lookat.ms from 3dsmax.