This command defines a virtual device. Virtual devices act like real devices and are useful to manipulate/playback data when an command device is not connected to the computer. In query mode, return type is based on queried flag.
Long name (short name) | Argument Types | Properties | |
---|---|---|---|
axis (ax) | int | ||
Specifies the axis number of the channel. All children have their axis number determined by their parent’s axis number and the width of the parent channel. If this flag is not used, the order of the channel determines the axis number. |
|||
channel (c) | unicode | ||
After a -create is started, channels may be added to the device definition. The channel string wil be the name of the channel being added to the device. The -channel flag must also be accompanied by the -usage flag and optionally by the -axis flag. |
|||
clear (cl) | bool | ||
|
|||
create (cr) | bool | ||
|
|||
device (d) | unicode | ||
The -device flag ends the device definition. All of the channels between the -create flag and the -device flag are added to the specified device. If that device already exists, the command will fail and the device should be redefined with another device name. To see the currently defined devices, use the listInputDevices command. The -device flag is also used with -undefine to undefine a virtual device. |
|||
parent (p) | unicode | ||
|
|||
undefine (u) | bool | ||
|
|||
usage (use) | unicode | ||
The -usage option is required for every -channel flag. It describes what usage type the defined channel is. The usage types are: unknownscalarposrotposRotquaterni onposQuaternionrotXYZrotYZXrotZXYrotXZYrotYXZrotZYXposRotXYZposRotYZXposRotZXYposRotXZYposRotXZYposRotZYXposXposYposZrotXrotYrotZFlag can have multiple arguments, passed either as a tuple or a list. |
Derived from mel command maya.cmds.defineVirtualDevice
Example:
import pymel.core as pm
# Create a virtual clock and read in some data.
pm.defineVirtualDevice( create=True )
pm.defineVirtualDevice( channel='seconds', usage='rotZ', axis=2 )
pm.defineVirtualDevice( channel='minutes', usage='rotZ', axis=1 )
pm.defineVirtualDevice( channel='hours', usage='rotZ', axis=0 )
pm.defineVirtualDevice( device='virtualClock' )
pm.readTake( device='virtualClock', take='clock.mov' )
# Undefine the virtualClock
pm.defineVirtualDevice( device='virtualClock', undefine=True )
# Create a body device.
pm.defineVirtualDevice( create=True )
pm.defineVirtualDevice( channel='pelvis', usage='posRot' )
pm.defineVirtualDevice( channel='back', usage='posRot' )
pm.defineVirtualDevice( channel='head', usage='posRot' )
pm.defineVirtualDevice( device='body' )
# Explicitly order the axis of the device. The created device is
# the same as the above body device.
pm.defineVirtualDevice( create=True )
pm.defineVirtualDevice( channel='head', usage='posRot', axis=12 )
pm.defineVirtualDevice( channel='back', usage='posRot', axis=6 )
pm.defineVirtualDevice( channel='pelvis', usage='posRot', axis=0 )
pm.defineVirtualDevice( device='body' )