NOT YET IMPLEMENTED

NOT YET IMPLEMENTED


fig 1. fig 2. 
The nonLinearBlendShape node is a deformer node that allows you to blend between multiple targets using rendering nodes such as shaders and textures.  Polygonal and NURBS surfaces are fully supported.  Unlike the blendShape node, the topology of the source and target surfaces must match.

The Edit Membership tool is fully supported for this node.

Creation

To create a nonLinearBlendShape, select one or more target objects, select the base object last and then the menu item "Deformers -> Create NonLinearBlendShape".  When the node is created, the name of the target geometry will be aliased to the Target Weight of the nonLinearBlendShape.  For example, if you created two spheres, sphere1 and sphere2 and made a nonLinearBlendShape with sphere2 as a target for sphere1, the Target Weight for the nonLinearBlendShape node would be called "sphere2".

In the Attribute Editor for the newly created nonLinearBlendShape node, you can assign any shading node to the Target Weight attribute, with the following exceptions :

Adding Targets

To add additional targets to a nonLinearBlendShape node, select one or more target objects and use the menu pulldown items "Deformers -> Edit NonLinearBlendShape -> Add Targets To -> ???"  where ??? is the name of the nonLinearBlendShape that you want to add the targets to.  This menu will automatically rebuild itself each time it is opened and will contain the names of all nonLinearBlendShape nodes in the scene.

When adding targets, ensure that the hierarchies of the base object and the targets match and that all topologies match.

Removing Targets

NOT YET IMPLEMENTED - Set the target weight to 0.

Adding and Removing Texture Reference Geometry

When using 3D Textures to control the Target Weight, it is often useful to make the textures "stick" to the surface, rather than slide around when the geometry changes.  You can add Texture Reference Geometry by selecting the object or hierarchy that you want to use at the texture reference geometry and using the menu item "Deformers -> Edit NonLinearBlendShape -> Add Texture Reference To -> ???"  where ??? is the name of the nonLinearBlendShape that you want to add the targets to.  This menu will automatically rebuild itself each time it is opened and will contain the names of all nonLinearBlendShape nodes in the scene.

To remove the texture reference geometry from a nonLinearBlendShape node use the menu item "Deformers -> Edit NonLinearBlendShape -> Remove Texture Reference From -> ???" .

Attributes

Input Target

The Input Target attribute is a compound array attribute which is used to store all of the data for each target geometry.  Each target geometry will be connected at the next available index in the array.  There are two child attributes under Input Target - Input Geom Target and Input Weight Target.
Input Geom Target

Input Geom Target is an array attribute that contains all of the target geometry for the current target.  Often times a target may consist of several different pieces of geometry.  For example, if you were using a patch modeled head as your base surface and it has 20 surfaces, for each target shape that you created (smile, frown, grimmace, etc.) each of the patches would be connected to a different index of Input Geom Target.

It is highly recommended that you do not manually make and break connections to this attribute and instead, rely on the menu pulldown item "Deformers -> Edit NonLinearBlendShape -> Add Targets To" to add any additional targets geometry targets.

Input Weight Target

Input Weight Target is used to define the weighting of the current target.  Any shading node can be connected to this attribute.
Texture Reference Geom

Texture Reference Geom is an array attribute that is similar to the Texture Reference Object in software rendering.  When using 3D textures with as part of the shading network for the Target Weight, the position of the CV's/Verticies of the texture reference geometry will be used instead of the base geometry.

It is highly recommended that you use the menu pulldown items "Deformers -> Edit NonLinearBlendShape -> Add Texture Reference To" and "Deformers -> Edit NonLinearBlendShape -> Remove Texture Reference From" to add and remove texture reference geometry.

Force Update

The Force Update attribute is used to force the nonLinearBlendShape node to update itself, regardless of whether or not it thinks one of its inputs has changed.  

Limitations and Workarounds

Limitation : Node Does Not Update

When using shading groups such as a phong or lambert, and in some cases with advanced shading networks as your input for the weight map, the nonLinearBlendShape node does not update.  This is due to a DG anomoly where the attribute that is connected to the weightMap of the nonLinearBlendShape node does not always refresh when one of its inputs upstream has updated.

Workaround : Keyframe the Force Update Attribute

The Force Update attribute forces the nonLinearBlendShape node to update itself, regardless of whether or not one of the inputs has changed.  You can either manually change the value to force an update or keyframe the attribute changing values over the length of your animation.  

The value that you set the Force Update attribute to does not matter, so long as it is different than the current value.

NonLinearBlendShape Examples

NOT YET IMPLEMENTED

Notes

NOT YET IMPLEMENTED

Uses

NOT YET IMPLEMENTED

P & S (Problem and Solutions)

NOT YET IMPLEMENTED