As políticas de corpo inteiro de 2026 aprendem com horas de movimento humano. Antes de usar esse dado, você precisa saber lê-lo e saber se pode usá-lo. Nesta aula você abre um clipe BVH, conta quadros, fps e juntas, escreve um clipe seu e entende por que o curso não redistribui nenhuma base pública.
2O formato BVH por dentro: esqueleto e uma linha por quadro
3AMASS, LAFAN1 e a pergunta da licença
4Como pegar um clipe truncado antes de ele estragar o retargeting
Objetivo: ler um clipe de captura de movimento (BVH) e dizer quadros, fps e juntas, sabendo de onde o dado vem e sob que licença.
01 · Do movimento de uma pessoa a um arquivo
Clique em cada bloco.
Clique em cada bloco do diagrama para ver o que ele faz.
Dado de movimento é insumo de treino: licença e integridade vêm antes da quantidade.
02 · As bases que você vai encontrar
Clique em cada uma.
1. AMASS
Coleção de muitas capturas convertidas para o mesmo corpo paramétrico (SMPL-X). É a entrada mais comum do GMR e de vários trabalhos de rastreio.
Exige cadastro no site. Os termos para um curso aberto não foram conferidos: leia antes de usar e de publicar qualquer coisa derivada.
2. LAFAN1
Base de animação em BVH usada em muitos exemplos de retargeting (o GMR tem configuração pronta para ela).
Mesma ressalva de licença: não confirmada pela pesquisa da formação em 19/10/2026.
3. Seu dado
O caminho mais limpo para um curso, um produto ou um artigo: capturar o próprio movimento (roupa inercial, câmeras, VR) ou gerar um clipe sintético.
O bvh_minimo.py do kit escreve um BVH do zero: esqueleto de 5 juntas e um aceno. Não é um humano de verdade, mas mostra o formato e a licença é sua.
RelatadoO README do GR00T-WholeBodyControl cita a base BONES-SEED (16/03/2026, mais de 142 mil movimentos, cerca de 288 h, com trajetórias do G1 em MuJoCo). A licença não foi conferida: leia antes de usar.
03 · Baixar só o clipe de teste do GMR e lê-lo
O repositório do GMR tem 1,2 GB na pasta assets, por causa das malhas dos robôs. O sparse-checkout baixa só a pasta do clipe, 2,9 MB (medidos em 19/10/2026, commit bb1bbe4). O ler_clipe.py não usa biblioteca extra: lê o texto do BVH.
GMR bb1bbe4 (2026-04-02)
arquivo: 251021_04_boxing_120Hz_cm_3DsMax.bvh
raiz: Hips · juntas: 23 · pontas (End Site): 5 · canais por quadro: 72
ordem de rotação: Yrotation Xrotation Zrotation · unidade provável: cm (maior OFFSET 43.3)
quadros: 4249 · fps: 120 · duração: 35.4 s
linhas de movimento conferidas: 4249/4249
saída: 0
23 juntas com 3 canais de rotação e a raiz com 3 de posição a mais: 72 números por quadro. Frame Time de 0,008333 s = 120 quadros por segundo.
arquivo: cortado.bvh
raiz: Hips · juntas: 23 · pontas (End Site): 5 · canais por quadro: 72
ordem de rotação: Yrotation Xrotation Zrotation · unidade provável: cm (maior OFFSET 43.3)
quadros: 4249 · fps: 120 · duração: 35.4 s
linhas de movimento conferidas: 4000/4249
saída: 1
O cabeçalho promete 4249 quadros e o arquivo só tem 4000 linhas (download interrompido, cópia parcial). O script sai com código 1 em vez de deixar o retargeting rodar com o fim faltando.
gravado: ~/fth/movimentos/aceno.bvh (90 quadros a 30 Hz)
quadros: 90 · fps: 30 · duração: 3.0 s
90 quadros a 30 Hz = 3 s.
04 · Um BVH seu, feito do zero
Cinco juntas (quadril, coluna, cabeça, braço e antebraço direitos), 60 quadros a 30 Hz: o braço sobe em 0,5 s e o antebraço acena.
Para um clipe que você queira usar (AMASS, LAFAN1 ou outro), escreva em ~/fth/movimentos/licenca.md três linhas: Fonte, Licença (com o link) e Pode redistribuir.
Por que este curso não copia clipes da AMASS ou da LAFAN1 para o repositório?
Correto
A AMASS exige cadastro e os termos de AMASS e LAFAN1 não foram confirmados em 19/10/2026. Sem licença clara, o curso usa o clipe que o GMR publica e um clipe sintético próprio. O GMR lê as duas bases.
Não é essa
A AMASS exige cadastro e os termos de AMASS e LAFAN1 não foram confirmados em 19/10/2026. Sem licença clara, o curso usa o clipe que o GMR publica e um clipe sintético próprio. O GMR lê as duas bases.Rever: Do movimento de uma pessoa a um arquivo
Pergunta 3 de 3
O ler_clipe.py diz 4000/4249 linhas conferidas. O que fazer?
Correto
O cabeçalho promete 4249 quadros e só há 4000. O retargeting não sabe disso e o fim do movimento some sem aviso. Integridade primeiro.