Jolt Physics publicou notas de lançamento da versão 5.6 que incluem, entre várias novidades, a primeira implementação de uma simulação de cabelo por fios (strand based) executada na GPU. A funcionalidade é baseada em Cosserat rods e está descrita como trabalho em progresso, com itens restantes listados no arquivo Hair.h.
O que muda
A nova simulação de cabelo traz recursos essenciais para efeitos capilares mais realistas em tempo de execução: suporte a guide hairs (para simulação) e follow hairs (para render), constraints de fixação de longo alcance para limitar alongamento, tratamento de colisão cabelo–cabelo por acumulação de velocidade média em uma grade, colisão com o ambiente (atualmente compatível apenas com ConvexHull e CompoundShapes) e possibilidade de skinning das raízes ao mesh do scalp.
A v5.6 adiciona uma simulação de cabelo por fios na GPU, baseada em Cosserat rods, com guide e follow hairs e colisão cabelo–cabelo.
Como funciona tecnicamente
O motor adiciona também uma interface para executar compute shaders na GPU, com implementações para DirectX 12, Vulkan e Metal. Essas interfaces podem ser desativadas por variáveis CMake (JPH_USE_DX12, JPH_USE_VK, JPH_USE_MTL e JPH_USE_CPU_COMPUTE). Para compilar no macOS, as notas apontam a necessidade de dxc e spirv-cross, recomendando a instalação do Vulkan SDK como caminho mais simples.
A colisão entre fios é tratada acumulando-se a velocidade média em uma grade e usando essas velocidades para acionar os fios; já a interação com o ambiente hoje limita-se a ConvexHull e CompoundShapes, conforme a documentação.
Desempenho e contexto adicional
Além do sistema de cabelos, o lançamento 5.6 traz um novo modelo de atrito mais barato de executar (relatório cita 15% mais rápido e 40% menos memória no teste Pyramid) e ganhos gerais que variam conforme a cena, com menções a até 40% de melhoria de desempenho e até 70% de redução de uso de memória em casos dependentes da cena. O repositório e a documentação oficiais confirmam a implementação; uma demonstração do autor é utilizada apenas como prova visual.
Limitações e estado de desenvolvimento
As notas deixam claro que a implementação de cabelo ainda está em desenvolvimento e que há tarefas pendentes listadas em Hair.h. Desenvolvedores que queiram experimentar devem consultar o repositório oficial para detalhes de build e as opções de CMake mencionadas nas notas.
O conjunto de mudanças em 5.6 reúne avanços técnicos relevantes para física em jogos, especialmente para estéticas capilares em tempo real, ao mesmo tempo em que mantém o aviso de implementação inicial e trabalho adicional necessário.
Veja também no Neriverso
Fonte: Jolt Physics
