Defines function curves.
Note Interpolation (how the value is evaluated between fcurve keys) can be constant, linear, or cubic. Cubic means that a Bezier curve is calculated as the interpolation between the keys. Softimage uses cubic Bezier curves defined as follows:
"Four points A, B, C and D in the plane or in three-dimensional space define a cubic Bezier curve. The curve starts at A going toward B and arrives at D coming from the direction of C. In general, it will not pass through B or C; these points are only there to provide directional information. The distance between A and B determines "how long" the curve moves into direction B before turning towards D." (from de Casteljau's algorithm)
The parametric form of the curve is:
B(t) = A(1-t)^3 + 3Bt(1-t)^2 + 3Ct^2(1-t) + Dt^3
![]()
|
This template corresponds to the CSLFCurve class. |
2.0
SI_FCurve <objectName>-<Fcurve>-<Components>
{
"<objectName>",
"<Fcurve>",
"<Interpolation>",
<nbFcurves>,<nbKeyValues>,
<nbKeys>,
<frame>,<keyValues>,
...
<frame>,<keyValues>,
}The <Components> part of the template name indicates which component fcurves are included in the template. For example, TRANSLATION-XZ indicates that the X and Z translation fcurves are specified in the template.
|
Member |
Type |
Description |
|
objectName |
char * |
Name of the object to which the function curves apply. |
|
Fcurve |
char * |
Name of the function curves. For cameras (v2.0/v3.0): INTEREST | FAR | FOV | NEAR | POSITION | ROLL For lights (v2.0): CONE | INTEREST | POSITION | SPREAD For lights (v3.0): COLOR | CONE | INTEREST | POSITION | SPREAD | ORIENTATION (Softimage Infinite lights only) For models (v2.0): SCALING | ROTATION | TRANSLATION For models (v3.0): SCALING | ROTATION | TRANSLATION | NODEVIS For Fog (v3.0 only - not supported by Softimage): COLOR | END | START For materials (v3.0 only): AMBIENT | DIFFUSE | EMMISSIVE | POWER | SPECULAR |
|
Interpolation |
char * |
Possible values are: CONSTANT | HERMITE | LINEAR | CUBIC |
|
nbFcurves |
int |
Number of vector component fcurves. For example, if there is only the X translation fcurve, then the dimension is 1. If there are fcurves for X, Y, and Z, then the dimension is 3. |
|
nbKeyValues |
int |
Number of values stored for a vector component at a given key. CONSTANT and LINEAR fcurves have one key value for each vector component. HERMITE fcurves have three values for each vector component. At each key, a value, in-tangent, and out-tangent is required for each vector component. The values are arranged in order of major first. For example: ( Xvalue, Xin-tan, Xout-tan, Yvalue, Yvalue, Yin-tan, Yout-tan, ... ) CUBIC fcurves are arranged as follows: • frame (in seconds) • value • left tan X value • left tan Y value • right tan X value • right tan Y value |
|
nbKeys |
int |
Number of keys. |
|
keyValues |
|
For each key, a comma-separated list beginning with the frame number (an integer) or the time in seconds (a floating point value). The SI_Scene template specifies whether time is expressed in frames or time. If frames, you can cast the values from floats to integers. The key values are floating point values. The number of key values is given by (Dimension * NbKeyValues). |
SI_FCurve Camera1-ROLL {
"Camera1",
"ROLL",
"LINEAR",
1,1,
76,
1,0.0,
2,0.000155,
3,0.000616,
4,0.001377,
5,0.002431,
6,0.003772,
7,0.005393,
8,0.007289,
9,0.009452,
10,0.011876,
11,0.014556,
12,0.017484,
13,0.020655,
14,0.024061,
15,0.027697,
16,0.031556,
17,0.035631,
18,0.039917,
19,0.044408,
20,0.049095,
21,0.053974,
22,0.059038,
23,0.06428,
24,0.069695,
25,0.075275,
26,0.081014,
27,0.086907,
28,0.092946,
29,0.099125,
30,0.105439,
32,0.118441,
34,0.131903,
36,0.145773,
38,0.159999,
40,0.174532,
42,0.18932,
44,0.204311,
47,0.22707,
56,0.295689,
58,0.310681,
60,0.325468,
62,0.340001,
64,0.354227,
66,0.368097,
68,0.381559,
70,0.394561,
71,0.400875,
72,0.407054,
73,0.413093,
74,0.418986,
75,0.424725,
76,0.430305,
77,0.43572,
78,0.440962,
79,0.446026,
80,0.450905,
81,0.455593,
82,0.460083,
83,0.464369,
84,0.468444,
85,0.472303,
86,0.475939,
87,0.479345,
88,0.482516,
89,0.485444,
90,0.488124,
91,0.490548,
92,0.492711,
93,0.494607,
94,0.496228,
95,0.497569,
96,0.498623,
97,0.499384,
98,0.499845,
99,0.5,
100,0.5,
}Autodesk Crosswalk v4.0