The L3 Deformer 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. You can apply them 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.
The L3Deformer package currently contains the following deformation tools:
- Collision Deformer
The Collision Deformer allows you to collide objects with polygon geometry, 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 good control over the final deformation. Typical applications include indentations like e.g. footprints, shrink wrapping, contact animation, skin sliding (muscles, bones) and high viscosity liquid surface simulation. The deformer can also be used to sculpt the target geometry, using non elastic dynamics.
The Collision Deformer supports optional relaxing when applied to a polygon mesh. Relaxing affects nearby vertices and thus smoothes the collision effect. The relax function supports additional parameters to control surface tension and remove wrinkles.
Though the collision computation itself does not require a dynamics simulation, the Collision Deformer actually supports dynamics. Dynamics control the elasticity of the material you want to simulate. Using low elasticity the object will maintain its deformed shape. High elasticity allows the object to revert to its original shape. Elasticity timing and amount is controlled via an animation curve that provides very precise control.
In combination with the L3Library that ships free with the L3Deformer, the Collision Deformer can output its geometry displacement as vertex colors. These data can either be used to drive additional effects in Maya 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.
The Collider node comes with some extra attributes aside from specifying 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 also set the priority and weighting per Collider.
- Curve Deformer
The Curve Deformer can be used to project geometry from a user defined axis (cylinder) onto a nurbs or bezier curve. Typical applications include character animation, path animation, particle flows, text and logo effects, geometry shaping, motion graphics effects, architectural design, visualization 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 wrapping across the ends of a curve, linear curve extension, rotating, twisting and twirling around the curve, curve length equalization, scaling in normal and binormal curve space and more.
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.
Using remap curves the linear mapping from the original axis to the nurbs/bezier curve can be modified in tangent/normal/binormal space. This allows for very precise positioning of geometric components without the need to rebuild or modify the original nurbs/bezier curve. Remap curves can also be used to control effects such as particle acceleration.
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.
- Surface Deformer
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 with few control points and detailed polygon surfaces without topological restrictions. Thus modelling of complex shapes can be done easily on a world plane and is projected into final form using the Surface Deformer. Revolved objects like tires with complex tread pattern are a good example.
You can use 2D/3D texture networks and paint maps using Artisan to control geometry or particle placement and movement on the surface. Thus you can e.g. adjust thickness and displacement locally on surface normal. You can also control the surface normal itself 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.
You can also use an optional second surface to control position and alignment of geometry/particles between primary and secondary surface.
Using UVN remap curves you can modify coordinate mapping from projection plane to nurbs surface which has a linear 1:1 correlation by default. 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 an internal display method including drawing precision settings and automatic display switching depending on the map you currently paint on.
- Texture Deformer
The Texture Deformer displaces shape components using Maya’s shading node networks. RGB channels of the texture output are mapped to XYZ displacement vectors. When deforming polygon geometry the vertex normal can optionally be used as displacement vector with the B texture channel defining each vector’s length. Typical applications include geometry randomization, procedrual modeling, liquid surfaces and more. Using a noise texture (i.e. 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 using projections. Texture networks can contain other node types such as utilities, but you cannot use textures of 3rd party renderers like Mental Ray or VRay. Any 3rd party texture nodes for Maya’s software renderer can be applied.
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.
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.
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. The L3Library that ships free with the L3Deformer provides a node, that allows to animate the time and scale of otherwise static animation curves. Thus the remap effect can also be animated.
Licenses and renderfarms
In case you are going to purchase just a few licenses and want to use your complete renderfarm to render a sequence, the recommended approach is to use a caching tool (like Maya’s internal caching functionality, Alembic, etc.) to bake the deformation and send the cached scene to the renderfarm. Thus you do not need to purchase extra licenses for each individual machine. Caching is a common workflow for many companies we work with.
A list of applications includes
- Modeling (sculpting, shrink wrapping, randomization, poly-nurbs combination)
- Procedural deformation
- Procedural liquid surfaces
- Collision dynamics
- Indentations (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 clients that want to have absolute control down to every polygon and pixel on screen.
We develop tools with these daily production issues 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 quickly set up.
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 a 3rd party 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.