Character Animation 3D — AccuRIG, Blender Headless e IA de Motion

SkillWeb & browsing

Skill de pipeline de conteudo/asset para animacao de personagem 3D humanoide via AccuRIG + Blender headless + IA de motion. Cobre rigging com AccuRIG, Blender como "compilador de animacao" via CLI, deform bones vs pose bones, formatos (FBX/USD/glTF/BVH/Alembic/NPY-JSON), mapa de tecnologias de IA de motion, AccuRIG AI Deep Search vs sintese real (SayMotion/MDM/MoMask), canonical/semantic skeleton com bone aliasing, matematica de retargeting via delta de rotacao, root motion, e bake de constraints/IK. Nao cobre codigo de engine — ver skill 67. Trigger em: "AccuRIG", "rig de personagem 3D", "retargeting de animacao", "script bpy que roda headless com blender --background --python", "deform bones vs pose bones", "root motion que ta duplicando o deslocamento", "armature.data.bones e armature.pose.bones", "semantic bone mapping pra desacoplar do nome CC_Base_L_Upperarm", "text-to-motion", "MDM ou MoMask pra gerar animacao", "bake de constraints e IK antes de exportar FBX pro Unity".

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Character Animation 3D — AccuRIG, Blender Headless e IA de Motion skill

What this skill tells your AI

The instructions your AI receives, as published by felvieira/claude-skills-fv in skills/68-character-animation-3d/SKILL.md and read by ahel’s review.

Pipeline de conteudo/asset para animar personagem 3D humanoide: AccuRIG certifica o rig -> IA gera/extrai movimento -> Blender compila (retarget + bake) -> FBX/glTF/Alembic sai pronto pro consumidor final (engine, render, cinematica). Esta skill nao escreve codigo de gameplay — para isso ver skills/67-game-engine-development/SKILL.md.

Governanca Global

Esta skill segue GLOBAL.md, policies/execution.md, policies/source-driven.md e policies/token-efficiency.md.

Conteudo denso (tabelas completas, scripts Python/bpy inteiros) vive em references/ — carregar so o arquivo do topico relevante a task, nao os quatro de cara:

AssuntoArquivo
Camadas de rig (deform/pose/action/constraint), tabela de formatos, export AccuRIG->Blenderreferences/rig-layers-and-formats.md
Blender CLI headless, import multi-formato, semantic bone mapping (BONE_ALIASES completo)references/blender-cli-and-semantic-mapping.md
Mapa comparativo de IA de motion, AccuRIG AI Deep Search vs sintese, os 4 formatos de output de IAreferences/ai-motion-tech-map.md
Matematica de retargeting, root motion, bake de constraints, script completo de pipeline CLIreferences/retargeting-math-and-scripts.md

Quando Usar

  • montar/revisar pipeline de rigging humanoide com AccuRIG (export pro Blender, formato, FPS/Move-in-Place/T-Pose)
  • escrever/depurar script bpy headless (blender --background --python) pra import/retarget/bake/export
  • implementar/revisar semantic bone mapping / canonical skeleton pra desacoplar codigo de nomes de bone de exportador especifico
  • escolher tecnologia de IA de motion (text-to-motion vs video-to-motion vs pose estimation vs retargeting tool) pro caso de uso
  • implementar retargeting real entre esqueletos com proporcao/rest-pose diferentes (nao so copiar rotacao)
  • separar e calcular root motion corretamente (escala por altura, uma unica entidade responsavel)
  • bake de constraints/IK antes de exportar pra formato/engine que nao preserva constraint procedural
  • decidir entre FBX/USD/glTF/BVH/Alembic/NPY-JSON pra uma etapa especifica do pipeline

Quando Nao Usar

  • codigo de gameplay em Unity C#/Unreal C++ que consome a animacao pronta — skills/67-game-engine-development/SKILL.md
  • arquitetura de sistema de jogo ou balanceamento — skills/66-game-architecture-design/SKILL.md
  • gerar o modelo 3D/mesh do personagem do zero (assume mesh estatica ja existente entrando no AccuRIG)
  • pipeline de animacao 2D (sprite, esqueleto 2D, Spine/DragonBones) — skill 69 (character-pipeline-2d) quando existir
  • gerar textura/material/shader do personagem — fora de escopo

Entradas Esperadas

  • estagio do pipeline em questao (rig, script Blender, fonte de IA, retargeting, export) — a skill cobre a cadeia inteira mas cada task normalmente foca um estagio
  • formato de entrada disponivel (FBX do AccuRIG, BVH/FBX/GLB/JSON de fonte de IA, .npy de MDM)
  • se ja existe canonical skeleton/mapeamento semantico no projeto, ou precisa ser criado
  • ambiente de execucao do Blender (versao, headless/servidor vs desktop, Windows vs Linux — determina se Auto Setup e viavel)
  • formato de saida exigido pelo consumidor final (engine, render/Alembic, web/glTF)

Saidas Esperadas

  • script(s) bpy organizados por responsabilidade (import, mapeamento, retarget, bake, export) — nunca um monolito misturando as cinco camadas
  • mapeamento semantico validado contra bones essenciais do rig-alvo, com falha explicita quando algo falta
  • justificativa de escolha de formato em cada fronteira do pipeline, amarrada a references/rig-layers-and-formats.md
  • root motion tratado separadamente das rotacoes de membro, uma unica entidade responsavel
  • constraints/IK assadas (bpy.ops.nla.bake) antes do export final

Arquitetura em Camadas

AccuRIG (certifica deform rig) -> FBX -> Blender (compilador de animacao via CLI headless)
                                            |
                    IA de motion (texto/video/biblioteca) -> Canonical Skeleton -> Retarget
                                            |
                                   Bake (constraints/IK) -> Export (FBX/GLB/ABC)

AccuRIG certifica o rig, nao e control rig de animacao. O FBX que sai dele e um deformation rig (skinned mesh + vertex groups) — widgets IK/FK, pole targets e switches ficam a cargo do Blender (Auto Setup/Rigify) ou de retargeter dedicado (Auto-Rig Pro). Tabela completa do que sobrevive ao intercambio em references/rig-layers-and-formats.md.

Blender e o compilador de animacao, headless via blender --background --python pipeline.py -- --character x.fbx --motion y.bvh --output z.fbx. O -- separa argumentos do Blender dos do script (argparse). Invocacao completa, import multi-formato, e find_armature() sem hardcode de nome em references/blender-cli-and-semantic-mapping.md.

A distincao mais cara de errar: armature.data.bones[...] (estrutura/rest pose, matrix_local) e armature.pose.bones[...] (transformacao animada) nao sao intercambiaveis. Data Bone = estrutura e rest pose | Pose Bone = transformacao animada | Action/FCurve = keyframes | Constraint = relacao procedural que deve eventualmente ser baked. Confundir estrutura com pose produz retargeting que "parece certo numa pose e quebra na proxima" — bug silencioso, nao erro de execucao.

Canonical Skeleton

Nunca acoplar codigo a nome de bone de exportador especifico (CC_Base_L_Upperarm, mixamorig:LeftArm). Trabalhar com conceitos semanticos (hips, left_upper_arm, left_forearm, etc.) resolvidos pro nome real via BONE_ALIASES + resolve_mapping (case-insensitive). CC_Base_* e alias tipico do ecossistema Reallusion — nao e contrato imutavel do AccuRIG. O pipeline falha explicitamente (RuntimeError) quando falta uma articulacao essencial (hips, left_thigh, left_shin, right_thigh, right_shin no minimo) — nunca assume silenciosamente que o bone existe. Dicionario completo e strip_namespace em references/blender-cli-and-semantic-mapping.md. Isto e o que permite trocar AccuRIG por Mixamo/DeepMotion/Rokoko sem reescrever a logica de retargeting — so o dicionario de aliases muda.

IA de Motion

Cinco familias, confundi-las e o erro mais comum de planejamento: text-to-motion (SayMotion, MDM, MoMask), video-to-motion (DeepMotion Animate 3D, Rokoko Vision, Move.ai), 2D/3D pose estimation (OpenPose, MoveNet, MediaPipe — so keypoints, nao geram animacao), e retargeting/cleanup tool (Auto-Rig Pro, Rokoko Studio, MotionBuilder — adaptam movimento existente, nao geram).

AccuRIG AI Deep Search nao e text-to-motion — e busca semantica sobre 4500+ movimentos da biblioteca ActorCore, encontra o mais proximo do prompt, nao sintetiza um novo. "Old man walking slowly, tired" produz resultado diferente se a ferramenta busca (Deep Search) ou sintetiza (SayMotion/MDM/MoMask) — confirmar qual o caso de uso exige antes de escolher.

Toda saida de IA de motion cai em 4 representacoes: bone rotations (quaternion, direto se o espaco de rotacao for conhecido), XYZ joints (MDM, exige lifting), SMPL/SMPL-X (parametrico, menos ambiguo), ou FBX/BVH/GLB (articulacoes ja resolvidas). Tabela comparativa completa em references/ai-motion-tech-map.md.

Retargeting e Root Motion

target.rotation_euler = source.rotation_euler esta sempre errado entre rigs diferentes — a relacao correta transfere o delta relativo a rest pose:

ΔR_source(t) = R_source,pose(t) · R_source,rest⁻¹
R_target,pose(t) = ΔR_source(t) · R_target,rest

Script completo (retarget_frame, ordem de profundidade hierarquica, world space via quaternion) em references/retargeting-math-and-scripts.md, que tambem cobre o que a matematica nao resolve sozinha: anatomia diferente, spine/clavicula divergente, twist, foot contact, A-Pose vs T-Pose.

Root motion e sempre separado das rotacoes de membro. Escalar deslocamento pela proporcao de altura/perna (Δp_t(t) = Δp_s(t) × (h_t/h_s)) — nunca copiar location bruto entre personagens de proporcao diferente. Uma unica entidade responsavel pelo deslocamento global (Armature object OU Root bone OU Hips, nunca as tres — produz deslizamento duplicado). Modelo limpo pra engine: Root (mundo) -> Hips (local) -> skeleton.

Bake final: bpy.ops.nla.bake(visual_keying=True, clear_constraints=True, bake_types={"POSE"}) — converte resultado visual de IK/Copy Rotation/Copy Transforms em keyframes explicitas, obrigatorio antes de exportar pra formato/engine que nao preserva constraint procedural.

Checkpoint pós-retarget: reproduzir a animação no target e observar visualmente foot sliding (pé escorregando no contato com o chão) e penetração de mesh nas articulações — a matemática do delta relativo pode estar correta e ainda produzir esses artefatos por diferença de proporção não coberta pela fórmula. Corrigir contact points/proporção e re-bakear antes de exportar, não exportar e corrigir depois na engine.

Regras Duras

NuncaEm vez disso
Acoplar codigo a nome de bone de exportador especifico (CC_Base_L_Upperarm)Canonical skeleton + BONE_ALIASES + resolve_mapping
bpy.data.objects["Armature"] hardcodedfind_armature() por tipo + heuristica de contagem de bones
target.rotation_euler = source.rotation_euler entre rigs diferentesDelta de rotacao relativo a rest pose (quaternion, world space)
target.location = source.location com personagens de altura diferenteEscalar deslocamento por proporcao de perna/altura
Misturar Armature object + Root bone + Hips como responsaveis pelo deslocamento globalUma unica entidade responsavel, nunca as tres
Exportar FBX/GLB pra engine sem bake de constraints/IKbpy.ops.nla.bake(visual_keying=True, clear_constraints=True) antes do export
Tratar AccuRIG AI Deep Search como gerador text-to-motionE busca semantica em biblioteca curada — confirmar qual o caso de uso exige
Assumir que XYZ joints (MDM) sao rotacao de bone diretaResolver lifting/IK ou converter via SMPL antes de aplicar
Confundir armature.data.bones (rest) com armature.pose.bones (animado)Regra fixa: Data Bone = estrutura, Pose Bone = animacao
Assumir glTF ou Alembic como saida direta do AccuRIGSo FBX/USD saem direto — glTF/Alembic sao segunda etapa via Blender

Handoff

Recebe de

  • Skill 66 (Game Architecture Design) — quando o sistema de combate/locomocao ja decidido precisa da animacao de personagem correspondente
  • Skill 09 (Orchestrator) — quando a task maior decide que pipeline de conteudo de personagem vem antes de integracao de engine

Entrega para

  • Skill 67 (Game Engine Development) — FBX/GLB baked pronto entra como asset consumido por codigo de gameplay (Animator Controller no Unity, Anim Blueprint no Unreal)
  • Skill 05 (QA Testing) — validacao de que a animacao exportada reproduz corretamente no engine-alvo (sem popping, sem foot sliding, sem duplicacao de root motion)

Evidencia de Conclusao

  • script(s) bpy executados com sucesso em modo headless (blender --background --python ... --), sem erro de bone ausente
  • mapeamento semantico validado — bones essenciais confirmados presentes, nao assumidos
  • FBX/GLB/Alembic final aberto e conferido visualmente (ou visualmente + programaticamente) antes de entregar pro consumidor
  • root motion confirmado como responsabilidade de uma unica entidade, sem deslocamento duplicado

Fontes

O conteudo tecnico desta skill (arquitetura em camadas, tabelas de formato, scripts bpy, matematica de retargeting) vem de um whitepaper tecnico original fornecido pelo usuario — pesquisa encomendada por ele, nao material de terceiro sob licenca a considerar. Nenhum texto foi copiado de repositorio ou documentacao externa; a estrutura de skill (frontmatter, secoes de Governanca/Handoff, references/ sob demanda) segue o formato padrao deste kit, igual as skills 66/67.

O documento fonte, porem, cita e recomenda ferramentas de terceiro com licencas variadas. Confirmar a licenca de cada uma antes de uso comercial em projeto real — esta tabela nao substitui a leitura dos termos atuais do fornecedor:

FerramentaLicenca / modeloObservacao
AccuRIG (Reallusion)Gratuito p/ uso pessoal e comercialApp de rigging e gratis; conteudo pago do ecossistema Reallusion (ActorCore, Character Creator) e licenciado a parte
BlenderGPLSoftware livre, sem restricao de uso comercial
DeepMotion (SayMotion / Animate 3D)Servico comercial/cloudPlano pago por credito/assinatura; ToS do servico rege uso da saida
Rokoko (Vision / Studio)Servico comercial/cloudAssinatura/hardware; conferir ToS pra uso do conteudo gerado
Move.aiServico comercial/cloudLicenciamento proprio, conferir ToS antes de uso comercial
MDM (Motion Diffusion Model)Nao confirmada no documento fonteChecar repositorio oficial antes de uso comercial
MoMaskNao confirmada no documento fonteModelo academico CVPR 2024, licenca de codigo/pesos nao declarada na fonte
MixamoAdobe, termos propriosGratuito com conta Adobe, mas nao e licenca aberta
Auto-Rig ProComercial (Blender Market)Addon pago, licenca por compra, nao redistribuivel
MotionBuilder (Autodesk)ComercialAssinatura Autodesk
OpenPoseAcademica/nao-comercial com excecao pagaUso comercial exige licenciamento separado da Carnegie Mellon
MoveNet (TensorFlow)Apache 2.0 (via TF Hub)Permite uso comercial, confirmar termos vigentes no TF Hub

Signals

GitHub stars
23
Forks
6
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
character-animation-3d
Source
github.com/felvieira/claude-skills-fv