wiki:FaceEngine

Version 14 (modified by welberge, 7 years ago) (diff)

--

SpeechEngine

AsapRealizer's default FaceEngine provides flexible support for morph based and/or MPEG4 facial animation.

XML setup

AsapRealizer's default FaceEngine is setup through the FaceEngineLoader xml description.

Typical setup:

<Loader id="faceembodiment">
..
</Loader>
<Loader id="faceengine" 
          loader="asap.faceengine.loader.FaceEngineLoader" requiredloaders="faceembodiment">
    <FaceBinding basedir="" resources="Humanoids/billie/facebinding/" filename="facebinding.xml"/>
</Loader>

The FaceEngine requires a FaceEmbodiment? and a facebinding.

The facebinding

The facebinding is an XML file describing the Binding between BML face behaviors and the motor units that execute them.

Mapping to a Morph motor plan unit

Example:

<FaceUnitSpec type="faceLexeme">
   <constraints>
     <constraint name="lexeme" value="smilemouth"/>
   </constraints>
   <parametermap>
     <parameter src="amount" dst="intensity"/>
   </parametermap>
   <parameterdefaults>
      <parameterdefault name="intensity" value="1"/>
      <parameterdefault name="targetname" value="KevinHead.mesh-Smile"/>
    </parameterdefaults>
  <FaceUnit type="Morph"/>
</FaceUnitSpec> 

Here, the obligatory

<parametermap>
  <parameter src="amount" dst="intensity"/>
</parametermap>

maps the BML faceLexeme amount parameter directly to the intensity (=blend value) of the bound morphs. The obligatory targetname specifies a comma separated lists of morph targets that are used to achieve this specific BML behavior.