指定したフレームのキー フレームをパラメータに保存します。 まだ F カーブで操作されていないパラメータでこのコマンドを実行すると、新しい F カーブが自動的に作成されます。
トレランス引数は、特定範囲内のすべてのキーをマージする場合に使用できます。範囲は Frame - Tolerance および Frame + Tolerance で定義されます。マージされたキーは、この範囲内の近似キーのコンストレイントを継承します。
SaveKey( [InputObjs], [Time], [Value], [Tolerance], [Layer], [ModifiedOnly], [AutokeyScope] ); |
パラメータ | タイプ | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
InputObjs | 文字列 |
アニメート可能なパラメータのリスト(例: cone*/kine.local.pos) デフォルト値:引数が指定されていない場合は、現在のマーキングが使用されます。 |
||||||||
Time | Double |
キーを設定するフレーム デフォルト値:引数が指定されていない場合、現在のフレームが使用されます。 |
||||||||
Value | Number |
キー フレーム値 デフォルト値:現在選択されているフレームのパラメータ値。 |
||||||||
Tolerance | Double |
フレームの許容範囲 デフォルト値:最も近い 0.5 フレーム(-1)
|
||||||||
Layer | Integer |
キーの設定先アニメーション レイヤ デフォルト値:現在のアニメーションレイヤ(-1) |
||||||||
ModifiedOnly | Boolean |
True の場合、現在のフレームで変更されたパラメータについてのみ、キーが設定されます。 デフォルト値: False |
||||||||
AutokeyScope | Integer |
キーがすべてのパラメータに設定されるか、既存の F カーブやキーがあるパラメータにのみ設定されるかを指定します。 デフォルト値:すべての指定されたパラメータ(0)
|
' ' This example demonstrates how you can use the SaveKey command with ' or without marking parameters. This example saves position keys on ' the nulls using various techniques demonstrating the flexibility of ' this command. ' NewScene , false ' Specify the parameter to set, the frame at which to set it and the value to use GetPrim "Null", "null" SaveKey "null.kine.global.posx", 50, 3 SaveKey "null.kine.global.posy", 50, 3 SaveKey "null.kine.global.posz", 50, 3 ' Instead of a string identifying the null, we can also use the Null ' object's shortcut to the Parameter set n1 = GetPrim( "Null" ) SaveKey n1.posx, 50, 3 SaveKey n1.posy, 50, 3 SaveKey n1.posz, 50, 3 ' You can also mark the parameters instead of specifying them GetPrim "Null" SetMarking "kine.local.pos" SaveKey , 50, 3 ' This saves the same keys, but does not mark posx, posy, and posz ClearMarking GetPrim "Null" SaveKey "/kine.local.pos", 50, 3 ' You can also use the currently marked parameters at the current frame GetPrim "Null" SetMarking "kine.local.pos" Translate , 3, 3, 3 SetValue "PlayControl.Key", 50 SetValue "PlayControl.Current", 50 SaveKey |
# # This example demonstrates how you can use the SaveKey command to define an FCurve # on a parameter and then change its interpolation type to Linear (the default is # cubic Bezier -- see the FCurve object's documentation for more details). # from win32com.client import constants as c # Create scene Application.NewScene( "", 0 ) Application.GetPrim( "Null", "null" ) Application.CreatePrim( "Arc", "NurbsCurve" ) Application.SelectObj( "null", c.siSelectDefault, 1 ) Application.ApplyCns( "Path", "null", "arc" ) # Set some keys Application.SaveKey( "null.kine.pathcns.perc", 1, 0 ) Application.SaveKey( "null.kine.pathcns.perc", 30, 25 ) Application.SaveKey( "null.kine.pathcns.perc", 75, 85 ) Application.SaveKey( "null.kine.pathcns.perc", 100, 100 ) # Get the fcurve from a string path using the GetSource command col = Application.GetSource( "null.kine.pathcns.perc" ) fc = col(0) # Alternatively, you can use the Dictionary.GetObject method to # get the parameter object and then use its Source method pathperc = Application.Dictionary.GetObject( "null.kine.pathcns.perc" ) fc = pathperc.Source # Get the fcurve interpolation type Application.LogMessage( fc.Interpolation ) # Change the fcurve from cubic Bezier (3) to linear (2) and then # print the interpolation type again Application.SetCurveType( "null.kine.pathcns.perc", 2 ) Application.LogMessage( fc.Interpolation ) # Expected results: (siFCurveInterpolation: 1=constant; 2=linear; 3=bezier cubic) #INFO : 3 #INFO : 2 |