Copies all the animation under the specified object to the clipboard. You can use
the ParameterMask to specify which kinds of parameters to copy from. This saves you
from having to explicitly specify the parameters to target in the InputObjs parameter.
This command usually tries to match the parameter by path. If the parameters cannot
be found by path, it tries to copy them by ordinal (the order in which they are enumerated).
For example, running CopyAllAnimation2 on a kine.pos would copy x-y-z on the red green blue
of a shader if pasted there.
Use this command in conjunction with the PasteAllAnimation command
to copy animation between objects.
Use this command instead of CopyAllAnimation.
CopyAllAnimation2( InputObjs, [SourceMask], [ParameterMask], [RemoveAnimation], [BaseAnimation], [LayerAnimation] ); |
Parameter | Type | Description |
---|---|---|
InputObjs | Object or property name (anything selectable) | The object (or property) under which we can find the animation to copy. |
SourceMask | siSourceType |
Type of animation to remove. Currently, only FCurves and Expressions are copied. Default Value: siAnySource |
ParameterMask | siParameterFilter |
Parameters containing animation to copy. Default Value: siAllParam |
RemoveAnimation | Boolean |
True to disconnect the animation after copying (not supported for now) Default Value: false |
BaseAnimation | Boolean |
If True the command will copy animation on the base layer. Default Value: True |
LayerAnimation | Boolean |
If True the command will copy animation on all layers except the base layer. Default Value: True |
/* This example demonstrates how to copy the scaling animation with the CopyAllAnimation2 command and then paste it onto another object with the PasteAllAnimation command. */ NewScene( "", false ); // Create a disc and animate its scaling in X var disc1 = CreatePrim( "Disc", "MeshSurface" ); var keys = new Array( 2, 1.4, 47, 2, 84, 0.15 ); disc1.sclx.AddFCurve2( keys ); // Create another disc onto which we will paste this animation var disc2 = CreatePrim( "Disc", "MeshSurface" ); // Copy the animation from disc1 to disc2 (scaling parameters only) CopyAllAnimation2( disc1, siAnySource, siScl ); PasteAllAnimation( disc2, true ); // Now delete disc1 just to prove that the animation you see is // really on disc2, then start the playback DeleteObj( disc1 ); PlayForwardsFromStart(); // You will see that the disc still scales up and down, even though the // original disc has been deleted. |