...
- SmartbodyCharacterInit class (Attached to each character gameobject)
- skeleton name (.sk)
- voice type (prerecorded audio or tts)
- voice "code" (path to audio files or tts voice name)
- backup voice type and backup "code" (if prerecorded audio file is not found, you can use TTS as a backup)
- starting posture
- locomotion information
- SmartbodyFaceDefinition class (Attached to each character gameobject)
- defines visemes and facial expressions for the character.
- visemes and facial expression are single pose animations (.skm) for doing blended lip-sync and expressions.
- neutral pose, action units and visemes
- SoundNode gameobject
- Empty gameobject named 'SoundNode' attached as a child of the character's gameobject
- Attach a Sound Source script to the SoundNode gameobject
- Manually position the SoundNode gameobject where you want the character's speech to originate (eg, his mouth)
Character Configuration
Every character should have a script associated with him which specifies the attributes of the character. This class is derived from the SmartbodyCharacterInit class.It specifies the following parameters
- unityBoneParent
- assetPath
- skeletonName
- voiceType
- voiceCode
- voiceTypeBackup
- voiceCodeBackup
- useVisemeCurves
- startingPosture
The parameters allow us to configure the character correctly with respect to smartbody. Please take a look at the 'InitBrad.cs' file for an example of how to configure the character
Changing the Character Voice
The character can use audio files on a per utterance basis, or it can use a TTS generated voice. If using audio files, the voiceType parameter in the above mentioned configuration will be set to 'audiofile' and the voiceCode parameter will point to the folder containing the sound files for the character.
e.g. in the case of the character Brad, His voice files are under the folder "Sounds". This folder contains the audio files and the corresponding .bml and .xml files which are the lipsynch schedule and the non-verbal behavior respectively.
If you want the character to use the TTS generated voice, you will set the voiceTypeBackup parameter to "remote" and set the voiceCodeBackup parameter to the name of the voice you want to use. The name of this voice can be obtained by looking at the TTSRelay application which prints out the available voices on launching.
When Smartbody cannot find audio files, it defaults to the TTS voice and uses the voice you specified as the characters voice.
Using the Console
Hit the ~ key to bring up the console. Here you can see some debug information. Type 'help' for all available commands.
...