1 of 118

Making Trico Move

The following slides are from genDESIGN’s CEDEC 2017 presentation about The Last Guardian, with English translations added on (and in the speaker notes).

The original talk was held on August 31, 2017. Original slides are publicly available at

https://www.slideshare.net/gendesign/ss-82621799

Slide content by genDESIGN, translations by brando

2 of 118

Making Trico Move

Procedural animation techniques used in “The Last Guardian”

“The Last Guardian”, “Shadow of the Colossus”, and “ICO” © Sony Interactive Entertainment Inc.

3 of 118

Masanobu Tanaka

4 of 118

Masanobu Tanaka

In change of animation for Wander, Colossi

Animation director, lead game designer

5 of 118

A studio started by Fumito Ueda, with core members gathered from the lead development staff of “ICO” and “Shadow of the Colossus”

6 of 118

“The Last Guardian” project’s division of roles

Overall creative direction

Production, adjustments, mass production, implementation

7 of 118

Chapter 1 Project introduction, background

Chapter 2 AI

Chapter 3 Procedural animation

Chapter 4 Fur

Chapter 5 Q&A

Table of contents:

8 of 118

Chapter 1: Project introduction, background

Table of contents:

9 of 118

Chapter 1: Project introduction, background

What is “The Last Guardian”?

10 of 118

“The Last Guardian”

Released on December 6, 2016 by SIE

Action adventure game about a young boy and a giant beast

11 of 118

Game’s essential point:

Want to present Trico as an “animal”!

12 of 118

Trico’s features:

Animal, walks on all fours, large size, fur

13 of 118

Trico’s features

Animal:

-Doesn’t talk

-Express emotions using only animation

-Not anthropomorphic

14 of 118

Trico’s features

Walking on all fours:

-Long side profile

-Standing on a slope (inclined plane) is difficult

15 of 118

Trico’s features

Large size:

-Deception and tricks are not effective

-Need to show details

16 of 118

Trico’s features

Fur:

-Give a sense of thickness

-Show the area’s wind

-Express emotions

17 of 118

Challenges of realizing Trico

18 of 118

Want Trico to walk smoothly, without his feet stumbling

19 of 118

Want to let him stand on slopes

20 of 118

Want him to behave naturally when observing things

21 of 118

Want him to be able to move in cramped spaces

22 of 118

Want him to catch and eat thrown barrels

23 of 118

-Want Trico to walk smoothly, without his feet stumbling

-Want to let him stand on slopes

-Want him to act naturally when observing things

-Want him to be able to navigate areas with low ceilings

-Want him to be able to catch and eat thrown barrels

Challenges of realizing Trico

24 of 118

-Want Trico to walk smoothly, without his feet stumbling

-Want to let him stand on slopes

-Want him to act naturally when observing things

-Want him to be able to navigate areas with low ceilings

-Want him to be able to catch and eat thrown barrels

The goal is to implement these things using procedural animation

Challenges of realizing Trico

25 of 118

AI -> animation -> procedural animation ->

-> physics -> fur -> rendering

What gets processed within a single frame:

26 of 118

Today we’ll be talking about these 3 points (AI, procedural animation, fur)

What gets processed within a single frame:

27 of 118

Outline of each topic

-Deciding Trico’s intentions

-Smooth movements

-Low number of assets

-Animations are natural, respond to the environment

Procedural animation

AI

Fur

-Presentation of Trico’s feathers

28 of 118

Table of contents:

29 of 118

30 of 118

-Make things easy to adjust

-Make the reasoning process used to decide Trico’s intentions simple

AI planning ideas:

31 of 118

Goal of AI

Make the player feel that Trico has a mind

32 of 118

chain

boy

barrel

Goal of AI

Make the player feel that Trico has a mind

33 of 118

Assessing Trico’s current situation and deciding his actions

Play with the chain

Eat the barrel

Nuzzle against the boy

34 of 118

AI basic structure:

Decide the target of Trico’s attention -> Move towards the target -> Decide on an action

35 of 118

Decide the target of Trico’s attention

AI basic structure:

36 of 118

Deciding the target of Trico’s attention

Set an “interest level value” for every object/character

37 of 118

barrel

boy

chain

38 of 118

chain

boy

barrel

Interest levels:

39 of 118

-After performing an action, the interest is “digested”

-Interest level rises over time

-Distance is a factor

Changes in interest level

40 of 118

After performing an action, the interest is “digested”

Changes in interest level

41 of 118

The boy has the highest interest level, so he is the subject of Trico’s attention

Changes in interest level

42 of 118

The interest is “digested”

Changes in interest level

43 of 118

Trico’s attention shifts to an object behind him

Changes in interest level

44 of 118

AI basic structure:

Move towards the target of attention

45 of 118

Move towards the target of attention

-Use a navmesh

-Check if it’s a place that a large body can fit in

46 of 118

AI basic structure:

Decide on an action

47 of 118

Action Selection

*Example actions when Trico gets near a barrel:

Eat it Scratch at it with his front legs Make a sound

After moving to the desired location, pick the most suitable action out of multiple candidates

48 of 118

Space Check

Check if the selected action makes contact with the surrounding terrain

If there’s no problem, pick that action.

Eat it Scratch at it with his front legs Make a sound

49 of 118

In this way, Trico’s AI carries out his decided intentions

50 of 118

AI summary

-Decide the object of attention

-Move toward the target object

-Decide on an action

51 of 118

Chapter 3: Procedural animation

Table of contents:

52 of 118

Chapter 3: Procedural animation

*Usually shortened to “PA”

53 of 118

Procedural animation (PA) is:

Animation created automatically using numerical formulas, scripts, data entered beforehand, etc.

(Definition taken from CGWORLD Entry.jp terminology dictionary )

54 of 118

Practical examples of procedural animation (PA)

Implementation in “ICO”:

-Matching feet with steps of different heights

-Holding hands, etc

This technique has been used for a long time, but in recent years it has become more sophisticated and has drawn more attention.

55 of 118

Procedural animation in “Shadow of the Colossus”

Agro, four-legged colossi, snakelike colossi, etc.

56 of 118

Why is PA necessary?

For example, if you wanted to handle uneven terrain without the use of PA…

You’d get floating feet

You’d have an enormous amount of animation assets

As a best practice, we want to be able to handle any kind of situation

57 of 118

Goals of PA

-Enhance the feeling that the characters really exist

-Present things using a low number of animation assets

-Rise to the challenge of new techniques

58 of 118

The PA of “The Last Guardian”, compared to “Shadow of the Colossus”

-Needs a higher level of quality

-Handle cramped spaces

-Improved level of detail

-Animal traits

59 of 118

Planning ideas for PA in “The Last Guardian”

-Use few animation assets

-Processing leveraged by animation

-Animators keep performance in mind

(or, a programmer well-versed in animation)

60 of 118

Basic structure of PA

-PA as modules

-Processing order goes from main parts -> details

1 frame processing example

body -> legs -> head -> fingers

61 of 118

PA used in “The Last Guardian”

3 typical examples of PA processed content will be introduced

1: Walking and posture control 2: Observation motions 3: Catching and eating barrels

62 of 118

1: Walking and posture control

-Handling curvature of the spine

63 of 118

1: Walking: processing spinal bending

-The body bends to match an AI Bezier [curve]

64 of 118

Animation asset

65 of 118

After processing the spinal bending

66 of 118

Pathfinding when turning sharp corners

To prevent Trico’s body from becoming extremely contorted, the angle at which his body can bend is limited.

Taking spinal curvature into account, an alternate path is created.

67 of 118

1: Walking and posture control

-Moving legs

-Posture correction

68 of 118

The instant Trico lifts a foot, its destination is determined.

Things like height and angle are also taken into account here.

arrival point

Deciding an arrival point

69 of 118

Conditions when Trico can’t place his foot (1/3)

There’s a barrel, the boy, or some other object

70 of 118

Conditions when Trico can’t place his foot (2/3)

The incline is too steep

71 of 118

Conditions when Trico can’t place his foot (3/3)

It’s too close to a wall

72 of 118

During the motion phase, the foot’s landing point is checked again

-The walking motion is a loop made up of 4 motions

-The red circle shows the timing of the landing point checks

Leg 1

Leg 2

Leg 3

Leg 4

73 of 118

Trajectory adjustments made before landing

Blending the two lines of motion

Shortest path to the desired point

Natural walking path

74 of 118

Trajectory adjustments made before landing

Blending the two lines of motion

Shortest path to the desired point

Natural walking path

75 of 118

Anchoring the legs

So that Trico’s feet do not slip, they’re fixed [to the ground] using a pin

76 of 118

Blending a leg’s motion lines

When a leg is lifted, that leg’s position, which shifted while the foot was fixed, is used for interpolation

Fixed foot’s starting point

Interpolation during the time it takes to return the leg to its normal position

77 of 118

Posture control

The foot’s displacement from its original position is used to adjust Trico’s posture

78 of 118

Animation asset

79 of 118

After posture correction

80 of 118

After implementing [foot] trajectory corrections

81 of 118

1: Walking and posture control

-Ceiling correction

82 of 118

1: Posture control: ceiling detection

Detection using sensors above Trico’s head

Trico’s head and body are lowered during processing

83 of 118

After PA

84 of 118

2: Observation motions

-Observation experiments

-Animal-like presentation

-Avoiding walls

85 of 118

Observation motions

86 of 118

Implementation used early in development:

Forward Kinematics (FK)

Trico’s neck [joints] rotate in order, starting from the base.

87 of 118

A system where only the head’s position and rotation are decided, then the neck movements are determined afterwards.

“Lion Dance Method”

88 of 118

Prototyping in Unity

Unity was not used for the creation of “The Last Guardian” itself

89 of 118

The position of the neck’s axis of rotation

A trick used to make Trico look even more like a living animal was to put the axis of rotation towards the front of the head as much as possible.

-> Improved detail, higher level of expression

90 of 118

The position of the neck’s axis of rotation

A trick used to make Trico look even more like a living animal was to put the axis of rotation towards the front of the head as much as possible.

-> Improved detail, higher level of expression

91 of 118

After implementing the “Lion Dance Method”

92 of 118

Wall detection and avoidance

93 of 118

The result of posture control and observation motions

94 of 118

3: Catching and eating barrels

95 of 118

Catching and eating barrels

Using the physics engine to make Trico catch barrels thrown into the air

96 of 118

Catching and eating barrels

In practice: holding the barrel between the upper and lower jaws using collision

97 of 118

Challenges of catching and eating barrels

-Physics simulation

-Lining up the precise timing for getting the barrel in Trico’s mouth

-How to keep it in the back of his throat after he grabs it

98 of 118

Catching and eating procedure

99 of 118

After Trico starts the catch motion, it takes n seconds until the instant he has the barrel in his mouth.

Catching and eating procedure

100 of 118

Position where the barrel will be after n seconds

Area where it’s possible to catch the barrel

Motion hasn’t started yet

Catching and eating procedure

After Trico starts the catch motion, it takes n seconds until the instant he has the barrel in his mouth.

101 of 118

Motion starts!

Catching and eating procedure

After Trico starts the catch motion, it takes n seconds until the instant he has the barrel in his mouth.

Position where the barrel will be after n seconds

Area where it’s possible to catch the barrel

102 of 118

Correcting predictions for the moment of the catch

Catching and eating procedure

Area where it’s possible to catch the barrel

103 of 118

Catching and eating procedure

Correcting predictions for the moment of the catch

Area where it’s possible to catch the barrel

104 of 118

And so, the catching and eating procedure is complete

105 of 118

PA summary

-Consider how to process things from an animator’s perspective

-Processing doesn’t break the animations

-Procedural animations need to be convincing (look good)

-Express things using a low number of animation assets

106 of 118

Chapter 4: Fur

Table of contents:

107 of 118

Chapter 4: Fur

108 of 118

Trico’s whole body is covered in feathers

Shell method (multilayer polygons), “Shadow of the Colossus”

Fin method (tanzaku**), “The Last Guardian”

Types of fur

Fur can generally be classified using the 2 techniques below

109 of 118

Goals of fur

Express Trico’s emotions feel the wind in the current space add to the detail on screen

Among these, we’ll talk about the second one, “feel the wind”

110 of 118

Feather planning

-Think about how feathers rub against each other

-Change parameters according to how strong the wind is

111 of 118

Feather planning

Unity was not used for the creation of “The Last Guardian” itself

112 of 118

Wind planning

The wind spreads out and comes together in waves, and shakes the places where the waves make contact.

Unity was not used for the creation of “The Last Guardian” itself

113 of 118

And so, our fur that moves with the wind is complete

114 of 118

AI

-Design it to be simple, controllable

Procedural Animation

-Consider how to process things from an animator’s perspective

-Processing doesn’t break the animations

-Procedural animations need to be convincing (look good)

-Express things using a low number of animation assets

Fur

-Think about how feathers overlap

-Design with the wind in mind

Summary

115 of 118

Demo project

116 of 118

Thanks

Sony Interactive Entertainment

Japan Studio Trico Team

117 of 118

Recruiting development staff!

genDESIGN, creators of “The Last Guardian”, are accepting applications from developers who’d like to help create prototypes for their next project!

118 of 118