Monday, June 4, 2012

Custom Image Plane and Correct Aspect Ratio

When i read this post on cgTalk i remembered a tool i wrote some time ago for a friend that needed a custom mesh based image plane. So i dug out the script and made a little tool from it. 


The setup is fully node based (no expressions, fully interactive) and calculates the corners of the image plane from camera aperture and focal length. Locators are placed at these calculated positions. The scaling of the image plane is then calculated from the distance between these locators.
There's an attribute on the camera shape called "Image Plane Distance" which lets you - as the name implies - adjust the plane's distance from the camera. Another attribute ("Use Film Offset") lets you define whether the image plane should be offset with the cameras film offset. A shader with connected file texture is also automatically created (and assigned) to the image plane as well as a display layer.

For the system to work, the camera's Film Aspect Ratio (the aspect ratio of the aperture) must match the Device Aspect Ratio (the with/height ratio of the rendered image). When creating a custom image plane, the tool will automatically adjust the cameras aperture for matching aspect ratios. To ensure that your framing is maintained, the aperture can only be adjusted in certain ways depending on your setting for the Film Resolution Gate (Film Fit). 

Here are the rules for adjusting the aperture and maintaining the framing:

// FILL
// adjustment depends on difference between device aspect ratio and film aspect ratio
   // if film aspect ratio > device aspect ratio --> adjust horizontal aperture
   // if film aspect ratio < device aspect ratio --> adjust vertical aperture
 
// HORIZONTAL
  // adjust vertical aperture
 
// VERTICAL
  // adjust horizontal aperture

// OVERSCAN
// adjustment depends on difference between device aspect ratio and film aspect ratio
   // if film aspect ratio > device aspect ratio --> adjust vertical aperture
   // if film aspect ratio < device aspect ratio --> adjust horizontal aperture

You can also use the script to only adjust the cameras film aspect ratio (without creating the image plane). It's advisable to do this before exporting your camera (e.g. to Nuke or Fusion) to ensure the camera will match the footage.

You can download the tool HERE.

Known issues:
This system only works for square pixels because it does not take the Pixel Aspect Ratio into account. It would be possible to integrate, but i never render anything but square pixels.

Tuesday, May 22, 2012

Voronoi Texture Fracture

UPDATE:
Tool has been updated multiple times since this post. Fixed bugs, added features. More stuff to come ...

I'm currently taking the Advanced Maya Dynamics - Breaking Ground class at CGWorkshops taught by David Alexander. The stuff we went through in the first week inspired me to write this little tool. 

Voronoi Texture Fracture GUI
It can fracture flat objects based on an image or by using voronoiTexture3D. The voronoi texture can be created and adjusted through the GUI as well as the options for the texture to geometry conversion.

Fractured and extruded pieces generated from a poly plane (click to enlarge)

Features:
- create and assign a (SOuP) voronoi shader (+sets hw shading options)
- auto convert shader to image 
- fracture geometry using (this) image
- separate texture2geometry output by object ids (SOuP)
- remove redundant edges (any but border edges)
- extrude all fractured parts
- create shaders per piece
- center pivots of fractured pieces

You will need to have the SOuP plug-in by Peter Shipkov installed and loaded for this script to work.

Download the script HERE.

Tuesday, January 17, 2012

Magnetic nParticles

Some time ago I've been trying to achieve various magnet related particle effects. The first one was having particles form magnetic field lines around a simple bar magnet (or later any other object).


The particles are almost entirely expression driven (hermite, smoothstep and the like) with the help of some custom vector per-particle attributes. There are some additional attributes on the magnet controller which let you turn the magnet on and off, change its size and range as well as the number of field lines.


The field lines are still kind of static. There is a noise option (see image) but it's really basic and not adjustable for the time being (turned off in the video). As for now the particles are spread evenly over all field lines. But I'd love to have them accumulate at the start and end of a field line first, before they build the full shape. So I might update it when i find the time ...


Orient By Velocity

Just uploaded a small script that that i wrote in my spare time. It can orient an object in its direction of travel - or in other words: its velocity - like the name indicates ;) ...


It's just something i put together real quick when i got tired of readjusting keys after changing the length of a motion path. I use it in conjunction with editable motion trails in Maya 2012. Now i can animate the translation in freeform and still have the advantage of a motion path like auto-rotation. Little extras are an animatable reverse attribute and a little speed HUD.

Download HERE.

Saturday, January 14, 2012

Exploded View Rig for Audi Showroom Movie

Another youtube find: A project for Audi I worked on last year at RTT. I developed the explosion rig (fully node-based), wrote a tool to create and animate the rig, animated most of the explosion shots as well as camera and car in some other shots.


I hope I can post a demonstration video of the rig and tool some time soon. Will have to clarify the legal situation (copyright-wise, concerning the model and tool) with RTT first though ...