Wrap Prep SOP


This sop is one of 3 sops that use one surface to deform another based on the weighted proximity of the points in the driver surface to the deformed one. This sop performs the preparation phase on the driver surface by turning it into a collect of points with axis attributes.  The surface will appear to dissappear but all that has happened is that it has been turned into a point cloud with a point at the center of each of the input polygons.  You can now alternatively use an attributeReorient sop to replace this sop, or you can use this sop to create the orient attribute.

NOTE: Using the orient attribute is recommended as it is a faster method.


The surface to be prepared (driver) must be polygons.

One wrap prep sop should be connected to an undeforming driver surface and one should be connected to the deforming driver surface.
The undeforming one then goes into the second input of the wrap capture sop and the second input of the wrap deformer.
The deforming wrap prep ges into the third input of the wrap deformer.

To use the orient attribute the second input of the deforming wrap prep sop should be connected to the first undeforming wrap prep.

The input geometry can optionally have 3 additional attributes on it that modify the capture process.  The attributes are "partition",  "weight" and "radius".  The existance of "weight" and "radius" attributes will override the parameter values on the wrap deform sop.

The partition attribute is an integer primitive attribute taking the value 0,1 or 2 this works in conjunction with a partition point attribute added to the capture geometry.
A simple set of rules control how these partitons influence each other.   If a primitive in the driver surface has a partition value that matches that of the point partition attribute of the captured surface then the primitive can be concidered in the capture, additionally primitives with a value of 1 can influence both points with partition values of 0 and 2, however primitives of value 0 can't influence points of value 2 and vice versa primitives of value 2 can't effect points of value 0.

The weight attribute is a primitive attribute that adds an additional level of control over the influence each primitive has on the capture.  A weight of zero means the polygon won't have any influence on the captured geometry and a weight of 1 is the default weight.  The weights in the final deformation are normalised, so setting all poly weights to 0.5 is the same as leaving them all at 1.


Add orient attribute - faster! The wrap deform sop is now compatible with the orient attribute as created by the attribute orient sop, or this wrap prep sop and as also generated by DOPs. Turning this option on creates an orient attribute for use with the deformer step, it is recommended to use this option as it is quicker than the axis method. To use it you need to wire a wrap prep sop into the second input. This second wrap prep sop should be connected to the rest position for the driving geometry. See the example hips files for how this works.
Add disc radius One of the options of the Wrap capture sop is to use visibility weighting if you choose that option then this disc radius attrubute needs calculating, so turn this toggle on.
Keep prim col Turning this on means you have the option to see in colour which polys are used in the capture step.
Keep prim weight Turning this on keeps the primitive weight attribute on the grometry for use by the capture step.
Keep prim partition Turning this on keeps the primitive partition attribute on the grometry for use by the capture step.