Headtracking

From Dragon Age Toolset Wiki
Revision as of 16:49, 19 January 2012 by Warslav (Talk | contribs) (Cutscene editor performance)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Cutscene topics

This cutscene action causes the actor to turn its head toward a target. If you want the actor to look at an arbitrary point in space you'll need to add an invisible actor there to serve as the target. All objects are valid headtracking targets, including creatures, placeables, and even cameras. When the target is another creature, the actor will attempt to look at the target's head. If the target is another object (placeable, camera) the actor will look at its base position.

For the duration of the headtracking action the actor will keep its head "locked on" to the target, turning it if either of them moves. Once the head tracking action ends the actor will continue pointing its head in the direction it was pointing at the time. If you want the actor to return its head to its neutral position, add another head tracking action with a target of "(none)".

The default speed is 1. Larger values turn the head faster. To turn the head at twice the normal speed, set the speed to 2. To turn the head at half speed, set the speed to 0.5. To immediately snap the head towards its target, set the speed to any large number, like 100.

Head angle is constrained, so this action won't be able to twist an actor's head around to unnatural angles. The headtracking system must take into account the characters “natural” head position from his pose/animations. This is not an easy thing to do - for example, the system needs to tell the difference between an animation that is permanently moving the head or just a brief head bob. Some manual fixing will be required from time to time.

How it works

The headtracking system takes snapshots of where the characters head orientation is at certain points during a line:

  • At the start of the line, but only if the change is more than 20 degrees
  • During a pose transition, but only if the change is more than 20 degrees
  • At the end of a pose transition, always
  • At the start of a headtracking action, IF the “Realign Source Head” is true (it is false by default)

At these times the system looks where the characters head is pointed (relative to their body) and remembers it, and uses that orientation from that point onward.

For this reason it is very important where the character's head is during those points in time, especially the first frame and at the end of the pose transition.

The look targets and speeds of all those in the conversation/cutscene are explicitly controlled by the conversation/cutscene. While a headtracking action is playing the source is constantly tracking the target exactly (there are no movement thresholds, or ease in periods). The exception is the angle of the source’s head, due to his pose/animation

How to fix glitches

You should be able to fix many headtracking glitches by:

  • Adding blend in times for head-affecting animations that play on the first frame
  • Making head-affecting animations start after the first frame
  • Avoiding pose transitions at the same time as head-affecting animations

For other glitches you will need to create a custom cutscene. When you have a custom cutscene you will see that headtracking actions have two properties:

  • Realign Source Head At Start - This will force head realignment as the headtracking action begins. This is useful if you are starting a headtracking action after a major change animation
  • Realign Source Head Continuously - This is useful during an animation which changes the head constantly and you want headtracking to always compensate. You don’t want this on all the time since it will make headtracking “fight” with small head bobs, but if you are doing something major it can be useful.

At the end of a pose transition, or when using “Realign Source Head At Start” the update is forced. This means that even if the head has just moved a tiny bit the system will notice the difference. The other updates only pay attention if there is a significant change. This prevents a sudden, noticeable change between lines or at the beginning of a continuous update.

During a continuous update the head won’t update until there has been a noticeable change. However, from that point on it will update every frame for the rest of the action, regardless of how big the change is.

Cutscene editor performance

If you have a long scene and you jump to the end, the only way to accurately reflect the characters head is to replay all the headtracking to that point. This can cause significant performance issues in the cutscene editor. You can tell the toolset to take a shortcut by disabling "Accurate Headtracking", either by using the toolbar button IconAccurateHeadtracking.png or by a setting in the cutscene editor options. The cutscene editor will then use a variety of assumptions to approximate proper head orientation, usually getting something very close to the "proper" headlook behavior.


General
End Time The time that the action ends
Infinite If true this action extends on forever. It never ends.
Start Time The time that the action begins
Headtracking
Realign Source Head At Start Whether we should force a source head realignment as this action begins. This can be useful before and after an animation that significantly changes the angle of the source creature's head.
Realign Source Head Continuously If true the source head position will be updated continuously during this action (assuming that the change is significant)
Speed Multiplier How fast the head should turn to face the target.
Target The actor to look at.


Language: English  • русский