SaveDeformKey

Description

Saves a key on a pose-based deformation. Given a cluster of points, the shape of which is linked to a set of parameters with the LinkDeform command, this command associates the current positions of the points in the cluster to the current parameter values it is linked to.

Pose-based deformation (which is based on multi-linked parameters) allows you to link the shape of a cluster to several parameters simultaneously. The resulting shapes are smoothly interpolated in the space defined by the parameters. Pose-based deformations are particularily useful to link the shape of muscles to bone orientations or other parameters.

Scripting Syntax

oReturn = SaveDeformKey( [InputObj], ClusterShapeKey );

Return Value

Returns the key.

Parameters

Parameter Type Description
InputObj String Points, clusters, or an object.

Default Value: Current selection

ClusterShapeKey String Cluster shape key to use for setting the deform

Examples

VBScript Example

' This example illustrates how to control the shape of an object (a sphere) based 

' on two parameters: its position in x and in z.

NewScene

' Here we create the geometry that will be deformed

CreatePrim "Sphere", "MeshSurface"

' We create the specific cluster that will be deformed

SelectGeometryComponents "sphere.pnt[4-6,11-13,18-20,25-27,32-34,39-41,46-48,53-55]"

CreateCluster

' We link the deformation of the new cluster to the position of the sphere in x and z

LinkDeform "sphere.polymsh.cls.Point", "sphere.kine.global.posz,sphere.kine.global.posx"

' Finally we model and save deform keys defining the relationship between the different

' sphere positions and the shape

Translate "Sphere", -10, 0, 0, siAbsolute, siParent, siObj, siX

ActivateVertexSelTool

Scale "sphere.polymsh.cls.Point", 0.267441860465116, 1, 1, siRelative, siLocal, siObj, siXYZ

SaveDeformKey "sphere.polymsh.cls.Point"

Translate "Sphere", 10, 0, 0, siAbsolute, siParent, siObj, siX

Scale "sphere.polymsh.cls.Point", 0.313953488372093, 1, 1, siRelative, siLocal, siObj, siXYZ

SaveDeformKey "sphere.polymsh.cls.Point"

Translate "Sphere", 0, 0, 10, siAbsolute, siParent, siObj, siZ

Scale "sphere.polymsh.cls.Point", 1, 1, 0.302325581395349, siRelative, siLocal, siObj, siXYZ

SaveDeformKey "sphere.polymsh.cls.Point"

Translate "Sphere", 0, 0, -10, siAbsolute, siParent, siObj, siZ

Scale "sphere.polymsh.cls.Point", 1, 1, 0.27906976744186, siRelative, siLocal, siObj, siXYZ

SaveDeformKey "sphere.polymsh.cls.Point"

' To see the result translate the sphere in the XZ plane. The multi-link interpolator 

' calculates a smooth blending between the deform keys over the space defined by the 

' two parameters.

See Also

LinkDeform ApplyDeformKey