Go to: Return value. Related commands. Flags. Examples.
clipSchedule
[-clipIndex uint]
[-start time]
[-sourceStart time]
[-sourceEnd time]
[-preCycle double]
[-postCycle double]
[-hold time]
[-scale double]
[-absolute boolean]
[-absoluteRotations boolean]
[-allAbsolute toggle]
[-allRelative toggle]
[-rotationsAbsolute toggle]
[-defaultAbsolute toggle]
[-instance string]
[-remove toggle]
[-enable boolean]
[-blend uint_uint]
[-blendUsingNode string]
[-blendNode uint_uint]
[-removeBlend uint_uint]
[-character toggle]
[-listCurves toggle]
[-name string]
[-sourceClipName toggle]
[-weight double]
[-weightStyle uint]
[-lock boolean]
[-solo boolean]
[-mute boolean]
[-track uint]
[-insertTrack uint]
[-removeTrack uint]
[-removeEmptyTracks toggle]
[-shiftIndex uint]
[-shift int]
[-listPairs toggle]
[-cycle double]
[-group boolean]
[-groupName string]
[-groupIndex uint]
clipSchedule is undoable, queryable, and editable .
[string] clip name
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
// 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"); }