WO2006008491A1 - Images produites par ordinateur - Google Patents

Images produites par ordinateur Download PDF

Info

Publication number
WO2006008491A1
WO2006008491A1 PCT/GB2005/002792 GB2005002792W WO2006008491A1 WO 2006008491 A1 WO2006008491 A1 WO 2006008491A1 GB 2005002792 W GB2005002792 W GB 2005002792W WO 2006008491 A1 WO2006008491 A1 WO 2006008491A1
Authority
WO
WIPO (PCT)
Prior art keywords
character
foot
determined
landscape
path
Prior art date
Application number
PCT/GB2005/002792
Other languages
English (en)
Inventor
Steven Archibald Fullerton
Erik Mattias Jansson
James Varnum Terkeurst
Original Assignee
University Of Abertay Dundee
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University Of Abertay Dundee filed Critical University Of Abertay Dundee
Publication of WO2006008491A1 publication Critical patent/WO2006008491A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics

Definitions

  • the present invention relates to a system, method and computer program for generating computer images, primarily for use in a computer game environment.
  • Realism in computer games and animation is a goal that is constantly driving the development and uptake of new technologies in software and hardware.
  • realism was achieved by using complex graphical environments as backdrops for characters to move within.
  • realism requires more than just an accumulation of detail.
  • Objects in the world that the user or animated character is interacting with should react as their real- world counterparts would. This applies to objects reacting in a physically plausible way, for example falling over when pushed, and should also be applied to the characters in the world, so that they appear to inhabit it and walk on its surfaces in a plausible way.
  • characters are defined by skeletons that are made up of bones and joints that are animated using keyframing techniques. This involves specifying joint rotations over time.
  • these animations are produced in an offline process, which does not take into account the variation of terrain, but covers some general actions, for example walking on a flat surface, climbing stairs, etc.
  • These animations are typically stored as animation loops that can be called on to cause the character to effect a particular walking type until a command is received to change.
  • a walking animation sequence would typically be stored for presenting an image of the character walking on a flat surface
  • a stair climbing animation sequence would be stored for presenting the character climbing stairs etc.
  • An advantage of using off-line subroutines for causing movement of characters is that the skilled artist can instil an animation with life that a procedurally animated character might lack. For example, by calling the flat surface animation, the character can be caused to walk on a flat surface and by subsequently calling on the climb animation, the character can be caused to climb a set of stairs.
  • a problem is, however, that the set of offline animations is used for all variations of terrain in the game or animation, so the character is animated as if walking on a flat surface even if it is actually walking over undulating terrain. This produces visual anomalies, such as the feet penetrating the landscape, floating above it and appearing to slide.
  • a further problem is that the memory requirements are relatively high, because a suitable animation sequence has to be stored for every walking style of every character. For games with more than one character and indeed more than one player, this becomes particularly problematic.
  • a solution to this problem is to create or modify the animation to fit the environment.
  • Much research has been applied to the generation of walking gaits for characters.
  • Current techniques have focused on offline animation creation (i.e. complex physical simulation of walking) or more tightly controlled mechanisms for real-time animation (i.e. for characters whose motion path is known before-hand). Whilst these techniques can be suitable for non-interactive characters in games, they would not be suitable for player-controlled characters, because players expect more control and are consequently less predictable.
  • a method for generating an animation of a character having one or more feet and being able to move in a computer generated landscape in response to user inputs comprising: analysing the landscape that is to be traversed by the character; determining a location in the landscape that is sufficient to accommodate a foot of the character, thereby to identify a next location for that foot; analysing the terrain between the start and the next location for the foot to produce a convex path that extends over any obstructions in the terrain; using the convex path to determine a path for the foot to follow; identifying a height difference between the start and next positions of the foot; determining an end position for a pre-determined part of the character's body, for example the pelvis, based on the swinging foot height difference and causing the said character to move in such a manner that the foot follows the convex path and the pre-determined part of the body is moved to the determined end position.
  • the method may involve moving the pelvis up by an amount corresponding substantially to the determined height difference by the middle of the step, and maintaining the pelvis at that new height until the next step is taken. Moving the pelvis up may involve using an ease-in-ease-out curve and/or a bezier curve.
  • the method may involve moving the pelvis down by an amount corresponding substantially to the determined height difference by the middle of the step, and maintaining the pelvis at that new height until the next step is taken. Moving the pelvis down may involve using an ease-in-ease-out curve and/or a bezier curve.
  • the method may use a damp spring function to vary a degree of bounce in the character's walk/gait. This can be used to convey personality and/or emotional state of the character.
  • the method may involve setting a pre-determined limit on the height difference that is allowed. In this way, the step size taken by the character can be kept within a physically realistic range, so that the character is not caused to step up or down by an unfeasibly high amount. In the event that the predetermined limit is exceeded, the method may involve identifying another foot placement location.
  • the landscape that is to be analysed may be that part of the landscape that is within two steps of the character's current position in the direction of travel.
  • the step length may be a pre-determined amount.
  • a range of pre-determined step lengths may be stored, each being usable for a different movement style. For example, the stored step length for use when the character is running may be greater than that for use when the character is walking.
  • a system or device for generating an animation of a character having one or more feet and being able to move in a computer generated landscape in response to user inputs comprising: means for analysing the landscape that is to be traversed by the character; means for determining a location in the landscape that is sufficient to accommodate a foot of the character, thereby to identify a next location for that foot; means for analysing the terrain between the start and the next location for the foot to produce a convex path that extends over any obstructions in the terrain; means for using the convex path to determine a path for the foot to follow; means for identifying a height difference between the start and next positions of the foot; means for determining an end position for a pre ⁇ determined part of the character's body, for example the pelvis, based on the said height difference and means for causing the said character to move in such a manner that the foot follows the convex path and the pre-determined part of the body is moved to the determined end position.
  • a computer program for generating an animation of a character having one or more feet and being able to move in a computer generated landscape in response to user inputs, the computer program having code or instructions for analysing the landscape to be traversed by the character; determining a location in the landscape that is sufficient to accommodate a foot of the character, thereby to identify a next location for that foot; analysing the terrain between the start and the next location for the foot to produce a convex path that extends over any obstructions in the terrain; using the convex path to determine a path for the foot to follow; identifying a height difference between the start and next positions of the foot; determining an end position for a pre-determined part of the character's body, for example the pelvis, based on the foot height difference and causing the said character to move in such a manner that the foot follows the convex path and the pre-determined part of the character's body is moved to the determined end position
  • Figure 1 is a representation of a character walking on a flat surface
  • Figure 2 is a diagrammatic representation of a trajectory of the pelvis and moving foot of the character of Figure 1;
  • Figure 3 is a diagrammatic representation of the trajectory of the pelvis and the foot of a character walking over a discrete obstruction
  • Figure 4 is a representation of a character walking uphill
  • Figure 5 is a representation of a character walking downhill
  • Figure 6 is a representation of a character walking on an uneven surface
  • Figure 7 is a diagrammatic representation of the trajectory of the pelvis and the foot of a character that is walking over an uneven surface.
  • the present invention provides a skeletal animation system for interactive games and a unique algorithm that modifies the animation to allow bipedal characters to walk over arbitrary terrain in a visually plausible fashion in response to interactive user inputs.
  • a skeletal animation blending system is provided. This allows multiple animations to be blended and applied to a skeleton using a series of masks and weights consecutively in what is termed an animation blend chain. This produces a series of joint rotations and translations, which can be applied to a skinned character in a game or animation.
  • the blending system takes the output from skeleton controllers, which are the orientations and positions of the joints in the skeleton.
  • controllers can be anything from a basic animation controller (playing an existing animation), a physics controller or a user-defined controller.
  • the weight determines how much the skeleton pose is blended with the result of the previous stage in the chain and the mask determines which joints this blend is applied to. For example, two walk cycles can be blended to produce a hybrid which is only applied to the character's legs, while a third animation can be applied to the upper body, with inverse kinematics applied to an arm holding a weapon.
  • Animation blending schemes are well known in the art and so will not be described in detail.
  • a biped algorithm is provided within the main animation application.
  • This algorithm uses only a single animation sequence to generate solutions over varying terrains and is operable to cause movement of the character in response to user inputs.
  • the biped algorithm is operable to maintain the height of the pelvis above the supporting foot as the character walks over uneven terrain. This works on the assumption that the pelvis should be at the same height above the supporting foot by the middle of a step as the character were it walking on a flat surface.
  • This mid-step position is known in animation as the passing position. This is necessary so that there is enough space between the pelvis and the ground to allow the swinging foot to pass under the character. This is also usually the point when the pelvis reaches its maximum height in the animation, which is referred to as the summit at mid-stance in some gait-generation literature.
  • the biped algorithm uses inverse kinematics to fix the supporting foot in position to eliminate foot sliding and to adjust the trajectory of the swinging foot to avoid obstacles in the landscape that the foot would otherwise pass through in an unrealistic manner. More specifically, a simple standard analytical inverse kinematics solver is used for two bone chains in the limbs of the animated character.
  • a simple standard analytical inverse kinematics solver is used for two bone chains in the limbs of the animated character.
  • the landscape immediately in front of the character is analysed in the direction the step will be taken, from the current position of the swinging foot just before it leaves the ground. This produces a cross-section of the landscape for two step-lengths ahead. Using this information the algorithm attempts to predict where the character will place its foot next. From the standard step-length taken from the animation, the algorithm works backwards (towards the character) until it finds a piece of terrain that is big and flat enough to accommodate the foot.
  • Figure 1 shows a character 10 walking along a flat, unimpeded surface 12.
  • the biped algorithm checks the terrain that is about to be traversed to find a suitable position for the character to place its foot. Once the application finds a suitable foot position, the intervening terrain between the start and end of the step is analysed. If a foot placement is found and the swinging foot is not obstructed and there is no significant height difference between the start and next foot placement positions, the animation is scaled in the horizontal direction by a factor to achieve the correct contact position, see
  • FIG 2. This is a simple linear scale of the animation purely in the horizontal direction and does not affect the vertical animation at all. If a foot placement is found, but an obstruction 14 is identified, a convex path / hull 16 is determined. This is selected so that it extends over any obstructions 14 that lie in the path of the swinging foot, see Figure 3. The convex hull is then used to determine a trajectory for the swinging foot that is such as to cause the foot to step over the identified obstruction, hi particular, the swinging foot is adjusted vertically using inverse kinematics to ensure that it is the same height above the convex hull 16 as it would have been above a horizontal surface were the obstruction 14 not present. This process is simplified by including the height of the foot above the ground in the animation data.
  • this step can also be used to identify any obstructions 14 in the way of the swinging foot that are too large to be stepped over.
  • the biped algorithm If a suitable foot placement is not found or there is an obstruction 14 that is too large for the swinging foot, the biped algorithm lets the main animation application know, so it can take appropriate action.
  • the biped algorithm does not make decisions that could affect game play, hi the event that the biped algorithm informs the application that it cannot identify a suitable path for the character to follow, the application may then seek input from the game player or initiate a subroutine for causing, for example, the character to jump or change the direction of movement, thereby to overcome or avoid the obstacle.
  • the biped algorithm is operable to identify whether the character is being directed up a hill or alternatively down a bill within the immediate terrain. To do this, the height difference between the start position of the swinging foot and the predicted end position is compared, hi the event that the character is going up or downhill an appropriate algorithm is selected to adjust the height of the pelvis during the step. This will be described with reference to Figures 4 to 7.
  • Figure 4 shows an example of a character 10 walking uphill walk.
  • the current position of one of the character's feet is noted and a next position is identified.
  • the height difference between the current and next positions is calculated.
  • the height difference between the start and end positions of the swinging foot is indicative of an up-hill slope.
  • This causes the biped algorithm to select the uphill algorithm.
  • This is operable to use the height difference to raise the character's torso relative to a pre-determined fixed point, usually the character's pelvis, to the desired position by the middle of the step, after which the character is animated as per the flat animation.
  • the transition in the first half of the step can be achieved in various ways, for example by using a simple ease-in ease-out curve.
  • a bezier curve could be used instead to ensure continuity between the transition curve, the preceding curve and the following curve.
  • a damped spring could be used to add or remove more bounce to the character's walk by adjusting the spring stiffness and damping factors.
  • Figure 5 shows an example of a character 10 waking down hill.
  • the current position of one of the character's feet is noted and a next position is identified.
  • the height difference between the current and next positions is calculated.
  • the height difference between the start and end positions of the swinging foot indicates a down-hill slope.
  • This causes the biped algorithm to select the down-hill algorithm.
  • This is operable to use the height difference to lower the character's torso relative to a pre ⁇ determined fixed point, usually the pelvis, until the middle of the step, after which it moves into a position so that it is at the same height as it would be at the beginning of the step on the flat (above the new supporting foot).
  • the downhill algorithm uses a simple ease-in ease-out curve to adjust the height of the pelvis over the "down" section of the step animation.
  • Figure 6 shows an example of a person walking on uneven terrain.
  • the terrain is treated like a flat slope as far as the pelvis is concerned, and the swinging foot follows the convex hull 16 of the geometry it is passing over, with the height difference between the start and end of the step determining which of the up-hill or down-hill algorithms to use.
  • the trajectory of the pelvis and moving foot of the character of Figure 6 is shown in Figure 7.
  • the present invention provides a solution to the problem of how to provide realistic movement of a biped in an interactive computer games environment that can fit into existing production processes without affecting the amount of work required on the part of the programmers or the artists.
  • the invention also provides a technique for eliminating foot sliding, improving character locomotion over arbitrary terrain, as well as providing a standard library to handle general skeletal animation tasks a developer would need for most applications. This can be done using an algorithm that is lightweight enough for even low-powered processors, as it requires a few trigonometry functions that could be handled using look-up tables. This means that a practical implementation can be reduced to a few multiplies and additions per inverse kinematics calculation. This is ideal for legs and arms and could also be applied to the torso and head or any other chains in a skeleton.

Abstract

L'invention concerne un procédé permettant de produire une animation d'un personnage (10) comprenant un ou plusieurs pieds et capable de se déplacer dans un paysage produit par ordinateur en réponse à des entrées utilisateur. Le procédé consiste à analyser le paysage que le personnage (10) doit traverser et à déterminer un emplacement dans celui-ci suffisamment grand pour recevoir un des pieds du personnage, identifiant ainsi un emplacement suivant pour ce pied. Le terrain entre le début et l'emplacement suivant pour le pied est ensuite utilisé pour produire un chemin convexe (16) s'étendant sur des obstacles quelconques (14). Ce chemin convexe (16) est utilisé pour déterminer un chemin à suivre par le pied. La différence de hauteur entre le début et les positions suivantes du pied est identifiée et utilisée pour déterminer une position terminale pour le bassin ou le torse du personnage. Une fois cette étape exécutée, le personnage (10) est déplacé de manière que son pied suive le chemin convexe (16) et son corps est déplacé dans la position terminale déterminée.
PCT/GB2005/002792 2004-07-23 2005-07-15 Images produites par ordinateur WO2006008491A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0416445.5 2004-07-23
GB0416445A GB0416445D0 (en) 2004-07-23 2004-07-23 Computer generated images

Publications (1)

Publication Number Publication Date
WO2006008491A1 true WO2006008491A1 (fr) 2006-01-26

Family

ID=32922666

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2005/002792 WO2006008491A1 (fr) 2004-07-23 2005-07-15 Images produites par ordinateur

Country Status (2)

Country Link
GB (1) GB0416445D0 (fr)
WO (1) WO2006008491A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2692398A1 (fr) * 2012-08-01 2014-02-05 Square Enix Co., Ltd. Dispositif d'affichage de caractères
WO2021143289A1 (fr) * 2020-01-15 2021-07-22 腾讯科技(深圳)有限公司 Procédé et appareil de traitement d'animation, et support de stockage informatique et dispositif électronique

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LI L ET AL: "Simulating human walking on special terrain: up and down slopes", COMPUTERS AND GRAPHICS, PERGAMON PRESS LTD. OXFORD, GB, vol. 24, no. 3, June 2000 (2000-06-01), pages 453 - 463, XP004201707, ISSN: 0097-8493 *
SHIH-KAI CHUNG ET AL: "Animation of human walking in virtual environments", COMPUTER ANIMATION, 1999. PROCEEDINGS GENEVA, SWITZERLAND 26-29 MAY 1999, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 26 May 1999 (1999-05-26), pages 4 - 15, XP010343906, ISBN: 0-7695-0167-2 *
TSUTSUGUCHI K ET AL: "TERRAIN ADAPTIVE HUMAN WALKING ANIMATION", SYSTEMS & COMPUTERS IN JAPAN, SCRIPTA TECHNICA JOURNALS. NEW YORK, US, vol. 26, no. 5, 1 May 1995 (1995-05-01), pages 79 - 87, XP000525951, ISSN: 0882-1666 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2692398A1 (fr) * 2012-08-01 2014-02-05 Square Enix Co., Ltd. Dispositif d'affichage de caractères
WO2021143289A1 (fr) * 2020-01-15 2021-07-22 腾讯科技(深圳)有限公司 Procédé et appareil de traitement d'animation, et support de stockage informatique et dispositif électronique
US11790587B2 (en) 2020-01-15 2023-10-17 Tencent Technology (Shenzhen) Company Limited Animation processing method and apparatus, computer storage medium, and electronic device

Also Published As

Publication number Publication date
GB0416445D0 (en) 2004-08-25

Similar Documents

Publication Publication Date Title
Nakaoka et al. Task model of lower body motion for a biped humanoid robot to imitate human dances
Laszlo et al. Interactive control for physically-based animation
Nakaoka et al. Generating whole body motions for a biped humanoid robot from captured human dances
US11069113B2 (en) Method and apparatus for creating a computer simulation of an actor
da Silva et al. Interactive simulation of stylized human locomotion
Kwon et al. Control Systems for Human Running using an Inverted Pendulum Model and a Reference Motion Capture Sequence.
Hämäläinen et al. Online motion synthesis using sequential monte carlo
Kwon et al. Momentum-mapped inverted pendulum models for controlling dynamic human motions
Zordan et al. Tracking and modifying upper-body human motion data with dynamic simulation
Bruderlin et al. Knowledge-driven, interactive animation of human running
CN110764416A (zh) 基于深度q网络的仿人机器人步态优化控制方法
Geijtenbeek et al. Simple data-driven control for simulated bipeds
Kenwright Real-Time Reactive Biped Characters: Staying Upright and Balanced
Kenwright Everything must change with character-based animation systems to meet tomorrows needs
Shapiro et al. A dynamic controller toolkit
Kenwright Watch your step: Real-time adaptive character stepping
Glardon et al. Robust on-line adaptive footplant detection and enforcement for locomotion
Reda et al. Learning to brachiate via simplified model imitation
Bruderlin et al. Procedural movement for articulated figure animation
JP2001138272A (ja) 脚式移動ロボット及びその動作制御方法
WO2006008491A1 (fr) Images produites par ordinateur
Cimen et al. Interacting with intelligent characters in ar
Raibert et al. Animation of legged maneuvers: jumps, somersaults, and gait transitions
Geijtenbeek Animating virtual characters using physics-based simulation
Okamoto et al. Temporal scaling of leg motion for music feedback system of a dancing humanoid robot

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase