Character Animation 3D — AccuRIG, Blender Headless e IA de Motion
SkillWeb & browsingSkill 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.
No other account needed.
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:
| Assunto | Arquivo |
|---|---|
| Camadas de rig (deform/pose/action/constraint), tabela de formatos, export AccuRIG->Blender | references/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 IA | references/ai-motion-tech-map.md |
| Matematica de retargeting, root motion, bake de constraints, script completo de pipeline CLI | references/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
bpyheadless (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,
.npyde 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)
bpyorganizados 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
| Nunca | Em 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"] hardcoded | find_armature() por tipo + heuristica de contagem de bones |
target.rotation_euler = source.rotation_euler entre rigs diferentes | Delta de rotacao relativo a rest pose (quaternion, world space) |
target.location = source.location com personagens de altura diferente | Escalar deslocamento por proporcao de perna/altura |
| Misturar Armature object + Root bone + Hips como responsaveis pelo deslocamento global | Uma unica entidade responsavel, nunca as tres |
| Exportar FBX/GLB pra engine sem bake de constraints/IK | bpy.ops.nla.bake(visual_keying=True, clear_constraints=True) antes do export |
| Tratar AccuRIG AI Deep Search como gerador text-to-motion | E busca semantica em biblioteca curada — confirmar qual o caso de uso exige |
| Assumir que XYZ joints (MDM) sao rotacao de bone direta | Resolver 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 AccuRIG | So 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)
bpyexecutados 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:
| Ferramenta | Licenca / modelo | Observacao |
|---|---|---|
| AccuRIG (Reallusion) | Gratuito p/ uso pessoal e comercial | App de rigging e gratis; conteudo pago do ecossistema Reallusion (ActorCore, Character Creator) e licenciado a parte |
| Blender | GPL | Software livre, sem restricao de uso comercial |
| DeepMotion (SayMotion / Animate 3D) | Servico comercial/cloud | Plano pago por credito/assinatura; ToS do servico rege uso da saida |
| Rokoko (Vision / Studio) | Servico comercial/cloud | Assinatura/hardware; conferir ToS pra uso do conteudo gerado |
| Move.ai | Servico comercial/cloud | Licenciamento proprio, conferir ToS antes de uso comercial |
| MDM (Motion Diffusion Model) | Nao confirmada no documento fonte | Checar repositorio oficial antes de uso comercial |
| MoMask | Nao confirmada no documento fonte | Modelo academico CVPR 2024, licenca de codigo/pesos nao declarada na fonte |
| Mixamo | Adobe, termos proprios | Gratuito com conta Adobe, mas nao e licenca aberta |
| Auto-Rig Pro | Comercial (Blender Market) | Addon pago, licenca por compra, nao redistribuivel |
| MotionBuilder (Autodesk) | Comercial | Assinatura Autodesk |
| OpenPose | Academica/nao-comercial com excecao paga | Uso 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