Estou pensando em adotar um formato de animação esquelética ( como solicitado aqui ) para um jogo RTS. A representação individual de cada modelo na tela será pequena, mas haverá muitas!
Na animação esquelética, por exemplo, arquivos MD5, cada vértice individual pode ser anexado a um número arbitrário de juntas.
Como você pode apoiar isso com eficiência enquanto faz a interpolação no GLSL? Ou os motores fazem suas animações na CPU?
Ou os mecanismos definem limites arbitrários no máximo de juntas por vértice e invocam multiplicações de nop para as juntas que não usam o número máximo?
Existem jogos que usam animação esquelética em um ambiente semelhante ao RTS, provando assim que, nas placas gráficas integradas, não tenho com o que me preocupar em seguir o caminho dos ossos?
Respostas:
Limitar o número de influências ósseas é comum, sim. Você pode influenciar não utilizado com peso 0 ou ter um mecanismo de loop / saída antecipada para pular.
Quanto a saber se funciona para um RTS, não tenho uma referência para você, mas imagino que você precisará de LOD se trabalhar com um grande número de caracteres na tela e também se esses caracteres forem pequenos.
LODing caracteres esqueléticos é o mesmo que LODing em qualquer outra coisa, exceto que você provavelmente desejará LOD as influências ósseas e esqueléticas, bem como a malha.
Por exemplo, um baixo nível de detalhe pode usar apenas um único osso com a maior influência por vértice (também conhecido como "esfolamento").
Você provavelmente também limitaria o número de ossos no esqueleto para um modelo com baixo nível de DMI.
Finalmente - considere se você sempre precisa para tornar os personagens close-up. Você provavelmente só quer modelar, skin e animar os personagens para a distância mais próxima da visualização ... certamente você não deseja armazenar todos os dados de tempo de execução em uma resolução muito maior do que jamais renderizará. Você pode achar que não precisa de mais do que um esqueleto muito básico e algumas influências por vértice para sua situação.
fonte
Eu não acho que a animação esquelética seja boa para um jogo de RTS, a animação esquelética exigirá processo extra para todos os personagens, enquanto a animação do quadro-chave consome mais memória, mas você usará o mesmo para muitos personagens, também um jogo de rts exige poucas animações por personagem
fonte