移動先: 概要 戻り値 キーワード 関連項目 フラグ 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, characterOutlineEditor, 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