Brevet FR2823585A1 — publié le 20021018

l' aide d'un doigt de l'utilisateur. PROCEDE ET SYSTEME D' ANIMATION D'UN PERSONNAGE EN TROIS DIMENSIONS La présente invention concerne un procédé d' animation par un utilisateur d' un personnage en trois dimensions ou personnage 3D, interactif, appelé agent, propre à être mis en oeuvre pendant le déroulement d'un programme applicatif, l' agent étant découpé par rapport au fond de l' interface graphique du programme dont il est indépendant. Elle concerne également un système informatique mettant en _uvre un tel procédé. Elle trouve une application particulièrement importante, bien que non exclusive, dans le domaine de la communication entre un utilisateur et un programme informatique, par exemple pour assister ou divertir l'utilisateur pendant le fonctionnement du programme par exemple sur le réscau Internet. On connaît déjà un procédé permettant de faire apparaître dans un programme applicatif, découpé par rapport à l' interface graphique dudit programme, un personnage ou caractère dont le comportement se modifie en fonction de paramètres prédéterminés, comme par exemple le temps écoulé ou encore une action de l'utilisateur sur un bouton logiciel, un click de souris etc. Un tel procédé présente néanmoins des inconvénients. En effet le personnage est peu expressif et la programmation de son comportement nocessite l' intervention d'un spécialiste en informatique capable de programmer, avec des outils assez complexes, différents scénarios du personnage. \ La présente invention vise à fournir un procédé et un système répondant mieux que ceux antérieurement connus aux exigences de la pratique, notamment en ce qu'elle permet, à partir d'un texte écrit ou oral généré par un utilisateur qui n'est pas un metteur en scène professionnel, d'animer un agent ou caractère, de façon particulièrement simple et vivante. Grâce à l' invention l'utilisateur va donc pouvoir mettre en scène, sans compétence particulière, un personnage, à partir du texte que ce dernier peut lui-même prononcer ou éditer, de façon à ce que ledit personnage puisse se mouvoir ou s'animer au bon moment, et ce en introduisant les commandes de l'animation de déplacement et/ou de modification de l' intonation de la voix de l' agent de façon , appropriee. Un agent mis en _uvre avec l' invention apparaît par ailleurs à l'écran sans être contenu dans une fenêtre, ce qui permet de le placer n'importe o sur l'écran sans gêner les éléments de l'interface. Avantageusement il est relié à une bulle de dialogues interactive permettant d'afficher du texte défilant, au fur et à mesure, ainsi que des éléments d' interface comme des boutons actionneurs, des listes déroulantes, etc. Les modalités de conception de l' agent lui-même sont connues. Le personnage est en effet crcé par un logiciel standard comme par exemple les logiciels commercialisés par les sociétés SOFTIMAGE, MAYA, 3D STUDIOMAX ou LIGHT WAVE. Ces logiciels sont du type de ceux utilisés par les studios graphiques pour réaliser des dessins animés, des films ou des jeux vidéo. Ils permettent, comme au cinéma, de faire vivre des personnages par rapport à un décor, une caméra et/ou un jeu de lumière. Dans le but de pallier les inconvénients de l' art antérieur, la présente invention propose donc, et notamment, un procédé d' animation par un utilisateur d'un personnage 3D, interactif, appelé agent, propre à être mis en oeuvre pendant le déroulement d'un programme applicatif, l' agent étant découpé par o rapport au fond de l' interface graphique du programme dont il est indépendant, procédé dans lequel on crce un premier fichier comportant les donnces déLinissant l' agent et ses algorithmes d' animation de facon connue en elle même, lesUites donnces comportant les paramètres de couleurs, de texture et de maillage de l'agent, caractérisé en ce que on interprète ce premier fichier en calaulant en temps rcel les paramètres de comportement de l' agent grâce à un moteur 3D basé sur une reconnaissance de mots clé prononcés et/ou écrits par l'utilisateur, pour animer automatiquement ledit agent en fonction de critères prédéterminés correspondant aux dits mots clé ou à une combinaison desUits mots clé. Par mot clé, il faut entendre essentiellement un mot de vocabulaire déterminé, un terme de signification sémantique déterminée (famille de mots) un signe ou plusieurs signes de ponctuation, une suite de mots sans interruption de ponctuation et/ou une image ou dessin. Dans des modes de réalisation avantageux, on a de plus recours à l'une et/ou à l'autre des dispositions suivantes: - le premier fichier est téléchargé à partir d' au moins un site présent sur Internet i l'utilisateur interagit avec l' agent par le biais du remplissage de bulles interactives; - les mots clé sont auto générés au moins en partie par un moteur d' intelligence comportementale basé sur un dictionnaire dynamique de mots et d' associations de mots; - on analyse le texte proposé par l'utilisateur o pour déterminer le ou les moments d' insertion de commandes de l'agent, à savoir son animation, son déplacement ou la modification de l' intonation de sa voix, à partir du rythme du texte, à savoir son mouvement général qui résulte de la longueur relative des membres de la phrase et/ou de l'emploi d'un accent tonique; - le ryChme du texte comporte plusieurs paramètres pris en compte par le calcul, parmi le rythme grammatical, le rythme du sens, la ponctuation et/ou la respiration; - on analyse le rythme des phrases du texte utilisé relativement à la taille du paragraphe dont elles font partie, en utilisant un ou plusieurs paramètres dits flous; - le paramètre flou est pris parmi les paramètres suivants: mise en valeur, longueur du paragraphe par rapport au reste du texte, vivacité, rapport à l'espace de l'écran, type, longueur relative d'une phrase, parenChèses et/ou virgules; - on affecte à l' agent un paramètre de style, à savoir un paramètre dépendant des moyens d' expression du langage propre audit agent; - les paramètres de style utilisés pour déLinir l'animation le sont selon une échelle d'intensité prédéterminée, et sont pris parmi la vivacité, l'état calme ou nerveux, la mobilité; - on décide du moment pour insérer ou transmettre une commande et quelle commande transmettre à partir de l'analyse du texte et du style voulus par l'utilisateur; - l'analyse du texte et de la séquence de lo paragraphes, et/ou encore l'analyse de chaque paragraphe et de la séquence des phrases pondérant ces valeurs respectivement aux dits paragraphes, et/ou l'analyse des phrases et des séquences de ponctuation à l'intérieur des phrases pondérant lesUites valeurs, respectivement aux dites phrases, initialise les valeurs utilisées pour déterminer le seuil au delà duquel la ou les commandes vont être transmises; - les commandes sont choisies parmi les opérations suivantes: déplacer, montrer, modifier la voix, faire une pause, renvoyer, expliquer, interpeller, interroger. L' invention propose également un système d' animation par un utilisateur d'un personnage 3D interactif mettant en _uvre le procédé décrit ci- avant. Egalement l' invention propose un système d' animation par un utilisateur d'un personnage 3D, interactif, appelé agent, pour mise en oeuvre pendant le déroulement d'un programme applicatif, ledit agent étant découpé par rapport au fond de l' interface graphique dudit programme dont il est indépendant, système comprenant un premier fichier comportant les données définissant l' agent et ses algorithmes d' animation de façon connue en elle même, lesUites données comportant les paramètres de couleurs, de texture et de maillage dudit agent, caractérisé en ce que il comprend: - des moyens de stockage dudit premier fichier, - des moyens de recherche, de calcul et d'analyse pour interpréter ce premier fichier en caloulant en temps rcel les paramètres de comportement de l' agent, o lesdits moyens comprenant un moteur 3D basé sur une reconnaissance de mots clé prononcés et/ou écrits par l'utilisateur, - des moyens pour reconnaître vocalement et/ou autrement, par exemple via un alphabet de l'écrit, lesUits mots clé par l'utilisateur, - et des moyens d'affichage agencés pour, à partir dudit moteur 3D, animer automatiquement ledit agent en fonction de critères prédéterminés correspondant aux dits mots clé ou à une combinaison desUits mots clé. Avantageusement le système comporte des moyens d'autogénération, au moins en partie, de mots clés, ces moyens comprenant un moteur d' intelligence comportementale basé sur un dictionnaire dynamique de mots et d' association de mots. Dans un mode avantageux de réalisation le système comprend des moyens d'analyse du texte proposé par l'utilisateur pour déterminer le ou les moments d' insertion de commande de l' agent à savoir son animation, son déplacement ou la modification de l' intonation de sa voix à partir du rythme du texte, à savoir son mouvement général qui résulte de la longueur relative des membres de la phrase et/ou de l'emploi d'un accent tonique. L' invention sera mieux comprise à la lecture de la description des modes de réalisation donnés ci-après à titre d'exemples non limitatifs. Elle se réfère aux dessins qui l'accompagne dans lesquels: - La figure 1 montre un écran comportant un agent animé selon un mode de réalisation du procédé o de l'invention. - Les figures 2A et 2B sont des vues de face d'une bouche pour personnage utilisable avec l' invention, respectivement en position détendue et en position contractée. - Les figures 3A à 3D donnent des vues schématiques en perspective d'une main d'un agent animé selon un mode de réalisation de l' invention. - La figure 4 illustre l' action d'une commande sur un agent selon un mode de réalisation de l' invention. - La figure 5 est un schéma général de l' architecture logiciel du système et du procédé selon le mode de réalisation de l' invention plus particulièrement décrit ici. - La figure 6 montre les différentes interactions entre les logiciels et les utilisateurs intervenant dans le procédé ou le système de la figure 5. - La figure 7 est un schéma de l'éditeur correspondant au procédé mis en _uvre selon l' invention. - La figure 8 est un schéma d'un banc de montage d'un agent animé selon un mode de réalisation du procédé de l' invention. La figure 1 montre un écran 1 de visual isat ion d'un programme applicatif, appartenant à un ordinateur PC (non représenté) fonctionnant sous Windows de Microsoft, contenant un agent 2 possédant une bulle de dialogues interactifs 3 permettant d'afficher du texte défilant 4. D'autres o environnements tels que MAC, LINUX etc sont bien entendu possibles. L' agent 2 peut être déplacé par l'intermédiaire d' une souris (non représentée) d' une position 5 à une position 6, par le biais d'une fonction dite " click and drag " en terminologie anglo-sexonne. Ses dimensions peuvent être agrandies ou réduites en fonction du souhait de l'utilisateur et comme cela sera décrit plus avant ci-après. Les figures 2A à 3D vont permettre de mieux faire comprendre les moyens utilisés de façon connue pour configurer l' agent et permettre sa mobilité notamment faciale et/ou au niveau de ses membres dans le cas ou l' agent est un petit personnage, par exemple le chien 2 de la figure l(cf. également figure 4). Plus précisément, un agent est composé d'un ensemble (" mesh " en terminologie anglo-saxonne) de couleur, de texture et d'os (" bones " en terminologie anglo-saxonne), et d'algoritEmes d' animations de postures et de mouvements divers. I1 est en effet également possible d'animer les couleurs et les textures. Sur l'exemple des figures 2A et 2B, représentant une bouche, des déformations du maillage 7 appelées " morphing " en terminologie anglosaxonne, permettent à la bouche de passer d'une conformation en sourire 8, à une forme arrondie 9, non provoquées par les os (bones), par des déplacements des points du maillage (10, 11, 12). Ici, le logiciel paramétré par le graphiste calcule de façon connue en elle même, l' interpolation linéaire de chaque point. Les figures 3A à 3D donnent quant à elles et à lo titre d'exemple les étapes successives de la création d'une main 13 pour son animation. La figure 3A montre le dessin maillé qui permet de dégrossir la forme. Le dessinateur dessine la main de face et de profil et donne des directions sur les couleurs. La création sous un logiciel d' images de synthèse de maillage en trois dimensions donne ainsi la main 13, modélisoe de façon primitive par le dessinateur, qui " tire " ou " enfonce " les mailles 14 jusqu'à obtenir le résultat voulu. La figure 3B montre la main recouverte d'un matériau 15. Ici, la couleur réagit aux emplacements des lumières disposées préalablement autour du maillage. Différents paramètres correspondant au matériau, permettent alors aux couleurs choisies de réagir différemment. Une texture est également appliquce sur la main à cette étape. En référence à la figure 3C, la peau du personnage ayant été créée, le dessinateur intègre ensuite un squelette 16 afin de déterminer les articulations 17 aux endroits voulus du maillage. Chaque point du maillage devra alors réagir en fonction des os les plus proches. Enfin (figure 3D) l'animation de la main du personnage est programmée avec une vitesse donnée, des clés d' animation et une vélocité détermince, par le graphiste grâce au logiciel mis en _uvre, de type connu. Le travail de configuration des personnages qui permet d'obtenir le personnage 18 de la figure 4 est o alors terminé. Toutes les donnces sont stockées sous forme d'un fichier, puis séparées pour permettre de reparamétrer le personnage en temps récl, selon l' invention, en créant un fichier personnage (premier fichier) unique mais sur lequel le créateur (utilisateur) va pouvoir intervenir tant sur le " mesh " que les couleurs, les textures, les animations, les " morphing de mesh " etc pour configurer les différentes expressions déterminant la personnalité du personnage. En faisant maintenant référence à la figure 5, le fichier ainsi obtenu est compressé en 20 pour être stocké. Lorsqu' on souhaite l' utiliser, il est décompressé en 21 de façon à permettre l'obtention du fichier interne 22 ou premier fichier qui va pouvoir être interprété grâce au moteur 3D 23, et au moteur d' animation 24. Ces données sont alors utilisées pour générer, via un programme éditeur 25 qui sera précisé plus loin, l' agent 26, le montage des possibilités dudit agent 26 par l'utilisateur non spécialiste, selon l' invention étant possible grâce au module de dialogue 27. L'utilisateur (non représenté), chargé de la conception de l' agent, peut ainsi donner la vie à son personnage de façon extrêmement simple. Scénarisation d'un agent: Dans la suite, on utiliserai en général les mêmes numéros de rétérence, pour désigner les mémes éléments sur les figures 5, 6 et 7. Le fichier généré par l'éditeur 25 est prévu pour étre exploitable par un graphiste G. grâce aux o librairies et aux documentations fournies par les sociétés fabricantes de logiciels d'animation telles que mentionnces ci-avant. Par contre la mise la mise en scène d'un agent 26 n'est pas une tâche aisée dès que le réalisateur est non spécialiste, en particulier lorsque cette mise en scène doit permettre une interaction avec l' agent. Généralement ce travail est en effet fait, dans l'univers du jeu vidéo, par des intervenants spécialisés dénommés " Game designers " en terminologie anglo-saxonne. Selon le mode de réalisation de l' invention plus particulièrement décrit ici, un module 27 supplémentaire, de dialogue, est donc prévu pour donner la possibilité à des non programmeurs de scénariser un agent, comme cela va maintenant être décrit. Plus précisément le module 27 de dialogue offre ici la possibilité à tout utilisateur de mettre en scène son agent et d' adapter automatiquement le jeu de l' agent pour que son comportement dans le programme applicatif soit naturel, vivant et cohérent. Le module 27 de dialogue est agencé pour écrire automatiquement le code en intégrant toutes les détections de navigateur, résolution d'écran, plate forme, synthèses vocales installées, etc du programme applicatif concerné. Pour ce faire il met en scène un moteur dit " d' Intelligence comportementale " ou couche active 28. Le moteur est basé sur une reconnaissance de mots o clés dits ou écrits par l'utilisateur via par exemple une bulle de dialogue 29. Le scénario (ou " script " en langage anglo-saxon) étant conversationnel donc limité, certains mots ou évènements sont tout d'abord répertoriés et intogrés dans une base de donnces 31 serveur client. Il n'est pas nécessaire de comprendre le contenu réel de la conversation mais simplement de reconnaître certains mots et/ou certaines associations de mots liés à un client, pour trouver quel doit être le comportement de l' agent. Exemple 1: L'utilisateur demande en 30 à son agent de dire: " Nous n'avons plus ce livre en stock, je suis désolé, nous vous préviendrons dès que nous l'aurons " (bulle 29). Selon le mode de réalisation de l' invention plus particulièrement décrit ici, la simple reconnaissance du mot " désolé " influe sur la façon dont l' agent 26 peut se comporter et ce, en temps rcel pendant qu'il dit son texte. Le personnage pendant qu'il parle n'est donc plus statique. Exemple 2: L'utilisateur fait répondre à l' agent une confirmation du genre: " J'ai trouvé le livre que vous recherchez, le voilà! ". A partir de cette affirmation lice au point d' exclamation, le moteur d' intelligence comportementale 28 génère automatiquement via le moteur d' animation 24 et le moteur 3D 23, l'animation de l' agent 26 correspondant à la figure 4. Si l'utilisateur décide de diriger son acteur de o façon plus précise, il peut également intervenir pour modifier le choix de son animation, qui autrement sera celle programmée par défaut. Il est donc possible d' adapter ce procédé de reconnaissance à la force et à l'intensité des animations. De même l' agent est animé plus ou moins rapidement, avec plus ou moins d'énergie dans le mouvement, suivant le contenu de la conversation et ce, sans que l'utilisateur n'ait au préalable préparé différents types d' animation et/ou n'ait tout simplement à s'en occuper. De façon surprenante, il a en effet été possible, hormis les animations spécifiques à tel type de personnage, ou celles lices à une application précise, d'élaborer des ensembles d' expressions pouvant correspondre à tout type de personnage et répondant à toutes les requêtes sans avoir à constituer une base de données de dimension importante. Avec l' invention, l' agent personnalisé peut donc parler tout en ayant un comportement intelligent, constituant ainsi un acteur qui au vu du texte donné par l'utilisateur/metteur en scène crée tout seul son jeu de scène. On va maintenant préciser de façon non exhaustive les caractéristiques techniques de l' agent mis en _uvre selon le mode de réalisation de l' invention plus particulièrement décrit ici. Sa réalisation est ici basée sur une technologie 3D temps récl, du type élaboré par les sociétés SILICON GRAPHICS (OpenGLO) ou MICROSOFT (DirectX) , 1C regroupant toutes les fonctionnalités des jeux vidéos actuels (" morphing ", " bones system ", " antialiasing ", " bump mapping ", " lip sync ", texturage). Il met également en _uvre une technologie connue sous la dénomination " Technologie ActiveX " sous Windows, permettant d'utiliser les agents dans n'importe quelle application Windows ou depuis un navigateur, sur la totalité du bureau de l'utilisateur (adaptation à la résolution écran de l'utilisateur). Les autres paramètres de mise en oeuvre de l' agent sont donnés ci-après: - Fichier "acteur" de l' agent [très loger ( 30Ko à 150Ko)] avec une partie en continu (" streaming " 2 en langage anglo-saxon). - Agent non prisonnier d'une fenêtre: Le personnage est détouré. - Caméra fixe: Orientation automatique du personnage en fonction de sa position à l'écran. 3c - Connexion aux systèmes de synthèse de parole et de reconnaissance vocale compatibles avec un logiciel type SAPI de Microsoft. - Connexion avec des bases de données lices au opérations connues en langage anglo-saxon sous les noms de " Profiling ", et " tracLing ", et/ou à un programme d' intelligence artificielle, et ce de façon connue. Possibilité de bulles de dialogue de style bandes dessinées interactives, affichant le texte dit par l'acteur. Choix de plusieurs types de bulles suivant l'état de l' agent. o - Eléments d'interfaçage en réaidant dans la mémoire et qui s'affichent sur l'écran en pressant une touche (" pop up " en anglais) (bouton, liste déroulante). - Technologie fonctionnant sous Windows i5 (95/98/nt4/2000/Me et +) et sous Mac (OS 8 et plus). Avantageusement elle est également prévue pour les plate-formes Unix, Playstation et autres. - Compatible avec les produits dits IE4 et +, et Netecape Navigator 4 et +. - Affichage de modèles 3D polygonaux. Le moteur est alors et par exemple adapté à un modèle 3D jusqu'à 20.000 polygones pour une vitesse d'exéaution d' au moins 15 images/seconde. - Système d' animation optimisé et automatisé dans certains états. - Système d'automatisation de scénarios (" scripÉs " en langage anglo-saxon). - Système d' exportation à partir des logiciels intitulés SofLimage 3D, 3DS Max et Maya. - Moteur d' Intelligence comportementale basé sur un dictionnaire dynamique de mots et d' association de mots. Le moteur d' animation 3D 24 utilisable avec l' invention est construit quant à lui sur le moteur d'affichage 3D temps réel. Ses caractéristiques sont les suivantes: - gestion de scènes ( objets, lumières, caméra) - " skin " ou peau: modèles hiérarchiques déformables Gestion des textures avec filtrage - Animation hiérarchique 0 cinématique inverse temps récl - système de contraintes temps rcel - " morphing " additif: un " mesh " peut avoir plusieurs configurations en même temps, avec des pondérations différentes, le tout se rajoutant au système de peau. On va maintenant détailler ci-après les éléments mis en _uvre en faisant rétérence à la figure 6. La figure 6 montre quatre modules logiciels principaux utilisés avec le mode de réalisation de l' invention plus particulièrement décrit ici, à savoir le moteur d' animation 24, le module 27 de dialogue, un module exportateur 32, et le module éditeur 25. Le moteur d' animation 24 installé sur l'ordinateur de l'utilisateur gère le comportement du personnage commandé par le scénario 30 (ou 33). I1 interprète les données 3D, les procédures utilisées, les évènements demandés au " mesh " ainsi que la gestion de ses expressions et l'autonomie plus ou moins développée qu'il doit avoir à l'écran. I1 utilise les paramètres suivants: Les séquences (données et procédures) : Une séquence est détinie comme un objet qui regroupe des données et des procédures. Les données concernent l'animation 3D, l'acteur, les objets accessoires, les sons, les effets spéciaux. Les procédures répondent quant à elles à des questions du type: " comment l' animation doit elle être jouée, comment gérer tel événement, quand et comment parle l'acteur, que font les effets spéciaux, o etc ". La partie intelligente de l' agent se situe dans les séquences. Elles sont déclenchées soit directement par le scénario 30 (ou 33), soit par le moteur 24 en automatique lors d'une gestion de temps mort ou d'un événement. Le gestionnaire de séquences 34 (voir figure 5) commande le moteur d'affichage 35 en lui transmettant des animations ou scènes graphiques 36 et en commandant le déroulement de ces animations (séquenceur d' animations 37). Egalement, il montre et cache les objets accessoires qui sont utilisés par certaines animations. Les évènements: Les évènements 38 (voir figure 5) proviennent des interactions de l'utilisateur avec l' agent (ex: déplacement de l' agent par mouvement de la souris). Une gestion de ces évènements est donc nécessaire pour déclencher des animations spécifiques. Afin d' augmenter la réalité de l'agent, on prévoit par exemple une gestion des zones de clic sur l' agent qui va réagir différemment suivant que l'on clique sur son _il ou sur son corps. Il faut donc que le moteur 24 véhicule des informations sur l'objet 3D cliqué dans la scène afin de savoir quelle zone a été touchée. Pour le déplacement, il y a également et par exemple une animation qui se déclenche pendant s l'opération, avec une gestion de " lâcher " spéciale. Les expressions: La gestion des expressions met en _uvre un module qui va être implémenté en déclenchant un programme de formation ou un " morph " en terminologie anglo- 0 saxonne, ou les " morphs " correspondants et il restera jusqu'à ce qu'une nouvelle commande de ce type arrive. L'Autonomie du personnage: Cette partie du programme intervient lorsqu'on ne s'occupe pas de l' agent. L' agent doit en effet touj ours être actif et faire quelque chose, sinon il ne paraît plus vivant. Dans le mode de réalisation de la présente invention plus particulièrement décrit ici, les temps morts sont par exemple découpés en trois zones de temps: secondes: l'acteur commence à faire des petits mouvements, de la tête, des yeux, il change de pied d'appui, etc. 30 secondes: l'acteur commence à utiliser des objets accessoires, il fait du sport, etc. 1 minute: il baille, il dort, il se couche, il se repose, il en a assez d'être là à ne rien faire. Dans l'éditeur d'agent, on attribut alors des animations aux différents niveaux de temps. On peut ainsi programmer plusieurs animations par niveaux. Le programme choisira alors aléatoirement une des animations à jouer. Le module de dialogue 27 est quant-à-lui une interface dépendante du navigateur utilisé ainsi que de la plate-forme. Une détection de ces derniers est donc prévue lors de la génération des scénarios ou " scripÉs " 33 dans ce module. La connexion TTS 39 (initiales anglo-saxonnes de Text-To-Speech): Sous Windows, il existe un programme intitulé SAPI, qui est une interface " COM " que les systèmes 0 de synChèse de parole implémentent. Il suffit donc de se connocter à " SAPI " pour accéder à ces systèmes. Lorsque le scénario 33 demande à l' agent de parler avec la commande acteur. speak ' texte à dire', la connexion TTS va i5 retransmettre les informations suivantes au système: - pointeur dans la mémoire tampon texte (" buffer en anglais) - positions de la bouche. Le pointeur sur le texte permet alors de gérer le défilement du texte dans la bulle de dialogue. Les positions de la bouche permettent la synchronisation des lèvres. Lorsque le système TTS n'est pas installé, ou qu'il n'y a pas de carte son, un système de simulation de défilement de texte et de synchronisation des lèvres, est prévu. Ce système fait défiler le texte à une vitesse " standard " réglable. La bouche est quant à elle rendue mobile par un algorithme aléatoire d'une façon réaliste. La bulle de dialogue 29: La bulle constitue quant-à-elle une deuxTème fenêtre qui vient se placer à coté ou au dessus de l'acteur. Elle apparaît seulement lorsque l'acteur parle. Le texte défile alors à l'intérieur à la manière d'un téléscripteur. Tous les paramètres (forme, couleur de fond, fonte, couleur de texte, etc.) sont réglables par le scénario 33. L'endroit o apparaît la fenêtre o est décidé par le système en temps rcel et dépend de la position de l' agent à ce moment là, le but étant de faire en sorte que la bulle (interactive) soit touj ours complètement à l'intérieur de l'écran de l'ordinateur ou bureau, et situé au dessus ou à coté de l' agent. Le Scénario (30-33): Il n'y a rien de particulier à effectuer pour que le scénario fonctionne, ce dernier étant intégré et mettant en _uvre les commandes précisées ci-après. Les commandes: Move To: Le scénario donne une position cible en valeur absolue. Le système détecte o se trouve l'acteur à ce moment là et caloule la différence ce qui donne le vecteur orienté de déplacement. Le système dispose d' animations o l' agent: - réalise une marche sur place. Le découpage est alors le suivant: Il commence à marcher. L'acteur doit partir dans une des directions en 2D (droite, gauche). Il se retrouve de coté. Il marche en boucle. I1 peut monter ou descendre. I1 s'arrête. I1 se remet de face en position de repos. - Saute au-dessus de lui. - Saute en dessous de lui. I1 faut aj outer à cela la possibilité d'interrompre la marche à tout moment, en particulier lorsque la distance à parcourir est petite. Dans ce cas, il peut n'y avoir qu'un pas à faire. o Le procédé et le système selon un mode de réalisation de l' invention prévoient également la possibilité de décider si on déplace l' agent par escaliers pour la montée et la descente. D'autres choix existent. Par exemple, il peut: - Sauter toute la hauteur d'un seul coup et ensuite se déplacer horizontalement. - Monter ou descendre progressivement ( escalier). LookAt: Le scénario donne une position cible en valeur absolue. Le système détecte o se trouve l'acteur à ce moment là et calcule la différence ce qui donne l' angle d' orientation de la tête. Le système dispose pour cela de quatre animations qui donnent les mouvements pour les quatre directions (gauche, droite, dessus, dessous). Pour donner un angle plus précis, on change uniquement la rotation de la tête dans une fourchette déterminée. Ges t ureAt: Le scénario donne touj ours ici une position cible en valeur absolue. Le système détecte o se trouve l'acteur à ce moment là et calcule la différence ce qui donne le vecteur orienté de déplacement du bras. Comme pour les instructions " lookAt ", les animations préparées sont " gestureLett, right, up et down ". Dans ce cas, le système va modifier grâce à la cinématique inverse, la position du bras afin qu'il indique plus précisément la direction. Si l'utilisateur final déplace le personnage pendant qu'il parle en position de GestureAt, on recalcule les angles et on modifie la position du bras. 0 Les options sont par exemple et de facon non limitatives: - choix du bras montrant (droit ou gauche si c'est un bipède) - mixte d'animation entre les différents GestureAt! Click: Exemple: L'animateur prépare une animation o l'acteur se bouche l'_il droit avec ses deux mains. Lorsqu'on clique sur l'_il droit, le système déclenche cette animation. Un ensemble de petites animations de la sorte contribuent à l'amélioration du réalisme de l'acteur. On a l' impression qu'il vit récllement. Cette configuration est effectuée dans l'éditeur 25 d' agent. RigEtClick: Avec cette commande, on gère notamment le déclenchement d'un menu " pop up " contenant les commandes de base. Ces commandes appelleront des séquences d' animations prévues préalablement. DoubleClick, Drag&Drop: Ces fonctions sont connues en elles-même. On va maintenant décrire plus précisément les fonctions du module exportateur 32. Les données d'un agent sont en effet et tout d'abord exportées par différents logiciels de création 3D, pour paramétrer et mettre en _uvre les données 3D 40 correspondant à ce qui va être animé avec le procédé selon l' invention plus particulièrement décrit ici. En premier lieu, on exporte une scène dite de base, qui comporte l' agent dans ladite scène, avec le bon cadrage caméra et les bonnes lumières. Il s'agit de la position dite " sprite " de l' agent. On exporte ensuite une scène spéciale dite " morphs " qui ne comporte que les différentes clés de " morphing " pour les expressions et les bouches. Le tableau N 1 ci-après, représente par exemple les données que le graphiste va préparer. Les numéros correspondent au numéros de cadre ou de " frame " dans le logiciel de création 3D. TABLEAU N 1 numéro contenu Forme par défaut Bouche fermée Bouche demi ouverte 3 Bouche grande ouverte 4 Ehhh Oooch 6 Souriant Triste Faché 9 Surpris Ciraonspect 11 Paupière gauche fermée 12 Paupière droite fermée Le programme du module exportateur va détecter ici les vertices qui ont bougé et exporter uniquement celles ci. Enfin, on lit les fichiers d' animations. Le module éditeur 25, également représenté sur la figure 7, permet quant-à-lui de réaupérer les données 3D 40 et de préparer tous les réglages propres à l' agent 26. o Plus précisément l'éditeur 25 exporte trois types de fichiers: Le fichier agent compressé 20 qui va être utilisé par le moteur 24. Un fichier projet 41 qui va contenir des pointeurs vers les fichiers sources utilisés et les différents réglages. Un fichier 42 texte de description des animations à l' attention de l'utilisateur 43 (voir figure 6) qui va animer l' agent via l' interface 44. Le module éditeur 25 met en oeuvre: - Les informations et réglages généraux concernant * l' agent (nom, langue, taille, TTS, etc...). - Les séquences (bouclage, son,...). - Les " morphs " ( visualisation et tests) (bouches, expressions). - Le réglage des déplacements. - Les réglages des temps morts. Enfin le module 27 de dialogue est composé d'un banc de montage 50 (cf figure 8), orienté pour une utilisation non linéaire des séquences. Le banc de montage 50 est ainsi décomposé en plusieurs pistes, par exemple en sept pistes, 51, 52, 53, 54, 55, 56 et 57 s'intéressant aux différentes parties d'une séquence. On va maintenant décrire un exemple de création de séquence: - On définit une nouvelle séquence à laquelle on donne un nom. Cette séquence entre dans un des types de séquence prédéLinis: (montrer/cacher, parler, - On importe les données 3D depuis un fichier 40 0 précédemment exporté. - On découpe l'animation en plusieurs parties (Part 1, Part 2, Part n) que l'on nomme et dont on détermine les points d'entrées et de sortie (cf figures 52 et 53 reportées dans le temps dont l'échelle figure en ligne 1) . A partir de là on dispose des éléments nécessaires au montage (parole 54, branchement sortie 55, sons 56, effets spéciaux 57). On joue alors les différentes parties. Par exemple, on demande de jouer deux fois la première partie à l'endroit, ensuite de jouer la troisième partie à l'envers et enfin de jouer la deuxième partie en ping-pong. Lorsque l'animation s'y prête, une des parties sera sélectionnée pour la parole. Enfin on détinit également ce que l' agent doit faire lorsqu'on interrompt la séquence en plein milieu. On va maintenant décrire le principe utilisé dans le mode de réalisation de l' invention plus particulièrement décrit ici, concernant le " mot clé " déclenchant. Il y a en effet deux directions possibles pour analyser un texte, soit il faut comprendre le sens du texte, soit il faut trouver le ryChme du texte. Dans un mode de réal i sat ion préféré, on analyse le rythme du texte. Le rythme est un mouvement général (de la phrase, du poème, de la strophe, d'un vers) qui résulte de la longueur relative des membres de la phrase, de l'emploi de l' accent tonique, des rejets, etc. o Une phrase est décomposée en groupes rythmiques. Les groupes rythmiques ne sont pas déterminés au hasard: ils sont imposés par les groupes syntaxiques (rythme grammatical), par les liens sémantiques (rythme du sens), par la ponctuation (les points, les virgules...) et par la respiration (phrase longue sans ponctuation qui oblige le locuteur à reprendre son souffle). Il y a donc quatre paramètres qui donnent le rythme d'un texte, les groupes syntaxiques, les liens sémantiques, la ponctuation et la respiration. La grammaire est aussi difficile à analyser que le sens et pour scinder une phrase trop longue, il faut également connaître le sens de la phrase (on ne peut pas couper n'importe o). Dans un mode de réalisation avantageux on utilisera donc plutôt la ponctuation présente. Celle-ci présente en effet des avantages. Toutes les langues basoes sur un alphabet utilisent pratiquement la même ponctuation. Il n'y a que quelques symboles de ponctuation, donc pas de gros dictionnaire. Chaque symbole a un sens bien défini. Une séquence de symboles de ponctuation peut ainsi donner des indications sur le style que l'utilisateur a voulu donner à son texte. Par exemple quand on trouve un point d' interrogation on joue l'animation " indécis ", quand on trouve un point on se déplace etc. Sur un texte de vingt phrases il va ainsi et par exemple y avoir vingt déplacements, et trois ,. " 1ndecls ". L' utilisation de l' unique paramètre " ponctuation " peut donc ne pas être suffisant. Quoiqu'il en soit en utilisant le ryChme du texte et, suivant ce rythme et le choix utilisateur (choix d'un style), en plapant et paramétrant des commandes, on obtient de façon étonnante un excellent résultat d' animation. Dans un cas préféré, l'analyse du texte permet de détecter les éléments de ponctuation et le découpage du texte ( paragraphes, phrases..). Par la suite on appellera ce texte le " texte descriptif ". L'analyse du texte descriptif permet de dogager un rythme, par exemple " phrase longue, phrase courte interrogative, phrase courte impérative phrase longue ". On qualifie les résultats de cette analyse avec des termes comme " court " ou " très court " ou " interrogatif ". Ce sont des valeurs relatives, par exemple la notion " phrase courte " est relative à la taille du paragraphe dont elle fait partie. On déLinit ainsi ce qu'on appelle le texte flou. Ainsi, en demandant à l'utilisateur de choisir un style de prestation pour son agent, cela permet de mieux cadrer sa demande. Chaque style correspond à une liste de paramètre que l'on appelle paramètres de style. L'outil selon l' invention va donc avantageusement intégrer une base de connaissance que l' on appelle réLérence de style. Les choix de commandes et les moments d' insertion 0 des dites commandes sont alors faites par un programme appelé cerveau. C'est le cerveau qui donne sa tonalité à la performance de l' agent. Si la base de règles est suffisamment définie, l' agent va donc réagir en fonction du style de réJaction de l'utilisateur. Rappelons la définition du style. Un style est une manière d'utiliser les moyens d' expression du langage, propre à un auteur, à un genre littéraire, etc. On mentionnera ainsi un style clair, précis, élégant, un style obscur, ampoulé, un style burlesque, oratoire, lyrique ou encore un style administratif, juridique. Dans un mode de réalisation de l' invention, on utilise la ponctuation pour déterminer la majorité des endroits o l'on peut insérer une action de l'acteur. Plus précisément: Le point: Le point indique la fin d'une phrase. I1 marque une descente complète de la voix et une pause importante avant que la voix ne remonte pour une autre phrase. Le plus souvent on utilise le point lorsqu'on exprime une idée nouvelle qui n'a pas de relation étroite avec celle exprimée dans la phrase précédente. La virgule: La virgule peut être utilisoe pour séparer différents éléments de la phrase i elle marque une pause sans que la voix baisse. La virgule permet d'insérer des informations, marque le détachement, permet de donner une chronologie à des évènements ou de ne pas répéter la conjonction de cocrdination. o. Le point virgule: Le point virgule sépare deux propositions. Le plus souvent, les deux propositions ont entre elles une relation logique. I1 indique que l'on marque une pause plus importante qu'avec la virgule. 15. Les deux points: Les deux points ont plusieurs utilisations. Ils permettent de lister les éléments, de citer ou de rapporter les paroles de quelqu'un, d'exprimer une explication. Le point d' exclamation: I1 se place à la fin d'une phrase dans laquelle celui qui parle ou écrit exprime un ordre, un souhait, la surprise, l'exaspération, l'admiration, etc. Le point d' interrogation: I1 se place à la fin d'une phrase interrogative. 25. Les parenthèses: Elles servent à isoler une information à l'intérieur d'une phrase. Le groupe de mots ou la phrase entre parenthèses n'a aucun lien syntaxique avec le reste de la phrase. I1 s'agit souvent d'une réLlexion que fait celui qui lit à propos de tel ou tel passage de la phrase. Les guillemets: Ils encadrent une phrase ou un groupe de mots qui n'appartiennent pas à celui qui écrit, mais qui sont empructés à une autre personne. Les points de suspension: Ils peuvent avoir plusieurs valeurs. Ils interviennent dans une énumération que l'on ne veut peut pas allonger. Ils interviennent lorsque la personne qui parle (ou qui écrit) veut sousentendre une suite. La virgule est l'élément de ponctuation le plus présent et le plus difficile à interpréter. C' est pourquoi l'étude de la ponctuation d'un texte doit mettre en évidence des séquences d'élément de ponctuation. Selon des modes de réalisation de l' invention, on va également utiliser la mise en page, i.e. le passage à la ligne, le texte descriptif (qui représente le découpage du texte en éléments i5 simples), pour insérer des actions, ou encore la notion de texte flou. Pour que le cerveau puisse déterminer à quel moment il faut insérer une commande et quelle commande insérer, il faut en effet remplir une liste de paramètres que le cerveau va comprendre. Or, on ne peut pas se baser sur une forme prédéfinie de texte et chercher les points communs entre un texte de référence et le texte à analyser. Chaque texte sera en effet différent et aura ses particularités. I1 faut donc trouver des paramètres qui s'adaptent au texte. Pour cela il faut prendre le texte étudié comme référence d'analyse, comme repère. C'est ce que fait l' invention dans un de ses modes de réalisations en utilisant des paramètres " flous ". L'avantage d'un paramètre flou c'est qu'il a une signification précise pour le cerveau indépendamment du contenu. Par exemple on veut connaître la longueur d'un paragraphe d'un texte car si un paragraphe est " court " on va faire se déplacer l' agent pendant qu'il récitera le paragraphe. Ce qui intéresse c'est le changement de rythme. La liste de paramètre flou doit être vérifiée et réglée empiriquement. Chaque paramètre flou a différentes valeurs que l' on note de deux façons. Une façon linguistique et une façon mathématique. La façon linguistique permet de comprendre intuitivement. Par exemple il vaut mieux indiquer que le paragraphe est long plutôt que d'indiquer que le paragraphe a une longueur de 0.8. La valeur 0.8 sera utilisée par le cerveau à l'intérieur d'une équation mais pour le réglage il vaut mieux faire apparaître la notion linguistique. Chaque paramètre flou aura une valeur minimale, un ensemble de valeurs intermédiaires et une valeur maximale. Selon un mode de réalisation de l' invention la valeur minimale est choisie supérieure à zéro et la valeur maximale inférieure à 1, pour éviter les effets du type multiplication par zéro. La définition des paramètres flous du texte permet de crécr une référence. Il s'agit par exemple des paramètres suivants: - Il y a un paragraphe: On agit alors en fonction du nombre de phrases. Il y a une phrase. Présentation très très courte. Il y a deux phrases. Présentation très courte. y a trois phrases ou plus. Présentation courte. - Il y a deux paragraphes: En fonction du nombre de phrases par paragraphe. 5. Il y a une phrase. Présentation très courte Il y a deux phrases. Présentation courte. Il y a trois phrases ou plus. Présentation moyenne. - Il y a trois paragraphes ou plus: On agit en fonction du nombre de phrases par paragraphe. Il y a une phrase. Présentation moyenne. Il y a deux phrases. Présentation longue. Il y a trois phrases ou plus. Présentation très longue. - Rapport à l'espace (l'espace écran): On effectue une étude du rapport entre ce qui est dit et l' écran suivant les choix de l' utilisateur. Aucun: l'utilisateur n'a pas défini de place. 20. Petit: l'utilisateur a défini une place pour une partie du texte. Grand: l'utilisateur a déLini une place pour tout le texte. Très grand: l'utilisateur a plusieurs places. Les paramètres flous d'un paragraphe sont par ailleurs et par exemple les suivants: - Mise en valeur: La mise en valeur étudie l'espacement (nombre retour à la ligne) entre deux paragraphes. N= nombre de retour à la ligne moyen du texte. P= nombre de retour à la ligne avec le paragraphe précédent. S= nombre de retour à la ligne avec le paragraphe suivant. Pas de mise en valeur: (S=P et P≤N) ou (S>P et S≤N) Faible: S N Très forte: S=P et P>N - Longueur: Etude de longueur relative du paragraphe par rapport au texte et aux autres paragraphes (en nombre de mots). N= nombre de mot moyen des paragraphes. n= nombre de mot du paragraphe étudié. Très court: n moyenne des phrases du texte. T=taille moyenne des phrases du texte. t=taille moyenne des phrases du paragraphe. Pas vif: t>T*2 Moyennement vif: T/2 dit et l' écran suivant les choix de l' utilisateur. Aucun: l'utilisateur n'a pas définit de place. Petit: l'utilisateur à définit une place pour une partie du paragraphe. Grand: l'utilisateur à définit une place pour tout le paragraphe. Très grand: l'utilisateur à plusieurs places. Les paramètres flous d'une phrase sont quant à eux et par exemple les suivants: - Type. Le type est défini par rapport au premier signe de terminaison de phrase, c'est à dire.' ou:' ou ;' ou!' ou ?' ou...' o Normal. La phrase se termine par.'. O Impératif. La phrase se termine par!'. O Interrogatif. La phrase se termine par ?'. O Enumératif. La phrase se termine par '. o Descriptif. La phrase se termine par:'. - Longueur: On effectue l'étude de longueur relative d'une phrase par rapport aux autres phrase du paragraphes (en nombre de mots). N= nombre de mots moyen des phrase. n= nombre de mots de la phrase étudice. Très court: n parenthèse et longueur de la parenthèse. Type simple: contient une série de mots sans ponctuation. Type complexe: contient des ponctuations. Longueur. - Les virgules Liste de longueur qui séparent les virgules entre elles. On utilise également avantageusement les paramètres de styles. On définit les paramètres de style et on donne un nom à ce style(par exemple sérieux, comique). Les paramètres décrivent la réalité du style. On peut 2s ainsi donner la possibilité à l'utilisateur de définir ses propres styles. Concernant les animations, on remplit les catégories avec des animations en leur donnant un poids. Une animation peut par ailleurs être décrite comme une succession d' animations. Concernant les paramètres de style, les valeurs vont être comprises entre 0.1 et 0.9. Vivacité: tranquille (0.1)--- vif(0.9). Ce paramètre va déterminer si l'acteur a des actions plus ou moins imprévisibles. Etat:calme(0.1) --- nerveux (0.9). Ce paramètre va jouer principalement sur la vitesse d' animation. Mobilité:Statique(0.1) --- mobile (0.9). Ce paramètre va jouer sur le nombre de déplacement de l'acteur. Le cerveau décide le moment exact pour transmettre 0 une commande et quelle commande exacte. Pour cela il faut, pour chaque emplacement o l' on peut envoyer une commande, déterminer un ensemble de valeurs indiquant l'intérêt d'envoyer une commande et quelle est la meilleure commande à envoyer. On détermine également un " seuil d'intérêt " et, à chaque fois que l'intérét dépasse le seuil, on transmet la commande définie pour cet intérêt. L'analyse du texte et le style voulu par l'utilisateur vont déterminer le nombre de commande que l'on va transmettre. L'analyse du texte et de la séquence des paragraphes va initialiser l'ensemble des valeurs. L'analyse de chaque paragraphe et de la séquence des phrases va rejouter ou enlever du poids aux valeurs, respectivement aux paragraphes. L'analyse des phrases et des séquences de ponctuation à l'intérieur des phrases va rajouter du poids aux valeurs, respectivement aux phrases. Une fois tous les poids remplis, on détermine le seuil de manière à transmettre le nombre de commande voulu, (ou le nombre le plus proche). - Lieux o on peut transmettre une commande. On associe un poids à chaque endroit du texte o l'on peut transmettre une commande. Par exemple: - En début de texte, - En fin de texte, etc. - Liste des commandes que l'on peut transmettre. Avantageusement on peut transmettre neuf types de commandes: Déplacement, montrer, modification de la voix, pause, réflexion, explication, interpellation, interrogation, divers. En plus du poids associé à chaque endroit o on peut transmettre une commande, on donne un poids pour chaque type de commande. Si on doit transmettre une commande, on choisira une commande faisant partie du type ayant le plus grand poids. On associe aussi un poids à chaque élément de chaque catogorie. Ce poids va servir à déLinir quel élément choisir une fois que le type de commande sera déterminé. Par exemple, on a déterminé qu'il faut lancer une commande " interrogation " et il existe cinq animations dans la catégorie " interrogation ". Plus la demande sera interrogative plus on choisira une animation ayant un poids fort. Pour déterminer " le taux d'interrogativité " on regarde alors le poids associé aux autres commandes, et plus le poids des autres commandes est faible par rapport au poids associé à la partie interrogative plus le " taux d'interrogativité " sera fort. Les animations sont rangées dans cinq catégories (le nombre de catégories pourra être modifié au moment des réglages de l'outil) réflexion, explication, interpellation, interrogation, divers. Un agent possède donc un ensemble d' animations de base, qui est par exemple stocké dans le disque dur du système, chaque animations étant pondérée. Lorsque l'on définit un style on range alors manuellement les animations dans les différentes o catégories en leurs associant également un poids. Lorsque l'utilisateur choisit un style, on fabrique les catégories qui seront utilisces par le système en mixant les animations de base avec les animations du style, le style étant privilégié. Si i5 une animation est à la fois présente dans une catégorie de l'outil et dans la même catégorie du style, c'est celle déLinie dans le style qui sera prise en compte. On peut également modifier la vitesse d' animation. La vitesse d' animation varie entre un minimum et un maximum. Pour choisir la vitesse, on combine les information de vivacité et de nervosité du style et le poids associé à la commande. Plus le poids de la commande est élevé, plus l'animation sera lente. Plus le style est nerveux plus l' animation sera rapide. Plus le style est vif plus l'animation sera rapide. Une pause est caractérisée par sa durée. La durce de la pause est définie par le poids de la commande et par le style: Plus le poids de la commande est élevé, plus la pause sera longue. Plus le style est nerveux plus la pause sera courte. 5. Plus le style est vif plus la pause sera courte. On prévoit également plusieurs types de déplacement. Par exemple, déplacement sans but, équivalent d' une pause, d' une réLlexion. (DéLinition de places 0 par le cerveau). Déplacement sans but en parlant, (Définition de place par le cerveau). Déplacement avec but sans parler, (Utilisation d'une place définie par l'utilisateur), etc. L' action " montrer " utilise quant-à-elle les places définies par l'utilisateur. Si aucune place n'a été définie cette action ne sera jamais utilisée. Pour réaliser l'analyse du texte flou on pratique de la facon suivante. Lorsque le cerveau analyse le texte flou, il modifie chaque poids à tous les endroits o l'on peut insérer une commande. Il modifie le poids principal ( doit t'on ou non insérer une commande à cet endroit) et les neufs poids de choix de commande. Le poids de commande ne peut être qu'augmenté alors que les poids 2s de choix de commande peuvent êtres augmentés ou diminués ( il s'agit de favoriser une commande par rapport à une autre et, comme la différence de poids entre les divers commandes est importante, il faut pouvoir augmenter et diminuer). L'analyse est hiérarchique. Lorsque l'on travaille sur le texte on modifie tous les poids du texte, lorsqu'on travaille sur un paragraphe on modifie tous les poids du paragraphe L'analyse proposée doit être réglée de manière empirique et n'est pas exhaustive! Nombre de commandes: Le nombre de commandes est déterminé par le style de l'acteur et la longueur du texte. Plus le style est vif, plus il y aura de commandes, proportionnellement à la longueur du texte. Cela revient à donner un taux de remplissage en nombre de commande. o Analyse de la longueur du texte et du style Plus le texte est court plus on insère des commandes. - Nombre de commandes= nombre de commandes possibles* (1-longueur du texte)*(vivacité). - A chaque endroit o on peut insérer une commande on initialise lepoids: Valeur d'intérêt=0 Déplacement= rapport a l'espace * mobilité + ., vlvaclte 20. Montrer= rapport * mobilité + état Modification de la voix= 0 Pause= 1-état Réflexion= Explication=0 25. Interpellation=0 Interrogation=0 Divers=0 - Début de texte - Valeur d'intérêt+=10 3c. Déplacement+= longueur du texte Interpellation+=1 - Fin de texte - Valeur d'intérêt+=10 Déplacement+= 1-longeur du texte Divers+= vivacité Analyse de la séquence des paragraphes. On analyse les différences de longueur entre les paragraphes et on ajoute un nombre à chaque valeur d'intérêt. - Pour toutes les valeur du premier paragraphe valeur d'intérêt += 1. - Pour chaque paragraphe intermédiaire valeur d'intérêt += (0.6) + I longueur du paragraphe précédent - longueur du paragraphe actuell ( valeur absolue). - Pour le dernier paragraphe valeur d'intérêt +=1. Analyse de chaque paragraphe - Début de paragraphe Valeur d'intérêt += mise en valeur Déplacement += rapport a l'espace + longueur 20. Montrer + = rapport à l'espace + (1 - longueur) Pause += longueur * vivacité du paragraphe Réflexion += (1-longueur) * vivacité du paragraphe Interpellation += (1-longueur) * mise en valeur Divers += (random entre 0 et 0.2) - Fin de paragraphe Valeur d'intérêt += mise en valeur/2 Pause += mise en valeur /2 30. Divers += (random entre 0 et 0.5) Analyse de la séquence des phrases d'un paragraphe On analyse ici les différences de longueur entre les phrases et on ajoute un nombre à chaque valeur d'intérêt. - Pour toutes les valeur de la première phrase valeur d'intérêt += 1. - Pour chaque phrase intermédiaire valeur d'intérêt += (0.6) + I longueur de la phrase précédente - longueur de la phrase actuellel ( valeur absolue) - Pour la dernière phrase valeur d'intérêt +=1. On rajoute en plus, si les phrases sont typées (type différent de normal, par exemple interrogatif): - Valeur d'intérêt += valeur du type+ valeur du *type de la phrase précédente. Analyse de la phrase. - Début de phrase: - Valeur d'intérêt += l*type+longueur - Déplacement += longueur de la phrase - Montrer += longueur de la phrase - Pause += 1longueur - Réflexion += longueur + type - Explication = 2*type Interpellation = 2*type - Interrogation = 2*type - Divers= random - Fin de phrase: - Valeur d'intérêt += longueur - Déplacement += longueur - Montrer += longueur - Pause += longueur - Pour des parenthèses: Valeur d'intérêt +=10 Modification de la voix += 1-longueur de la parenthèse Explication += longueur de la parenthèse s - Pour des guillemets: Valeur d'intérêt +=10 Modification de la voix += 1-longueur des guillemets Interpellation +=longueur des guillemets. lo - Séquence de virgule: Valeur d'intérêt += (nombre de virgules - numéro de la virgule) + longueur Déplacement += rapport à l'espace/ n de la virgule 15. Montrer += rapport à l'espace/ (nombre de virgule -n de la virgule) Interpel lat ion += 1 -longueur Interrogation += 1-longueur/2 +type - Point virgule: 20. Valeur d'intérêt += longueur de la phrase après le point virgule Déplacement= rapport a l'espace * mobilité + vivacité Montrer= rapport * mobilité + état 25. Modification de la voix= 0 Pause= 1-état Réflexion= Explication=0 Interpellation=0 30. Interrogation=0 Divers=0 La présente invention permet de faire le lien entre un texte quelcouque et un jeu d'agent, en transformant le texte en paramètres flous puis en plaçant des poids à tous les endroits o l'on peut insérer une action de l' agent. Ce remplissage se fait grâce à des équations qui tiennent compte des paramètres flou et du style d' agent que l'utilisateur aura choisit. Le remplissage agit de manière additive. Les équations, ayant trait au texte entier, initialisent l' ensemble des poids. Puis les équations se rapportant à un o paragraphe donné complètent les poids du dit paragraphe, ainsi de suite Comme il va de soi et comme il résulte également de ce qui précède, la présente invention n'est pas limitée aux modes de réalisation plus i5 particulièrement décrits. Elle en embrasse au contraire toutes les variantes. REVEN D I CAT I ON S 1. Procédé d'animation par un utilisateur d'un personnage 3D, interactif, appelé agent (2), pour mise en oeuvre pendant le déroulement d'un programme applicatif, l' agent étant découpé par rapport au fond de l' interface graphique du programme dont il est indépendant, procédé dans lequel on crce un premier fichier comportant les données déLinissant l' agent et o ses algorithmes d' animation de façon connue en elle même, lesUites données comportant les paramètres de couleurs, de texture et de maillage dudit agent, caractérisé en ce que on interprète ce premier fichier en caleulant en temps récl les paramètres de comportement de l'agent (2) grâce à un moteur 3D (23, 24) basé sur une reconnaissance de mots clé prononcés et/ou écrits par l'utilisateur, pour animer automat iquement ledit agent en fonct ion de critères prédéterminés correspondant aux dits mots clé ou à une combinaison desdits mots clé. 2. Procédé selon la revendication, caractérisé en ce que le premier fichier est téléchargé à partir de sites présents sur Internet. 3. Procédé selon l'une quelcouque des revendications précédentes, caractérisé en ce que, l'utilisateur interagit avec l' agent par le biais du remplissage de bulles (3) interactives. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les mots clé sont auto générés au moins en partie par un moteur d' intelligence comportementale (23, 24) basé sur un dictionnaire dynamique de mots et d' associations de mots. 5. Procédé selon l'une queleonque des revendications précédentes, caractérisé en ce que on analyse le texte proposé par l'utilisateur pour déterminer le ou les moments d' insertion de commandes de l'agent, à savoir son animation, son déplacement ou la modification de l' intonation de sa voix, à partir du ryChme du texte, à savoir son mouvement général qui résulte de la longueur relative des membre de la phrase et/ou de l'emploi d'un accent lo tonique. 6. Procédé selon la revendication 5, caractérisé en ce que le rythme du texte comporte plusieurs paramètres pris en compte par le calcul, parmi le ryChme grammatical, le rythme du sens, la ponctuation et/ou la respiration. 7. Procédé selon la revendication 6, caractérisé en ce que on analyse le ryChme des phrases du texte utilisé relativement à la taille du paragraphe dont elles font partie, en utilisant un ou plusieurs paramètres dits flous. 8. Procédé selon la revendication 7, caractérisé en ce que le paramètre flou est pris parmi les paramètres suivants: mise en valeur, longueur du paragraphe par rapport au reste du texte, vivacité, rapport à l'espace de l'écran, type, longueur relative d'une phrase, parenthèses et/ou virgules. 9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que on affecte à l' agent un paramètre de style, à savoir un paramètre dépendant des moyens d' expression du langage propre audit agent. 10. Procédé selon la revendication 9, caractérisé en ce que les paramètres de style utilisés pour définir l' animation le sont selon une échelle d'intensité prédétermince, et sont pris parmi la vivacité, l'état calme ou nerveux, la mobilité. 11. Procédé selon l'une quelcouque des revendications précédentes, caractérisé en ce que on décide du moment pour envoyer une commande et quelle commande envoyer à partir de l'analyse du texte et du style voulus par l'utilisateur. 12. Procédé selon la revendication 11, caractérisé o en ce que l'analyse du texte et de la séquence de paragraphes et/ou encore l'analyse de chaque paragraphe et de la séquence des phrases pondérant ces valeurs respectivement aux dits paragraphes, et/ou l'analyse des phrases et des séquences de ponctuation à l'intérieur des phrases pondérant lesdites valeurs, respectivement aux dites phrases, initialise les valeurs utilisées pour déterminer le seuil au delà duquel la ou les commandes vont être transmises. 13. Procédé selon l'une quelcouque des revendications précédentes, caractérisé en ce que les commandes sont choisies parmi les opérations suivantes: déplacer, montrer, modifier la voix, faire une pause, renvoyer, expliquer, interpeller, interroger. 14. Système d' animation par un utilisateur d'un personnage 3D, interactif, appelé agent, pour mise en oeuvre pendant le déroulement d'un programme applicatif, ledit agent étant découpé par rapport au fond de l' interface graphique dudit programme dont il est indépendant, système comprenant un premier fichier comportant les données définissant l' agent et ses algorithmes d' animation de façon connue en elle même, lesUites donnces comportant les paramètres de couleurs, de texture et de maillage dudit agent, caractérisé en ce que il comprend - des moyens de stockage dudit premier fichier, - des moyens (23, 24, 27, 28) de recherche, de caleul et d'analyse pour interpréter ce premier fichier en calaulant en temps réel les paramètres de comportement de l' agent, lesdits moyens comprenant un moteur 3D (23) basé sur une reconnaissance de mots o clé prononcés et/ou écrits par l'utilisateur, - des moyens (29) pour reconnaître vocalement et/ou écrire lesdits mots clé par l'utilisateur, et des moyens (1, 3) d'affichage agencés pour, à partir dudit moteur 3D, animer automatiquement ledit agent en fonction de critères prédéterminés correspondant aux dits mots clé ou à une combinaison desUits mots clé. 15. Système selon la revendication 14, caractérisé en ce que, le premier fichier est téléchargé à partir de sites présents sur Internet. 16. Système selon l'une quelconque des revendications 14 à 15, caractérisé en ce que, il comporte des moyens agencés pour permettre à l'utilisateur d'interagir avec l'agent par le blais du remplissage de bulles interactives. 17. Système selon l'une quelconque des revendications 14 à 16, caractérisé en ce que il comporte des moyens d' auto génération au moins en partie de mots clé, lesdits moyens comprenant un moteur d' intelligence comportementale basé sur un dictionnaire dynamique de mots et d' associations de mots. 18. Système selon l'une quelconque des revendications 14 à 17, caractérisé en ce que il comprend des moyens d'analyse du texte proposé par l'utilisateur pour déterminer le ou les moments d' insertion de commandes de l' agent, à savoir son animation, son déplacement ou la modification de l' intonation de sa voix, à partir du rythme du texte, à savoir son mouvement général qui résulte de la longueur relative des membre de la phrase et/ou de o l'emploi d'un accent tonique. 19. Système selon la revendication 18, caractérisé en ce que les moyens d'analyse du rythme du texte sont agencés pour calculer selon plusieurs paramètres, parmi le rythme grammatical, le rythme du sens, la ponctuation et/ou la respiration. 20. Système selon la revendication 19, caractérisé en ce que il comprend des moyens d'analyse du rythme des phrases du texte utilisé relativement à la taille du paragraphe dont elles font partie, en utilisant un ou plusieurs paramètres dits flous. 21. Système selon la revendication 20, caractérisé en ce que le paramètre flou est pris parmi les paramètres suivants: mise en valeur, longueur du paragraphe par rapport au reste du texte, vivacité, rapport à l'espace de l'écran, type, longueur relative d'une phrase, parenthèses et/ou virgues. 22. Système selon l'une quelconque des revendications 14 à 21, caractérisé en ce que il comprend des moyens agencés pour prendre en compte et affecter à l' agent un paramètre de style, à savoir un paramètre dépendant des moyens d'expression du langage propre audit agent. 23. Système selon la revendication 22, caractérisé en ce que les paramètres de style utilisés pour définir l' animation le sont selon une échelle d'intensité prédéterminée, et sont pris parmi la vivacité, l'état calme ou nerveux, la mobilité. 24. Système selon l'une quelconque des revendication 14 à 23, caractérisé en ce que il comporte des moyens de commande de l' agent et du moment pour envoyer ladite commande à partir de o l'analyse du texte et du style voulus par l'utilisateur. 25. Système selon la revendication 24, caractérisé en ce que il est agencé pour que l'analyse du texte et de la séquence de paragraphes initialise les valeurs utilisées pour déterminer le seuil au de la duquel la ou les commandes vont être envoyées, l'analyse de chaque paragraphe et de la séquence des phrases pondérant ces valeurs respectivement aux dits paragraphes, et l'analyse des phrases et des séquences de ponctuation à l'intérieur des phrases pondérant lesdites valeurs, respectivement aux dites phrases. 26. Système selon l'une quelconque des revendications 14 à 25, caractérisé en ce que les commandes sont choisies parmi les opérations suivantes: déplacer, montrer, modifier la voix, faire une pause, renvoyer, expliquer, interpeller,