Description

Characters can gaze or look at other objects in the environment, including other characters and pawns, as well as individual body parts on other characters or themselves. The gazing can be done with four different body areas: eyes, neck, chest and back. Each area can be controlled individually or simultaneously with the other body areas.

 

The above image is an example of each character gazing using all four body areas at the pawn that is being interactively moved around.

Requirements

Each gaze body area requires a different set of joints. The full set of required joints is as follows:

Usage

<gaze target="utah"/>

 

 

Note that subsequent gazes that use the same body area will run in place of older gazes using the same body areas. Subsequent gazes that use a subset of body areas will override only those body areas in the old gaze that the new gaze uses. For example:

<gaze target="utah"/>, then
<gaze target="brad"/>

 

will cause an initial gaze at utah using all body areas, but then all body areas would shift to gazing a brad. If subsequently, the following command was sent:

<gaze target="elder" sbm:joint-range="NECK EYES"/>
 

then the neck and eyes body parts will now gaze at the elder, while the CHEST and BACK body parts will continue to gaze at brad. If somehow the elder gaze was eliminated, the older gaze would then retake control of the NECK EYES and gaze at brad again.

Parameters

ParameterDescriptionExample
target

what or who to gaze at. the target can either be the name of character or pawn,

or the name of a joint on a character or pawn. To specify a joint, use the syntax name:joint

<gaze target="utah"/>
<gaze target="utah:l_wrist"/>
sbm:target-posthe position to gaze at. defined by x, y, z
<gaze sbm:target-pos="0 0 0"/>
sbm:joint-range

Which parts of the body to engage during a gaze. Can be any combination of:

EYES, NECK, CHEST, BACK. Can be specified by expressing a range, such as EYES CHEST,

which would include the EYES, the NECK and the CHEST.

<gaze target="utah" sbm:joint-range="EYES NECK"/>
<gaze target="utah" sbm:joint-range="EYES"/>
<gaze target="utah" sbm:joint-range="CHEST BACK"/>
direction

When gazing at an object, the offset direction from that object.

Must be coupled with the angle attribute.

Direction and it's respective angles are can be:

LEFT (270),  RIGHT (90), UP (0), DOWN (180), UPLEFT (315),

UPRIGHT (45), DOWNLEFT (225), DOWNRIGHT (135) or POLAR (DEG).

If the direction is POLAR, the n (DEG) is the polar angle of the gaze direction.

<gaze target="utah" direction="LEFT"/>
<gaze target="utah" direction="POLAR 137"/>

 

angleAmount of offset from the target direction. If none is specified, default is 30 degrees.
<gaze target="utah" direction="LEFT" angle="10"/>
sbm:priority-jointWhich body area should acquire the target. Can be: EYES, NECK, CHEST, BACK. Default is EYES
<gaze target="utah" sbm:priority-joint="NECK"/>
sbm:handlename of the gaze used to recall that gaze at a later time
<gaze target="utah" sbm:handle="mygaze"/>
sbm:joint-speed

Overall task speed for NECK or NECK EYES.

Default values for HEAD and EYES are 1000. Specifying one parameter changes the NECK speed.

Specifying two parameters changes the HEAD and EYES speed.

<gaze target="utah" sbm:joint-speed="500"/>
<gaze target="utah" sbm:joint-speed="800 1500"/>
sbm:joint-smoothDecaying average smoothing value
<gaze sbm:handle="mygaze" sbm:joint-smooth="1"/>
sbm:fade-inFade-out interval to fade out a gaze, requires sbm:handle to be set
<gaze sbm:handle="mygaze" sbm:fade-out="1"/>
sbm:fade-outFade-in interval to restablish a faded-out gaze, requires sbm:handle to be set
<gaze sbm:handle="mygaze" sbm:fade-in="1"/>
startWhen the gaze will start
<gaze target="utah" start="2"/>

Attachments:

gaze_example.png (image/png)