====== BML Realizer - SmartBody Commands ====== **This list is NOT 100% complete. More advanced commands and advanced optional parameters are possibly not included.** [[http://smartbody.wiki.sourceforge.net/SBM+Commands|Official SmartBody wiki]] - Commands Command variables are presented between angle brackets, < and >. Optional arguments are presented between square brackets, [ and ]. ===== bp ===== === Internal BML Processor commands === **bp reset** Clears any currently pending BML acts, thus freeing their act ids for reuse. Outside of debugging with .seq files, all BML acts should have unique character and act id key pairs, so this should not be an critical issue. Also, once all the failure cases are checked with timeouts, this command should not be necessary anymore.\\ **bp speech_ready SUCCESS** A SmartBody::SpeechInterface callback, informing the BML processor that speech data is ready. **bp speech_ready FAILURE ** A SmartBody::SpeechInterface callback, informing the BML processor that speech data failed to be compiled. ===== camera ===== === Configures the camera in the scene viewer window === **camera eye ** Sets the camera position in the scene. **camera center ** Sets the point that the camera looks at in the scene. **camera scale ** Sets the camera scale. **camera default** Restore the camera to its default configuration. ===== char ===== === Commands used to create, control, and remove characters at runtime === **char init ** Creates and initializes a character with the (found on the ME path) and the . The class is evaluated by a renderer, such as [[bml:bmlr|BMLR]]. **char remove** Removes the character from the scene. **char inspect** Prints out debug information about the character. **char prune** Prunes the controller trees of unused/overwritten controllers. **char ctrl** Adds or removes a named test controller. **char viseme ** Sets the weight of a character's viseme. The (in seconds) enables the viseme weight to change gradually. **char bone ** Sets the quaternion rotation of the character's bone named . === set char === **set char world_offset [x ] [y ] [z ] [h ] [p

] [r ] ** Sets the characters position and orientation in the world. XYZ is the position and HPR is the orientation, where h is heading (yaw), p is pitch and r is roll. Any combination of xyzhpr in any order can be specified. See the [[bml:bmlr:smartbody#coordinate_system|coordinate systems]] section. **set char voice ** Sets the characters voice, using a speech synthesizer. **set char voice ** Sets the characters voice, using pre-recorded audio files. ===== ctrl ===== Commands to create, initialize and destroy named controllers. These commands are primarily test commands available for controller programmers. ===== divulge ===== Prints contents of: srHashMap pose_map; srHashMap motion_map; srHashMap pose_ctrl_map; srHashMap motion_ctrl_map; srHashMap snod_ctrl_map; srHashMap lilt_ctrl_map; srHashMap sched_ctrl_map; srHashMap controller_map; ===== echo ===== === Echos text to the SBM console. Usually used for annotations inside sequences === **echo ** Prints to the console. ===== J_L ===== === Shorthand for joint_logger === ===== joint_logger ===== === The joint logger is used for debugging animations and motion controllers === **joint_logger ** Starts or stops the joint logger. **set joint_logger joints [< +/- >] ** Adds or removes a joint from being logged. If +/- are not specified, the complete list is defined. **set joint_logger duration

gaze smooth gaze speed gaze bias

===== lilt ===== === This command is primarily a test command available for controller programmers === **lilt ** Creates a named lilt controller. ===== load ===== === Loads SmartBody skeletons, motions, poses, etc === **load motion[s] ** Loads all .skm motion files from into SBM's list of known animations. **load pose[s] ** Loads all .skp pose files from into SBM's list of known animations. ===== net_reset ===== === Resynchs TCP connection === **net_reset** Helpful in resyncing TCP socket connection to renderer. ===== pawn ===== To create a pawn: pawn PawnName init To change the location of a pawn: set pawn PawnName world_offset x 0 y 160 z 45 As with characters, world_offset can be any combination of x y z h p r ===== path ===== === Sets the working paths to SmartBody's data === **path ** Appends to a path list . Currently valid s are: | seq | Used to search for .seq files during a seq command. | | me | Used by MotionEngine to load .me MeContent files and .sk skeleton files. | | bp | Unused, but reserved by the BML processor for loading configuration data. | ===== print ===== Print various internal variables to the console. ===== q ===== === Shorthand for quit === ===== quit ===== === Quits the SBM process === **quit** ===== reset ===== Resets initial variables in mcuCBHandle class (mcu). ===== sbm ===== === Communication between different SBM processes === **sbm [id ] ** Loopback command that calls the following arguments as another SBM command. It exists as a way for the elvin listener to trigger any command from the message type 'sbm'. Optional process-id supports targeting a specific SBM process. A non-matching process will discard the message. ===== sched ===== === Test command for controller programmers === **sched add