ジャンプ先: 概要. 戻り値. キーワード. 関連. フラグ. Python 例.
clipSchedule([absolute=boolean], [absoluteRotations=boolean], [allAbsolute=boolean], [allRelative=boolean], [blend=[uint, uint]], [blendNode=[uint, uint]], [blendUsingNode=string], [character=boolean], [clipIndex=uint], [cycle=float], [defaultAbsolute=boolean], [enable=boolean], [group=boolean], [groupIndex=uint], [groupName=string], [hold=time], [insertTrack=uint], [instance=string], [listCurves=boolean], [listPairs=boolean], [lock=boolean], [mute=boolean], [name=string], [postCycle=float], [preCycle=float], [remove=boolean], [removeBlend=[uint, uint]], [removeEmptyTracks=boolean], [removeTrack=uint], [rotationsAbsolute=boolean], [scale=float], [shift=int], [shiftIndex=uint], [solo=boolean], [sourceClipName=boolean], [sourceEnd=time], [sourceStart=time], [start=time], [track=uint], [weight=float], [weightStyle=uint])
注: オブジェクトの名前と引数を表す文字列は、カンマで区切る必要があります。これはシノプシスに示されていません。
clipSchedule は、取り消し可能、照会可能、および編集可能です。
このコマンドを使用して、Trax エディタのクリップとブレンドを作成、編集、照会します。これは、キャラクタにアタッチされた clipScheduler ノードに動作します。照会モードでフラグを指定していない場合、次の形式の文字配列を返します: (clipName,clipIndex,clipStart,clipSourceStart,clipSourceEnd,clipScale,clipPreCycle,clipPostCycle,clipHold)
照会モードでは、戻り値のタイプは照会されたフラグに基づきます。
character, clip, animation
bakeClip, character, characterMap, clip, clipEditor
absolute, absoluteRotations, allAbsolute, allRelative, blend, blendNode, blendUsingNode, character, clipIndex, cycle, defaultAbsolute, enable, group, groupIndex, groupName, hold, insertTrack, instance, listCurves, listPairs, lock, mute, name, postCycle, preCycle, remove, removeBlend, removeEmptyTracks, removeTrack, rotationsAbsolute, scale, shift, shiftIndex, solo, sourceClipName, sourceEnd, sourceStart, start, track, weight, weightStyle
ロング ネーム(ショート ネーム) |
引数タイプ |
プロパティ |
clipIndex(ci)
|
uint
|
|
|
スケジュールするクリップ インデックスを指定します。照会モードでは、次の形式の文字配列を返します: (clipName,index,start,sourceStart,sourceEnd,scale,preCycle,postCycle)
照会モードでは、このフラグは値を受け入れることができます。
|
|
start(s)
|
time
|
|
|
sourceStart(ss)
|
time
|
|
|
ソース クリップのアニメーション カーブの開始位置を指定します。
|
|
sourceEnd(se)
|
time
|
|
|
ソース クリップのアニメーション カーブの終了位置を指定します。
|
|
preCycle(prc)
|
float
|
|
|
クリップが正常に開始する前に繰り返す回数を指定します。
|
|
postCycle(poc)
|
float
|
|
|
クリップが正常に終了した後に繰り返す回数を指定します。
|
|
hold(ph)
|
time
|
|
|
クリップの正常な終了後または循環された終了後に、最後の値を保持する時間を指定します。
|
|
scale(sc)
|
float
|
|
|
クリップをスケールする量を指定します。0 より大きな値を指定する必要があります。
|
|
absolute(abs)
|
boolean
|
|
|
このフラグは非推奨になりました。代わりに aa/allAbsolute、ar/allRelative、ra/rotationsAbsolute、da/defaultAbsolute を使用してください。このフラグを使用して、クリップがキーフレーム値に追従するか、または滑らかなパスを維持するために一定の値でオフセットするかを制御します。
|
|
absoluteRotations(abr)
|
boolean
|
|
|
このフラグは非推奨になりました。代わりに aa/allAbsolute、ar/allRelative、ra/rotationsAbsolute、da/defaultAbsolute を使用してください。true であれば -abs/absolute フラグをオーバーライドし、回転チャネルが常に絶対オフセットで計算されるようになります。これにより、回転には絶対オフセットを、その他すべてのチャネルには相対オフセットを適用することができます。
|
|
allAbsolute(aa)
|
boolean
|
|
|
すべてのチャネルを絶対オフセットで計算するように設定します。このフラグは ar/allRelative、ra/rotationsAbsolute、da/defaultAbsolute の各フラグと一緒に使用することはできません。
|
|
allRelative(ar)
|
boolean
|
|
|
すべてのチャネルを相対オフセットで計算するように設定します。このフラグは aa/allAbsolute、ra/rotationsAbsolute、da/defaultAbsolute の各フラグと一緒に使用することはできません。
|
|
rotationsAbsolute(ra)
|
boolean
|
|
|
回転以外のすべてのチャネルを相対オフセットで計算するように設定します。回転チャネルは絶対オフセットで計算されます。このフラグは aa/allAbsolute、ar/allRelative、da/defaultAbsolute の各フラグと一緒に使用することはできません。
|
|
defaultAbsolute(da)
|
boolean
|
|
|
クリップ内にある回転以外のすべての最上位チャネルを相対オフセットに、残りのチャネルを絶対オフセットに設定します。offset フラグが指定されていない場合、クリップ作成時の既定の設定です。このフラグは aa/allAbsolute、ar/allRelative、ra/rotationsAbsolute の各フラグと一緒に使用することはできません。
|
|
instance(instance)
|
string
|
|
|
名前をつけたクリップのインスタンス化されたコピーを作成します。インスタンス化されたクリップとは、オリジナルのクリップにリンクされたもので、オリジナル カーブのアニメーション カーブを変更すると、すべてのインスタンス化されたクリップも修正されます。インスタンス化されたクリップの名前は文字列として返されます。
|
|
remove(rm)
|
boolean
|
|
|
このフラグを使用して、クリップをタイム スライダから除去します。ci/clipIndex フラグと一緒に使用する必要があります。指定したクリップはタイム スライダから除去されますが、ライブラリには存在し、インスタンス化されたすべてのクリップはタイム スライダに残ります。クリップをシーンから完全に除去するには、clip コマンドを使用します。
|
|
enable(en)
|
boolean
|
|
|
このフラグを使用して、クリップを有効/無効にします。ci/clipIndex フラグと一緒に使用する必要があります。指定したクリップが有効または無効になります。
|
|
blend(b)
|
[uint, uint]
|
|
|
このフラグを使用して 2 つのクリップをブレンドし、そのインデックスはフラグの引数として提供されます。
|
|
blendUsingNode(bun)
|
string
|
|
|
このフラグを使用して、既存のブレンド ノードでブレンドします。blend フラグと一緒に使用します。blend フラグはブレンドのクリップ インデックスを指定します。既存の animBlend ノードの名前を、blendUsingNode フラグの引数として指定する必要があります。
|
|
blendNode(bn)
|
[uint, uint]
|
|
|
これは照会専用フラグで、2 つのクリップ インデックスで定義されたブレンドに接続される、すべてのブレンド ノードのリストを作成します。文字配列が返されます。
照会モードでは、このフラグは値を受け入れることができます。
|
|
removeBlend(rb)
|
[uint, uint]
|
|
|
このフラグを使用して、2 つのクリップの既存のブレンドを除去します。2 つのクリップ インデックスは、フラグ引数として提供されます。
|
|
character(ch)
|
boolean
|
|
|
このフラグを使用して、このスケジューラがコントロールするキャラクタを照会します。このフラグは文字配列を返します。
|
|
listCurves(lc)
|
boolean
|
|
|
このフラグを使用して、クリップに接続されたアニメーション カーブのリストを作成します。目的のクリップを指定する clipIndex フラグと一緒に使用する必要があります。
|
|
name(n)
|
string
|
|
|
このフラグを使用して、指定したクリップ インデックスに接続されたクリップ ノードの名前を照会する、またはインスタンス時にインスタンス化されるクリップの名前を指定します。
照会モードでは、このフラグは値を受け入れることができます。
|
|
sourceClipName(scn)
|
boolean
|
|
|
このフラグを使用して、指定したクリップ インデックスに接続されたソース クリップ ノードの名前を照会します。
|
|
weight(w)
|
float
|
|
|
このフラグを使用して、指定したクリップ インデックスのウェイトを設定、または照会します。
|
|
weightStyle(ws)
|
uint
|
|
|
このフラグを使用して、指定したクリップ インデックスに接続されたクリップの weightStyle アトリビュートを設定、または照会します。
|
|
lock(l)
|
boolean
|
|
|
このフラグは、トラック上のクリップをロックするかどうかを指定します。track フラグと一緒に使用する必要があります。
|
|
solo(so)
|
boolean
|
|
|
このフラグは、トラック上のクリップを単独操作するかどうかを指定します。track フラグと一緒に使用する必要があります。
|
|
mute(m)
|
boolean
|
|
|
このフラグは、トラック上のクリップをミュートするかどうかを指定します。track フラグと一緒に使用する必要があります。
|
|
track(t)
|
uint
|
|
|
操作対象のトラックを指定します。たとえば、クリップを配置するトラックや、ミュート、ロック、単独操作を行うトラックを指定します。照会モードで clipIndex フラグと一緒に使用して、クリップのトラック番号を返すことができます。この場合、トラック 1 がキャラクタの最初のトラックになります。
照会モードでは、このフラグは値を受け入れることができます。
|
|
insertTrack(it)
|
uint
|
|
|
このフラグを使用して、指定したトラック インデックスに空のトラックを新たに挿入します。
|
|
removeTrack(rt)
|
uint
|
|
|
このフラグを使用して、指定したインデックスのトラックを除去します。クリップが設置されているトラックは除去することができません。
|
|
removeEmptyTracks(ret)
|
boolean
|
|
|
このフラグを使用して、クリップがないすべてのトラックを除去します。
|
|
shiftIndex(shi)
|
uint
|
|
|
このフラグは shiftAmount フラグと一緒に使用し、複数のクリップを一定数のトラック分移動することができます。このフラグは移動するクリップ インデックスを指定します。このフラグは、コマンド ラインで複数回使用し、移動するクリップの数を指定することができます。
|
|
shift(sh)
|
int
|
|
|
このフラグは shiftIndex フラグと一緒に使用し、複数のクリップを一定数のトラック分移動することができます。このフラグは接続されたクリップを移動するトラック数を指定します。正の値はクリップを下方に、負の値はクリップを上方に移動します。
|
|
listPairs(lp)
|
boolean
|
|
|
これは照会モード専用のフラグで、クリップが使用するキャラクタのチャネルとそのチャネルをドライブするアニメーション カーブの名前を含む文字配列を返します。文字配列のそれぞれの文字列は、チャネル名、スペース、そのチャネルをアニメートするアニメーション カーブ名という構成になっています。このフラグは、ci/clipIndex フラグと一緒に使用する必要があります。
|
|
cycle(c)
|
float
|
|
|
このフラグは現在ではサポートしていません。代わりに postCycle フラグを使用してください。
|
|
group(grp)
|
boolean
|
|
|
このフラグを使用して、(groupIndex で指定した)クリップのリストをグループに追加(true)またはグループから除去(false)します。
|
|
groupName(gn)
|
string
|
|
|
このフラグを使用して、追加するグループを指定します。指定した名前のグループが存在しない場合は、その名前で新しいグループが作成されます。既定では、このフラグを指定しない限り、新しいグループが作成されます。
|
|
groupIndex(gri)
|
uint
|
|
|
このフラグはグループに追加する、またはグループから除去する複数のクリップを指定します。
|
|
フラグはコマンドの作成モードで表示できます
|
フラグはコマンドの編集モードで表示できます
|
フラグはコマンドの照会モードで表示できます
|
フラグに複数の引数を指定し、タプルまたはリストとして渡すことができます。
|
import maya.cmds as cmds
# First, create a character to hold the clips. The character will be
# a 3-bone skeleton named "arm".
#
cmds.select( d=True )
cmds.joint( p=(0, 0, 0) )
cmds.joint( p=(0, 4, 0) )
cmds.joint( 'joint1', e=True, zso=True, oj='xyz' )
cmds.joint( p=(0, 8, -1) )
cmds.joint( 'joint2', e=True, zso=True, oj='xyz' )
cmds.joint( p=(0, 9, -2) )
cmds.joint( 'joint3', e=True, zso=True, oj='xyz' )
cmds.select( 'joint1', 'joint2', 'joint3', r=True )
cmds.character( name='arm' )
# Create some animation for the character. For this example the animation will
# be quite trivial.
#
cmds.select( 'joint3', r=True )
cmds.currentTime( 0 )
cmds.setKeyframe( 'joint3.rx' )
cmds.currentTime( 10 )
cmds.setKeyframe( 'joint3.rx', v=90 )
cmds.currentTime( 20 )
cmds.setKeyframe( 'joint3.rx', v=0 )
# Create a clip for the current animation named "handWave"
#
cmds.clip( 'arm', startTime=0, endTime=20, name='handWave' )
# Query the name of the clipScheduler for this character
#
cmds.character( 'arm', query=True, sc=True )
# Result: armScheduler1
# Create a 2nd animation for the character.
#
cmds.select( 'joint2', r=True )
cmds.currentTime( 0 )
cmds.setKeyframe( 'arm' )
cmds.currentTime( 10 )
cmds.setKeyframe( 'joint2.rx', v=45 )
cmds.setKeyframe( 'joint2.ry', v=-20 )
cmds.currentTime( 20 )
cmds.setKeyframe( 'joint2.rx', v=0 )
cmds.setKeyframe( 'joint2.ry', v=20 )
# Create a clip for the current animation named "elbowWave"
#
cmds.clip( 'arm', startTime=0, endTime=20, name='elbowWave' )
# Instance handeWave at time 10
#
cmds.clipSchedule( 'armScheduler1', instance='handWave', s=10 )
# Query the clip index of the latest instance of handWave. Each instance
# of a clip received a unique clipIndex. The clip index is used to
# edit and query data for existing clips.
#
cmds.clipSchedule( 'armScheduler1', name='handWave1', query=True, ci=True )
# Query whether the clip associated with index 2 is enabled or not
#
cmds.clipSchedule( 'armScheduler1', ci=2, query=True, enable=True )
# Query the name of the clip associated with index 2
#
cmds.clipSchedule( 'armScheduler1', ci=2, query=True, n=True )
# Query the weight of the clip associated with index 2
#
cmds.clipSchedule( 'armScheduler1', ci=2, query=True, weight=True )
# Modify the elbowWave clip to start at frame 10 instead of frame 0
#
cmds.clipSchedule( 'armScheduler1', start=10, ci=1 )
# Trim the start of the elbowWave clip to
# use the animation starting at frame 5 instead 0
#
cmds.clipSchedule( 'armScheduler1', sourceStart=5, ci=1 )
# Trim the end of the elbowWave clip to
# use the animation up to frame 15 instead 20
#
cmds.clipSchedule( 'armScheduler1', sourceEnd=15, ci=1 )
# Modify the handWave clip to have two cycles instead of 1
#
cmds.clipSchedule( 'armScheduler1', postCycle=1, ci=0 )
# list the animation curves associated with a particular clip
#
cmds.clipSchedule( 'armScheduler1', ci=2, listCurves=True )
# Move a particular clip to a particular track
#
cmds.clipSchedule( 'armScheduler1', track=2, ci=0 )
# Add a blend between clips 1 and 2
#
cmds.clipSchedule( 'armScheduler1', b=(1, 2) )
# Query the name of the blendNode between clips 1 and 2
#
cmds.clipSchedule( 'armScheduler1', q=True, bn=(1, 2) )
# Lock the first track and then query its state
#
cmds.clipSchedule( 'armScheduler1', track=1, e=True, lock=1 )
cmds.clipSchedule( 'armScheduler1', track=1, query=True, lock=True )
# Query the existing clips in the scheduler.
# In query mode, returns an array of strings in this form:
# (clipName,index,start,sourceStart,sourceEnd,scale,preCycle,postCycle,hold)
#
# In this case there are three scheduled clips:
# 2 instances of "handWave" and 1 of "elbowWave". The clip indices for "handWave" are 0
# and 3. The clip index for "elbowWave" is 2. Note that the clip indices can be sparse
# since a clip maintains its index as long as it is in the schedule (the TraX editor).
#
cmds.clipSchedule( 'armScheduler1', query=True )
# Result: handWave,0,0.000000,0.000000,20.000000,1.000000,0.00000,2.00000 elbowWave,1,0.000000,5.000000,15.000000,1.000000,0.00000,1.00000 handWave,2,10.000000,0.000000,20.000000,1.000000,0.00000,1.00000
#
# Shift clips 1 and 2 up 3 tracks
#
cmds.clipSchedule( 'armScheduler1', sh=-3, shi=1, shi=2 )
# Print out which anim curves animate which channels for the
# clip with an index of 2.
#
out = cmds.clipSchedule('armScheduler1' ,ci=2, query=True, lp=True)
for pair in out:
print pair