Communitygithub.com

z1fex/06-personagens-e-rostos

Construa personagens 3D cartoon originais para qualquer tema (cabeça bola, corpo feijão, membros de palito, mãos de mitene) com tons de pele, roupas em cores de marca, cabelo, chapéus, óculos e barbas, e atue com rostos pintados que trocam através de uma piscada. Use ao escalar um filme.

O que é 06-personagens-e-rostos?

Esta skill fornece um sistema completo para criar e animar personagens 3D cartoon stylized em um ambiente de programação, como Claude Code ou Cursor. Ela define um rig de personagem com proporções fixas (cabeça grande, corpo feijão, membros finos de palito e mãos de mitene) e oferece opções extensivas de customização visual: tons de pele, cores de roupa superior/inferior, penteados (incluindo perucas históricas), chapéus, óculos, barbas e expressões faciais pintadas. A skill é útil para cineastas, desenvolvedores de jogos ou qualquer pessoa que precise criar rapidamente um elenco diverso de personagens para uma cena 3D, mantendo um estilo visual consistente. Ela é implementada em JavaScript (ESM) e depende de módulos como `character.mjs` e `faces.mjs`. O sistema de troca de expressões segue uma regra rigorosa: a troca só pode acontecer através de uma piscada, com um timing preciso (2 quadros antes da palavra estressada), evitando morphing entre expressões. Além de personagens, a skill também suporta objetos antropomórficos com rostos (como maçãs, planetas) que viram para a câmera.

Funciona com~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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

6 · Personagens e rostos

O corpo

makeCharacter(spec) em recipe/engine/character.mjs constrói um rig: raio da cabeça 0.42, corpo 0.8 de altura, pernas 0.52, braços 0.30 + 0.28. As proporções são o estilo: uma cabeça bola grande, um corpo feijão dividido em uma cor superior e inferior, membros finos de palito na cor Antracite, mãos de mitene na cor da pele, sapatos Cognac arredondados.

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 => { /* adicione um plastrão, botões, um distintivo, um cinto de ferramentas… */ },
});
host.root.position.set(x, 0, z); place.scene.add(host.root);
OpçãoValores
skinSKIN.light / fair / medium / tan / brown / deep, ou qualquer hex. Misture entre o elenco.
top, bottom, split, widthas duas cores do feijão, onde elas se encontram (0–1 da altura), e um fator de largura (1.06 para uma constituição mais atarracada)
hairshort (ou cap), bob, bun, ponytail, curly, spiky, bald, e duas perucas de época: newton (cachos longos) e einstein (cabelo branco selvagem com brilho próprio)
hat / hatColorcap, tophat (com hatBand), helmet (capacete redondo), hardhat, beret, crown
glassestrue ou uma cor de armação: armações redondas sobre os olhos pintados
beardtrue (cor do cabelo) ou uma cor
face{ browColor, browThick, mustache }: cor e espessura da sobrancelha, uma cor de bigode pintado opcional
extras(torso)adicione partes de fantasia com part(geometry, color): plastrões, golas, botões, distintivos, ferramentas

Projetando um personagem para um novo tópico: escolha primeiro uma silhueta (cabelo ou formato de chapéu é a dica mais forte no tamanho de um telefone), depois uma cor de marca para a parte superior, depois um tom de pele. Pessoas históricas são desenhadas como nossos próprios toons: cabelo e roupas de época são suficientes (peruca cacheada de Newton e casaco Rouge Noir; cabelo branco selvagem de Einstein, bigode e suéter Blue Coral). Nunca copie um personagem protegido por direitos autorais.

Objetos com rostos (maçãs, planetas, moléculas, máquinas): dê a eles faceDecal(radius, { skin: <cor do corpo> }) de faces.mjs, defina a cor das pálpebras para a cor do corpo e adicione o grupo do objeto à lista faceCamera do lugar para que ele se vire para a câmera.

Rostos

Decalques planos pintados na frente da cabeça (faceDecal): sobrancelhas, olhos com pupilas e realces, uma boca, sem nariz, todos de uma mesma família de formas. Sem sincronia labial; o rosto faz a atuação.

Expressões (EXPRESSIONS em faces.mjs): neutral, content, sleepy, surprised, shocked, curious, thinking, eureka, delighted, smug, knowing, confused, worried (com uma gota de suor), proud (rubor), no, wheee, dizzy (olhos espirais), lookDown. Para adicionar uma, copie uma entrada e altere as sobrancelhas [inner, outer] (graus), lid (0 aberto … 1 fechado), look (deslocamento da pupila), escala de eye e pupil, e mouth (flat, smile, smirk, side, wavy, o, grin, shout).

Troca de rostos (a regra da referência, medida)

  • Troque apenas através de uma piscada: um quadro semifechado, um quadro fechado, então o novo rosto.
  • O novo rosto aparece 2 quadros antes da palavra estressada (W(i) - FACE).
  • Nunca faça morphing entre expressões.
  • O personagem principal ganha um novo rosto a cada 1.2 s aproximadamente; os objetos trocam no seu batimento da história (a maçã vai smug → shocked em "wrong").
  • Piscadas naturais durante longas pausas: passe uma lista blinks de tempos.
rig.faceAt(t, [[0, 'curious'], [W(17) - FACE, 'smug']], [0.75, 6.2]);   // troca, depois piscadas naturais
objectFace.set('shocked');                                              // definição instantânea para objetos

Mãos e adereços segurados

rig.handPos('L' | 'R' | 'both') retorna a posição mundial de uma mão após a pose atual; coloque adereços segurados lá a cada quadro (o livro nas mãos de Newton, a bola de boliche antes de Einstein deixá-la cair). rig.headPos() dá o centro da cabeça para enquadramento.

Verificações

  • No tamanho de um telefone, você consegue distinguir cada personagem apenas pela silhueta?
  • As pálpebras combinam com a cor da pele ou do corpo (sem piscadas transparentes).
  • Os rostos viram para a câmera em todas as tomadas onde atuam.

Individual skills in this repo

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

Habilidades Relacionadas