Estou trabalhando em uma ferramenta para personalização de personagens (por exemplo, a partir de um modelo básico, um jogador pode controlar sua gordura), então estou procurando idéias, técnicas ou outras sobre esse tópico.
Após algumas pesquisas, pensei sobre essa técnica: partindo de dois modelos (um humano padrão e um humano gordo, ambos com os mesmos dados, como vértices e triângulos), depois criando um novo modelo armazenando dados sobre as duas malhas originais (por exemplo, loja dados de vértices da segunda malha como dados de cores) e controlar sua interpolação com um sombreador.
O que você acha dessa idéia? Sugestões?
graphics-programming
enigma
fonte
fonte
Respostas:
Você pode querer dar uma olhada em Elder Scrolls: Oblivion, em particular na tela de criação de personagem. Eles fazem muito com anatomias modificáveis lá. Cada raça tem suas próprias normas e faixas antropométricas. Antropometria é o estudo de medidas / proporções particulares de características físicas individuais (fenótipos) de seres humanos individuais, comparativamente falando. É um bom lugar para começar a pesquisar exatamente o que varia entre os indivíduos.
Sua ideia parece boa, embora eu ache que simplesmente interpolar entre apenas duas malhas possa não lhe dar variação suficiente.
fonte
Eu criaria dois modelos para cada atributo que você deseja transformar, assim como sua idéia original de ter um modelo gordo e magro.
Usando 'nariz' como exemplo, tenha um controle deslizante 'nariz' e você interpola entre as duas malhas do nariz para obter o resultado. Dessa forma, você pode ter muitas variações de atributos modificáveis.
Dependendo do seu idioma, eu criaria dinamicamente um modelo final reunindo as partes do corpo interpoladas. Você pode salvar esse modelo se quiser usá-lo entre as jogadas, ou talvez seja melhor / mais simples salvar os vários valores de interpolação e recriar o modelo final sempre que carregar o jogo.
A costura do modelo final pode ser difícil se os vértices de perímetro dos dois modelos não forem exatamente os mesmos.
[Editar] Você pode ter que definir vértices de referência por nome / id para saber onde costurar o nariz (por exemplo). Se você tiver um atributo de tamanho da cabeça, a localização do nariz variará. Mas se você soubesse os mapas do vértice do nariz 'xxx' para o vértice da cabeça 'aaaa', poderia modelar o nariz para se ajustar exatamente ao novo tamanho da cabeça.
fonte