ジャンプ先: 概要. 戻り値. キーワード. 関連項目. フラグ. MEL 例.
clipSchedule [-absolute boolean] [-absoluteRotations boolean]
[-allAbsolute] [-allRelative] [-blend uint uint] [-blendNode uint uint] [-blendUsingNode string] [-character] [-clipIndex uint] [-cycle float] [-defaultAbsolute] [-enable boolean] [-group boolean] [-groupIndex uint] [-groupName string] [-hold time] [-insertTrack uint] [-instance string] [-listCurves] [-listPairs] [-lock
boolean] [-mute boolean]
[-name string] [-postCycle float] [-preCycle float] [-remove] [-removeBlend uint uint] [-removeEmptyTracks] [-removeTrack uint] [-rotationsAbsolute] [-scale float] [-shift int] [-shiftIndex uint] [-solo boolean] [-sourceClipName] [-sourceEnd time] [-sourceStart time] [-start time] [-track uint] [-weight float] [-weightStyle uint]
clipSchedule は 「元に戻す」が可能、「照会」が可能、「編集」が可能 です。
このコマンドを使用して、Trax エディタのクリップとブレンドを作成、編集、照会します。これは、キャラクタにアタッチされた clipScheduler ノードに動作します。照会モードでフラグを指定していない場合、次の形式の文字配列を返します: (clipName,clipIndex,clipStart,clipSourceStart,clipSourceEnd,clipScale,clipPreCycle,clipPostCycle,clipHold)| string | クリップ名 |
戻り値の型は照会モードでは照会フラグが基になります。
| ロング ネーム(ショート ネーム) | 引数型 | プロパティ | ||
|---|---|---|---|---|
-clipIndex(-ci) |
uint |
|||
|
||||
-start(-s) |
time |
|||
|
||||
-sourceStart(-ss) |
time |
|||
|
||||
-sourceEnd(-se) |
time |
|||
|
||||
-preCycle(-prc) |
float |
|||
|
||||
-postCycle(-poc) |
float |
|||
|
||||
-hold(-ph) |
time |
|||
|
||||
-scale(-sc) |
float |
|||
|
||||
-absolute(-abs) |
boolean |
|||
|
||||
-absoluteRotations(-abr) |
boolean |
|||
|
||||
-allAbsolute(-aa) |
||||
|
||||
-allRelative(-ar) |
||||
|
||||
-rotationsAbsolute(-ra) |
||||
|
||||
-defaultAbsolute(-da) |
||||
|
||||
-instance(-in) |
string |
|||
|
||||
-remove(-rm) |
||||
|
||||
-enable(-en) |
boolean |
|||
|
||||
-blend(-b) |
uint uint |
|||
|
||||
-blendUsingNode(-bun) |
string |
|||
|
||||
-blendNode(-bn) |
uint uint |
|||
|
||||
-removeBlend(-rb) |
uint uint |
|||
|
||||
-character(-ch) |
||||
|
||||
-listCurves(-lc) |
||||
|
||||
-name(-n) |
string |
|||
|
||||
-sourceClipName(-scn) |
||||
|
||||
-weight(-w) |
float |
|||
|
||||
-weightStyle(-ws) |
uint |
|||
|
||||
-lock(-l) |
boolean |
|||
|
||||
-solo(-so) |
boolean |
|||
|
||||
-mute(-m) |
boolean |
|||
|
||||
-track(-t) |
uint |
|||
|
||||
-insertTrack(-it) |
uint |
|||
|
||||
-removeTrack(-rt) |
uint |
|||
|
||||
-removeEmptyTracks(-ret) |
||||
|
||||
-shiftIndex(-shi) |
uint |
|||
|
||||
-shift(-sh) |
int |
|||
|
||||
-listPairs(-lp) |
||||
|
||||
-cycle(-c) |
float |
|||
|
||||
-group(-grp) |
boolean |
|||
|
||||
-groupName(-gn) |
string |
|||
|
||||
-groupIndex(-gri) |
uint |
|||
|
||||
// First, create a character to hold the clips. The character will be
// a 3-bone skeleton named "arm".
//
select -d;
joint -p 0 0 0 ;
joint -p 0 4 0 ;
joint -e -zso -oj xyz joint1;
joint -p 0 8 -1 ;
joint -e -zso -oj xyz joint2;
joint -p 0 9 -2 ;
joint -e -zso -oj xyz joint3;
select -r joint1 joint2 joint3;
character -name arm;
// Create some animation for the character. For this example the animation will
// be quite trivial.
//
select -r joint3;
currentTime 0; setKeyframe joint3.rx;
currentTime 10; setKeyframe -v 90 joint3.rx;
currentTime 20; setKeyframe -v 0 joint3.rx;
// Create a clip for the current animation named "handWave"
//
clip -startTime 0 -endTime 20 -name "handWave" "arm";
// Query the name of the clipScheduler for this character
//
character -q -sc "arm";
// Result: armScheduler1
// Create a 2nd animation for the character.
//
select -r joint2;
currentTime 0; setKeyframe "arm";
currentTime 10; setKeyframe -v 45 joint2.rx; setKeyframe -v -20 joint2.ry;
currentTime 20; setKeyframe -v 0 joint2.rx; setKeyframe -v 20 joint2.ry;
// Create a clip for the current animation named "elbowWave"
//
clip -startTime 0 -endTime 20 -name "elbowWave" "arm";
// Instance handeWave at time 10
//
clipSchedule -instance handWave -s 10 "armScheduler1";
// 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.
//
clipSchedule -name handWave1 -q -ci armScheduler1;
// Query whether the clip associated with index 2 is enabled or not
//
clipSchedule -ci 2 -q -enable "armScheduler1";
// Query the name of the clip associated with index 2
//
clipSchedule -ci 2 -q -n "armScheduler1";
// Query the weight of the clip associated with index 2
//
clipSchedule -ci 2 -q -weight "armScheduler1";
// Modify the elbowWave clip to start at frame 10 instead of frame 0
//
clipSchedule -start 10 -ci 1 "armScheduler1";
// Trim the start of the elbowWave clip to
// use the animation starting at frame 5 instead 0
//
clipSchedule -sourceStart 5 -ci 1 "armScheduler1";
// Trim the end of the elbowWave clip to
// use the animation up to frame 15 instead 20
//
clipSchedule -sourceEnd 15 -ci 1 "armScheduler1";
// Modify the handWave clip to have two cycles instead of 1
//
clipSchedule -postCycle 1 -ci 0 "armScheduler1";
// list the animation curves associated with a particular clip
//
clipSchedule -ci 2 -listCurves "armScheduler1";
// Move a particular clip to a particular track
//
clipSchedule -track 2 -ci 0 "armScheduler1";
// Add a blend between clips 1 and 2
//
clipSchedule -b 1 2 "armScheduler1";
// Query the name of the blendNode between clips 1 and 2
//
clipSchedule -bn 1 2 -q "armScheduler1";
// Lock the first track and then query its state
//
clipSchedule -track 1 -e -lock 1 "armScheduler1";
clipSchedule -track 1 -q -lock "armScheduler1";
// 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).
//
clipSchedule -q "armScheduler1";
// 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
//
clipSchedule -sh -3 -shi 1 -shi 2 "armScheduler1";
// Print out which anim curves animate which channels for the
// clip with an index of 2.
//
string $out[] = `clipSchedule -ci 2 -q -lp "armScheduler1"`;
string $pair;
for ($pair in $out) {
string $buff[];
tokenize $pair " " $buff;
print ($buff[1] + " animates " + $buff[0] + ".\n");
}