Free Electron Documented Operators
Common Operator Info
FE SurfaceWrapOp


Moves points, primitives, or fragments to follow a driver surface.

A SurfaceWrapOp expects to find attribute data on the input provided by a SurfaceBindOp, but it may do as well with compatible information generated by other means.


Attributes are read from the Bound Input Surface representing a displaced connection to the Reference Driver Surface. The input and driver should generally be the same inputs that were provided to the preceding SurfaceBindOp. The Deformed Driver Surface should be identical to the Reference Driver Surface except with potentially moved point locations and changed normals. The purpose of this node is for the input to follow the driver from its reference shape to its deformed shaped.


Common threading options are supported as inherited by OperatorThreaded.

Just like SurfaceBindOp, the Bind Attribute Prefix specifies the names where the binding attributes are stored. The value specified for the wrap node should exactly match the value for the corresponding bind node. By using different binding prefixes, multiple bindings to be set up prior to applying the associated wraps. Since these strings are merely attribute name prefixes, it may be possible to confuse the system by carefully crafting very unwise prefixes.

Choosing Discard Bindings should eliminate the attributes targeted by the bind prefix in the output after the wrap has occurred.

Using Check Deformed Driver will make some simple checks to see if the deformed driver surface is compatible with the original driver surface. A successful check does not guarantee good results and these checks do add extra time. It is meant to be used as a temporary mode to help locate easily detectable problems. Since the number of mismatches can be huge, a Message Limit only reports up to a certain number of errors.

The Distance Bias and Distance Scale affects the weighting of multiple bindings based on their respective distances on the input mesh from the reference driver. The scale is a linear gain while the bias affects the exponential curvature.

The evaluation of the driver surface is affect by Sampling. By using Point Normal instead of Linear, the normals are used to arch the driver surface similar to an interpolating spline. For curves, the Spline method will interpret the line segment points as an interpolating Cardinal spline. As an interpolating spline, the evaluated curve will still intersect all the input points.

The option to Rotate Normals is off by default. For Maya, leaving this off is usually advisable and much faster since normals are usually handled by the native auto-generation. For Houdini, it may convenient to compute normals with this node instead of rebuilding them later. Note that the normals produced by this node are a transformation of the input normals. They are not simply new normals regenerated from the output.

The Edgy options can temper the effects of using subdivided drivers by adjusting the frame sampled on the driver to use a less subdivided translational component while still using the fully subdivided rotational component. The added displacement of edginess can by linearly moderated. The Attr specifies a per element scalar and the Envelope provides a uniform scalar. If the named attribute does not exist, only the uniform scalar is used. Otherwise, they a multiplied together. An non-zero Edgy Depth will use a translational component that has some subdivision, but not necessarily as much as the rotational component. If the depth for edginess is greater than or equal to the subdivision depth, edginess will be subverted.

Using Spread will propagate binding weights along the connectivity of the driver surface. The Spread Depth choose the number of spreading iterations. Currently, only single-weight initial bindings and triangle-based drivers are supported.

Using Single Transform limits rotational influence to the primary binding contact. The other bindings only have a translational effect in the local space of the primary contact. This option has only had limited testing, so its future behavior and availability is uncertain.

The Debug Bind option can draw feedback showing connections between output elements and what they are bound to. A Debug Index specifies which numbered element to show. An index of -1 indicates that all elements should be shown.


Clicking the left mouse button will select a point on the output mesh. Only specific input vertex points can be selected, one at a time.

The feedback should show all the driver influences affecting that point, either inset triangles or individual curve segments. The colors indicates the weight of each influence. Since there can be many bindings, transparency is used for clarity, fading feedback that are further away or hidden inside the output surface.


tested in Houdini and Maya


The concept of Edginess is based on "Refining Deformations with Poly Translation Frames on SubD Affectors" from the DreamWorks Research Library.

Web page, Copyright 2015, Free Electron Organization