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" |