SaveKey

カテゴリ

アニメーション

詳細

指定したフレームのキー フレームをパラメータに保存します。 まだ F カーブで操作されていないパラメータでこのコマンドを実行すると、新しい F カーブが自動的に作成されます。

トレランス引数は、特定範囲内のすべてのキーをマージする場合に使用できます。 範囲は Frame - Tolerance および Frame + Tolerance で定義されます。 マージされたキーは、この範囲内の近似キーのコンストレイントを継承します。

スクリプト構文

SaveKey( [InputObjs], [Time], [Value], [Tolerance], [Layer], [ModifiedOnly], [AutokeyScope] );

パラメータ

パラメータ タイプ 詳細
InputObjs 文字列 アニメート可能なパラメータのリスト(例: cone*/kine.local.pos)

デフォルト値:引数が指定されていない場合は、現在のマーキングが使用されます。

注: 引数が指定されておらず、パラメータがマークされていない場合、このコマンドはエラーになります。

Time ダブル キーを設定するフレーム

デフォルト値:引数が指定されていない場合、現在のフレームが使用されます。

Number キー フレーム値

デフォルト値:現在選択されているフレームのパラメータ値。

Tolerance ダブル フレームの許容範囲

デフォルト値:最も近い 0.5 フレーム(-1)

指定可能な値:

説明:

>0 Frame - Tolerance と Frame + Tolerance の間のすべてのキーをマージします
0 キーは正確にフレームの位置にある必要があります
-1 最も近い0.5フレーム
レイヤ Integer キーの設定先アニメーション レイヤ

デフォルト値:現在のアニメーションレイヤ(-1)

ModifiedOnly ブール True の場合、現在のフレームで変更されたパラメータについてのみ、キーが設定されます。

デフォルト値: False

AutokeyScope Integer キーがすべてのパラメータに設定されるか、既存の F カーブやキーがあるパラメータにのみ設定されるかを指定します。

デフォルト値:すべての指定されたパラメータ(0)

指定可能な値:

説明:

0 すべての指定されたパラメータにキーが設定されます
1 特定の時点で既存のキーを持つパラメータのみにキーが設定されます
2 既存の F カーブを持つパラメータのみにキーが設定されます

1. VBScript の例

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

2. Python の例

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

関連項目

SaveKeyOnKeyable SaveKeyOnMarkedKeyable FCurve.SetKey FCurve.SetKeys AddFCurve RemoveAnimation RemoveAllAnimation RemoveKey PrevKey NextKey FirstKey LastKey FCurve Parameter.Source