TESCS2 : Idle Animations

De Wiwiki
Révision datée du 15 octobre 2006 à 14:26 par Mike89 (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche


Vue d'ensemble

Dans Oblivion, chaque animation (Idle Animation) contient les informations sur quel fichier jouer, comment il doit être appliqué au squelette d'animation de l'acteur, et sous quelles condition il doit être joué.

Le "Idle Manager", gestionnaire d'animation, est le nom à la fois, de l'outil dans l'éditeur TESCS2 pour définir les animations (Idle), et également le nom du système au travers duquel ces animations sont choisies au cours du jeu.

Ce document contient des informations sur l'utilisation de l'outil de définition des animations dans le TESCS2, ainsi que des informations sur la façon dans les Animations (Idle) sont utilisées dans le jeu.


La boite de dialogue du Manager des Animations (Idle)

La boite de dialogue est ouverte en cliquant sur “Gameplay\Idle Animations…” du menu principal du TESCS2. La portion gauche de cette boite de dialogue est un diagramme hiérarchique (Tree) qui liste toutes les animations (Idle) existantes. La portion droite est utilisée pour visualiser ou modifier les paramètres de l'animation sélectionnée dans le diagramme.

TESCS2-IdleManager01.jpg

Paramétrage des animations

La portion droite de la boite de dialogue est utilisée pour définir les paramètres de l'animation sélectionnée.

TESCS2-IdleManager03.jpg


ID : Ce champ est utilisé pour donner à l'animation un identifiant unique. Ce texte n'est jamais affiché dans le jeu et est utilisé dans le jeu pour des questions d'organisation interne.

Select Animation File : Le bouton en haut à droit est utilisé pour sélectionner le fichier KF à utiliser par le moteur de jeu pour exécuter cette animation. Seuls les fichiers KF situés dans le dossier IdleAnims ou le dossier _Male\IdleAnims, dans lesquels les squelettes du NPC ou de la créature sont définis, peuvent être sélectionnés. Si aucun fichier n'est défini, il s'agit probablement que l'animation sélectionnée est une animation parente dans l'arbre hiérarchique.


Animation Group Section  : Liste déroulante utilisée pour déterminer comment l'animation doit être jouée sur le squelette du personnage ou de la créature.

  • Spécial : En général, l'option choisie est "Special Idle" qui signifie que le moteur de jeu essaye d'appliquer le nouveau fichier KF à tout le squelette et utilise des priorités pour déterminer quels Bones de l'animation actuelle, s'il y en a, sont remplacées par la nouvelle animation.
  • Sinon la partie du corps indiquée dans cette option est seule affectée par le changement d'animation (main, bras, haut du corps, bas du corps, ou tout le corps)

Must Return a File : cette case à cocher est utilisée pour aider à savoir comment le manager d'animations choisit les animations pendant le jeu et sera expliquée plus complètement plus loin. Généralement, si aucun fichier KF est sélectionné, cette case ne doit pas être cochée.

Le reste de la boite de dialogue concerne les conditions sous lesquelles l'animation ou une de ses animations dépendante doit être jouée.

Conditions

Chaque animation (Idle) contient un jeu de conditions qui sont utilisées pour déterminer quand cette animation doit être jouée. Par exemple, une animation d'un NPC qui se tiendrait le ventre et lancerait un grand rot aurait certainement comme conditions qu'il est en train d'exécuter un package de repas (Eat package) et possède un niveau de personnalité plutôt bas. Pour l'utilisation des conditions, voir Conditions.

Le diagramme hiérarchique des animations (Idle Tree)

TESCS2-IdleManager05.jpg

La partie gauche de la fenêtre de gestion des animations est un diagramme hiérarchique (Tree) utilisé pour lister et grouper les animations. Le niveau du haut de l'arbre représente tous les différents squelettes d'animation de créatures ou de NPC du jeu. Toutes les animations utilisées sur un squelette d'animation de NPC sont listées sous l'élément Characters\_Male\ et toutes les animations utilisées sur un squelette d'animation de Gobelin sont listées sous l'élément Creatures\Goblin. Ces éléments parents de la hiérarchie sont ajoutés dynamiquement, sur la base des squelettes utilisés lors du chargement des NPCs et des créatures dans le TESCS. Tout ce qui dépend hiérarchiquement de ces niveaux hauts, chargés dynamiquement, sont des animations pouvant être jouées dans le jeu.


Par un clic droit sur l'arbre, une fenêtre POPUP s'ouvre qui permet de supprimer des animations existantes, ajouter une nouvelle animation comme jumelle (colatéral de même parent) de celle qui est sélectionnée, ajouter une nouvelle animation comme enfant de celle qui est sélectionnée(subordonnée au parent).

Les boutons de déplacement vers le haut et vers le bas peuvent être utilisés pour déplacer une animation dans l'arbre, au même niveau (change l'ordre des jumeaux).

Quand une animation est supprimée, cela supprime automatiquement les animations dépendantes (enfants). Quand une nouvelle animation est insérée comme enfant, elle est ajoutée comme premier enfant , sous l'animation actuellement sélectionnée. Quand une nouvelle animation est insérée comme jumelle, elle est ajoutée immédiatement après l'animation actuellement sélectionnée.

Prévisualisation des animations dans l'éditeur TESCS

Pour prévisualiser une animation, en cliquant dans la fenêtre "Object Window", ouvrir la fenêtre d'un NPC ou d'une créature capable de jouer l'animation que vous souhaitez visualiser. Cocher la case "Preview Full", en bas à droite de la fenêtre d'édition de l'acteur. Une image de l'acteur est affichée dans la fenêtre de visualisation. Pour prévisualiser les animations actuelles de l'acteur : sélectionner l'onglet "animation". Une liste des animations de l'acteur s'affiche. Si vous en sélectionnez une, elle sera jouée sur l'acteur. Pour prévisualiser l'effet d'une autre animation du jeu, présente dans l'arbre de la fenêtre "Idle Animations", criquez sur cette animation et elle sera jouée dans la fenêtre d'animation de l'acteur, pardessus l'animation jouée précédement. Rappelez vous qu'une animation peut affecter tout le corps, ou une partie du corps… Une nouvelle animation n'affecte que les parties du corps qu'elle concerne… Cela peut donc donner des combinaisons bizarres pour les animations qui s'exécutent en boucle, ou ne rien donner du tout... et même planter le TESCS... Sauvegardez votre MOD avant de visualiser si nécessaire !

Le Système d'animation du jeu

Le choix des animations

Quand le gestionnaire prêt à sélectionner une animation pour un acteur, il recherche d'abord le niveau le plus haut de l'arbre qui correspond au squelette d'animation de l'acteur. Il recherche ensuite le premier enfant, en dessous de ce sommet, et teste si l'acteur satisfait aux conditions de cet élément. Si les conditions ne sont pas réunies, il passe au jumeau suivant. Si les conditions sont satisfaites, il descend dans la hiérarchie pour rechercher si un des enfants convient et ainsi de suite : enfants (dépendants) d'abord, jumeaux (collatéraux) ensuite. Quand les conditions sont réunies pour une animation, et qu'aucune animation dépendante, ou qu'il n'a pas de dépendants, c'est cette animation qui pourrait être appliquée à l'acteur. Problème : cette animation possède t-elle un fichier KF associé ?

Quand le gestionnaire d'animation sélectionne une animation pour être jouée, et qu'elle possède un fichier KF associé, ce fichier est mis en file d'attente, et ensuite, après chargement, jouée par l'acteur. Si l'animation sélectionnée n'a pas de fichier KF, il y a deux possibilités qui dépendent de la case à cocher "Must Return File" vue plus haut. Si "Must Return File" est coché, l'animation est abandonnée, et le gestionnaire d'animation reprend le processus de sélection en commençant par l'animation collatérale à la suite de l'animation abandonnée. Si "Must Return File" n'est pas coché, aucun fichier KF n'est retourné au système.

Par exemple, si un NPC est assis sur une chaise, et est appelé à jouer une animation , il peut être qualifié pour une animation appelée "SittingIdles" qui satisfait à la fonction "GetSitting", mais n'a pas de fichier KF associé. Si pour quelque raison, l'acteur ne remplit pas les conditions de l'un des dépendants de cette animation, SittingIdles est donc l'animation qui est retenue par le système. Si la case "Must Return File" n'est pas cochée, aucun fichier KF n'est retourné, et l'acteur ne jouera pas de nouvelle animation. Par contre, si la case est cochée, SittingIdles est éliminé de la liste et l'acteur peut être amené à jouer une animation inappropriée avec le fait d'être assis sur une chaise.

Quand les animations sont-elles jouées dans le jeu

Les animations peuvent être jouées de force au travers du système de script. Quand une fonction PickIdle est appelée sur un acteur, le gestionnaire d'animation essaiera de trouver une animation qui convient pour cela. Si une animation est retournée, elle est mise en file d'attente, chargée, puis jouée. Cela peut être testé dans le jeu en sélectionnant un acteur, et en taper Pickidle à la console (touche ² , puis cliquer sur l'acteur. Le nom de l'animation à jouer sera affichée à la console, et, en retournant dans le jeu (appuyer de nouveau sur la touche ² ) l'acteur devrait jouer l'animation…

Les animations sont parfois jouées sur la base d'événements sur l'acteur dans le jeu . Quand un acteur est mis KO ou inconscient, c'est le gestionnaire d'animation qui sélectionne le fichier KF à jouer pour le faire se relever. Quand un acteur décide d'abandonner le combat, le gestionnaire d'animation sélectionne celle qui permet de faire cela. Pendant qu'un acteur exécute un package SLEEP (dormir) ou EAT (manger), le package demande au gestionnaire d'animation de bloquer l'animation correspondante. Ainsi, ces animations doivent être incluses pour tout PC qui utilise ces packages. De même, pendant un dialogue, avec le PC ou un autre NPC, les animations sont appelées pour les deux intervenants à chaque fois qu'une nouvelle phrase est prononcée.

Les animations peuvent également être jouées de façon aléatoire, sur la base du niveau d'énergie de l'acteur. Les acteurs ayant un bas niveau d'énergie s'animent plus souvent. Si le bas du corps est animé, une animation est sélectionnée si le niveau d'énergie a baissé et qu'une animation doit être jouée.