Aller au contenu

Animation & gestes

Quand un dialogue est généré, le générateur d'animation habille chaque ligne en tirant trois types d'animation sur le personnage : une posture de base, des gestes posés par-dessus, et le lip-sync. Les deux premiers sont des données que vous créez ; cette page couvre leur modification. Le lip-sync est synchronisé automatiquement.

Je veux changer la façon dont un personnage se tient et bouge pendant un dialogue (sa posture)

L'animation de base d'un personnage pour une phase de dialogue vient d'un asset descripteur de posture ; modifiez-le (ou choisissez-en un autre par ligne) pour changer le rendu. La posture est l'idle peu animé sur lequel tout le reste se pose — changez-la et toute la scène se lit différemment.

Un asset descripteur de posture

  1. Modifiez ou créez un descripteur. Les postures vivent dans des assets ULBRPostureDescriptorDataAsset (clic-droit Content Browser ▸ Miscellaneous ▸ Data Asset). Le plugin en livre quelques-uns sous le dossier de contenu Libretto Postures — p. ex. PDA_LBRRelaxed, celui par défaut. Dupliquez-en un dans votre projet et réglez son animation Posture (elle doit correspondre au Pose Type et à l'Emotion de la ligne).
  2. Réglez le défaut à l'échelle du projet dans Project Settings ▸ Libretto ▸ Default Posture — c'est le descripteur appliqué à chaque personnage sauf indication contraire d'une ligne.
  3. Surchargez par ligne dans le Dialogue Editor : le Speaker et le Listener d'une ligne portent chacun une Posture (et une Emotion). Une posture posée sur une ligne reste active jusqu'à ce qu'une nouvelle soit posée, donc vous ne la changez que là où la scène évolue. Une valeur grisée indique la posture qui sera utilisée à la génération, héritée des lignes précédentes.

Piège

Emotion et Pose Type sont informatifs — les postures sont choisies de manière déterministe et le pipeline ne lit pas ces deux champs (ils pourraient même disparaître). Pilotez l'animation réelle via la Posture que vous choisissez, pas en espérant que l'emotion en sélectionne une pour vous.

Voir aussi : Generation overview — Animation · Generation overview — Posture descriptors · Settings — Default Posture

Je veux que les personnages gesticulent en parlant — et jouer une animation précise sur un mot-clé

Les gestes s'écrivent dans le même descripteur de posture, en deux paniers : des gestes génériques de remplissage et des gestes liés à des mots précis. Le générateur les pose par-dessus la posture automatiquement — vous fournissez les animations, il décide du placement.

Les lignes de gestes d'un descripteur de posture

  1. Remplissez les gestes génériques. Dans le descripteur, réglez Speaker Gestures et Listener Gestures — le pool de mouvements servant à combler les vides pendant qu'un personnage parle vs écoute.
  2. Liez une animation à un mot. Créez un asset ULBRKeyWordConcept (un asset de données mots-clés) regroupant les mots de même sens — p. ex. un concept « oui »/« accord ». Dans la map KeyWord Gestures du descripteur, faites pointer ce concept vers une liste d'animations (p. ex. un hochement de tête).
  3. Laissez la génération les placer. Quand un mot du concept apparaît dans une ligne, le générateur choisit un geste de mot-clé dans cette liste et le place là où le mot est prononcé (trouvé en analysant la ligne) ; les gestes standards comblent ensuite les vides laissés entre les gestes de mots-clés. Régénérez les séquences du dialogue pour voir le changement.

Piège

Les gestes de mots-clés se déclenchent sur les mots, pas sur des métadonnées de ligne — un concept ne se déclenche que si l'un de ses mots apparaît réellement dans le texte prononcé, donc gardez la liste de mots du concept assez large pour attraper les tournures que vous écrivez. Tout le reste retombe sur les gestes génériques Speaker/Listener.

Voir aussi : Generation overview — Animation · Custom track generators