15 entries in 2006

Spherical Spline

Create a perfect sphere using just one spline

Monday, December 18th, 2006

Another “just for fun!” script. I like these :)

A simple interface to create a perfect sphere (and variations thereof) with just one spline.

Screenshot

Interface

Download

Download spherical spline 04 ui.ms.

Open all groups

Recursively set all groups open or closed.

Saturday, December 9th, 2006

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

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.

Collapse and Replace

Collapse multiple objects into one mesh, preserving materials, and optionally replace a single target object.

Friday, October 6th, 2006

There are times when you’re animating something and it’s a lot easier to have everything as one, big mesh, especially when pivot points and object-bounds start playing havoc with your carefully crafted animation and bizarre shit just keeps happening.

But then you’re in a pickle with modelling. You really need to keep all those beautifully-designed objects separate.

What to do!? Well, how about an example…

Screenshots

The objects on the left make up one “element”, each with different mapping, materials, and obviously, pivot points.

The object on the right is a cylinder animated with a path deform to make it go round in a wiggly shape.

Animating all those objects on the left would be a major pain, so let’s collapse and replace in once fell swoop:

Great! And if new objects need to be added later, it’s just a simple case of updating the animated object.

Interface

It’s pretty simple.

Pick the objects you want to collapse, pick a target mesh if required, pick the action you want…

  • Collapse source objects – works like a regular collapse
  • Create new mesh – the same as above, but duplicates the existing objects
  • Update a target mesh – the same as option1, but assigns the mesh to another object’s base mesh (great for animation)

… and click the button.

The only other option is to specify which of the original objects you want to use as the reference pivot point, which can be done by picking the object in the viewport, or by double-clicking the Source Objects list.

Download and Installation

Download…

  • The MaxScript file: CollapseAndReplace0.61.ms
  • The demo scene shown above: CollapseAndReplace.max

Just run the .ms file to create the dialog.

Viewport Layout Manager

Adds a toolbar that allows you to swap between viewport layouts on the fly, remembering settings per viewport between layouts.

Tuesday, September 5th, 2006

Description

Adds a toolbar that allows you to swap between viewport layouts on the fly, remembering settings per viewport between layouts (and optionally, sessions).

Example uses:

  • use one layout for setup or modelling, and another for animation
  • Store camera views in each layout
  • Wireframe / shaded layouts

UI

Rollover ui to see the options…

Features

  • Change viewport layout on the fly
  • Remembers individual viewport settings across layouts
  • Save layout sets, eg per task (modelling, animation), per scene, or per project

Stores and retrieves – per view

  • View type / named camera
  • Perspective view’s viewpoint
  • Shading mode
  • Safe frame
  • Grid state
  • Bg image
  • Bg display
  • Active viewport

Options

  • Quick background image on / off
  • Reset layout / all layouts
  • Save / load settings to file
  • Auto-dock to top or bottom
  • Auto-start with max
  • Clear settings on startup

Download & Installation

Download Viewport Layout Manager 1.2.ms

Run the .ms file once and it will install Views-ViewportLayoutManager.mcr to the 3dsmax/UI/MacroScripts directory, and install the new toolbar automatically.

Bugs and Feedback

Leave comments below :)

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

MultiMaterial Propogator

Creates a multimaterial from a folder of bitmaps, based on a template material

Thursday, August 10th, 2006

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

Simple Credits

Creates sequential text objects. Useful for credits, etc.

Saturday, July 29th, 2006

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

Open Most-recent File

Opens the most recent file, be it an autobackup or a saved file

Tuesday, May 23rd, 2006

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

Get Unmapped Objects

Selects all objects without proper mapping co-ordinates

Thursday, May 11th, 2006

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