Skip to content

Rest Pose

Brice Donval edited this page Apr 24, 2020 · 1 revision

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).

drawing

drawing

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"/>

Getting started with Greta

Greta Architecture

Quick start

Advanced

Functionalities

Core functionality

Auxiliary functionalities

Preview functionality

Nothing to show here

Previous functionality (possibly it still works, but not supported anymore)

Clone this wiki locally