Top Banner
CRYTE K CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM
44

CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

Dec 17, 2015

Download

Documents

Jonah Wilkinson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

CONFIDENTIAL © 2011 Crytek GmbH

CryMannequin (working title)

HIGH-LEVEL ANIMATION SYSTEM

Page 2: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

KEY REQUIREMENTS

2

Data-driven AnimationEase of adding assets

o Animators should be able to insert new variations of animations easily and without coder intervention or knowledge of game-specific systems.

Ease of adjusting playbacko Animators should be able to have control over layering and biasing their base

animation assets to produce a final look which is used directly in game.o Animators should be able to make use of a suite of procedural fragments as part

of their toolkit in authoring an animation fragment.

Ease of adjusting blends between assetso Very often animations look great when they are playing, but the transitions

between them are poor. This makes the overall flow disjointed and greatly detracts from the look of the animations.

o Animators should be able to control how different animations blend into each other and insert tween animations without coder assistance.

Page 3: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

KEY REQUIREMENTS

3

Better Game IntegrationEnsure authored animation perfectly reflects in game results

o We provide a structure such that the editor can be used to perfectly match the end result in game

o Greatly simplified game-side control

Provide helper control for coordinating animations with game specific effectso Framework ensures that the game code and animation system are always in syncho Assurance that the animation system is always doing what is asked of it

Scalability – the level of impact on game code is the user’s choiceo Minimal integration for pure animation controlo Stronger integration for tighter management of actions

Page 4: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

KEY COMPONENTS

4

Data-driven AnimationThe core animation system selects and sequences animations working solely

from a databaseFragments

o Animators author fragments of animation. These are small graphs built from sequences and layers of raw animation assets to represent a specific animation state.

Transitionso Animators author and edit specific transitions between animation assets.

Transitions dictate the timing of blends and can include tween animations.Selection

o Specific fragments are selected by a game-side identifier (the FragmentId) and a list of game-side tags that define the animation context (e.g. tired, scar, nervous).

Sequencerso The core animation system is built around the sequencing of these animation

fragments using the most appropriate transitions. o The sequencers take in FragmentIds and look up appropriate fragments and

transitions.

Page 5: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

KEY COMPONENTS

5

Better Game IntegrationAn action based system provides the high level interface into the game and

adds coordination via priority and splitting the character into parts

Actionso Basic class used to control animation and synchronise with the game. Can

combine game code with simple high level animation control by pushing FragmentIds onto owned sequencers.

Scopeso Scopes represent a part of the animated character, typical examples being Base,

Torso or Head.o Actions can have control of one or more scopes.o Scopes allow the coordination of animation across different entities be they a

weapon or another character.Action Controller

o A high level controller provides the ability to query scope availability and queue up actions.

Page 6: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 6

KEY COMPONENTS

Page 7: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEKDATA-DRIVEN ANIMATION

7

Page 8: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 8

EDITOR COMPONENTS (KEY PATH)

Page 9: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 9

EDITOR COMPONENTS (OCCASIONAL PATH)

Page 10: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 10

SEQUENCE ANALYSER PREVIEW REFINE DEBUG

Load Save

Stand Move

Scar_StandIdle Stand2Run Scar_Move

Recoil Reload Idle

Scar_RecoilLoop Scar_RecoilExit Scar_Reload Scar_Idle_01

An integral tool for authoring animation content. The Sequence Analyser sits on top of the core animation system and drives it in the same way as the game would.

Page 11: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 11

SEQUENCE ANALYSER PREVIEW REFINE DEBUG

Load Save

Stand Move

Scar_StandIdle Stand2Run Scar_Move

Recoil Reload Idle

Scar_RecoilLoop Scar_RecoilExit Scar_Reload Scar_Idle_01

Insert FragmentIDs along the timeline

Insert FragmentIDs along the timeline

1

Sequence of assets and blends is

generated below

Sequence of assets and blends is

generated below

2

Click play to see sequence in the

character viewport

Click play to see sequence in the

character viewport

3

Page 12: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 12

SEQUENCE ANALYSER PREVIEW REFINE DEBUG

Load Save

Stand Move

Scar_StandIdle Stand2Run Scar_Move

Recoil Reload Idle

Scar_RecoilLoop Scar_RecoilExit Scar_Reload Scar_Idle_01

Page 13: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 13

SEQUENCE ANALYSER PREVIEW REFINE DEBUG

Load Save

Stand Move

Scar_StandIdle Stand2Run Scar_Move

Recoil Reload Idle

Scar_RecoilLoop Scar_RecoilExit Scar_Reload Scar_Idle_01

Load sequence information exported directly from game to

fix glitches

Load sequence information exported directly from game to

fix glitches

Page 14: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

FRAGMENT EDITOR

14

Fragments are specific animation states, they are effectively a fragment of a complete sequence. This is intended to complement core CryAnimation functionality and so complex asset mixing can be handled within it through the usage of parameterised animations.

Stand_idle_01

Load Save

Page 15: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

FRAGMENT EDITOR

15

Create sequences by dragging assets onto

the timeline.

Create sequences by dragging assets onto

the timeline.

Stand_idle_01 IdleBreak_shiftFeet

Load Save

Scrub time and playback in the same

manner as the SequenceAnalyser.

Scrub time and playback in the same

manner as the SequenceAnalyser.

Page 16: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

Stand_idle_01 IdleBreak_shif ...

Load Save

FRAGMENT EDITOR

16

Create random variation by dragging assets onto existing

entries.

Create random variation by dragging assets onto existing

entries.

Right-click to tweak random timings and

chances.

Right-click to tweak random timings and

chances.

Asset Chance

IdleBreak_shiftFeet01 10

IdleBreak_relaxStance01 50

Page 17: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

FRAGMENT EDITOR

17

Directly edit blends to customise the default entry and exit blends

for the sequence.

Directly edit blends to customise the default entry and exit blends

for the sequence.

Stand_idle_01 IdleBreak_shif ...

Insert default tween animations which can

later be overridden.

Insert default tween animations which can

later be overridden.

Stand_idle_01 IdleBreak_shif ... IdleBreak_exit

Page 18: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

FRAGMENT EDITOR

18

Layer animations by dragging assets into

different layers.

Layer animations by dragging assets into

different layers.

Stand_idle_01 IdleBreak_shif ...

RelaxArms01

Load Save

Page 19: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

FRAGMENT EDITOR

19

Layer procedural effects by dragging them onto layers.

Layer procedural effects by dragging them onto layers.

Stand_idle_01 IdleBreak_shif ...

RelaxArms01

Random look around

Load Save

Page 20: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

PROCEDURAL FRAGMENTS

20

Data-driven procedural effectsLayering procedural effects onto animations is another way to build up

behaviours

Procedural animation effectso Parameterised random look or aim aroundso Would typically work by applying and driving poseModifiers

Parameterise existing procedural effectso Hook up of look IK and potentially aim IK animationso Allow per animation settings for the look/aim IKo Would typically work by adjusting parameters for existing poseModifiers

Simple game extensions exposed to the editoro Would need to support extensions from game code for custom effects

Page 21: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

PROCEDURAL FRAGMENTS

21

Data-driven procedural effectsLayering procedural effects onto animations is another way to build up

behaviours

Manipulate animation playbacko Sub-class of Manipulators to provide mapping from game-side parameter to

specific animation effectso Example: a layer may wish to be driven from game from 0->1 (off to on) different

manipulators could implement this in different ways, from changing additive factors to scrubbing time.

o Could also parameterise interpolation rates, allowing animators to author heavy weapons with slower recovery rates.

o Could also be used to drive the parameters for parameterised animations leading to a suite of adjustable manipulators to handle typical locomotion tasks

Page 22: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 22

TRANSITION EDITINGTransitions are key to smooth flowing animation. CryMannequin allows us to insert and edit blends directly on the Sequence Analyser.

Example: Adding stand2Move transitions.

Page 23: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 23

TRANSITION EDITINGRight clicking on the target fragment allows us to override the fragment’s standard entry blend with an explicit transition.

Transitions are filtered by tags in the same way as Fragments. This allows you to specify high level transitions to cover a whole range of contexts, or very specific ones.

Page 24: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 24

TRANSITION EDITING

A transition is inserted, inheriting the existing blend.The blend region can now be dragged to alter the blend duration.

New keys can be added to specify tweening animation clips.

Page 25: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 25

TRANSITION EDITING

Additionally, new layers of animation can be overlaid.

These additional layers can be extended to overlap the destination fragment allowing for more naturalistic transitions.

Page 26: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 26

TRANSITION EDITINGTransitions between fragments support procedural clips too and these can be sequenced and layered in the same way as anim clips.

Page 27: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 27

EXAMPLE WORKFLOWSProblem

o Under-barrel weapon attachments cause cut through on the fingersSolution

o Add new tag UnderbarrelAttachmento Specify new fragments

• Copy existing fragments• Layer on a new additive animation to shift the hand

o Sequencer test -> Fail: not all animations work with the additiveo Remove additive from these animations & tweak the specific blend on/off for the

additive until the result is good for all animationso Sequencer test ->Successo Save and commit databaseo Coder adds the new tag into game

Page 28: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 28

EXAMPLE WORKFLOWSProblem

o Need to reflect AI being nervousSolution

o Add new tag Nervouso Specify new fragments

• Copy existing fragments for Stand and Move• Layer on a new additive animation to shift up the arms• Layer on a procedural fragment to cause random look-around• Tweak procedural parameters until the correct effect is reached

o Sequencer test ->Successo Save/commit databaseo Coder adds the new tag into game

Page 29: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 29

EXAMPLE WORKFLOWSProblem

o Glitch in game going from scar grenade launcher recoil to reloadSolution

o Dump Sequence information from gameo Load into Sequence Analysero Playback and identify cause as a blend on a layero Tweak blendo Playback and validateo Save and commit database

Page 30: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEKGAME INTEGRATION

30

Page 31: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

In-Game UsageQuery Action Controller for availability

o The query takes the form of: can I play an action of a given priority on these scopes within n seconds? Often a single query can be used to early out on a range of potential actions.

Create custom class or use generic actiono This is dependant on the desired level of integration into game

code and the complexity of the action.Assign FragmentId, priority and scopes to action

oWith a custom action these will typically be predefined by that class.

Queue up actiono Push action onto system. This will be processed on the next

system update.o The action is queued up to play at the blend time dictated by the

Transition Database, or triggered immediately if its priority trumps what is currently playing.

31

Page 32: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 32

Action Controller

Base Torso Weapon Priority Queue

Locomotion Idle

Locomotion Idle Jump

Jump Idle Locomotion

Jump Idle Reload Locomotion

Jump Reload Reload Locomotion

Jump Reload Reload Stamp Locomotion

Stamp Stamp Stamp Locomotion

Stamp Stamp Stamp Locomotion

Locomotion

Example of scope usage by actions over time

Page 33: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 33

Action Controller

Base Torso Weapon Priority Queue

Locomotion Idle

Locomotion Idle Jump

Jump Idle Locomotion

Jump Idle Reload Locomotion

Jump Reload Reload Locomotion

Jump Reload Reload Stamp Locomotion

Stamp Stamp Stamp Locomotion

Stamp Stamp Stamp Locomotion

Locomotion

Initial state. An action controlling basic locomotion holds the base

scope and an Idle action currently has control of the torso.

Initial state. An action controlling basic locomotion holds the base

scope and an Idle action currently has control of the torso.

Page 34: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 34

Action Controller

Base Torso Weapon Priority Queue

Locomotion Idle

Locomotion Idle Jump

Jump Idle Locomotion

Jump Idle Reload Locomotion

Jump Reload Reload Locomotion

Jump Reload Reload Stamp Locomotion

Stamp Stamp Stamp Locomotion

Stamp Stamp Stamp Locomotion

Locomotion

Game updates and queues up a Jump action. It is on the same scope as the

Locomotion but with higher priority so it will interrupt it.

Game updates and queues up a Jump action. It is on the same scope as the

Locomotion but with higher priority so it will interrupt it.

Page 35: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 35

Action Controller

Base Torso Weapon Priority Queue

Locomotion Idle

Locomotion Idle Jump

Jump Idle Locomotion

Jump Idle Reload Locomotion

Jump Reload Reload Locomotion

Jump Reload Reload Stamp Locomotion

Stamp Stamp Stamp Locomotion

Stamp Stamp Stamp Locomotion

Locomotion

Locomotion is interruptible and so is automatically added to the priority queue ready for reinsertion at the

earliest opportunity.

Locomotion is interruptible and so is automatically added to the priority queue ready for reinsertion at the

earliest opportunity.

Page 36: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 36

Action Controller

Base Torso Weapon Priority Queue

Locomotion Idle

Locomotion Idle Jump

Jump Idle Locomotion

Jump Idle Reload Locomotion

Jump Reload Reload Locomotion

Jump Reload Reload Stamp Locomotion

Stamp Stamp Stamp Locomotion

Stamp Stamp Stamp Locomotion

Locomotion

Game updates and queues up a reload action. This

moves straight to the head of the priority queue.

Game updates and queues up a reload action. This

moves straight to the head of the priority queue.

Page 37: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 37

Action Controller

Base Torso Weapon Priority Queue

Locomotion Idle

Locomotion Idle Jump

Jump Idle Locomotion

Jump Idle Reload Locomotion

Jump Reload Reload Locomotion

Jump Reload Reload Stamp Locomotion

Stamp Stamp Stamp Locomotion

Stamp Stamp Stamp Locomotion

Locomotion

Action Controller updates and pushes the Reload onto the Torso and Weapon Scopes. This triggers the character and the

weapon animations synchronously. The Idle action is not interruptible and so is terminated and deleted.

Action Controller updates and pushes the Reload onto the Torso and Weapon Scopes. This triggers the character and the

weapon animations synchronously. The Idle action is not interruptible and so is terminated and deleted.

Page 38: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 38

Action Controller

Base Torso Weapon Priority Queue

Locomotion Idle

Locomotion Idle Jump

Jump Idle Locomotion

Jump Idle Reload Locomotion

Jump Reload Reload Locomotion

Jump Reload Reload Stamp Locomotion

Stamp Stamp Stamp Locomotion

Stamp Stamp Stamp Locomotion

Locomotion

Game updates and queues up a stamp action. This is a high priority action which effects all the scopes. It goes straight to

the head of the priority queue.

Game updates and queues up a stamp action. This is a high priority action which effects all the scopes. It goes straight to

the head of the priority queue.

Page 39: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 39

Action Controller

Base Torso Weapon Priority Queue

Locomotion Idle

Locomotion Idle Jump

Jump Idle Locomotion

Jump Idle Reload Locomotion

Jump Reload Reload Locomotion

Jump Reload Reload Stamp Locomotion

Stamp Stamp Stamp Locomotion

Stamp Stamp Stamp Locomotion

Locomotion

The Stamp is pushed on across all the scopes. The existing

actions are all non-interruptible and so terminated and deleted.

The Stamp is pushed on across all the scopes. The existing

actions are all non-interruptible and so terminated and deleted.

Page 40: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 40

Action Controller

Base Torso Weapon Priority Queue

Locomotion Idle

Locomotion Idle Jump

Jump Idle Locomotion

Jump Idle Reload Locomotion

Jump Reload Reload Locomotion

Jump Reload Reload Stamp Locomotion

Stamp Stamp Stamp Locomotion

Stamp Stamp Stamp Locomotion

Locomotion

The Stamp action hits the ground and pushes on its final FragmentID (StampLand). When we reach the most appropriate blend point the Stamp action is

terminated and the Locomotion reinstalled.

The Stamp action hits the ground and pushes on its final FragmentID (StampLand). When we reach the most appropriate blend point the Stamp action is

terminated and the Locomotion reinstalled.

Page 41: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEKALTERNATIVES

41

Page 42: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

GRAPH BASED APPROACHESSize = Complexity

o All graphs suffer from the same problem, the more you add the bigger they get & the harder to maintain & predict behaviour it becomes.

Dual Controlo Graphs have their own control system which then needs to coordinate with the

game. This leads to:• Added complexity in the graph• Added complexity & bugs in game code to manage/track/generally interface

with the graphDivided focus

o Graph structure is dictated by control flow. This makes actual fine animation control difficult, adding links for blends & transition animations is generally difficult or not possible

Exclusive ownershipo Because of the complexity of the graph it typically becomes one man’s baby:

• Bottlenecks• Worse integration of anyone else’s assets

42

Page 43: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL 43

GRAPH BASED APPROACHES (CONT)One layer

o A graph can only describe what happens on a single layer. To coordinate movement animations with torso actions a second graph is required & additional logic needed to bind the two together

Excellent preview toolo A graph acts as a great previewing tool. Anything we do instead needs to be as

expressive and visible in its results.

Page 44: CRYTEK CONFIDENTIAL © 2011 Crytek GmbH CryMannequin (working title) HIGH-LEVEL ANIMATION SYSTEM.

CRYTEK

© 2010 Crytek GmbHCONFIDENTIAL

AnimAction ConcernsWhat chooses the specific AnimAction?

o If each AnimAction is specifically setup with its own assets then we’ll need some higher level control to select which AA to use. Previously this was part of the role of AnimGraph or the Weapon Animation code.

How do we blend between AnimActions?oNo system in place for this and no clear route to extend it.

Potential learning curve per AA typeo Custom parameterisation could make the addition of new variant

AAs non-trivial.How do we manage animations across layers?

o Is the AA specifically tied to a single layer or is this something we explicitly parameterise? This also requires an additional system to coordinate.

44