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
//---------------------------------------------------------
|