ジャンプ先: 概要. 戻り値. 関連. フラグ. Python 例.
keyframe(
[objects]
, [absolute=boolean], [adjustBreakdown=boolean], [animation=string], [attribute=string], [breakdown=boolean], [clipTime=[time, time, float]], [controlPoints=boolean], [eval=boolean], [float=floatrange], [floatChange=float], [hierarchy=string], [includeUpperBound=boolean], [index=uint], [indexValue=boolean], [keyframeCount=boolean], [lastSelected=boolean], [name=boolean], [option=string], [relative=boolean], [selected=boolean], [shape=boolean], [tickDrawSpecial=boolean], [time=timerange], [timeChange=time], [valueChange=float])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
keyframe は、取り消し可能、照会可能、および編集可能です。
このコマンドは、キーセット上に作用します。キーセットは、1 つまたは複数のアニメーション カーブ上の指定したタイム レンジ内のキー グループとして定義されます。
キーセットを構成するアニメーション カーブは、「-animation」フラグの値に依存します。
-
keysOrObjects:
- コマンド ラインにターゲット オブジェクトまたは -attribute フラグが表示されていない場合は任意のアクティブ キー
- アクティブ キーが存在しない場合は、コマンド ラインの targetList として指定されているオブジェクトのキーフレーム可能なすべてのアトリビュートに接続されたすべてのアニメーション カーブ
-
keys:アクティブなキーまたは接線のみに作用します。アクティブなキーまたは接線がない場合は、何も行いません。
-
objects:指定したオブジェクトのみに作用します。オブジェクトが指定されていない場合は、何も行いません。
-animation フラグを使用して、「translateX」など attributeName という形式の引数を取る、多目的な -attribute フラグによって固有に識別されるカーブをオーバーライドすることができます。
アニメーション カーブ上の各キーは、カーブの時間値またはインデックスによって識別されます。時間とインデックスは、単独にあるいはリストの一部または範囲として指定することができます。
- -time 10pal は、フレーム 10 のキーを意味します(PAL 形式)。
- -time 1.0sec -time 15ntsc -time 20 は、時間 1.0 秒、フレーム 15 (NTSC 形式)、時間 20 (現在定義されているグローバル時間単位)のキーを意味します。
- -time "10:20" は、10~20 の範囲(現在の時間単位、両方の値を含む)のすべてのキーを意味します。
範囲の一方の値を省略した場合は、次の例のように、範囲が「無限であること」を意味します。
- -time "10:" は、時間 10 (現在の時間単位)より後にあるすべてのキーを意味します。
- -time ":10" は、時間 10 (現在の時間単位)以前のすべてのキーを意味します。
- -time ":" は、すべてのキーを指定するための短い形式です。
- -index 0 は、各アニメーション カーブの最初のキーを意味します(インデックスは 0 ベースです)。
- -index 2 -index 5 -index 7 は、3 番目、6 番目、8 番目のキーを意味します。
- -index "1:5" は、各アニメーショ ン カーブの 2 番目、3 番目、4 番目、5 番目、6 番目のキーを意味します。
このコマンドは、指定されたオブジェクトまたはパラメータ カーブにおけるキーの時間または値を編集します。
別途、「-query」フラグで指定されていない限り、このコマンドは既定でキーフレームを編集します。
int | (下記に記述があるもの以外)キーが修正されたカーブの数。照会モードでは、このコマンドは、下記の照会可能なフラグで記述されたとおり、さまざまなオブジェクトを返すことがあります。 |
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
copyKey, cutKey, findKeyframe, keyTangent, keyframeOutliner, keyframeStats, pasteKey, scaleKey, setInfinity, snapKey
absolute, adjustBreakdown, animation, attribute, breakdown, clipTime, controlPoints, eval, float, floatChange, hierarchy, includeUpperBound, index, indexValue, keyframeCount, lastSelected, name, option, relative, selected, shape, tickDrawSpecial, time, timeChange, valueChange
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
# Two ways to find out how many keys there are on the
# paramCurve connected to surface1.translateX;
#
cmds.keyframe( 'surface1', attribute='translateX', query=True, keyframeCount=True )
cmds.keyframe( 'surface1.translateX', query=True, keyframeCount=True )
# Query all keyframes of object "surface1" within the time range 0 to 20.
#
cmds.keyframe( 'surface1', time=(0,20), query=True, valueChange=True, timeChange=True);
# Query just the time of the first key in the
# "Translate X" parameter curve. Note that the indices are 0-based.
#
cmds.keyframe('surface1.translateX',index=(0,0),query=True);
# Shift all the active object's keys in the range 10-20
# by one (current) time unit (frame, second, etc.)
#
cmds.keyframe(edit=True,relative=True,timeChange=1,time=(10,20))
# Two ways to move all keys at time 10 of
# the active object to time 12. Note that "-absolute"
# is the default.
#
cmds.keyframe(time=(10,10),timeChange=12)
cmds.keyframe(time=(10,10),absolute=True,timeChange=12)
# Set the 2nd keyframe of cube1's Translate X parameter
# curve to be 10.25 at time 1.5 seconds.
#
cmds.keyframe('surface1.translateX',edit=True,index=(1,1),timeChange='1.5sec',valueChange=10.25)
# Evaluate the animCurve feeding into nurbsCone1's translateX attribute at time 3
#
cmds.keyframe('nurbsCone1',at='tx',t=(3,3),q=True,eval=True)
# Query the times of the active keys on attribute translateX of nurbsCone1
#
cmds.keyframe( 'nurbsCone1', at='tx', sl=True, q=True, tc=True )
# How many keys are selected on nurbsCone1?
#
cmds.keyframe( 'nurbsCone1', sl=True, q=True, kc=True )
# Here's a script to print out all a cone's animCurves that have
# keys selected. Each animCurve is followed by a list of times
# for the selected keys. The result of this script is:
# nurbsCone1_translateX: 5
# nurbsCone1_translateY: 12
# nurbsCone1_translateZ: 4 14
#
myCone = cmds.cone()
cmds.setKeyframe( myCone[0], t=[0,5,10], at='tx', v=5 )
cmds.setKeyframe( myCone[0], t=[2,7,12], at='ty', v=10 )
cmds.setKeyframe( myCone[0], t=[4,9,14], at='tz', v=15 )
cmds.selectKey( t=[(5,5),(12,12),(4,4)] )
cmds.selectKey( animation='objects', add=True, t=(14,14) )
nodes = cmds.keyframe(myCone,query=True,name=True)
for node in nodes:
keyTimes = cmds.keyframe(node,sl=True,query=True,tc=True)
print "Node: %s" % node
print keyTimes
# For the above sample script, the last selected key is
# nurbsCone1_translateZ: 14. The following may be used to query
# the values for that key
#
cmds.keyframe( query=True, lastSelected=True, name=True )
cmds.keyframe( query=True, lastSelected=True, timeChange=True )
cmds.keyframe( query=True, lastSelected=True, valueChange=True )