v1.0
Removes deformers from an envelope. Every point in an envelope
is assigned to one or more deformers. For each point, weights control the
relative influence of its deformers.
Deformers are the objects that control the shape of the envelope. You pick
the deformers when you first create an envelope deformation, but you can
still add and remove deformers later if necessary.
Although it is common to use skeletons as deformers, you can actually use
any object. The geometry of a deformer does not matter because the points
of the envelope are assigned to its center. (Bones are the exception--points
are deformed by the whole length of a bone.)
Whether you use a cube, a sphere, or a null, all transformations of the
surrounding envelope are relative in size, orientation, and position to
the deformer's center, not its shape. Nulls and implicit objects are good
choices because they do not render.
RemoveFlexEnvDeformer( [ConnectionSet], [Interactive] ); |
Parameter | Type | Description |
---|---|---|
ConnectionSet | ConnectionSet |
Specifies the envelope and the deformer objects to remove. See OpPreset for details on the connection set required for this operator. Default Value:
Currently selected objects are used as the main group. |
Interactive | Boolean |
True to prompt user to pick objects. Default Value: False |
'This example builds an envelope made of 2 skeleton objects on a sphere 'and a cylinder. Then, it removes individual deformers from the cylinder, 'and all envelope components from the shere. ' 'The deformers removed from the cylinder are outputted in the log. NewScene Set Sphere = CreatePrim("Sphere", "MeshSurface") Set Cylinder = CreatePrim("Cylinder", "MeshSurface") SetValue Cylinder & ".polymsh.geom.subdivu", 16 SetValue Cylinder & ".polymsh.geom.subdivv", 16 SetValue Cylinder & ".cylinder.height", 7.325 Create2DSkeleton 0.1, 0.7, 0, 0, 3.6, 0, 0, 0, 0, 4 Create2DSkeleton 0.0, -0.3, 0, -0.2, -3.6, 0, 0, 0, 0, 4 ApplyFlexEnv Sphere & "," & Cylinder & ";bone1,bone", False Translate "eff", 2.5, -2.0, 0, siRelative, siView, siObj, siXYZ Translate "eff1", 3.7, 1.8, 0, siRelative, siView, siObj, siXYZ SelectDeformersFromEnvelope Cylinder Set Bones = SIFilter(, "Chain_Element") 'Remove 1 by 1 all deformers of the cylinder. 'However, the envelope and the envelope weight property remain. For i = 0 to Bones.Count - 1 logmessage "Removing " & Bones(i) & " from the deformers of " & Cylinder RemoveFlexEnvDeformer Cylinder & ";" & Bones(i) next 'Call RemoveFlexEnv: removes deformers of the sphere. 'The envelope and the envelope weight property are removed too. RemoveFlexEnv Sphere 'This example outputs the following: ' 'INFO : "Removing bone1 from the deformers of cylinder" 'INFO : "Removing bone from the deformers of cylinder" 'INFO : "Removing eff1 from the deformers of cylinder" 'INFO : "Removing eff from the deformers of cylinder" |