Como vestir um modelo 3D
Por Oleg Sidorkin, CTO e cofundador da Cinevva

Você tem um personagem e uma peça de roupa. Como transformá-los em um personagem vestido que consegue se movimentar?
Posicionar uma camisa sobre o torso é o primeiro passo. A camisa também precisa corresponder às proporções do personagem, acompanhar as articulações corretas, preservar seus materiais e não atravessar o corpo durante a animação. Esses são problemas distintos, e resolver um deles não resolve automaticamente os demais.
Exploramos esse fluxo de trabalho para o auto-rigger da Cinevva usando um suéter reutilizável e um personagem já rigado. Abaixo, você pode inspecionar as etapas reais desse experimento. Trata-se de um protótipo guiado manualmente com um suéter, além de referências adicionais com calças e shorts, em um único sapo humanoide; a aplicação automática de roupas a uploads arbitrários continua sendo um trabalho futuro.
Explore o processo em 3D
O visualizador é aberto com o modelo ajustado e com skinning. Ative Comparar antes/depois para revelar a etapa anterior à esquerda, começando apenas com escala e posicionamento. O suéter foi redimensionado e posicionado próximo ao personagem, mas ainda mantém a pose original dos braços e não está vinculado ao esqueleto. O lado direito está ajustado e com skinning, portanto acompanha a animação do personagem.
Com a comparação ativada, use Etapa da comparação para passar do posicionamento ao alinhamento com o corpo e, depois, à versão anterior ajustada e com skinning. Comece em Repouso para comparar as formas. Pressione Reproduzir para ver por que o ajuste e a vinculação são etapas diferentes. Arraste qualquer uma das vistas para orbitar as duas câmeras ou inspecione o personagem por trás.
Essas são etapas salvas do experimento, não uma animação “ruim” criada artificialmente. Nas duas primeiras etapas, a roupa sem skinning permanece no lugar enquanto o corpo se move. Na terceira etapa, as duas peças já estão ajustadas e com skinning, portanto as diferenças restantes são menores. O close posterior examina esses detalhes.
Use Encontrar movimento para pesquisar no pacote universal com 260 movimentos e escolha uma Animação para iniciar a reprodução automaticamente. Use Pausar para parar. Experimente Caminhada, Salto, Agachado parado ou Sentado parado. Os clipes são carregados sob demanda e usam o mesmo código de retargeting do Rigger. As duas figuras da comparação compartilham a linha do tempo do clipe e as regras da bancada para movimento da raiz e posicionamento no chão baseado na skin. A grade do chão permanece fixa; a câmera de corpo inteiro acompanha o deslocamento horizontal sem anular o movimento vertical da pelve. Você pode manter esse movimento enquanto troca de roupa ou de etapa de ajuste.
Selecione Poses de diagnóstico para voltar aos controles de pose originais e reproduzir os casos de medição do artigo. Os movimentos universais servem para inspeção visual; as contagens de colisão apresentadas aqui não comprovam que as roupas permaneçam sem colisões durante esses movimentos. Em uma etapa de preparação sem skinning, a roupa permanece fixa enquanto o corpo se move.
O navegador reproduz e faz o retargeting de ativos de animação preparados. Ele não ajusta roupas nem simula tecido em tempo real.
1. Escolha roupas que você realmente possa reutilizar
Há dois pontos de partida úteis: roupas projetadas para uma família específica de avatares e malhas de roupas independentes que você adaptará a um novo corpo. A primeira opção oferece um corpo e uma pose conhecidos e, muitas vezes, uma convenção de vinculação. A segunda oferece mais liberdade, mas exige mais trabalho do pipeline de ajuste.
Para este experimento, selecionamos o suéter de pescador de MargaretToigo, da coleção MakeHuman Shirts01. Esse ativo específico está listado como CC0. Ele inclui uma malha OBJ, textura UV, descrição de material e um arquivo de correspondência para o modelo de corpo do MakeHuman. A peça tem 2.126 vértices e 4.164 triângulos.
Verifique os direitos e o conteúdo do ativo antes de tratar um download como uma peça de vestuário reutilizável. Uma imagem de prévia não comprova que você tenha uma malha de roupa separada, texturas utilizáveis ou permissão para distribuir um modelo vestido.
A correspondência de modelo do nosso suéter é útil, mas não é universal. Ela se refere à topologia corporal do MakeHuman. Nosso sapo tem uma malha e um esqueleto diferentes, portanto importar o OBJ não aplica essa correspondência automaticamente. Os pesos de correspondência do modelo de corpo também são diferentes dos pesos de skinning do esqueleto.
Experimente também calças e shorts
Um suéter testa os ombros e os braços. Calças acrescentam outro problema de ajuste: um cós que envolve os quadris, duas pernas que se movem independentemente e um gancho que precisa conectá-las. Os shorts compartilham o problema dos quadris, mas terminam antes dos joelhos.
Escolha Calça cargo ou Shorts jeans. O visualizador mostra um protótipo ajustado manualmente e com skinning. Ative Comparar antes/depois para adicionar a etapa de escala e posicionamento à esquerda. Experimente Joelho esquerdo dobrado e Ambos os joelhos dobrados e, depois, orbite para trás do personagem. Mostrar joelhos marca as mesmas articulações dos joelhos esquerdo e direito nas duas vistas; Ocultar roupas expõe o corpo para uma comparação direta das posturas. As posições das articulações dos joelhos coincidem exatamente nas seis poses verificadas. Caso contrário, os contornos das calças com ajustes diferentes podem dar a impressão de que os joelhos estão mais próximos. Essas são duas malhas reutilizáveis distintas com suas texturas originais, não novas cores do suéter.
Os dois ativos são de Cortu e estão listados como CC0 no pacote de calças do MakeHuman. Para este experimento, subdividimos as malhas de baixa resolução, mapeamos as regiões dos quadris e das pernas para as articulações do sapo, aplicamos correções locais de afastamento e transferimos pesos de triângulos próximos do corpo. Os controles reproduzem um movimento de diagnóstico de membros inferiores criado manualmente.
Os exemplos de roupas ainda são protótipos. O suéter, a calça e os shorts têm resultados de validação diferentes; as lições de ajuste abaixo explicam o que melhorou e o que ainda está errado.
2. Defina o corpo e sua pose de repouso
Um sistema de ajuste precisa saber o que a roupa deve envolver. Neste caso, nosso sapo rigado local tem uma malha corporal exposta, braços longos, mãos grandes e um esqueleto humanoide com 22 articulações. Isso nos dá uma superfície-alvo utilizável e pontos de referência relevantes nos ombros, cotovelos, pulsos, quadris e pescoço.
Um personagem que já esteja usando um casaco pode conter somente a superfície externa do casaco. Talvez não haja um torso completo por baixo. Nessa situação, as opções práticas são ajustar uma camada externa sobre a geometria existente, usar um proxy corporal explicitamente aproximado ou obter um corpo-base adequado. Apenas os nomes das articulações não conseguem recuperar a superfície ausente.
Antes do ajuste, coloque a roupa e o corpo no mesmo sistema de coordenadas. Compatibilize escala, orientação, transformações de objeto e poses de repouso. Uma peça criada em torno de braços abaixados não corresponderá a uma pose em T apenas porque as caixas delimitadoras têm a mesma altura.
É também por isso que o retargeting de animação não equivale ao ajuste de roupas: transferir movimento entre esqueletos não remodela uma camisa em torno de um novo tórax nem redimensiona suas mangas.
3. Ajuste o formato da roupa ao corpo
A primeira demonstração separa o posicionamento simples de um alinhamento mais cuidadoso. Nosso protótipo lê os pontos de referência de destino no esqueleto e usa pontos de referência correspondentes definidos explicitamente no suéter. Uma deformação do torso e mapeamentos dos braços fornecem o ajuste inicial, com transição contínua entre os segmentos dos braços.
A etapa seguinte aplica uma correção limitada de afastamento da superfície enquanto suaviza o deslocamento. O objetivo é mover o tecido sobreposto para fora sem destruir o formato da roupa. Essa é uma referência simples de ajuste estático, não um simulador de tecido.
Diferentes contratos de entrada exigem abordagens diferentes:
| Ponto de partida | Método prático de ajuste | O que ainda precisa ser verificado |
|---|---|---|
| Roupa criada para o mesmo modelo de corpo | Aplicar sua correspondência de modelo conhecida ou os controles de formato corporal compatíveis | Pose, proporções e premissas específicas do ativo |
| Roupa separada e corpo diferente | Alinhar pontos de referência ou uma gaiola de ajuste, deformar a roupa e, depois, resolver sobreposições | Costuras, silhueta, afastamento e estiramento local |
| Roupas soltas ou em camadas | Usar um proxy e ajuste com detecção de colisão; considerar simulação de tecido offline | Ordem das camadas, autocontato e preservação do volume |
A tabela descreve possíveis opções de fluxo de trabalho. Nossos experimentos usam o segundo método: ajuste por pontos de referência para o suéter e a calça, seguido por uma gaiola de deformação para os shorts. Eles não validam todos os métodos nem todas as categorias de roupa.
Preserve a intenção do design durante o ajuste. Um casaco solto não deve colapsar sobre o corpo como uma superfície pintada. Uma saia precisa de espaço ao redor das duas pernas. Costuras UV e camadas separadas não devem ser soldadas indiscriminadamente apenas para facilitar a entrada de dados de um otimizador.
4. Vincule as roupas ajustadas ao rig
Após o ajuste, a roupa ainda precisa responder a outra pergunta: quais ossos devem mover cada vértice?
Tornar o suéter inteiro filho do personagem faz com que ele acompanhe o deslocamento do personagem, mas não faz a manga dobrar no cotovelo. O skinning esquelético atribui a cada vértice uma combinação ponderada de transformações das articulações. Para roupas próximas ao corpo, o campo de pesos existente no corpo é um ponto de partida útil.
Para o suéter, nosso protótipo transfere pesos de superfície confiáveis e preenche regiões incertas usando vizinhos confiáveis, seguindo a abordagem descrita em Transferência robusta de pesos de skinning por preenchimento de pesos. As correspondências são filtradas pela geometria, e uma intenção explícita de vinculação lida com regiões ambíguas. Para uma manga, uma mão próxima não é necessariamente a fonte de pesos correta. Para uma luva, pode ser.
A calça e os shorts usam uma transferência baricêntrica mais simples a partir do triângulo mais próximo, usando os pesos do corpo e limitando cada vértice a quatro influências de articulações. Esse método ainda exige atenção na região do gancho e em cada abertura das pernas.
O resultado é uma roupa que acompanha a animação existente. Ela ainda não tem movimento independente de tecido. Simulação de tecido, movimento secundário controlado por molas e animação de tecido pré-calculada são opções adicionais, não propriedades que surgem simplesmente porque uma malha tem pesos de skinning.
Na demonstração principal, compare Dimensionar e posicionar com Ajustar e transferir pesos durante a reprodução. Essa é a diferença entre uma roupa posicionada ao redor do personagem e uma roupa que participa de sua pose.
5. Teste o personagem vestido em movimento
Um ajuste na pose de repouso pode esconder uma vinculação inadequada ou uma interseção que aparece quando uma articulação se dobra. Teste o personagem de frente, de lado e de costas e, depois, execute os movimentos que exigem mais da roupa: braços levantados, cotovelos dobrados, movimentos dos pulsos e — quando a roupa chega até essas regiões — quadris e joelhos.
Nossa primeira tentativa com uma roupa real mostrou por que são necessárias várias medições:
| Etapa do ajuste inicial | Triângulos da roupa atravessando o corpo |
|---|---|
| Redimensionamento simples | 352 |
| Alinhamento por pontos de referência | 495 |
| Correção de afastamento da superfície | 33 |
A etapa de pontos de referência tornou o posicionamento da roupa mais intencional, mas aumentou as interseções. A correção da superfície melhorou consideravelmente a contagem, mas ainda não atendeu a um critério de ausência de colisões.
Um teste apenas com vértices foi ainda mais enganoso. Ele relatou zero vértice no lado negativo da normal da superfície corporal mais próxima, enquanto as verificações dos triângulos ainda encontraram atravessamentos. Um triângulo pode atravessar o corpo mesmo quando seus vértices parecem estar afastados de uma superfície próxima.
O que a calça e os shorts nos ensinaram
Os experimentos com os membros inferiores revelaram uma falha que uma pontuação de colisões, por si só, não consegue detectar: uma roupa pode ter menos interseções e ainda assim parecer errada.
A calça perdeu seu formato. Uma correção baseada apenas no afastamento manteve os quadris grandes demais. Puxar o tecido em direção ao corpo eliminou esse volume, mas arrastou o gancho para baixo e fez a calça parecer uma superfície apertada e distorcida. Fazer as posições das articulações dos joelhos coincidirem nas duas figuras não comprovou que a roupa estivesse ajustada corretamente.
Em seguida, fixamos as alturas do cós, do gancho, dos joelhos e dos tornozelos e restringimos as correções de afastamento ao movimento horizontal. Isso restaurou a altura do gancho, mas vistas aproximadas frontais, laterais e traseiras ainda mostraram compressão no gancho, joelhos angulosos, barras irregulares e perda da silhueta cargo. A calça atual mantém 53 triângulos afetados em repouso e entre 50 e 92 nas seis poses amostradas. A versão com gancho caído tinha menos interseções — 21 em repouso —, mas não era um ajuste aceitável.
Os shorts precisavam de restrições próprias. Aplicar o método de ajuste anterior produziu uma cintura alargada, um gancho dobrado e aberturas das pernas excessivamente largas. Substituímos o movimento independente dos vértices por uma gaiola de deformação de 5 × 5 × 5: uma grade de baixa resolução cujos movimentos deformam em conjunto o tecido próximo. A gaiola preserva a malha de origem e as costuras UV, mantendo fixa a altura vertical do gancho. Ela reduziu as dobras irregulares, mas inicialmente deixou o cós afastado do torso.
A correção seguinte identificou o loop de borda de 136 vértices do cós e o ajustou às seções transversais do torso. Isso melhorou a silhueta lateral. A inspeção traseira revelou então uma interseção que as verificações de borda e afastamento dos vértices não haviam detectado: um triângulo do tecido pode atravessar o corpo entre vértices que, individualmente, não apresentam colisão. A parte traseira do cós exigiu uma correção no nível dos triângulos. Reforçamos as restrições de contorno, verificamos toda a faixa do cós e movemos para fora apenas as faces da peça que apresentavam interseção, posicionando-as em relação aos planos dos triângulos do corpo que atravessavam. A altura do cós permaneceu fixa.
| Revisão do shorts | Peça inteira: triângulos afetados em repouso | Parte traseira do cós: triângulos afetados em repouso |
|---|---|---|
| Referência inicial de ajuste | 143 | Não medido separadamente |
| Ajuste por cage com a primeira restrição do cós | 28 | 9 |
| Correção atual da parte traseira do cós | 19 | 0 |
A verificação final encontrou zero interseções na parte traseira do cós em todas as seis poses amostradas, com 19 triângulos afetados em outras regiões em todas as poses. A região traseira é definida pelos centroides dos triângulos da peça de origem; este é um resultado regional, não uma aprovação do shorts inteiro. As medições do shorts incluem tanto a revisão anterior do cós quanto a correção atual.

Vista traseira atual. A interseção do cós foi corrigida nas poses verificadas; o defeito na parte inferior da costura traseira continua visível. As aberturas das pernas também precisam de refinamento.
Os alvos do cós incluem 14 mm de folga pretendida ao redor deste modelo. O contorno final difere desses alvos em 2,0 mm, em média, e em no máximo 5,4 mm. Esses valores são parâmetros de ajuste e erros em relação aos alvos segundo a convenção de metros da cena — não medidas universais de alfaiataria nem garantias contra colisões.
A lição prática é definir requisitos separados para altura do gancho, silhueta, integridade das costuras, fixação e folga contra colisões em cada peça. Para o shorts, o próximo passo é restringir cada bainha ao redor da respectiva coxa e reparar a costura traseira sem alterar o cós corrigido. Depois, serão necessários testes mais amplos de caminhada, posição sentada e agachamento. Verificações discretas não abrangem autocolisões, contatos coplanares nem o movimento entre os quadros amostrados.
Uma verificação de detalhes: mangas e punhos
As mangas foram um caso de falha revelador dentro deste fluxo de trabalho mais amplo. O suéter ajustado anteriormente parecia semelhante à versão refinada quando visto na escala do personagem inteiro. A diferença ficou mais evidente em closes e poses que forçavam os punhos.
O visualizador abaixo mostra o punho refinado. Ative Comparar antes/depois para examinar o punho anterior ao lado dele; ambos já estão ajustados e vinculados ao esqueleto. Selecione Punhos 45° para a frente ou Punhos 45° para trás e examine a abertura do punho. Esta é uma comparação de refinamento, não o início e o fim de todo o processo de ajuste.
Extraímos o loop de contorno real de cada punho, combinamos gradualmente os mapeamentos dos braços na região do cotovelo e distribuímos a correção dos punhos pelo tecido adjacente. Neste sapo, mover as aberturas 50 mm em direção aos antebraços deixou mais espaço para suas mãos grandes. Esse deslocamento é um parâmetro ajustado para este personagem, não uma regra universal para roupas.
| Pose de inspeção | Ajuste anterior: triângulos afetados nas mangas | Ajuste refinado |
|---|---|---|
| Repouso | 12 | 0 |
| Cotovelo flexionado a 75° | 12 | 0 |
| Punho 45° para a frente | 79 | 0 |
| Punho 45° para trás | 60 | 0 |
O teste mais amplo ainda encontrou um triângulo afetado nas mangas em seis dos 22 quadros de animação amostrados. A peça inteira também mantém 21 triângulos afetados em repouso fora da máscara das mangas. Quatro poses de inspeção sem problemas não tornam o traje livre de colisões.
Estas são medições offline e discretas de cruzamentos entre triângulos. Elas não incluem autointerseções da peça, contatos coplanares nem eventos entre os quadros amostrados; a máscara das mangas não inclui a transição mais interna dos ombros. As demonstrações não calculam uma pontuação de colisões em tempo real. As medições das mangas e as medições das animações estão disponíveis separadamente.
6. Exporte, recarregue e verifique
O personagem vestido precisa permanecer íntegro depois de sair da ferramenta de ajuste. Verifique a geometria, os materiais, os UVs, a vinculação ao esqueleto e a animação no visualizador ou motor de destino.
Exportamos o resultado como GLB e o carregamos de forma independente no Three.js. O suéter mantém sua textura e seu skinning. As costuras UV aumentam a contagem de vértices exportados de 2.126 para 2.386, o que, por si só, não representa uma falha de geometria. A maior discrepância medida na superfície em repouso após o recarregamento ficou abaixo de 0,001 mm, segundo a convenção de metros do arquivo.
Essa é uma verificação da consistência da exportação, não uma alegação de alfaiataria fisicamente precisa. O fluxo de trabalho completo de upload e exportação de roupas no Rigger público ainda não foi integrado nem validado por este experimento.
Onde a IA ajuda — e o que ainda exige engenharia
A revisão humana revelou o gancho baixo da calça, a cintura folgada do shorts e a interseção traseira que as verificações anteriores não haviam detectado. Em seguida, a inspeção visual assistida por IA examinou vistas aproximadas da frente, das laterais e da traseira, incluindo materiais lisos temporários que facilitaram a visualização de defeitos na malha. Combinamos essas observações com medições geométricas e preservamos as iterações que falharam.
Esse feedback mudou o método: esqueletos correspondentes não comprovavam uma boa forma para a peça, vértices sem interseção não garantiam triângulos sem interseção, e uma contagem menor de colisões não justificava uma silhueta distorcida.
Este foi um trabalho de engenharia assistida por IA, com pontos de referência e regras de ajuste explícitos. Não treinamos um ajustador universal de roupas nem demonstramos que um modelo de visão pode aprovar trajes arbitrários.
Os próximos passos são criar restrições para as costuras e bainhas do shorts, obter um ajuste da calça que preserve sua forma, usar um corpo-base humano genuíno e testar uma peça que não tenha sido usada durante os ajustes. Também precisamos de testes de animação mais amplos e de um adaptador integrado ao fluxo de trabalho real do Rigger.
O fluxo de trabalho reutilizável já está claro: escolher uma peça adequada → estabelecer o corpo e a pose de repouso → ajustar a forma → transferir a vinculação → testar movimentos e colisões → verificar a exportação. O experimento apresenta uma implementação concreta desse processo, além de mostrar os pontos em que uma imagem convincente não é suficiente.