Dando a um personagem gerado um cabelo que pode se mover
Por Oleg Sidorkin, CTO e cofundador da Cinevva
Um personagem gerado pode ter um penteado convincente e, ainda assim, não ter nenhum cabelo capaz de se mover de forma independente. O resultado pode ser uma única superfície, uma coleção de planos finos ou partes desconectadas. Nenhuma dessas representações informa a um simulador onde uma mecha começa, em que direção ela cresce ou como deve se curvar.
Nosso experimento anterior com cabelo começou com avatares configurados por artistas e um rabo de cavalo selecionado. Desta vez, começamos com malhas de cabelo reutilizáveis e nosso personagem sapo. A pergunta era mais básica: conseguimos ajustar um penteado, traçar curvas-guia úteis através dele e manter suas raízes presas durante a animação?
Em 46 penteados, o protótipo atual extrai 10.467 guias candidatas e encontra conexões com o couro cabeludo para 10.346 delas — 98,84%. Esse é um resultado de fixação. Não é uma taxa de sucesso de 98,84% para movimentos naturais do cabelo.
Experimente a malha e suas guias
A demonstração é carregada imediatamente. Escolha um Penteado e use Inspeção do cabelo para alternar entre a malha original, a malha com as guias e somente as guias. Arraste a prévia para orbitar; examine tanto a parte de trás quanto a da frente. Escolha uma Animação para verificar se a fixação acompanha o personagem em movimento.
As curvas ciano têm uma conexão com o couro cabeludo. As curvas laranja foram rejeitadas. “Mostrar raízes sugeridas” revela os pontos de fixação propostos. Long01 é um exemplo denso útil; as variações de trança francesa expõem o desafio de unir fragmentos separados. Baixe as curvas-guia para examinar seus pontos e metadados de fixação.
Os penteados soltos elegíveis agora usam um adaptador experimental para o solucionador de cabelo compartilhado do nosso artigo anterior. Ele seleciona até 24 cadeias de guias, cria articulações e atribui à malha visível e à sobreposição das guias os mesmos pesos de skinning. A touca permanece fixa; as regiões sem suporte continuam vinculadas à cabeça. Estilos curtos sem guias soltas elegíveis mantêm uma fixação rígida. Dois exemplos de trança francesa preservam seu tratamento experimental separado com cadeias de articulações. Alternar a visualização de inspeção preserva a reprodução.
Primeiro ajuste, depois estabeleça a fixação
Reunimos 46 opções de penteados CC0 provenientes de coleções do MakeHuman, variações de dreadlocks e recursos da Quaternius. Cada opção tem um link para a fonte na demonstração; o catálogo de recursos e o inventário de licenças preservam a procedência. São recursos de malha reutilizáveis, não uma biblioteca de mechas com rigging uniforme.
O primeiro posicionamento falhou de maneira visível: o cabelo ficou atrás da cabeça do sapo. O dimensionamento pela caixa delimitadora havia alinhado os objetos sem identificar o couro cabeludo pretendido. Agora, nossa etapa de ajuste estima o topo da cabeça na origem, alinha-o à superfície da cabeça de destino e desloca para fora o cabelo superior que se sobrepõe, usando um envelope aproximado da cabeça.
Isso é semelhante à separação que usamos no artigo sobre roupas: posicionar um recurso, ajustar sua forma, prendê-lo a um rig e dar a ele movimento secundário são tarefas diferentes. A raiz do cabelo deve permanecer no couro cabeludo, enquanto o comprimento deve preservar o penteado, em vez de desabar sobre o corpo.
O sapo é deliberadamente desafiador: cabeça larga, olhos elevados e proporções não humanas. A máscara atual do couro cabeludo superior e traseiro foi inferida especificamente para esse personagem. Ela não é um detector automático de couro cabeludo para modelos gerados arbitrários. Alguns estilos ainda ocultam o rosto ou têm proporções inadequadas.
Trace caminhos pela superfície existente
Construímos um grafo de conectividade a partir de cada malha de cabelo. Vértices coincidentes separados por costuras de UV são soldados para essa análise; a malha de origem renderizada é preservada. Dentro de cada componente conectado, encontramos caminhos na superfície que partem de uma candidata inicial a raiz e seguem em direção a extremidades separadas; depois, suavizamos e reamostramos esses caminhos para transformá-los em curvas.
Para vértices adjacentes
Essa construção de caminho mais curto acompanha a superfície da malha. Ela não descobre a direção biológica do crescimento. A raiz inicial no ponto mais alto é apenas uma proposta; a proximidade do couro cabeludo pode inverter uma curva posteriormente. Um plano achatado costuma fornecer um caminho útil, enquanto uma touca fechada ou um cacho desconectado são muito mais ambíguos.
Essas são curvas-guia candidatas, não fios de cabelo individuais recuperados. Um plano pode representar muitos fios visíveis, e um caminho pela superfície pode atravessar o fluxo pretendido. Uma cobertura ciano densa pode parecer impressionante enquanto oculta direções incorretas. A inspeção visual continua fazendo parte do teste.
Faça as raízes acompanharem o couro cabeludo real
Uma extremidade da guia é associada a um triângulo elegível do couro cabeludo. Se ela estiver longe demais, rejeitamos a conexão em vez de esticá-la arbitrariamente até a cabeça. As raízes aceitas armazenam os índices dos vértices do triângulo e os pesos baricêntricos.
Para os vértices do triângulo
Os pesos permanecem fixos enquanto os vértices do triângulo se movem com a skin. Vincular toda a exibição apenas à cabeça havia deixado até 0,657 mm de desvio das raízes em nossa verificação amostrada da animação Walk. Acompanhar a fixação armazenada no triângulo reduziu esse erro à precisão numérica: menos de
Essa é uma verificação de consistência numérica dentro da convenção de metros da cena. Ela não comprova uma linha do cabelo visualmente correta, um afastamento adequado da superfície ao longo da curva nem estabilidade em todas as animações.
Una os fragmentos sem ocultar a incerteza
Alguns penteados chegam como muitas partes desconectadas. Um fragmento distante do couro cabeludo pode ser a continuação de uma mecha já fixada. Testamos ambas as orientações e o unimos a uma guia aceita somente quando as extremidades estão próximas e suas direções são compatíveis.
A regra de união atual usa um limite de distância de 25 mm e um produto escalar das tangentes acima de 0,5, considerando a escala desta cena. Somente caminhos já fixados podem se tornar pais, o que evita ciclos. O comprimento das curvas, a quantidade de pontos e as etapas de união são limitados. Esses limiares são escolhas do protótipo, não parâmetros universais de cabelo.
A união acrescenta 1.851 conexões ao conjunto aceito. A variação de trança francesa passa de 136 guias fixadas diretamente para todas as 509 conectadas; a trança desgrenhada chega a 512 de 519. Os sete fragmentos restantes permanecem laranja. Uma conexão ainda precisa ser revisada: a proximidade geométrica não comprova que duas partes pertencem à mesma mecha.
Explore a cobertura medida
Pesquise um estilo ou mostre apenas aqueles com guias rejeitadas. Os links abrem a visualização de inspeção interativa correspondente. Esses números pertencem à auditoria salva dos 46 estilos, não a uma pontuação de física calculada continuamente.
46 of 46 styles · saved audit
Baixe os resultados completos das fixações.
Todos os 46 estilos foram carregados sem erros no navegador durante a auditoria. A extração omitiu 90 vértices em três malhas Elvs. Quatro testes específicos verificam a conectividade, o relatório de omissões, as fixações reconstruíveis no couro cabeludo, a união de fragmentos e a rejeição de fragmentos remotos. Foram inspecionadas as visualizações para desktop e para dispositivos móveis com 390 pixels; a página móvel não apresentou rolagem horizontal.
Os resultados medem esta biblioteca ajustada a este sapo. Eles não abrangem geometria gerada arbitrariamente, todas as poses, autocolisão ou exportação para outro motor.
O que precisa acontecer antes que isso se torne física de cabelo?
As guias atuais fornecem raízes e caminhos candidatos. Um primeiro adaptador agora reutiliza nosso solucionador existente de molas com passo fixo, preservação da forma de repouso e contato. Em Long01, ele vincula 18.204 dos 39.804 vértices da malha a 24 cadeias; um ponto amostrado do cabelo solto se moveu 13,6 mm em relação à cabeça no teste controlado. Isso verifica a deformação secundária, não um movimento natural nem uma animação sem colisões. A malha e a sobreposição usam o mesmo campo de skinning. Ainda são necessários direção confiável, pesos coerentes em cada mecha e testes abrangentes de movimento.
As próximas etapas são revisar raízes e uniões de fragmentos ambíguas, melhorar a seleção de guias e os pesos sem criar rupturas entre mechas separadas e validar o contato com o corpo durante o movimento. O autocontato continua exigindo trabalho adicional. A exportação e o recarregamento também precisam preservar essas vinculações.
Para personagens gerados, substituir uma superfície de cabelo separada é um ponto de partida prático. Uma malha com cabeça e cabelo fundidos acrescenta outro pré-requisito: identificar a região do cabelo e estabelecer um couro cabeludo utilizável sob ela. Nosso experimento com o sapo não resolve esse problema de segmentação.
Agora temos um resultado intermediário inspecionável: uma malha ajustada, caminhos candidatos explícitos, fixações móveis à superfície e rejeições visíveis. A próxima melhoria precisa fazer com que esses caminhos se comportem de forma convincente — e não apenas aumentar a quantidade de elementos ciano.