EqualizeAction

Introduced

v1.5

Categories

animmixer

Description

Creates and returns a new compound clip given an action. The new compound clip holds the new clips, each one representing the contribution of a specific frequency in the original source/clip. It is then possible to "Equalize" the original source/clip simply by playing with the weights of the clips contained in the resulting compound clip.

When you equalize a clip, you do not change the frequencies contained in the original source/clip, but you increase the importance of some of them with respect to the other ones. This is what happens when you play with the graphics equalizer of your sound system: the music is not sped-up or slowed-down, but you can adjust the contributions of the bass, medium or treble so the sound suits your taste. Now you can do the same with an animation...

Note: This command must be run on a source/clip which contains only fcurves. Moreover, all the fcurves have to be equally sampled. So we recommend you Bake or plot your clips before trying to equalize them.

Scripting Syntax

oReturn = EqualizeAction( Source, [Time], [Duration], [Name] );

Return Value

Returns the equalized clip (it's a compound) as a ClipContainer object.

Parameters

Parameter Type Description
Source String Action to equalize.

Default Value: Current selection

Time Double Offset time of the equalized clip.
Duration Double Duration of the equalized clip.
Name Double Name to use as a basis for the new clip.

Examples

VBScript Example

'
' This example demonstrates how to use the EqualizeAction command to 
' create a new (equalized) compound clip from an existing action source.
'
' Create an object for our example.
set oSphere = CreatePrim( "Sphere", "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 oClip1 = AddClip( "Scene_Root", oSource, , oTrack, 10 )
' Use that action to create a new compound clip
set oClip2 = EqualizeAction( oSource, 4, 10, "EqualizedActionClip" )
'==================================================
' 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

See Also

EqualizeClips StoreAction