v1.0
animmixer
Creates a Clip and adds it to the Mixer of the specified Model. A clip is an instance of an ActionSource (action or shape animation) or an audio Source object.
oReturn = AddClip( Model, Source, [Compound], [Track], [Time], [Name], [ConnectionMappingTemplate], [ValueMappingTemplate], [ShareParent] ); |
Returns a Clip object.
| Parameter | Type | Description |
|---|---|---|
| Model | String | Model to add the clip to. |
| Source | String | Source for the clip. Typically, a "source" is an action. |
| Compound | String | Compound container (track owner) to add this clip to. |
| Track | String | Track to add this clip to. |
| Time | Double | Frame at which to add the clip.
Default Value: Current frame |
| Name | String | Name for the new clip. |
| ConnectionMappingTemplate | String | The connection mapping template to use for the new clip.
Default Value: The active connection mapping template. |
| ValueMappingTemplate | String | The value mapping template to use for the new clip.
Default Value: The active value mapping template |
| ShareParent | Boolean | Share the source (when coming from another model).
Default Value: True |
'
' This example creates a simple Action and instantiates it
' on two different objects using a connection mapping template.
' It shows very basic mixer scripting -- creating Actions, tracks
' and clips, as well as a simple mapping template.
'
' Create objects for our example.
set oSphere = CreatePrim( "Sphere", "MeshSurface" )
set oCone = CreatePrim( "Cone", "MeshSurface" )
posParams = "/kine.local.posx,kine.local.posy,kine.local.posz"
' Make an Action with it moving diagonally over 20 frames.
SetPositionKey oSphere, 1, -5, -5, 0
SetPositionKey oSphere, 20, 5, 5, 0
set oSource = StoreAction( , oSphere & posParams, 2, "Diagonal", True, 1, 20 )
' Create a track and instantiate the Action onto it, starting at frame 10.
set oTrack = AddTrack( "Scene_Root", , 0 )
set oClip = AddClip( "Scene_Root", oSource, , oTrack, 10 )
' Make the clip play with three bounce cycles.
SetValue oClip & ".actionclip.timectrl.extrapaft_type", 3
SetValue oClip & ".actionclip.timectrl.extrapaft_nbbounces", 3
' Now create a connection mapping template so that the same
' Action source can be applied to the cone.
CreateConnectionMap oCone, oSphere, oCnxMap
' Use the connection map to add another clip, so it will
' drive the cone instead. We don't specify a track so it
' will create a new one for the clip.
set oClip = AddClip( "Scene_Root", oSource, , , 1, "Slow", oCnxMap )
' Slow the cone's clip to play at one-quarter speed.
SetValue oClip & ".actionclip.timectrl.scale", 1/4
'==================================================
' Helper method to key an object somewhere at a given frame.
'==================================================
sub SetPositionKey( in_oObj, in_frame, in_posX, in_posY, in_posZ )
Translate in_oObj, in_posX, in_posY, in_posZ, siAbsolute, siParent, siObj, siXYZ
SaveKey in_oObj & posParams, in_frame
end sub
|