iDeform is a collection of three deformers for Maya:
A displacement deformer with the ability to use locators or curves to define the area of influence as a dropoff control. The dropoff function is furthermore defined through a curve ramp in the attribute editor.
With the 2015 release Maya comes with it’s own texture deformer and iDisplace almost becomes obsolete. However, iDisplace still features dropoff points and curves, which makes it the more versatile choice if better control is needed. On the other hand, the default Maya texture deformer supports vector displacement and better deformation speed.
A collision deformer which provides simple collision effects without the need for simulations. It has been inspired by the StretchMesh Deformer made by Kickstand. With their deformer being OpenSource since 2012 it has been a great learning resource for writing plug-ins for Maya.
iCollide offers simple ground collisions as well as with other mesh objects. The deformation can be shaped with a number of attributes and regular curve controls via the attribute editor. The deformation can be either flexible or even kept after the collision for permanent deformation effects. Color controls optionally apply vertex coloring based on the various deformation attributes.
This deformer allows to add skin sliding as well as skin attraction effects to a mesh. Skin sliding can be controlled through a control object and keeps the original mesh shape while deforming the vertices over the existing surface. Skin attraction can be useful for applying sticky effects to the mesh and can be used for lips of a character.
iSkinDeform is deformer-based version of the slide components tool if the Maya Bonus Tools and has also been influenced by the the reel at Chad Vernons site (which is a great source for getting started with the maya API).
Maya versions 2012, 2013, 2014, 2015, 2016, 2017 on OS X, Windows 64 bit, Linux 64 bit.
Please see the general install guide.
After loading the plug-in the deformers are available through:
Modeling/Rigging/Animation Menu > iDeform
Select a mesh to use as a collider surface and your mesh to deform and create the deformer.
For simple ground collisions only the mesh to deform needs to be selected.
Select an object as a controller, such as a locator, and your mesh object to deform and create the deformer.
Only mesh objects are supported up to this point.
Even if it’s possible to connect several objects as colliders performance may drop with lots of objects or detailed meshes. Also the quality of the deformation effect might be below expectations whenever some colliders affect the same region of the mesh.
For more complex collision effects other solutions might work better but please keep in mind that iCollide was built to serve as a quick collision deformation solution.
Collision objects have to be volume objects. Using a plane as a collision object does not work.
- Bulge: Controls the amount of bulging when the collision happens.
- Radius: Defines the distance the bulging effect affects the mesh from the point of collision.
- Offset: Offsets the collision surface.
- Use Ground: Adds a simple ground collision to the mesh. The ground collision effect is calculated before the collision with other collider objects.
- Ground Height: Defines the height of the virtual ground plane for the ground collision.
- Mode: With mode set to ‘Relax’ the mesh will go back to it’s original shape after the collision. When set to ‘Trace’ the deformation will be kept even the surface doesn’t collide anymore.
- Use Start Frame: Defines if the deformation is reset in ‘Trace’ mode when the current time equals the ‘Start Frame’ attribute.
- Start Frame: The frame on which the deformation is reset in ‘Trace’ mode.
- Bulge Shape: Defines the shape of the deformed mesh in the bulging areas.
- Collision Noise: Optionally adds a simple randomness to the deformed vertices of the mesh. Different ‘Seed’ values produce a different offset to the vertices.
- Use Colors: Applies vertex coloring to the vertices of the deformed mesh.
- Result: Defines if the mesh is deformed and colored or only gets the color applied based on the deformation attributes.
- Color Mode: Defines the source for the color effect. The options are ‘Displacement’, ‘Bulge’ and ‘Radius’.
- Max Displacement: Defines the upper boundary when mapping the displacement to the color gradient. This controls how the color from the color ramp is distributed amongst the displaced vertices.
- Scale Factor: This is a multiplier for the for the ‘Max Displacement’ reference value. This can be useful when working with deformations at a small scale.
- Smooth: Averages the color of neighbouring vertices.
- Default Color: Defines the color for all vertices that are not affected be any collision.
- Color Gain: A multiplier for the color effect.
- Acceleration Range: Maximum distance for closest point calculations for collision points. This value should be kept as low as possible to allow for best performance. It should be increased if the needed collision distance is larger then this value and the affected vertices are moved to the origin.
This video demonstrates how to use vertex colors produced by the iCollide deformer as a masking effect for mesh displacement created by the iDisplace deformer.
- Texture: Links your file texture or procedural texture to the deformer.
- Use UV: Uses the UVs of the object when working with 2d texture nodes.
- Local: Useful when working with 3d texture nodes. Only the placement of the 3d texture is calculated and the position of the object is ignored.
- Scale: Define the amount of displacement applied to the geometry.
- Offset: Moves the affected vertices along their normals to produce an offset effect.
- Type: Defines the direction of the displacement. ‘Normal’ uses the vertex normals for the direction, ‘Placement’ uses the first placement node found in the connected shading graph to modify the ‘Direction’ vector, ‘User’ takes a connected matrix plugged into the directionMatrix attribute of the deformer to modify the ‘Direction’ vector.
- Use Colors (experimental): With this enabled the color of the texture is taken into account for modulating the normals and displacing the vertices. In the current version, there is no real use for this feature but implemented anyway.
- Use Dropoff: Enables the use of either dropoff locators or dropoff curves.
- Dropoff Type: Defines the type of dropoff, which can be ‘Point’ (dropoff locator), ‘Curve’ or ‘Vertex Color’ (connected iCollide mesh).
- Radius: The radius of influence when using the dropoff function.
- Color Set Name: The name of the color set to use from the connected iCollide mesh.
- Color Channel: Defines which color channel is used as the source for the vertex color based dropoff.
- Color Gain: Multiplier for the vertex colors.
- Color Gamma: Gamma adjustment for the vertex colors.
- Dropoff Curve: Defines the amount of displacement originating from the dropoff object within the dropoff ‘Radius’.
- Curve Falloff: Defines the amount of displacement along the U value of the used curve when using dropoff curves or a locator chain.
- Strength: General multiplier for the deformation effect.
- Radius: Defines the distance to the control object in which vertices are effected by the deformer.
- Falloff: Controls the strength of the deformation within the deformer radius.
- Attractor: Let’s you choose between the type of attractor. Choices are ‘Point’ (transforms) or ‘Curve’.
- Pinch: Controls if the affected vertices are moved along their normals or towards the influence object.
- Negative Clamp: This option disables any movement of vertices opposite their normal direction. This feature is beta only as it can lead to unexpected results dependent on the affected area. Must only be used with care.
- Curve Falloff: Controls the amount of influence in U direction when using a curve as a control object.
- Sliding: Switches from the ‘Attraction’ mode of the deformer to ‘Slide’ mode.
- Method: Defines how the position of the moved vertices is calculated. ‘Raycast’ is more accurate but can lead to more overlapping effects when using more extreme positions of the influence object, ‘ClosestPoint’ has less overlapping effects but can be less accurate.
Version 1.5.1, updated 2016-09-27