v7.5
Creates and returns new actions by plotting values from consecutive frames of an animation. Actions are created under models containing animated parameters matching the specified list.
oReturn = PlotToActions( [InputObj], [Name], [StartFrame], [EndFrame], [StepFrame], [FCurve Kind], [DefaultSegKind], [Fit FCurve], [Fit Tolerance], [ProcessContRots] ); |
Returns the created actions (a XSICollection object).
Parameter | Type | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
InputObj | String | List of parameters to plot
into actions.
Default Value: Marked values in current selection |
||||||||||
Name | String | Name for the actions
Default Value: "Action" |
||||||||||
StartFrame | Double | First frame to plot
Default Value: 0 |
||||||||||
EndFrame | Double | Last frame to plot
Default Value: 0 |
||||||||||
StepFrame | Double | Step between frames
Default Value: 1 |
||||||||||
FCurve Kind | Integer | What kind of fcurve do we want to plot to?
Default Value: 20
|
||||||||||
DefaultSegKind | Integer | What kind of interpolation do we want for the resulting
fcurves? Note: Only relevant when FCurveKind is 20 (Standard). Default Value: 3
|
||||||||||
Fit FCurve | Boolean | Do we want to fit an fcurve through the plotted values?
Default Value: False |
||||||||||
Fit Tolerance | Double | What tolerance do we want for the fit?
Default Value: 0.01 |
||||||||||
ProcessContRots | Boolean | Do we want to process rotation curves to ensure their
continuity?
Default Value: True |
// // This example sets up one model with a sphere and another with a cone, // marks the local posz parameter of each primitive, plots various parameters // to an action source for each model, and then prints out the new sources. // // Set up the scene. NewScene( null, false ); var oSphere = CreatePrim( "Sphere", "NurbsSurface", "MySphere" ); var oCone = CreatePrim( "Cone", "NurbsSurface", "MyCone" ); CreateModel( oSphere, "SphereModel" ); CreateModel( oCone, "ConeModel" ); // Create a path for the sphere and cone, just to make things more interesting. var oPath = CreatePrim( "Spiral", "NurbsCurve" ); ApplyPath( oSphere, oPath, 1, 50, 2, true, true ); ApplyPath( oCone, oPath, 50, 100, 2, true, true ); // Mark the local position parameter in Z for the sphere and cone. SelectObj( oSphere + "," + oCone, null, true ); SetMarking( "kine.local.posz" ); // Plot the values of the marked parameter for the sphere and cone between frames 20 and 60. // Notice that the default input is the marked parameters, so // we do not have to specify anything for the 1st argument PlotToActions( null, null, 20, 60 ); // Plot the local X position of the sphere and cone every frame between frames 20 and 60 // and store the result in raw data fcurves. PlotToActions( oSphere + ".kine.local.posx," + oCone + ".kine.local.posx", "ActionPosX", 20, 60, 1, 30 ); // Plot the local Y position of the sphere only every frame between frames 20 and 60 // and store the result in a standard fcurve with constant interpolation after // applying a fit with a tolerance of 0.1 to the plotted values. PlotToActions( oSphere.posy, "ActionPosY", 20, 60, 1, 30, 1, true, 0.1, true ); // Once they are created, they are stored with the scene waiting to be applied var oRoot = Application.ActiveSceneRoot; var oModelsFound = oRoot.Models; var iModelsCount = oModelsFound.Count; if( iModelsCount > 0 ) { for( var i = 0; i < iModelsCount; i++ ) { var oModel = oModelsFound.Item( i ); var oSourcesFound = oModel.Sources; var iSourcesCount = oSourcesFound.Count; if( iSourcesCount > 0 ) { Application.LogMessage( "Found the following sources in " + oModel + ":" ); for( var j = 0; j < iSourcesCount; j++ ) { Application.LogMessage( "\t" + oSourcesFound.Item( j ).Name ); } } else { Application.LogMessage( "No sources found in " + oModel + "." ); } } } else { Application.LogMessage( "No models found in the scene." ); } //--------------------------------------------------------- // OUTPUT OF ABOVE SCRIPT IS: // INFO : Found the following sources in SphereModel: // INFO : Action // INFO : ActionPosX // INFO : ActionPosY // INFO : Found the following sources in ConeModel: // INFO : Action // INFO : ActionPosX //--------------------------------------------------------- |