Selects a list of objects as shape keys for another object. Selecting
shape keys can optionally set up a relation between the target object
or cluster and the shape keys, allowing to you fine-tune the shape keys
and have those adjustments appear on the target object or cluster.
Selecting shape keys creates shape sources but you also have the option
of automatically creating a shape clip in the mixer similarly to
SaveShapeKey.
With shape animation (sometimes called morphing), you can change
the shape of an object over time, animating the geometrical shape
of an object using clusters of points (clusters made of polygons
or edges are not supported). You can use surface (NURBS) or polygon
objects to create shape animation, or even curves and lattices--any
geometry that has a static number of points.
In Softimage, all shape animation is done on clusters. This means that you
can create different clusters on an object and create shape keys for
each of them; or you can treat a complete object as one cluster and
save shape keys for it. For more information on clusters in general, see
the Softimage user guide.
oReturn = SelectShapeKey( InputObj, SourceObj, [RefMode], [Relational], [ApplyKeys] ); |
Returns the shape key(s) as an XSICollection of ShapeKey objects.
Parameter | Type | Description |
---|---|---|
InputObj | String | List of objects to be deformed. |
SourceObj | String | List of objects that define the shape keys. |
RefMode | siShapeReferenceMode |
The reference mode of the shape key created Default Value: siShapeLocalReferenceMode |
Relational | Boolean |
Keep a modelling relation between the created shape and the selected geometry. Default Value: True |
ApplyKeys | Boolean |
Apply the shapes on the mixer given the shape instancing mode. Default Value: False |
'This example creates 3 spheres: 1 basic sphere and 2 deformed ones. 'The two deformed spheres have a different shape. ' 'The basic sphere will then use the two deformed spheres as shape 'sources, in order to morph between the two shapes. 'Create 3 sphere, give a different shape to 2 of them. NewScene CreatePrim "Sphere", "MeshSurface" SetValue "sphere.sphere.radius", 1 Duplicate "sphere", , 2, 1, 1, 0, 0, 1, 0, 1 Translate , -3, 0, -3, siRelative, siView, siObj, siXYZ SetSelFilter "Point" AddToSelection "sphere1.pnt[0-8,30-36]", , True AddToSelection "sphere1.pnt[0,1,16-22,44-50]", , True Scale , 1.9, 1.9, 1.9, siRelative, siGlobal, siObj, siXYZ Duplicate "sphere", , 2, 1, 1, 0, 0, 1, 0, 1 Translate , 3, 0, -3, siRelative, siView, siObj, siXYZ SetSelFilter "Point" AddToSelection "sphere2.pnt[*]", , True RemoveFromSelection "sphere2.pnt[0-8,30-36]" RemoveFromSelection "sphere2.pnt[0,1,16-22,44-50]" Scale , 2.4, 2.4, 2.4, siRelative, siGlobal, siObj, siXYZ 'Call SelectShapeKey to create 2 shapes based on the 2 deformed spheres SelectShapeKey "sphere", "sphere1,sphere2",_ siShapeLocalReferenceMode, True, False 'Apply the 2 shape keys ApplyShapeKey "sphere.polymsh.cls.sphere1_ShapeKey.sphere1_ShapeKey,"_ & "sphere.polymsh.cls.sphere1_ShapeKey.sphere2_ShapeKey", , , 1 ApplyShapeKey "sphere.polymsh.cls.sphere1_ShapeKey.sphere2_ShapeKey", , , 2 'Change the weights in order to see the blend between 'the 2 shapes on the target sphere SetValue "Mixer.Mixer_Shape_Track.sphere1_ShapeKey_ClusterClip."_ & "Mixer_Shape_Track2.sphere2_ShapeKey_Clip.actionclip.weight", 1 'Changing the sliders' values of sphere.ShapeWeights will blend 'from one source shape to the other: InspectObj "sphere.ShapeWeights" |