Communitygithub.com

z1fex/06-personnages-et-visages

Créez des personnages de dessin animé 3D originaux pour n'importe quel sujet (tête ronde, corps en haricot, membres en bâton, mains en mitaine) avec des tons de peau, des tenues aux couleurs de marque, des cheveux, des chapeaux, des lunettes et des barbes, et animez-les avec des visages peints qui se changent par un clignement d'œil. À utiliser lors du casting d'un film.

Qu'est-ce que 06-personnages-et-visages ?

Cette compétence permet de créer et d'animer des personnages de dessin animé 3D dans un style cohérent : tête ronde, corps en haricot bicolore, membres fins en bâton et mains en mitaine. Elle fournit une fonction `makeCharacter(spec)` qui construit un rig complet avec des options de personnalisation étendues : tons de peau (clair à foncé), vêtements avec couleurs de marque, coiffures (courtes, bouclées, chignons, perruques historiques), chapeaux (casquette, haut-de-forme, béret, couronne), lunettes, barbe et expressions faciales via un système de decals peints. Les visages sont animés par des swaps d'expressions (20+ émotions) qui s'effectuent uniquement à travers un clignement d'œil, ce qui évite les morphing disgracieux et respecte un timing lié aux mots accentués (2 images avant). La compétence inclut aussi le placement d'accessoires tenus à la main et la gestion des objets avec visage qui se tournent vers la caméra. Elle est conçue pour les pipelines d'animation 3D basés sur Three.js et est particulièrement utile pour le prototypage rapide de saynètes animées, le storyboarding 3D et la création de contenu animé pour les réseaux sociaux ou les présentations.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/z1fex/3D-Cartoon-Style-Animation-Claude-Skill/tree/HEAD/skills/06-characters-and-faces

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

6 · Personnages et visages

Le corps

makeCharacter(spec) dans recipe/engine/character.mjs construit un rig : rayon de la tête 0,42, corps haut de 0,8, jambes 0,52, bras 0,30 + 0,28. Les proportions définissent le style : une grosse tête ronde, un corps en haricot divisé en une couleur du haut et une du bas, des membres fins en bâton Anthracite, des mains en mitaine de la couleur de la peau, des chaussures Cognac arrondies.

const host = makeCharacter({
  name: 'host', skin: SKIN.tan,
  top: BRAND.blueCoral, bottom: BRAND.anthracite, split: 0.32, width: 1.0,
  hair: 'curly', hairColor: '#2a1d18',
  hat: null, glasses: true, beard: false,
  face: { browColor: BRAND.anthracite, browThick: 3.4, mustache: null },
  extras: torso => { /* ajouter une cravate, des boutons, un badge, une ceinture à outils… */ },
});
host.root.position.set(x, 0, z); place.scene.add(host.root);
OptionValeurs
skinSKIN.light / fair / medium / tan / brown / deep, ou tout code hexadécimal. Mélangez au sein du casting.
top, bottom, split, widthles deux couleurs du haricot, leur point de rencontre (0–1 de la hauteur), et un facteur de largeur (1.06 pour une corpulence plus trapue)
hairshort (ou cap), bob, bun, ponytail, curly, spiky, bald, et deux perruques d'époque : newton (longues boucles) et einstein (cheveux blancs sauvages avec auto-illumination)
hat / hatColorcap, tophat (avec hatBand), helmet (coque ronde), hardhat, beret, crown
glassestrue ou une couleur de monture : montures rondes par-dessus les yeux peints
beardtrue (couleur des cheveux) ou une couleur
face{ browColor, browThick, mustache } : couleur et épaisseur des sourcils, une couleur optionnelle de moustache peinte
extras(torso)ajouter des éléments de costume avec part(geometry, color) : cravates, cols, boutons, badges, outils

Concevoir un personnage pour un nouveau sujet : choisissez d'abord une silhouette (la forme des cheveux ou du chapeau est l'indice le plus fort à la taille d'un téléphone), puis une couleur de marque pour le haut, puis un ton de peau. Les personnages historiques sont représentés comme nos propres toons : les cheveux et les vêtements d'époque suffisent (la perruque bouclée de Newton et son manteau Rouge Noir ; les cheveux blancs sauvages d'Einstein, sa moustache et son pull Blue Coral). Ne copiez jamais un personnage protégé par le droit d'auteur.

Objets avec visage (pommes, planètes, molécules, machines) : donnez-leur faceDecal(radius, { skin: <couleur du corps> }) depuis faces.mjs, réglez la couleur des paupières sur la couleur du corps, et ajoutez le groupe de l'objet à la liste faceCamera du lieu pour qu'il se tourne vers la caméra.

Visages

Decals plats peints sur le devant de la tête (faceDecal) : sourcils, yeux avec pupilles et reflets, une bouche, pas de nez, le tout issu d'une même famille de formes. Pas de synchronisation labiale ; le visage fait le jeu d'acteur.

Expressions (EXPRESSIONS dans faces.mjs) : neutral, content, sleepy, surprised, shocked, curious, thinking, eureka, delighted, smug, knowing, confused, worried (avec une goutte de sueur), proud (rougir), no, wheee, dizzy (yeux en spirale), lookDown. Pour en ajouter une, copiez une entrée et modifiez les sourcils [inner, outer] (degrés), lid (0 ouvert … 1 fermé), look (décalage de la pupille), l'échelle eye et pupil, et mouth (flat, smile, smirk, side, wavy, o, grin, shout).

Changements de visage (la règle de la référence, mesurée)

  • Changez uniquement à travers un clignement d'œil : une image mi-clos, une image fermé, puis le nouveau visage.
  • Le nouveau visage apparaît 2 images avant le mot accentué (W(i) - FACE).
  • Ne morphez jamais entre les expressions.
  • Le personnage principal obtient un nouveau visage environ toutes les 1,2 s ; les objets changent sur leur battement narratif (la pomme passe de smug à shocked sur "wrong").
  • Clignements naturels pendant les longues tenues : passez une liste blinks de temps.
rig.faceAt(t, [[0, 'curious'], [W(17) - FACE, 'smug']], [0.75, 6.2]);   // changements, puis clignements naturels
objectFace.set('shocked');                                              // définition instantanée pour les objets

Mains et accessoires tenus

rig.handPos('L' | 'R' | 'both') retourne la position mondiale d'une main après la pose actuelle ; placez les accessoires tenus à cet endroit à chaque image (le livre dans les mains de Newton, la boule de bowling avant qu'Einstein ne la lâche). rig.headPos() donne le centre de la tête pour le cadrage.

Vérifications

  • À la taille d'un téléphone, pouvez-vous distinguer chaque personnage rien que par sa silhouette ?
  • Les paupières correspondent à la couleur de la peau ou du corps (pas de clignement transparent).
  • Les visages font face à la caméra dans chaque plan où ils jouent.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Skills associés