The L3Deformer toolset is a collection of advanced deformation nodes and utilities for Maya. These deformers work pretty much the same as Maya’s internal deformation nodes. All deformers except the Collision Deformer can be applied to geometric objects such as polygon meshes, nurbs surfaces, nurbs curves, subdivision objects, lattices and particles. Multiple deformers can be combined to achieve more sophisticated deformation effects. All deformers make full use of threading where applicable.
The Collision Deformer allows you to collide polygon objects with other polygon geometry or a sphere primitive, using projected collisions (directional, concentrical and cylindrical). This method does not require a dynamics simulation. Thus the collision effect is computed interactively while moving objects in the scene which provides very precise control over the final deformation. Typical applications include indentations like e.g. footprints, shrink wrapping, contact animation, skin sliding (muscles, bones) and liquid surface simulation.
The deformer can also be used to sculpt the target geometry, using non elastic dynamics. This mode allows you to sculpt geometry interactively by transforming attached colliders. All collision deformations are maintained unless you go back to the specified start frame, where the geometry is reset to its original state. Using this method you can build kind of a stackable sculpt history by animating colliders with Maya’s standard animation features.
The Collision Deformer supports optional relaxing that can be used on its own without applying collisions. Relaxing distributes vertices evenly. It can be used to smooth meshes and thus even out wrinkles or spikes. Combined with collisions it provides a tool to reduce sharpness of indentations and spread the collision effect out to regions without actual collisions.
The relax function supports a host of parameters to control surface tension and apply a shrink effect.
Relaxing also works great when post processing fluids meshes (nFluids, Bifrost, etc.) to even out triangle distribution. Combined with collision detection you can create fluids meshes that follow the collider’s shape very precisely.
Depending on the material you want to simulate indentations may cause bulging around the collision area. Bulging is computed using the relax iteration process. The bulge can be created along a component’s normal or a custom directional vector. Bulge spreading directly relates to the number of relax iterations. Two diffent methods are used to compute bulging that can be combined freely.
Though the collision computation itself does not require a dynamics simulation, the Collision Deformer actually supports dynamics. Dynamics can be used to control the velocity and elasticity of the material you want to simulate. When using zero velocity/elasticity the object will maintain its deformed shape. In this mode the collider acts like a sculpting tool. High elasticity allows the object to revert to its original shape once the collider moves away. Elasticity timing and amount can also be controlled by an animation curve that provides very precise tuning. Velocity can be used to "swing" components back to their original position when a collider is moved.
Vertex Colors / Collision Based Painting
The Collision Deformer can output its geometry displacement as vertex colors. These data can either be used to drive additional effects in Maya’s node network or during rendering. Thus you can e.g. use the collision depth as a mask to add scratches or other shading effects to deformed regions. The Collision Deformer allows to disable component displacement and output vertex colors only. Using this method you can "paint" with colliding geometry without actually deforming the target surface.
You can connect any number of Colliders to a Collision Deformer. A Collider either uses a collision mesh or an internal sphere primitive.
The Collider specifies the type of projection. You can choose between inward and outward projection for concentrical and cylindrical projections.
You can also specify which side of a polygon to consider during collision detection (front, back or both).
Soft depth and resistance attributes simulate the effect of soft collision geometry that can be compressed to some degree. When using multiple overlapping collision objects you can set the priority and weighting per Collider.
The collision depth can be controlled per Collider. This allows to simulate advanced effects like creating bulge ripple shapes or velocity impulses.
Projection Onto Nurbs/Bezier Curve
The Curve Deformer can be used to project geometry from a user defined axis (cylinder) onto a nurbs or bezier curve. Typical applications include path animation, lightning effects, character animation, particle flows, text and logo effects, geometry shaping, motion graphics effects and many more.
The deformer supports an optional alignment curve that is used to compute normal and binormal vectors and thus controls rotation of deformed components about the position curve’s tangent vector. The alignment curve can also be used to scale geometry individually along normal and binormal using the distance between points on the position and alignment curve.
The Curve Deformer supports a host of placement options. This includes rotating, twisting and twirling geometry around the curve. Objects can be scaled in normal and binormal curve space.
Curve Range & Extension
When animating geometry along periodic curves you can enable wrapping to move objects across the curve’s endings. Optionally you can enable automatic curve extension to continue moving geometry along a linear path beyond the curve’s endings.
Using Textures & Animation Curves
You can apply 2D/3D textures and animation curves to control component placement along and around the curve. These options provide very precise methods for radial/normal/binormal scale/displacement and twist/twirl effects. Both textures and animation curves are excellent detailing tools, even if the underlying nurbs/bezier curve does not provide that amount of detail.
Remapping Parametric Space
The Curve Deformer provides several methods to modify the parametric space of the target curve. The most basic option is equalization of the curve. This ensures equal spacing without the need to rebuild the curve.
Using tangent/normal/binormal remap curves the mapping from axis to curve can be modified. This allows for very precise positioning of geometric components and achieve local stretch and squash effects along all three curve-space axes. Remap curves can also be used to control effects such as particle acceleration or special animation effects.
The tool provides a set of display options to ease both setup and tuning. It can draw a marker at the position/alignment curve’s origin, draw the curve’s extension vectors, draw lines that show the linkage between position and alignment curve and display the original, non deformed input points.
Projection Onto Nurbs Surface
The Surface Deformer projects objects from a user defined plane onto a nurbs surface. Typical applications include text and logo animation, motion graphics effects, geometry shaping, procedural liquid surfaces, particle flows and many more.
When using the Surface Deformer as modelling tool you can combine the advantages of smooth, parametric nurbs surfaces and complex polygon meshes. This allows to model detailed shapes linearly layed out and and project them into final form using the Surface Deformer. Revolved objects like tires with complex tread pattern are a good example. It would be a lot more complicated to work in deformed space.
Using Textures & Paintable Maps
You can use 2D/3D texture networks and paint maps using Artisan to control geometry placement and movement on the surface. Thus you can e.g. locally control thickness and displacement of deformed geometry. You can also control the surface normal by modifying polar/inclination values or applying a bend effect. Textures and paintable maps are excellent detailing tools even if the underlying nurbs surface does not provide that amount of detail.
Second Control Surface
You can use an optional second surface to control position and alignment of geometry between primary and secondary surface.
Remapping Parametric Space
Using UVN remap curves you can modify coordinate mapping from projection plane to nurbs surface. Thus you can easily squash or stretch parts of an object or control acceleration when moving particles along a surface. These remap curves can also be used to even out (equalize) local nurbs surface regions without the need to modify or rebuild the nurbs isoparm/control vertex layout.
The tool provides a set of display options to ease both setup and tuning. It can draw colored lines to highlight the UV start isoparms of the nurbs surface and display the original, non deformed input points. When painting maps using Artisan the Surface Deformer uses a custom display method. This gives detailed control over drawing precision and automatic display switching depending on the map you currently paint.
Sampling Shading Networks
The Texture Deformer displaces geometry using Maya’s shading node networks. RGB channels of the texture output are mapped to XYZ displacement vectors. When deforming polygon geometry displacement can be applied along the normal vector. Typical applications include geometry randomization, procedrual modeling, liquid surfaces and more. Using a noise texture like Maya’s volume noise you can turn the Texture Deformer into a noise deformer.
The Texture Deformer works with Maya’s 3D textures. 2D textures like image sequences or ramps can also be applied either by using projections or mesh UVs when deforming polygon geometry. Texture networks can contain other node types such as utility nodes, but you cannot use textures of 3rd party renderers like Mental Ray, Arnold or VRay. Any 3rd party texture nodes developed for Maya’s software renderer can be applied.
Displacement Vector Rotation
The Texture Deformer provides several different methods to compute the displacement vector. Using the distortion feature you can apply a second texture network to modify the rotation of displacement vectors. The combination of displacement and distortion texture sampling allows for a wide variety of deformation effects.
Textures like Maya’s volume noise only produce a monochrome color. With RGB being mapped to XYZ it is often desirable to get individual values for each color/axis. The Texture Deformer has an option to perform three separate sample calls, one for each color channel. With each call sample coordinates (XYZ and UV) are offset and scaled by a user definable amount.
Per Object Splitting
Per object channel splitting works pretty much the same as channel splitting, but it applies a sample coordinate offset and scale per object instance attached to the Texture Deformer. This allows e.g. to place 10 spheres at the origin and with each one receiving a different deformation pattern.
Using the "slope" feature you can modify the displacement of polygon vertices based on the delta between the vertex normals and a reference vector. You can also use an animation curve to control the slope, which provides detailed control over slope falloff. Thus you can e.g. apply displacement only to faces pointing upwards.
Remapping Colors With Animation Curves
Animation curves can also be used to remap the RGB values of textures. This method is way more precise and flexible than using Maya’s ramps to remap colors. L3Library provides a node, that allows to animate the time and scale of otherwise static animation curves. Thus the remap effect can also be animated.
A list of applications includes
- Modeling (sculpting, shrink wrapping, randomization, poly-nurbs combination)
- Procedural deformation
- Procedural liquid surfaces
- Collision dynamics
- Indentations including bulging (footprint, etc.)
- Skin – bone/muscle collision & sliding
- Surface damaging
- Archtitectural design
- Landscape creation
- Motion graphics
- Text and logo animation
- Character animation
- Particle and geometry flows
We have a strong production background and more than 15 years of experience in digital content creation for film, games, commercials and other types of media. We know that things have to be finished yesterday and time pressure can be fatal when working creatively. We also know the need to have absolute control down to every polygon and pixel on screen.
We develop tools with these daily production requirements in mind. We try to come up with solutions that e.g. use procedural approaches instead of simulations to be able to scrub to any frame and see the results without the need for lengthy dynamics runups. Of course we cannot eliminate the need for simulations, but we can provide tools that allow an artist to push computation intense work back in production schedule and do previz and client coordination using fast, procedural methods that are set up quickly.
Providing the artist with maximum control is another important aspect of our tool development. We often make multiple methods available that complement each other to control a single function, bearing different types of artists in mind. One artist may want to paint maps using Artisan or his favourite painting software to control a feature. A technical artist may rather use procedural ramps or noise textures to control things.
When using our tools you may notice some overlap in functionality. Often functions look similar, but work slightly different in the context of each individual tool. We like to control things using as few nodes as possible so we have everything clearly laid out in one place. This also increases performance, because functions can reuse data that have already been computed within a node and less data have to be transferred between nodes. Using a complex node network where every node modifies just a tiny portion of the outcome can be confusing, especially if a scene needs to be handed over to another artist. Of course there are exceptions where you need to combine nodes to achieve a complex effect and our tools support this workflow.
"What you see is what you get" is a huge priority with us. Accordingly, most of our tools come with a host of display options to ease the setup and tuning process. In special cases we have replaced Maya’s display features if they provide insufficient detail or functionality.
Over the last years each tool has gone through many different applications, iterations, redesigns and extensions to ensure maximum usability, include the latest technology developed at Lightstorm3D and utilize new features added with each major release of Maya.