移動先: 概要 戻り値 関連項目 フラグ Python の例
keyframe(
[objects]
, [absolute=boolean], [adjustBreakdown=boolean], [animation=string], [attribute=string], [breakdown=boolean], [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, 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 )