

Channel Drivers Reference
To activate the mouse channel driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box is displayed.
The mouse channel driver is active by default. If you have deactivated the mouse driver and wish to reactivate it, click New and select the driver from the browser.
DOF 0: xpos - normalized mouse x position (0..1)
DOF 1: ypos - normalized mouse y position (0..1)
You must use the SGI System Manager tool to initialize the serial port that is used with the dialbox. To verify that the dialbox is operating correctly, use the SGI Dial and Button Confidence Test.
To activate the dialbox channel driver, choose the Channel -> Channel Run command in the Motion module. The Channel Setup dialogue appears.
To add the dialbox driver to the Driver list, click New and select the driver from the browser.
DOF 1: dial2
...
DOF 7: dial8
You must use the SGI System Manager tool to initialize the serial port to be used with the spaceball. To verify that the spaceball is operating correctly, use the SGI Spaceball Confidence Test.
To activate the spaceball channel driver, choose the Channel -> Channel Run command in the Motion module. The Channel Setup dialogue appears.
To add the spaceball driver to the Driver list, click New and select the driver from the browser.
DOF 1: y accumulated y translation values
DOF 2: z accumulated z translation values
DOF 3: rotx accumulated x rotation values
DOF 4: roty accumulated y rotation values
DOF 5: rotz accumulated z rotation values
DOF 6: abs_x absolute x translation value
DOF 7: abs_y absolute y translation value
DOF 8: abs_z absolute z translation value
DOF 9: abs_rotx absolute x rotation value
DOF 10: abs_roty absolute y rotation value
DOF 11: abs_rotz absolute z rotation value
1: lock/unlock x translation (beeps once/twice)
2: lock/unlock y translation (beeps once/twice)
3: lock/unlock z translation (beeps once/twice)
4: lock/unlock x rotation (beeps once/twice)
5: lock/unlock y rotation (beeps once/twice)
6: lock/unlock z rotation (beeps once/twice)
7: unlock all/lock rotation/lock translation (beeps once/twice/thrice)
8: reset to default values
9, T: reset translation (beeps once)
0, R: reset rotation (beeps once)
To activate the keyboard channel driver, choose the Channel -> Channel Run command in the Motion module. The Channel Setup dialogue box appears.
To add the keyboard driver to the Driver list, click New and select the driver from the browser.
If you double-click on the Keyboard driver name in the Driver scroll box, the Keyboard Channel Driver dialogue box is displayed:
The dialogue box allows you to select the keys that are to be activated and interpreted as degrees of freedom. The output values range between 0.0 and 1.0 inclusively.
The driver has also ramping capabilities that you can control with three floating point values. The Global attack time value is the time, in seconds, in which the degree of freedom passes from 0.0 (base value) to 1.0 (maximum value). When the key is released, the Global delay time specifies how long the degree of freedom retains its value. Then the degree of freedom value is ramped down to 0.0 in the time specified by the Global decay time.
The keys supported range from a to z, 0 to 9, and F1 to F12. The values controlling the ramping effect are global to all keys.
The magellan driver outputs 12 degrees of freedom corresponding to the pressures and twists applied to the device. The buttons can be connected to various elements in SOFTIMAGE 3Dand output zero when not pressed and a value of one when pressed.
To activate the magellan channel driver, choose the Channel -> Channel Run command in the Motion module. The Channel Setup dialogue box appears.
To add the magellan driver to the Driver list, click New and select the driver from the browser.
DOF 1: y accumulated y translation values
DOF 2: z accumulated z translation values
DOF 3: rotx accumulated x rotation values
DOF 4: roty accumulated y rotation values
DOF 5: rotz accumulated z rotation values
DOF 6: abs_x absolute x translation value
DOF 7: abs_y absolute y translation value
DOF 8: abs_z absolute z translation value
DOF 9: abs_rotx absolute x rotation value
DOF 10: abs_roty absolute y rotation value
DOF 11: abs_rotz absolute z rotation value
To activate the defer channel driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
To add the defer driver to the Driver list, click New and select the driver from the browser.
Double-click on defer in the Driver list to display the Defer I/O Driver dialogue box.
In this dialogue box, set the number of degrees of freedom and a delay. The delay is not in real-time units - you may have to experiment with the values to get the results that you need.
For example, you could load a mouse driver and connect its DOF to the output driver part of the defer driver (using a through connection). Then, connect the corresponding input DOF from the defer driver to move the object. This sets a lag between the time you move your mouse and the time movement appears on your display.
For example, you can connect an eventgen OutValue setting to the scaling of your object, set a sequence of key values and then do a channel run. The object changes size according to the values you have entered and the frequency you have specified. This channel driver is also useful to create events such as an eye blink.
To activate the eventgen driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
To add the eventgen driver to the Driver list, click New and select the driver from the browser.
Double-click on eventgen in the Driver list to display the Eventgen Generator dialogue box.
In this dialogue box, you can specify the key values, the trigger frequency, the randomness of the key values, the initial output, and the sequence length.
Interpolate Keys: when this option is selected, if the sequence length is not 0, then the eventgen driver uses linear interpolation between key values. However, even when you activate the Interpolation option, there is no interpolation between the value just before the sequence and the first key value. This also applies to the last key value and the value immediately following. To achieve smooth interpolation between your initial output values and the key value sequence, the initial value must be included as part of the sequence (first and last value).
External Trigger: when this option is selected, the degrees of freedom from another driver trigger the sequence. When the value of the other driver is not equal to zero, the sequence is triggered. To trigger yet again, the driver must not return to zero.
Clock Trigger: when this option is selected, the sequence is triggered by the time that has elapsed.
Trigger Frequency: sets the time interval in which the key values you have entered are output.
Fuzziness: sets randomness of the sequence of key values. A higher Fuzziness value indicates a greater degree of randomness.
Initial Output: sets the initial value of whatever you have connected to the driver (for example, the scaling of your object).
Sequence length: spreads the key values that you have specified over a greater time period. This allows you to lengthen or shorten the sequence.
To add the klocker driver to the Driver list, click New and select the driver from the browser.
Double-click on klocker in the Driver list to display the Clock Channel Driver dialogue box.
This driver allows you to trigger the start of motion capture remotely. For example, you can use a button beside the motion capture device to emulate keyframe control so that you don't have to leave the capture to go from mouse to keyframe. This driver also provides a stopgap solution possibility and control of the four arrow keys used to move the frame pointer.
To activate the rat driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box is displayed.
To add the rat driver to the Driver scroll list, click New and select the driver from the browser.
Select the options you want to use in the Rat - the Mouse Simulator dialogue box.
To use this experimental feature, follow these steps:
1. Type the following on the command line in a shell to enable the feature:
setenv SI_DRIVER_ALLOW_BROADCAST 12. Run the input driver you wish to broadcast with:
mouse -SI_RUN -mode BROADCAST <port_number>where
<port_number> is a TCP port that you just pick within the user range (such as 2000). This should be different for each broadcast driver on the same machine. The driver then waits for listen drivers running within SOFTIMAGE 3D or the SOFTIMAGE Live viewer to connect.3. To connect to this broadcast driver from a session in SOFTIMAGE 3D, load the listen channel driver. Adjust the number of DOF to match that of the broadcast driver (optional), type in the port number and the machine name (it can be on a different machine than the one you are on), then use that driver as you would any normal channel driver. When you start any kind of channel run, the listen driver listens in to the broadcast driver, and you get the broadcast driver's data. Multiple instances of SOFTIMAGE 3D can be listening to the same broadcast driver at the same time.
To activate the Micro_vol channel driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
To add the Micro_vol driver to the Drivers scroll list, click New and select the driver from the browser.
Double-click on micro_vol in the Driver list to display the Microphone Volume Channel Driver Setup dialogue box.
A low filtering level means that the value received for volume is noisy. At high filtering levels, the data is much smoother, but sound processing is more time-consuming. At levels 5 and 6, you may also notice a decrease in the refresh rate. The default value is 4, which represents a good compromise between speed and filtering.
Use the SGI Audio Control Panel to set the audio source to either Microphone, Line In, or Digital In. Adjust the Input Level to alter the ranges of frequency volumes received from the channel driver
To activate the micro_freqs channel driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
To add the Micro_freqs driver to the Driver scroll list, click New and select the driver from the browser.
Double-click on micro_freqs in the Driver list to display the Microphone Frequency Channel Driver Setup dialogue box.
A low filtering level means that the value received for volume is noisy. At high filtering levels, the data is much smoother, but sound processing is more time-consuming. At levels 5 and 6, you may also notice a decrease in the refresh rate. The default value is 4, which represents a good compromise between speed and filtering.
DOF 0: freq1 - volume for frequency 1
DOF 1: freq2 - volume for frequency 2
...
DOF 63: freq64 - volume for frequency 64
This driver has four output channels. For each channel, you may specify two .aiff sound files: one which is triggered to play when the channel goes from positive to negative values (down), and the other plays when the data goes from negative to positive values (up).
To activate the soundOut channel driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
To add the soundOut driver to the Driver scroll list, click New and select the driver from the browser.
Double-click on soundOut in the Driver list to display the Sample Play Channel Setup configuration dialogue box.
In the dialogue box, specify the sound files you want to be associated with your channels. To use expressions to calibrate the output channels, switch from a positive to a negative value or vice-versa, and a channel's associated sound file starts to play.
Snd 0 dn
Snd 0 up
Snd 1dn
Snd 1up
Snd 2dn
Snd 2up
Snd 3dn
Snd 3 up
For example, assume you have a MIDI electronic piano. There are 88 keys on a typical piano keyboard, and each key is assigned a unique midi note value - low numbers for low notes and high numbers for high notes. For example, the middle C note has a MIDI note value of 60. Note values from 0 to 127 are permitted, though most MIDI devices only produce a subset of these possible values.
As well, a key can also have a velocity value which indicates how hard the key is pressed. This number ranges from 0 (off) to 127 (very loud).
When a key is pressed, its note number and velocity are sent to the instruments/computers connected to MIDI. When it is released, a second message is sent to say it was turned off. This allows one MIDI device to control other MIDI devices. There are many types of MIDI messages (note on/off, controller value, program changes, etc.), but the MIDI channel driver deals with on/off messages.
The conversion of MIDI data to channel data works as follows: assume someone pressed middle C (MIDI note number 60) on a keyboard connected to the MIDI channel driver. At the moment the key is pressed, the channel named midi.C4_ _60 starts ramping up in value from 0.0 to 1.0. The time this takes is called the Attack Time. Once it reaches 1.0 in value, it holds there until the note is released. The delay until the key is released is called the Delay Time. The channel starts ramping from 1.0 back down to 0.0; the time this takes is called the Decay Time.
Attack Time, Delay Time, and Decay Time can be specified globally for all the MIDI notes. The values used to specify them are in seconds.
If velocity sensitivity is turned on, the maximum value that the channel ramps up to is proportional to the velocity at which the key was pressed. If the key is pressed very hard, it ramps up to 1.0. If it is pressed at half-force, it ramps up to 0.5.
As long as the key that a channel is monitoring is not pressed, the channel continues to output a value of 0.0.
2. Connect a MIDI cable from the MIDI-Out port of the MIDI device to the MIDI-In port of the MIDI interface. Connect a serial cable from the serial port of the MIDI interface to serial port 2 of your SGI computer. Turn everything on, then type in the following in a shell:
startmidi -d /dev/ttyd2
This starts the SGI MIDI daemon to monitor any MIDI data coming from the MIDI device.
/dev/ttyd3 in place of /dev/ttyd2 in the previous command.3. In SOFTIMAGE 3D, activate the MIDI channel driver: choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
4. In the Driver list, double-click on the midi channel driver name. The MIDI Channel Driver dialogue box appears:
5. Select the MIDI channels which are to be active. You can also choose whether the driver is velocity-sensitive, non-velocity-sensitive, or a combination of the two.
6. Once the driver is set up, the MIDI channels can be connected to your models in the same way you use other channels. When capturing from a MIDI drum set, keyboard, or sequencer, you may want to get velocity values on some notes, and ignore them on others. For example, a note might cause a character to jump a certain height depending on the velocity, but change their expression in the same way no matter how hard the drum is hit.
midi.C4_ _60), while velocity-sensitive channels are identified by the note name and number and the word "velocity" (for example, midi.C4_ _60_velocity).7. When you need to use the serial port for something else, quit SOFTIMAGE 3D, and type the following in a shell:
stopmidiThis frees up the serial port.
The Polhemus driver, with its accompanying polhemus.cus file, can be configured for up to four Polhemus units. In other words, you can have up to 16 receivers, where each receiver sends data for six degrees of freedom - three for position in x, y, and z, and three for rotation in x, y, and z.
The following paragraphs describe how to configure Polhemus units operating on one or more RS232 ports. Please refer to the Polhemus documentation for more information on setting up the device.
To activate the Polhemus channel driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
To add the Polhemus driver to the Driver list, click New and select the driver from the browser.
DOF 1: 1_y - Y position (inches) for receiver 1
DOF 2: 1_z - Z position (inches) for receiver 1
DOF 3: 1_xrot - X rotation (degrees) for receiver 1
DOF 4: 1_yrot - Y rotation (degrees) for receiver 1
DOF 5: 1_zrot - Z rotation (degrees) for receiver 1
DOF 6: 2_x - X position (inches) for receiver 2
DOF 7: 2_y - Y position (inches) for receiver 2
...
Each operating receiver sends six degrees of freedom (position and rotation) to SOFTIMAGE 3D.
For each receiver you are using, set the appropriate dip switch on the Polhemus unit. To maximize performance, turn off all unused receivers.
In the previous example, two Polhemus units are in use. They are connected to /dev/ttyd1 and /dev/ttyd2.
In Stream polling mode, the Polhemus device sends the data continuously to the driver. Since there is more information sent in this mode, the lag time (the delay between the time the sensor is moved and the time it is refreshed on screen) is greater than in Normal polling mode. Nevertheless, when capturing in Stream mode at full speed (38400 baud rate), you can achieve a maximum capture rate of 30Hz, as compared to a 15Hz maximum capture rate in normal polling mode.
The unit connected to PORT 1 is free-running. It is known as the master unit. The other units are "slaved" to the master's frequency by daisy-chaining them together. Using the synchronization cables, connect the master's sync out to the next unit's sync in, and that unit's sync out to the next unit's sync in. Continue these steps until all the units are connected.
In Ascension terminology, each bird in a flock corresponds to a receiver or an ERT. They are interconnected via a Fast Bird Bus (FBB). Each flock typically has one transmitter and one or more receivers.
The FOB hardware operates either with all the birds connected together from a single RS232 port, or with each bird attached to its own RS232 port. However, the Ascension driver supports only the first configuration. The Ascension driver also assumes that only one transmitter is being used (it may be either an ERT or a regular transmitter). The transmitter must be at address 1 on the FBB and it must also be the bus master.
The following section shows you how to configure the Ascension channel driver. Please refer to the Ascension documentation for more detailed information on setting up the device.
To activate the Ascension driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
To add the Ascension driver to the Driver list, click the New button and select the driver from the browser.
Double-click on Ascension in the Driver list to display the Ascension Channel Driver Setup dialogue box.
DOF 1: 1_y - Y position (inches) for receiver 1
DOF 2: 1_z - Z position (inches) for receiver 1
DOF 3: 1_xrot - X rotation (degrees) for receiver 1
DOF 4: 1_yrot - Y rotation (degrees) for receiver 1
DOF 5: 1_zrot - Z rotation (degrees) for receiver 1
DOF 6: 2_x - X position (inches) for receiver 2
DOF 7: 2_y - Y position (inches) for receiver 2
...
In this case, BAUD_RATE 38400 is being used.
The baud rate for each bird must be set by using dip switches 1, 2, and 3. The baud rate set in this dialogue box must match the dip switch baud rate.
Set up the flock so that the transmitter is at address 1 on the FBB. Set up the transmitter so it becomes the bus master by connecting the RS232 cable to the bird with the transmitter. Connect the remainder of the flock as a chain on the FBB. Set the bird addresses using dip switches 4, 5, 6, and 7. These addresses must be unique and run from 1 to the number of receivers + 1.
The ultratrak driver works well when synchronized with SOFTIMAGE 3D. You should also be able to get good performance by setting the driver to free-running mode. It is not recommended that you run this driver as a frequency driver.
The ultratrak driver requires an entry in the network service name database (in the file /etc/services on UNIX® workstations). The entry should be named ultratrak and should use the UDP protocol. An example of the entry you might add to the /etc/services file would be:
ultratrak5555/udp #ultratrak broadcast portAfter setting this service up (as root), you must restart the network server - either by rebooting the machine or by executing:
/etc/killall -HUP inetdThe Ultratrak software (running on the host PC) must also be configured properly with the IP address of the remote (SGI) computer, and the same port as was entered in the network service name database must be specified as the remote port number.
It also allows you to select of the number of sensors to be used with the device. This number depends on your setup, and should be set to correspond to the number of magnetic sensors actually plugged into the control unit.
The names of the degrees of freedom are (where N represents the number of sensors):
The alleffectsCapt driver can be used as a powerful way of generating facial expressions for virtual characters in SOFTIMAGE 3D. There is also an output driver called alleffectsCntl which outputs data to drive the head servo-motors.
Proprietary All Effects software on the laptop computer is used for defining expressions and character behaviour and for calibrating the hand controllers. A single axis input may be defined as a transition between complex servo configurations, for example to transition from a smile to a frown. All Effects calls this kind of mapping an expression.
A character is defined as a set of facial expressions. Once a character has been created, the expression set is then downloaded to the main computer and used to map the Waldo data into servo data. During a real-time facial animation session, no data exchange is made between the lap-top and the main computer. The laptop is only used for creating the expressions, and to download the expression data when the system is first initialized.
The animation is captured through the left and right hand Waldo devices. These devices can generate up to 32 degrees of freedom, but only 16 are currently used. Starting and stopping is controlled via the laptop (enable/disable transmission). Of the eight switches above the round puck, the leftmost switch disables the output of servo data, even if the laptop is in enable transmission mode. None of the other switches are used.
To add the alleffectsCapt driver to the Driver scroll box, click New and select the driver from the browser.
If you double-click on alleffectsCapt in the Driver list, the Waldo Capture Channel Driver Setup dialogue box appears.
This dialogue box allows you to toggle the activation state of any of the facial parameters.
You can also use the alleffectsCapt and alleffectsCntl drivers simultaneously.
To activate the alleffectsCntl channel driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
To add the alleffectsCntl driver to the Driver list, click New and select the driver from the browser.
If you double-click on alleffectsCntl in the Driver list, the Waldo Control Channel Driver Setup dialogue box appears.
This dialogue box allows you to toggle the activation state of any of the facial parameters. Connect your function curves to the facial parameters and calibrate the values (the channel driver uses values between 0 and 1).
When some of the facial animation parameters are turned off, the driver sends REST position values to the corresponding servo motors. When the driver starts, it sends a first packet to the device (the head) to tell it to activate itself in a rest position.
Make sure your source and destination serial ports are properly configured (source is the Waldo unit, destination is the device). Also, be sure that the laptop on the Waldo is not in transmission enable mode. Click Ok, change the battery on the laptop, and then wait a few seconds. To see the result of the operation, click Status in SOFTIMAGE 3D.
Refer to the All Effects Operating Procedure (next section) for detailed instructions on how to use this driver with the hardware.
alleffectsInit alleffectsInit.cusand the path specified by
SI_CHNLDRIVER contains:
alleffectsCapt alleffectsCapt.cus alleffectsCntl alleffectsCntl.cusTo activate the All Effects hardware for using both alleffectsCapt and alleffectsCntl, follow these steps. Make sure that all the hardware is properly set up and that you have a SOFTIMAGE 3D scene connected to the All Effects channel driver(s):
1. Inside the Waldo hand controller unit there are two switches on the left side. Turn on the one farthest from the door.
2. Turn on the laptop computer. The system boots and automatically enters the Windows 3.1 environment and starts the Animatronic System 1.01 software.
3. (Skip this step if you are not using alleffectsCntl.)
In SOFTIMAGE 3D, choose the Channel -> alleffectsInit command. Specify the source and destination serial ports (source being the port receiving data from the All Effects main computer and the destination being the port sending data out to the RF transmitter). Specify a timeout delay in seconds. If you do not perform the following download steps within the time out delay you have set, the custom effect times out. Click Ok on alleffectsInit.
4. On the laptop, choose the File -> Download command, click Input Channels, click Servo Channels, click Channel Data, and click Download.
5. (Skip this step if you are not using alleffectsCntl.)
In SOFTIMAGE 3D, alleffectsInit should finish processing after a few seconds. Check to see if any errors occurred during the initialization by clicking on Status. If no problem occurred, you should see the following message:
Waldo system successfully initialized.6. On the laptop, click Ok to close the Download system data window. Now that the character setup is chosen, the download is done, and the device is initialized, you're ready to start controlling. Make sure the hardware switch is on (the left switch on the Waldo controllers, under the round puck).
7. In SOFTIMAGE 3D, choose the Channel -> Channel Run command and choose the Frame I/O or Sequence I/O command. Everything should now come alive.
If you are using alleffectsCntl, then the alleffectsInit command must be used each time you either power up the device (such as the head), or open a new character on the laptop. In each case, do the following:
1. Make sure transmission is turned off on the laptop.
2. Choose the Channel -> alleffectsInit command. Specify the source and destination serial ports, and click Ok. Specify a time out delay in seconds. If you do not perform the next step (the battery change step) within the time out delay, the custom effect times out.
3. On the laptop, click BTRY CHG or press Alt-B to start the battery change process.
4. After a few seconds alleffectsInit should finish processing. Click Status and make sure the message indicates a successful operation.
To open a new character on the laptop:
1. If transmission is enabled, turn it off (click Enable S or press Alt-E).
2. If a character is already present, close it by double-clicking on the window close box (top-left, under the File menu).
3. Choose the Character -> Open command and choose the setup in the list.
4. Click Download or press Alt-D to update the expression mapping data in the main computer.
Initialize the head with the alleffectsInit custom effect. For more information on using the alleffectsInit custom effect, refer to alleffectsInit Custom Effect.
To activate the monkey driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
To add the monkey driver to the Driver list, click New and select the driver from the browser.
Double-click on monkey in the Driver list to display the Monkey Channel Setup dialogue box.
In this dialogue box, set the baud rate for data output to the device.
In this case, BAUD_RATE 38400 is being used. If you want to run at a slower baud rate (such as 19200), select one of the other baud rate options.
Degrees of Freedom
The joint degrees of freedom are:
| neck_x | neck_y | neck_z | spine_x |
| spine_y | spine_z | l_clavicle_y | r_clavicle_y |
| l_shoulder_x | r_shoulder_x | l_shoulder_y | r_shoulder_y |
| l_shoulder_z | r_shoulder_z | l_elbow_x | r_elbow_x |
| l_wrist_y | r_wrist_y | l_wrist_z | r_wrist_z |
| l_hip_x | r_hip_x | l_hip_y | r_hip_y |
| l_hip_z | r_hip_z | l_knee_x | r_knee_x |
| l_ankle_x | r_ankle_x | l_ankle_y | r_ankle_y |
| base_x | base_y | base_z |
To add the Superfluo driver to the Driver list, click New and select the driver from the browser.
Double-click on superfluo in the Driver list to display the Superfluo Channel Driver Setup configuration dialogue box.
The path and name of the Superfluo data file are specified in the Superfluo Channel Driver Setup.
DOF 1: 1_y - y position of marker 1
DOF 2: 1_z - z position of marker 1
DOF 3: 2_x - x position of marker 2
DOF 4: 2_y - y position of marker 2
DOF 5: 2_z - z position of marker 2
DOF_NUM 96
DOF_NAME 0 1_x
DOF_NAME 1 1_y
DOF_NAME 2 1_z
DOF_NAME 3 2_x
DOF_NAME 4 2_y
DOF_NAME 5 2_z
...
To read a Superfluo data file for more than 32 markers, adjust the number of markers you need.
The Superfluo data file must be formatted as shown in this example:
frames = 800 markers = 26 Hz = 50
x y z
x y z
The first line states the number of frames, the number of markers, and the frame rate (in Hz). All other lines specify the xyz position of each marker, at a given time.
To activate the rawfcurve file driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
To add the rawfcurve file driver to the Driver list, click New and select the driver.
Double-click on rawfcurve in the Driver list to display the rawfcurve Channel Driver Setup configuration dialogue box.
The path and name of the rawfcurve data file are specified in the configuration dialogue box.
By default, the file name is the same as the actor name. Three raw function curve files are created for each actor. They are named actorC.fraw, actorA.fraw, and actorU.fraw and contain the weighted function curves for each of the basic mouth positions.
Using the channels utility in SOFTIMAGE 3D, this animation data can be retrieved and applied to a SOFTIMAGE 3D model.
2. Setup the channels. To activate the kiss driver, choose the Channel -> Channel Setup command in the Motion module. The Channel Setup dialogue box appears.
To add the kiss file driver to the Driver scroll list, click New and select the driver.
3. Double-click on kissdrv in the Driver list to display the Kiss Channel Driver Setup configuration dialogue box.
Specify the paths and names of the Kiss data files for each actor in the configuration dialogue box.
4. Set the Channel Connection Setup. Select a model with the appropriate mouth shapes and open the Channel Selection Setup dialogue box. At the bottom of the models Function Curve list, there are three weighted shape fcurves probably named wshp_0, wshp_1, wshp_2. (You must know which function curve corresponds to the closed, A, and U shapes). In the Channel list, the Kiss actor channels are listed by name. You now only have to connect the weighted shape fcurves to the corresponding channels.
5. Initiate a Channel Frame/Sequence. Performing a Frame or Sequence input reads all the raw function curve files in parallel, and applies the Kiss animation to your models.
DOF 0: fred_A - animation for fred's A mouth shape
DOF 1: fred_U - animation for fred's U mouth shape
DOF 2: fred_C - animation for fred's closed mouth shape
To add the motionAnalysis driver to the Driver list, click New and select the driver.
Double-click on motionAnalysis in the Driver list to display the motionAnalysis Channel Setup configuration dialogue box.
If you specify more markers here than the file contains, a warning message appears and the capture will use all markers in the file. Markers are simply the reflectors attached to the subject from which the motion data information is being captured.
To add the biovision driver to the Driver list, click New and select the driver.
Double-click on biovision in the Driver list to display the Biovision Channel Driver Setup configuration dialogue box.
In the dialogue box, you specify the name of the biovision file from which you want to capture data.
After selecting the file, the biovision driver loads an animated set of nulls under a single parent. You can then constrain these nulls to an existing model. For more information on using constraints with channel-captured data, refer to the Animating User's Guide.
