Rest Pose - isir/greta GitHub Wiki
A Rest Pose is a gesture which positions the arms while at rest.
The virtual agent will show a rest pose when it has finished talking. Thus the arms will go back to the rest pose position when the agent is not speaking, or else when there is enough time between its successive communicative gestures.
To create and use a rest pose, you first need to add it to the "gestuary" of the agent, next you need to create an intention using this gesture in the "lexicon" of the agent, and then call this intention in a FML file.
Examples of rest pose uses can be found in the following repository:
<GRETA_DIR>/bin/Examples/Restposes/
Step 1: A rest pose signal can be designed using the GestureEditor. After creating it, save it as class=rest and give it a name. Below, there are two examples of rest poses: Crossed Arms and Akimbo (hands on hips).
Step 2: In order to use a rest pose in a FML file, an intention using the rest pose signal must before be created in the lexicon file of the character you want to animate. The name of a rest pose intention must follow the format: "rest-intention_name".
For example, our common lexicon (used by all characters) contains the following intentions:
<behaviorset name="rest-akimbo">
<signals>
<signal id="1" name="rest=Akimbo" modality="gesture"/>
</signals>
<constraints>
<core>
<item id="1"/>
</core>
</constraints>
</behaviorset>
<behaviorset name="rest-armscrossed">
<signals>
<signal id="1" name="rest=ArmsCrossed" modality="gesture"/>
</signals>
<constraints>
<core>
<item id="1"/>
</core>
</constraints>
</behaviorset>
Step 3: A rest pose intention can be used in a FML file with the following format:
<rest id="rp1" type="intention_name" start="0" importance="1.0"/>
For example, in order to use the rest pose intention named "rest-akimbo" (which uses the gesture signal "rest=Akimbo"), the FML file will contain the line:
<rest id="rp1" type="akimbo" start="0" importance="1.0"/>