Removes animation (fcurves, expressions,constraints) from the specified parameters.
You can also specify what the value of the parameter will be after removing
the animation using this command.
By default, the new value is set to the value of the parameter at the current
frame. However, if the Frame argument is specified, the command takes the
value from the parameter value at the specified frame to set the new value.
Note: In the case of constraints the constraints will be removed from all the parameters
its affecting not only from the specified parameters.
RemoveAnimation( [InputObjs], [Time], [StaticFCurves], [BaseAnimation], [LayerAnimation], [SourceMask] ); |
Parameter | Type | Description |
---|---|---|
InputObjs | String |
List of animatable parameters (for example "cone*/kine.local.pos"). Default Value: Currently selected and marked parameters |
Time | Double |
The animated values at this frame are assigned to the parameters when the animation is removed. Default Value: Current frame |
StaticFCurves | Boolean |
If True the command will remove static (constant) fcurves only. Default Value: False |
BaseAnimation | Boolean |
If True the command will remove animation on the base layer. Default Value: True |
LayerAnimation | Boolean |
If True the command will remove animation on all layers except the base layer. Default Value: True |
SourceMask | siSourceType |
Type of animation source to remove. Default Value: siAnySource |
' ' This example sets up some animation on an object on both ' the X and Y positions. Then it demonstrates two different ' ways to remove the replace the animation while removing it: ' first by passing a specific frame; and then by using the ' (default) current frame. ' NewScene , false ' Create the object on which to set an expression set oDonut = CreatePrim( "Torus", "NurbsSurface" ) ' Make sure the last frame will be set to 100 SetValue "PlayControl.Out", 100 ' Set a key frame at frame 1, with XPos = -30 printInfo oDonut & ".kine.local.posx", Array( 1 ), "before" SaveKey oDonut & ".kine.local.posx", 1, -30 printInfo oDonut & ".kine.local.posx", Array( 1 ), "after" ' Set another key frame at frame 100, with XPos = 30 printInfo oDonut & ".kine.local.posx", Array( 100 ), "before" SaveKey oDonut & ".kine.local.posx", 100, 30 printInfo oDonut & ".kine.local.posx", Array( 100 ), "after" ' Temporarily disable cycle checking (this ' expression creates a cycle on purpose) bCyclePref = GetValue( "preferences.data_management.disable_cycle_checking" ) SetValue "preferences.data_management.disable_cycle_checking", True ' Animate the YPos parameter with an expression SetExpr oDonut & ".kine.local.posy", _ "5*sin(" & oDonut & ".kine.local.posx * 15)" ' Restore cycle checking to its previous value SetValue "preferences.data_management.disable_cycle_checking", bCyclePref ' Remove the YPos expression and freeze Y at the value of ' the animation expression at frame 53 printInfo oDonut & ".kine.local.posy", Array( 1,50,53,100 ), "before" RemoveAnimation oDonut & ".kine.local.posy", 53 printInfo oDonut & ".kine.local.posy", Array( 1,50,53,100 ), "after" ' Set current frame to 50 SetValue "PlayControl.Current", 50 ' Remove XPos fcurve and freeze X at the value of the ' fcurve at the current frame (frame 50) printInfo oDonut & ".kine.local.posx", Array( 1,50,53,100 ), "before" RemoveAnimation oDonut & ".kine.local.posx" printInfo oDonut & ".kine.local.posx", Array( 1,50,53,100 ), "after" ' This is a convenience function for printing out the info easily function printInfo( in_parameter, in_frame, in_loc ) LogMessage "-----" for each f in in_frame LogMessage in_parameter & " parameter at frame " & f & " " _ & in_loc & " updating = " & GetValue( in_parameter, f ) next end function ' Output of above script: ' INFO : ----- ' INFO : torus.kine.local.posx parameter at frame 1 before updating = 0 ' INFO : ----- ' INFO : torus.kine.local.posx parameter at frame 1 after updating = -30 ' INFO : ----- ' INFO : torus.kine.local.posx parameter at frame 100 before updating = -30 ' INFO : ----- ' INFO : torus.kine.local.posx parameter at frame 100 after updating = -30 ' INFO : ----- ' INFO : torus.kine.local.posy parameter at frame 1 before updating = -5 ' INFO : torus.kine.local.posy parameter at frame 50 before updating = -0.593575239181519 ' INFO : torus.kine.local.posy parameter at frame 53 before updating = 2.80044293403625 ' INFO : torus.kine.local.posy parameter at frame 100 before updating = 5 ' INFO : ----- ' INFO : torus.kine.local.posy parameter at frame 1 after updating = 2.80044293403625 ' INFO : torus.kine.local.posy parameter at frame 50 after updating = 2.80044293403625 ' INFO : torus.kine.local.posy parameter at frame 53 after updating = 2.80044293403625 ' INFO : torus.kine.local.posy parameter at frame 100 after updating = 2.80044293403625 ' INFO : ----- ' INFO : torus.kine.local.posx parameter at frame 1 before updating = -30 ' INFO : torus.kine.local.posx parameter at frame 50 before updating = -0.45452999539318 ' INFO : torus.kine.local.posx parameter at frame 53 before updating = 2.27079487869202 ' INFO : torus.kine.local.posx parameter at frame 100 before updating = 30 ' INFO : ----- ' INFO : torus.kine.local.posx parameter at frame 1 after updating = -0.454529995393187 ' INFO : torus.kine.local.posx parameter at frame 50 after updating = -0.454529995393187 ' INFO : torus.kine.local.posx parameter at frame 53 after updating = -0.454529995393187 ' INFO : torus.kine.local.posx parameter at frame 100 after updating = -0.454529995393187 |