Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.
21~8~7
PROCEDE DE CREA~ION DIIMA~ES ANIMEES
La pr~ente invention a pour objet un procéd~ d~
cr~ation dlimages animees. ~lle trouve une utilisation
dans les industries du cinéma et de la télévision, Dans
celles-ci, elle est utile aussi bien pour la cr~ation
d'images animées de divertissement que servant ~ des uts
professionnels, par exemple de formation. Elle vise
rendre plus agr~ables à l'oeil~ et donc plus naturels,
les mouvements effectues dans des images par des
personnages, ou plus generalement par des entites. Ces
personnages, ou ces entités, se déplacent dans un
environnement qu'on appellera un décor. Le décor paut
lui-m8me 8tre animé, c'est-à-dire changer d'apparence
d~une image ~ llautre. L'invention vise particulièrement
r~soudre un problème qui se pose lorsque les entites
animées sont réalisées par un opérateur, appele
animateur, alors qu'un décor anime est r~alisé par un
autre animateur, ou par le même à un autre moment. La
mise ensemble des deux images nécessite en quelque sorte
une synchronisation qui est effectuée bien plus
simplement avec l'invention que ce qu'on sait faire dans
l'~tat de la technique. L'invention vise aussi à donner
aux entités mobiles des com~ortements fluides non
heurt~s. Enfin llinvention a pour effet de modifier les
attitudes des entités, d'une image à l'autre, si ces
attitudes ne sont pas naturellement en harmonie avec
l'évolution du décor dans lequel elles se d~placent.
On appellera décor l'ensemble des structures qui
constituent l'environnement dans lequel est destin~ ~ se
mouvoir un personnage ou une entite. Un décor peut avoir
plusieurs états ou apparences. Ces états sont, en
simplifiant, l'impression qulon peut avoir du décor
,
'
'
.
~'
.:: . i........ ...
21~go ~
s~lon un point de vue donné, avec un éclairage donné, et
avec une pro~ondeur et une largeur de champ données. De
la même façon, une entité " a plupart du temps un
personnage, pourra avoir des attitudes représentant,
intrinsèquement, différentes positions de ce personnage
dans l'espace. Une scene est constituée par
l'ass~ciation de l'image d'un état du decor (on dira
toujour~ un ~tat) avec 17image d'une attitude (on dira
dor~navant une attitude). Il faut admettre cependant que
les notions de décor et d'entité sont réversibles, 1' un
pouvant ~tre remplacé par l'autre.
Dans une mise en oeuvre particuli~re d'un tel
procédé, un état est constitué par un ensemble
d'éléments de volume (à 3 dimensions) correspondant ou
non ~ la présence d'une structure (d'un arbre, une
maison ...). A ces élémsnts de volume on peut faire
correspondre d'une manière biunivoque, dans une mémoire
d'un système informatique, des cellules mémoires
chargees d'une information binaire (1 ou 0) selon que
cette cellule mémoire correspond ou non à la présence
d'une structure. L'information peut être différente de
binaire si on cherche ~ representer les couleurs
auquel cas elle peut comporter par exemple trois
informations correspondant au rouge, vert, bleu pour la
visualisation en mode télévision. Un état ainsi qu'une
attitude sont constitués de la même façon, par un
ensemble de cellules mémoires chargées d'informations
ou 0.
L'assemblage des deux images pour constituer une
sc~ne revient ~ remplacer l'information portée dans les
cellules mémoires correspondant au décor par une
information correspondant à l'entité. Tout simplement,
quand pour l'image de l'attitude on rencontre une
cellule mémoire charqée d'une information nulle (absence
,~ .
. , .
, .
. .
. , .
$ ~ ~
du personnage à cet endroit) on garde la valeur chargée
dans la cellule mémoire correspondante de l'état. Par
contre, d~s que la cellule mémoire correspondant au
personnage comporte une information, cette information
se substitue ~ l'information de l'état. Des cas de
conflit peuvent se pr~sente~ quand typiquement on
cherche ~ placer une attitude du personnage à un endroit
impossible : par exemple ~ l'intérieur d'une structure
du décor. On remarque donc qu'il y a une op~ration
essentielle qui consiste d'une part, à caler l'attitude
par rapport à l'état et d'autre part, ~ remplacer les
informations relatives de l'état par des informations
relatives à l'attitude.
Jusqulà présent, malgré l'évolution des techniques~
la création des séquences animées est plutot artisanale.
Elle occupe les animateurs pendant des durées très
longues. Par exemple, on sait qu'une séquence d 3 une
minute d'une scène comportant une entité mobile dans un
décor nécessite un travail de deux animateurs pendant un
mois. Avec l'invention une tell~ séquence ne nécessite
le travail gue d'un seul animateur pendant trois jours.
Si on ~tudie le problème de la synchronisation du
déplacement des entités dans les décors, on peut même
estimer que le déplacement d'une entité dans un décor,
pour une séquence d'une minute, nécessite un travail de
quinze jours à un animateur. Avec l'invention ce
déplacement est résolu en une minute.
L'invention concerne aussi bien le domaine les
images ~ deux dimensions que le domaine des images à
trois dimensions. Dans les deux cas, l'invention
concerne les lmages animées creées avec l'assistance
d'un ordinateur. Quand il s'agit d'images ~ deux
dimensions, on comprend facilement qu'une image peut
~tre repr~sent~e par un ensemble d'éléments d'imagel ou
.. . .
., .
,:
2 1 ~ ril
pixels, arrang~s matriciellement, et porteurs chacun
; d'une information de luminance et de chrominance.
Notamment avec la numérisation, ces in~ormations de
luminance et de chrominance peuvent être mémorisées dans
une mémoire d'images d'un ordinateur. En correspondance
de chaque pixel de l'image on trouve un~ adresse d'une
cellule m~moire de la m~moire et des informations ont
chargees dans cette cellule. On peut ainsi stocker aussi
bien une image ~ deux dimensions de l'entit~ qu'une
image ~ deux dimensions du décor. Avec une image dlune
entite et une image d'un déoor il est possible de
constituer une image d'une scène en portant l'entit~
dans le décor. Bien entendu le travail est fait dans la
mémoire de l'ordinateur en jouant sur les adresses et
les contenus des cellules concernées. Eventuellement
plutôt que d'effectuer un remplacement on peut faire une
composition des pixels du décor et des pixels de
l'entit~ ~ l'endroit de l'entité pour obtenir des effets
de transparence. Tous ces effets sont de type connu.
De la même fa~on, on peut définir une image ~ trois
dimensions. On parlera d'images sachant qu'on représente
un phénomène, soit r~el soit simulé, qui se produit dans
tout l'espace. Pour simplifier, on peut admettre qu'un
personnage correspondra, dans l'espace, à des éléments
de volume, dits voxels, ~hargés d'une information, 1 à
l'int~rieur du personnage et 0 ~ l'extérieur du
personnage. Pour tous les voxels, on est capable de
stocker une information 0 ou 1 dans des c~llules
mémoires d'une mémoire image. Bien entendu, plut~t que
de se limiter ~ une information binaire on peut
préférer, comme pour les images à deux dimensions une
information plus complexe, notamment une information de
chrominance. On définit le décor de la m~m~ faQon, et on
constitue les scenes comme précédemment en remplaçant
~`,
'.'
::
2 ~ 7
dan~ l'image ~ trois dimensions du décor les voxels du
d~cor par les voxels de l'entité.
Dans une autre mise en oeuvre, les entit~ ~t les
d~cors sont décrits par un ensemble, limi~é, de points
caractéristiques. La collection des informations
mémoris~es relatives ~ ces points caractéristiques
remplace la mémorisation de tous les points, voxels ou
pixels de la sc~ne ~ constituer. Un tel système de
mémorisation dit vectoriel est moins exigeant en terme
de capacité de mémorisation et est plus rapide en terme
de traitement d~image. Ce systeme vectoriel est préféré
de ce point de vue. La constitution des sc~nes suit une
meme procédure que dans la précédente mise en oeuvrs.
Pour représenter les images ~ trois dimensions, on
utilise des procédés de visualisation de type connu qui
permettent d'obtenir un rendu de la scène. Ces procédés
de visualisation consistent dans leur principe à simuler
la soumission de la scène à un éclairement, et ~ simuler
son observation, éventuellement avec un e~fet de
perspective, d'un point de vue donné. ~e nombreuses
techniques sont connues pour permettre cette
visualisation notamment les techniques dites OCTREE ou
encore les techniques dites de lancé de rayonO
L'invention n'est pas concernée par ces techniques de
visualisation puisque, ~ deux dimensions, l'invention
produit directement l'image ~ visualiser, alors qu'~
trois dimensions l'invention permet de produire la sc~ne
qui sera elle-même visualisée par ces techni~ues.
La constitution de séquences animées nécessite la
creation de plusieurs images. Par exemple, en
visualisation de mode télévision il faut produire
jusqu'à 25 images par seconde. Soit pour une séquence
d'une minute environ 1500 images. Plutôt que d'avoir
deesiner chacune de ces 1500 images, à la fois pour le
'
2 ~ 8 ~ ~
decor et pour chacune des entites, quand il y en a
plusieurs, on utilise des logiciels qui permetkent,
connaissant une attitude d'une entité dans une premi~re
position cl~ ~ Une premi~re date clé, et une deuxi~me
attitude de cette entité à une deuxième date clé,
d'obtenir par interpolation des attitudes
interm~diaires. on rappelle que, dans l'animation, on ne
cherche pas à obtenir des images de mouvements réels
mais des images de mouvements artificiels. On conna~t,
par exemple, un logiciel dit "SOFTIMAGE and CREATIVE
ENVIRONMENT" de la soci~té SOFTIMAGE, MONTREAL, QUEBEC,
CANADA, dans lequel une telle technique de positions
clés est mise en oeuvre~ Ce logiciel fait par ailleurs
usage de bibliothèque de formes, dites d'une mani~re
g~nérale des primitives, que l'on utilise ensemble pour
constituer les entités (les personnages) ou les décors.
Un tel logiciel permet donc de se dispenser de la
création des nombreuses images intermédiaires
nécessaires entre les dates clés et réduit d'autant le
travail des animateurs.
Pour perfectionner un tel procédé, dans
l'invention, on cherche premi~rement ~ synchroniser le
déplacement des entités par rapport au décor. Pour
atteindre ce but, il faut placer correctement le
personnage dans le décor. Le principe de l'invention est
alors le suivant. Pour une première scène constituée à
partir d'un premier état du décor et d'une première
attitude de l'entité, on repère une position pivot : un
endroit o~ physiquement l'entité reposerait (au sens
gravitationnel) ou s'appuierait sur le décor. Par
exemple un personnage qui marche, avec un pied par
terre, permet d'obtenir un pivot : ce pied. Pour le m~me
d~cor, mais pour une attitude suivante du personnage (le
pas suivant~, on impose ~ ce pied de ce personnage de
:
:
: .
~ :
21 0~7
reposer au mêrne endroit du décor. Les autres parties du
personnage occupent alors des positions dan~ l'e~pace de
la sc~ne dif~xentes des positions de ces m~mes parties
pour l'attitude précédente. On détecte ensuite un
deuxième pivot de la deuxième attitude du personnage.
Puis, on compare les positions de ce deuxi~me pivot
entre la premi~re attitude et la deuxi~me attitude dans
le premier état du décor. Puis on détermine l'endroit o~
ce pivot doit a son tour s'appuyer dans le décor. On
constitue alors la deuxième scène, celle qui est
ulterieure, en faisant pour la deuxième attitude appuyer
ce deuxième pivot à cat endroit déterminé dans le décor.
Ce faisant, on évite un décalage anormal du mouvement du
d~cor par rapport au mouvement du personnage.
A titre de perfectionnement, pour constituer des
s~quences d~images intermédiaires, on ne se satisfait
pas d'une interpolation linéaire entre des positions de
point caractéristique des personnages. On rand au
contraire ce~ mouvements plus naturels en modifiant leur
trajectoire. Notamment, on tient compte, pour un point
caractéristique d'un personnage, non seulement de sa
position dans chacune des deux attitudes cl~s mais
egalement des vitesses de deplacement de ces points
caract~ristiques par rapport à des images cl~s
précédentes ou suivantes.
Enfin, pour rendre les mouvements plus réalistes,
on étudie plus particulièrement la trajectoire du centre
de gravita de l'entité, et on s'arrange pour ~u'au cours
de toutes les images intermédiaires élaborées ce centre
de gravit~ suive une courbe la moins heurtée possible.
Dans ce cas, partant d'une attitude donnée et devant
arriver ~ une autre attitude donnée, on modifie, pour
les images intermédiaires, avec un procedé de
cinématique invarse, l'allure de l'at~itude de telle
;,,
'
.
~4~
fa~on ~ amortir les déplacements de ce centre de
gravit~.
L~invention a donc pour objet un proceda de
création d'images animées, assiste par un ordinateur,
dans lequel
- on définit au moins une entite susceptible d'etre
mobile, par exemple un personnage,
- on constitue dans une memoire de l'ordinateur,
une suite d'au moins deux images clefs de cette entite
dans lesquelles cette entite adopte, associées a deux
dates clefs, deux attitudes différentes l'une de
l'autre,
- on définit un décor dans lequel l'entité est
censée se mouvoir,
- on constitue dans la mémoire de 11ordinateur, une
suite d'au moins deux images clefs associées ~ deux
dates cle~s de ce décor dans lesyuelles ce décor poss~de
deux états,
- on réalise, dans la mémoire de l'ordinateur, une
séquence de sc~nes en plaçant, pour chaque scène de la
séquence, une image de l'entité dans une image du décor,
- on montre ces scènes en les soumettant ~ un
processus de visualisation,
caractérisé en ce que
- pour réaliser une première image de scane dans
une sequence, on porte une première attitude de l'entite
dans un premier etat du decor en repérant, pour cette
première attitude, un premier pivot de cette entite, et
,~,
. en calant ce premier pivot à un premier endroit
`~ particulier sur une première reférence de ce premier
: état, et
- pour réaliser une deuxième image de scène dans la
- m~me séquence, on porte une deuxième attitude de
l'entité dans un deuxiame état du décor en repérant,
,:,
2 ~
pour cette deuxième attitude, un d~uxième pivot d~ cette
entité, et en calant ce deuxieme pivot ~ ~n deuxiame
endroit particulier dans ce deuxième état,
- on mesure la position vraie de ce deuxième plvot
dans la première scène ain6i qu'une position simulée de
ce deuxi~me pivot dans cette première sc~ne, cet~e
position ~imulée correspondant à celle qu'on obtient,
avec la deuxième attitude, en calant le premier pivot au
premier endroit particulier du premier etat,
- on repère dans la première scène un deuxiame
endroit particulier par comparaison des positions vraie
et simulee de ce deuxième pivot à une deuxième reference
du premier etat,
- on porte la deuxième attitude dans le deuxi~me
état de telle façon ~ faire coïncider le deuxième pivot
avec le deuxieme endroit particulier repéré.
L'invention sera mieux comprise ~ la lecture de la
description qui suit ~ l'examen des figures qui
l'accompagnent. Celles ci ne sont données qu'à titre
indicatif et nullement limitatif de l'invention. Les
figures montrent :
Figure 1 : une représentation schématique du matériel
nécessaire pour mettre en oeuvre l'invention ;
- Figures 2a à 2c et 3a à 3c : des représentations
schématiques d'etats d'un decor et d'attitudes d'une
entité ou personnage ;
~ Figures 4a à 4d : les représentations simplifiées de
l'effet d'asservissement de l'invention par lequel on
synchronise le déplacement de l'entité dans le d~cor ;
~ Figures 5a ~ 5c : un perfectionnement ~ la technique
de calcul des images intermédiaires ;
- Fi~ure 6 : les effets de l'amortissement des
d~placements du centre de gravite.
.
.
2 1 ~ 7
La figure 1 montre schématiquement un dispositif
utilisable pour mettre en oeuvre le procéd~ de
l'invention. Celui-ci comporte un micropro~esseur
exécutant un programme 2 contenu dans une mémoire
programme 3. Le programme 2 met en oeuvre les
simplifications de l'inve~tion. Le système comporte dans
une m~moire de travail 4 un ensemble 5 de pages m~moires
pour stocker des attitudes d'entité, un ensemble 6 de
pages mémoires pour stocker des états de décor et un
ensemble 7 de pages mémoires pour stocker des scenes. Le
systame comporte encore un dispositif 8, représenté
symboliquement ici par un moniteur de visualisation, et
servant à représenter les images des sc~nes élaborées.
Dans la pratique, ces images de scene peuvent ~tre soit
visualisées directement sur un moniteur, soit donner
lieu ~ la cr~ation par des techniques connues d'un film
cinématographique qui pourrait être ulterieurement
visionne. La visualisation peut être dif~érée dans le
temps~
La constitution de la mémoire 4 n'a pas
n~cessairement l'allure representée ici : celle-ci nlest
présentée ici que pour bien faire comprendre
l'invention. Notamment la memoire de travail peut ne
contenir, à un moment donné, qulune scène voire qu'une
partie d'une scane, des attitudes des entites et des
,~,
états du decor pouvant atre elabores, en temps réel, à
partir d'une bibliothèque de formes 9 contenant des
primitives ou des formes de polygones permettant de
construire des objets à trois dimensions.
,Parmi ces primitives et formes on distingue
-'~classiquement les primitives proprement dites qui sont
des structures géométriques simples (cube, sph~re,
cylindre, tétraèdre...) ; des formes de révolution
d~finies par une courbe géneratrice ~ deux dimensions et
2~0~a7
par un axe de revolution ; des formes prismatiques
définies par une courbe génératrice à deux dimension~ et
par une direction de projection ; des formes géodésiques
constituées par plusieurs courbes génératrices associées
entre elles et formant des courbes de niveau , des
formes math~matiques issues de fonction mathématiques ;
et enfin des formes libres constituées par des surfaces
dont tous les ~léments sont donnés point par poi.nt. Un
maniement et une utilisation de ces primitives est un
particulier décrit dans le logiciel cité.
A partir de cette bibliothèque de formes, on peut
constltuer des bibliothèques 10 d'entités et 11 de
décors. Dans les pages 5, 6 et 7 on peut stocker des
images ~ trois dimensions à visualiser, ou des images
ayant déj~ subi un effet de rendu. Toutes ces
biblioth~ques et pages mémoires peuvent ~tre m~morisées
physiquement dans une seule mémoire du système.
Sur la figure 2a, on a représenté, à trois
dimensions, la constitution d'un décor. Ce decor possade
des structures, par exemple des maisons 12 et 13, avec
tous les détails, non représentés, nécessaires pour les
rendre r~alistes. La figure 3a montre, pour la
d~finition d'une entité, un assemblage de formes telles
que 14 ~ 16 pouvant constituer ensemble un personnag
Ces formes sont des primitives, sphères, cylindres
circulaires, ou parallélépip~des rectangles comme
indiqu~s précédement. Le personnage est essentiellement
constitué par un squelette. Ainsi les différentes formes
sont articulées les unes par rapport aux autres en
certains endroits : par exemple les points
caract~ristiques a, b, c, d, du personnage de la figure
3a.
Il est possible, pour la constitution d'un scene de
placer le personnage oa plas géneralement l'entite a an
,
2 ~ 7
endroit particulier ~u décor, par e~emple ~ l'endroit de
la croix 17, figure 2a. Une fois que le personnage est
placé ~ l'endroit de la croix 17 les contours du decor
correspondant ~ l'empla~ement de ce personnage sont
effacés et remplacés par ceux du personnage. La scène
tant ~ trois dimensionsr pour la visualiser, pour la
rendre, il faut l'ecl~irer à partir d'un ou de plusieurs
points d'~clairement tels que 18, et il faut llobserver
à partir d 'un point de vue 19. Vue du point de vue 19l
la sc~ne constituée par l'assemblage de l'entité et du
décor peut ~tre tr~nsformée en une image à ~eux
dimensions seulement. Eventuellement, on peut effectuer
le rendu du décor d'une certaine façon; et le rendu du
personnage d'une autre façon, notamment en ce qui
concerne la position de l'éclairage du personnage qui
peut ~tre différente de la position de l'eclairement du
décor. En prîn~ipe le point de vue devrait être le m~me.
Pour simplifier les explications, on passe
.
maintenant à une représentation a deux dimensions de la
présence du personnage dans le décor. Par exemple le
point 17, figure 2b, est placé en des coordonnées x~ et
yO du rep~re Rd du décor. Dans la figure 3b, dans le
repère Re ~ui lui est propre, le personnage, ou plus
simplement des points extrêmes a, b, c, d de son
squelette, sont placés dans des positions aO, bo~ co et
do. Ce qu'on sait est que, pour une deuxième image,
figures 2c et 3c, le personnage devra prendre appui par
son extrémit~ d, par exemple par une extrémité de son
bras parce qu'il tombe, en un autre endroit du décor. Le
probl~me résolu par l'invention est de trouver l'endroit
18 du décor o~ il faut faire s'appuyer l'extrémité d du
personnaga pour que l'impression de déplacement du
personnage dans le décor soit réaliste.
Dans l'invention, figures 4a ~ 4d, on commence,
2~0~7
figurs 4a, par placer les coordonnées aO dlun premier
pivok du personnage a l'endroit 17 du décor. Pour
obtenir ce r~sultat, on est obligé de déplacer le rep~re
Re de l'entité par rapport au repère Rd du décor selon
un vecteur VO qui d~pend pour l'essentiel de l'endroit
o~ l'animateur a dessiné l'entité dans le rep~re de
l'entit~. Dans la pratique, ceci n'a pas grande
importanc~, il peut la dessiner où il veut, avec un
vecteur Vo calculé en conséquence, on s'adapte
automatiquement. Ceci étant fait, on a en fait
constitue, d'une manière classique, la première sc~ne
d'o~ on tire une première image à voir. A un vecteur
tel que Vo correspondent naturellement des décalages
d'adresses des cellules de la mémoire. ces décalages
sont calculés automatiquement par le microprocesseur
en fonction d'actions effectuées par un opérateur avec
un clavier C avec souris ou périphérique de saisie. Ces
décalages d~adresse concernent le cas des mémoires
d'image. S'agissant de la manière préféree de mise en
oeuvre de l'invention dans un système vectoriel, chaque
vecteur représentant un point caracteristique subit une
modification de son information cGrrespondant au vecteur
VO-
Pour constituer la deuxième image on procade de lamaniere suivante. on commence, figure 4b, par porter la
deuxi~me attitude, celle visible sur la figure 3c, dans
le m~me décor, celui de la figure 2b~ On constate alors,
en conservant toujours comme pivot le point a
caractéristique du personnage, que l'extrémité d de ce
personnage est pass~ de l'autre côte d'une surface de
r~férence devant servir d'appui. Par exemple, sur la
figure 4b on a placé au point 17 le point a1 de
l'entit~. On obtient, par rapport à ce même état du
décor une position du point dl. On a par ailleurs
'~
.,
.,
2 ~
14
~galement représenté la position du point do de
l'entite, telle qu'elle était situee dans la premi~re
scèn~. On trace ensuite, pour simplifi~r, la droit~
do-d1, et on observe qu'elle coupe la surface de
référence à un p~int 19. En variante~ on peut aUBSi
calculer l'intersection de l'arc de ~ercle do-d1, de
centre 17, avec le plan de référence du décor. On
obtient en v~riante un point 20 plus précis puisque an
pratique les déplacements des personnages ne sont jamais
des translations (sauf s'il s'agit de trains), mais au
contraire la plupart du temps des rotations autour de
pivots Ces calculs d'intersection peuvent être faits
automatiquement en définissant le plan ou la surface de
reférence. Plus simplement, avec une boule ou une souris
du clavier C, l'animateur peut aussi pointer
manuellement l'intersection.
On sait alors que do a pour coordonnée xo, yo, zo
dans le repère Rd du premier décor et que dl y a pour
coordonnées xl, Y1, Zl- Connaissant h, l'altitude dans
le décor o~ on veut provoquer l'appui du pivot d, on
peut calculer un coefficient k = (h-yo)/(y1-yo)- On
d~termine alors les coordonnées x y z du point 19 dans
le premier décor telles que x = (1-k)xo + kx1 ; y = h
et z = ~l-k)Zo + kZ1-
La connaissance de h peut être impos~e de
différentes mani~res. La valeur h peut ~tre imposée par
l'op~rateur. Elle peut être identique ~ la valeur yo
precédente : le personnage se déplace alors sur un plan
horizontalO Elle peut enfin être calculee connaissant la
forme, genéralement un plan, de la référence sur
laquelle est censée se déplacer l'entité.
De ce point de vue il y a lieu de remarquer que le
d~cor peut ~tre vide de tout element decoratif. Seul est
nécessaire avec l'invention, pour ce décor, la
' .
: .
,
2~4~7
d~finition d'une référence, éventuellement non
visualisée/ sur laquelle se déplace l'entite. Enfin, la
réference n'est pas nécessairement horizontale, elle
peut ~tre vertic~le ou autre si des efforts autres que
gravitationnels sont impliques.
Ce faisant, on vient de detecter la présence d'un
nouveau point d'appui ls dans le décor. Il reste alors,
pour obtenir l'image de la deuxième scene ~ imposer,
comme endroit particulier 18 du décor la position 19 (ou
20) ainsi trouvée. On impose donc à la deuxième attitude
a1-d1 de venir se caler dans le decor en prenant comme
point d ' appui de ~ette entité le point 19 du décor
pr~cédemment trouvé. Ceci est montré sur la figure 4c.
Si le plan du decor est fixe, l'etat du decor sera
celui de la figure 4c. Par contre, si le plan de
visualisation du decor n'est pas fixe, ou si le decor
s'est modifie, il a un etat différent, figure 2c, de
celui qui l'occupait precédemment figure 2b. Dans ces
conditions on repère la position du pivot 19 par rapport
au repère du décor et on applique pour le deuxi~me décor
une translation équivalente aux déplacements du d~cor
d'un premier ~tat de ce décor à l'autre. Ceci est
matérialise par la ~igure 4d ou le personnage vient
s'appuyer par son extrémité d1 sur un lieu 19' du
deuxième decor, qui correspond au lieu 19 du premier
d~cor. Par exemple la distance entre le lieu 19 du d~cor
et un accident 21 de ce decor dans le premier état du
décor est la même qu'entre le lieu 19' et la
rapresentation 21' de ce même accident dans l'autre état
du décor. Toutes ces translations sont deduites des
changements de point de vue ou des vitesses de
deplacement du decor.
Il y a toujours deux états du d~cor. Mais quand le
plan est flxe, le deuxième état du décor est exactement
~,
" .
, ~.
, ... .
~'
2~0~7
16
identique au premier.
A titre compar~tif, sur la figure 4d, on montre en
tirets une position arbitraire ~u'aurait choisie
exp8rimentalement un animateur pour placer l'entité dan6
le deuxi~me état du décor. Lorsque les images
d~finitives auraient été visualisées, il aurait fallu
premièrement se rendre compte de ce qui n'allait pas
dans la sequence montrée, puis deuxièmement modifier
petit ~ petit la position du pivot pour lui faire
occuper en fin de compte la position à laquelle on
aboutit directement avec l'invention. Avec l~invention
au lieu d'~tre artisanal le traitement est maintenant
automatique.
Pour déterminer un pivot, on cherche dans llimage
de l'entité quel est l'endroit, la partie,l'extrémité de
l'entit~ qui se rapproche le plus d'un plan de r~érence
théorique. S~agissant par exemple de la marche on
repérera, ~igures 2 à 4, l'altitude du point le plus bas
du personnage pour une attitude donnée. Dans l'attitude
de la ~igure 3b il s'agit du point aO dans l'attitude de
la figure 3c il s'agit du point dl. Dans un
perfectionnement, quand on a affaire à plusieurs points
qui sont susceptibles de jouer le r61e de pivot (par
exemple un pied n'est pas un point matériel mais un
ensemble de points) on choisit le barycentre des points
candidats. Les points candidats sont par exemple ceux
pour lesquels l'altitude est la plus basse, dans une
fourchette de valeurs données.
Dans la pratique, les images sont des images
intermédiaires obtenues à partir d'images clés. Par
exemple sur les figures ~a et 5b, on va admettre qu'on a
représenté les deux positions clés précédentes : la
position ao-bo Pt respectivement la position al-dl. Sur
la figure 5a on a même représenté, en tirets, la
.
' `' .
.
.. .
210~7
17
deuxième position. Le squelette de l'entite, pour passer
d'une position ~ l'autre, doit occuper des positi~ns
intermediaires. Ainsi sur une droite aO-a1 on a
matérialisé quatre intervalles ~de temps) donnant lieu
en tout ~ ~inq images : les deux images clés et trois
images intermédiaires.
Les t~hni~ues d'intervallage connues prévoient de
divisex simplement les distances aO-al par quatre (ici,
puisque dans llexemple on a choisi quatre~ et de
modifier les coordonnées des points a, b, c, d
progressivement du quart de la translation parcourue.
Dans l'invention on s'est rendu compte que cette
technique résultait en un caractère heurté des
mouvements montrés. Pour y remédier, on a utilisé plus
que deux positions clés (aO-a1) pour conna~tre les
positions intermédiaires vraies des points
caractéristiques a-d du squelette de l'entit~. Par
exemple, s'agissant du point a, on a tenu compte de sa
position cl~ a_l ainsi que de sa position clé a2. on
admettra pour simplifier que le nombre d'images (et donc
la durée entre les images clés) est la m~me d'une
position clé à l'autre.
Dans un premier temps, on calcule géométriquement
llallure, ~ deux ou trois dimensions selon le cas, de la
courbe reliant a_l, aO, a1 et a2. On peut choisir pour
relier ces points de nombreuses courbes. De préf~rence
on retiendra des courbes dites de BEZIER, telles
qu'elles sont d~crites dans le document COMPUTER
GRAPHICS : "Principles and Practice", ADDISON WESLEY
PUB~ISHING, 1990, USA, pages 488 et suivantes.
Avec ces courbes on tient essentiellement compte,
pour élaborer des trajectoires, des tangentes de ces
trajectoires aux endroits aO et al. Ces tangentes sont
globalement orientees de a1 vers a2 et de aO vers a_1.
.
.
2 ~ 7
18
Dlo~ l'intér8t de conna~tre ces points. Une fois qu'on a
obtenu la courbe de cette trajectoire, on en mesure la
longueur, de aO jusqu~à al. On a représenté
schématiquement sur la figure 5c l'évolution s de la
longueur parcourue en fonction du temps. Cette courbe
n'est pas une droite parce qu'elle rend compte des
accélérations et ralentissements d'un point
caractéristique. Puis on divise la durée to-t1 en un
nombre utile d'intervallesl ici en 4 intervalles. on
détermine alors entre les positions s0 et s1 les
positions s2, S3 et s4 intermédiaires. on reporte ces
positions sur la trajectoire à trois dimensions du point
a. On en détermine alors les positions intermédiaires
dans l'espace du point a qui correspondent aux instants
intermédiaires auxquels on devra présenter les images.
Ce procéd~ d'intervallage est nettement moins
abrupt qua le procédé simpliste d'interpolation linéaire
connu jusqu'ici. Il a l'avantage de donner aux
personnages des mouvements qui semblent naturels. On
effectue normalement ce travail pour les points
principaux du squelette. Notamment pour ceux a, b, c, d
l~endroit desquels il y a des articulations dans
l'entit~. Ceci n'est pas nécessaire si l'entit~ est
rigide. Auquel cas, on effectue ce travail qu'une seule
fois.
La figure 6 montre un autre perfectionnement de
l'invention. Pour passer d'une attitude ~ une autre,
l'entité se déplace dans le décor avec des mouvements
qui peuvent parfois apparaItre choquant. Par exemple~ le
personnage montré pr~cédemment, qui bascule, prend
d'abord appui avec son pied à l'endroit 17 puis avec sa
main ~ l'endroit 18-19. Au moment du basculement du
personnage, il est peu vraisemblable que le centre de
gravité de ce personnage puisse subir des variations de
2~8~7
19
trajectoire brutalesO C'es~ néanmoins ce qui pourrait
arriver si on en re~tait a ce stade du traitement
automatique.
Aussi dans l'invention, au cours d'un premier
traitement on cree les scènes en ayant synchr~nisé les
deplacements de la ou des entités par rapport au d~cor
et eventuellement, pour les images interm~diaires de
sc~ne, en t~nant compte des vitesses et accélérations
des points caractéristiques des entités. Une fois qulune
s~quence de scanes est obtenue, on tracP la trajectoire
du centre de gravité de l'entité. Ce cPntre de gravité
peut par exemple ~tre défini à priori comme le milieu du
cylindre 140 D'une image clé ~ l' autre, on impose alors
~ ce centre de gravit~ de suivre une courbe amortie, par
exemple elle aussi une courbe de BEZIE~. on impose en
plus, que des points caractéristiques, occupent une
position déterminée dans l'espace. Notamment on fixe la
position des pivotsO On utilise alors un algorithme de
cinématique inverse, en particulier celui du ~ Michael
GIRARD et ~ A. A. MACIEJEWSKI, publie dans la revue
Computer Graphics, volume 19, n3, de Juillet 1985 et
intitul~ I~COMPUTATIONAL MODELING FOR THE COMPU~ER
ANIMATION OF LEGGED FIGURES". Avec cet algorithme,
partant du centre de gravité, on peut calculer les
déplacements d'articulation d'intermédiaires compte tenu
de ce que les points pivots sont maintenant connus et
doivent être maintenus aux emplacements qu'on a calculé
pour eux. La compensation d'inertie qu'on effectue de
cette façon permet d'obtenir des images qui ne soient
pas saccad~es et qui semblent parfaites ~ l'oeil humain.
En pratique, comme montré sur la figure 6, le
centrs de gravite g occupera les positions,
succassivement, go, g2, g3, g4, g1- Compte tenu de la
position du pivot en p0 et P1 on en d~duira par
, .
. ':
.
2 ~ 7
:` :
llalgorithme cité les positions d'un point
caractéristique intermédiaire i : io i2 i3 i4 et il. La
courbe go-gl est la courbe de BEZIER du centre de
gra~it6.
.:
~'~
',
:
~, :
. ~
".;!; ~ ~
''~j
''i
. ~
'i,
~:
:r~,.. ... .
, :.', :
' '' ~ ~,
,
.~
: '~
,~'.