Criando Personagens 3D para Games!Quando desenvolvemos um game 3D, uma das maiores dificuldades que o desenvolvedor pode encontrar, é a criação de um bom modelo 3D, com poucos poligonos, mas sem perder seu nivel de detalhe, e tornando assim, mais leve na hora de renderizar no game.
O ConceptAntes de colocarmos a mao na massa, para nao fazer nenhuma besteira, sempre devemos antes, criar um
concept, que pode tambem ser chamado de
sketch. Com um bom sketch, ja podemos ter uma ideia, de como ficaria o modelo pronto, e nele, ja ir adicionando, todas as carateristicas que desejamos ter antes de começarmos a criar o personagem. Veja a imagem a baixo por exemplo:

É um trabalho de Fausto de Martini, o Legionary. Antes de ter começado a fazer o personagem, Fausto, pegou uma folha, um lapis, e começou ali, a colocar todas as suas ideias no papel, como, o tamanho da arma, o oculos, o sapato, e ate a anatomia do personagem. Isso facilitou ele, pois na hora de modelar, ele nao precisou, ter que ficar, "iventando" e ir fazendo o que passase na sua cabeça na hora de modelar. Fausto, fez ai, um concept, sem arte final, ou seja, se ele tivesse colorido, ele ja poderia ali mesmo, ter uma ideia, de como ele ja iria fazer a textura do personagem, que ajudaria muito antes de começar a modelar.
Logo abaixo, podemos ver, como que ficou o modelo pronto:

Ele seguiu o maximo o concept, respeitando sua proporção com os outros objetos, a sua anatomia, a arma. Ou seja, ele praticamente, ja teve o seu modelo pronto, antes de começar a modelar....
ModelandoFinalmente, depois de um bom concept, de ter colocado as ideias todas no papel, ja se pode começar a modelar.
Agora, um dos grandes segredos, para modelar o personagem que pretende, esta ai:o
Blueprint, o Blueprint, sao dois(ou mais) desenhos do modelo, de frente e de lado, caso tenha apenas duas, mas como estamos falando de personagens para games, normalmente, se desenvolve com duas imagens. Abaixo, podemos ver um blueprint, de um personagem pronto para ser modelado:

Com apenas, estas duas imagens de referencias, ja se pode criar o modelo, ajustando vertice por vertice, conforme as duas visoes.
Um detalhe muito importante tambem, que o modelador tem que prestar atenção nesta hora, é com os pequenos detalhes do personagem, pq quanto menos poligonos, mais rapido é a renderização do modelo, dentro do Game. Pequenos detalhes, como
parafusos, cavidade, rugas e dobras, musculos, podem ser deixados, para ser feitas no
High poly caso o personagem, venha ter
NormalMap.
Para quem nao sabe,
HighPoly, é uma versao mais detalhado do modelo 3d, onde é feito todos os detalhes como dito a cima, para depois, com ele, criar a textura
NormalMap, que sera falado, mais para frente.
Exemplo de um personagem HighPoly:
Mapeando o Personagem
Uma das partes mais chatas, para muitos modeladores(

), o mapeamento, é a
planificação da malha, onde o modelo que na viewport do programa 3d, tem
Largura, Altura e Profundidade, quando esta planificado, ele perde a profundidade, facilitando assim, a criação da textura dele.
Um exemplo, de um modelo Mapeado:

A maioria dos programas de modelagem 3d, ja vem com ferramentas, para fazer o mapeamento.
Uma das coisas importantes ae, que se deve prestar muita atenção, é que quando, terminamos de mapear, agente joga a imagem, em um programa de criação de imagens 2D, como Photshop, Gimp, SumoPaint, e salvamos a textura, na hora de salvar a textura, temos que tomar cuidado com a resolução. Por exemplo, na imagem acima, podemos ver, que o cara mapeou o pé, e colocou ali no canto, e a cabeça, ele deixou cobrindo uns 40% do quadro de mapeamento, isto significa, que na hora de criar a textura, a cabeça vai ter uma resolução bem maior do que o pé, a mao, a orelha. É nisso q devemos prestar atenção, para que simplesmente um "pé", nao fique bem mais nitido do que o rosto do personagem, o peito dele..
TexturizandoUma das partes mais legais na minha opiniao

....
Texturiza, é quando voce ja da a "cor" para o modelo, o "brilho" e outras coisas que acompanha o personagem. A texturização pode ser feita atraves de um programa de PolyPaint, como o ZBrush, BodyPaint....ou um programa comum de tratamento de imagens, como o Photoshop, Gimp...que é o mais recomendado, principalmente se o modelo for um modelo low poly. Por que os programas de PolyPaint, voce pinta direto no modelo, no começo isso pode parecer uma maravilha, mas atrapalha um pouco, por o modelo ser quadrado, e com poucos detalhes.
Um exemplo de pintura PolyPaint:

como voce pode ver, a textura ta bem detalhada, mas este tipo de texturização, nao serviria para games, por dois motivos, primeiro, que na hora de salvar a textura como imagem, por nao poder ter uma resolução muuuito alta, ela vai perder muitos detalhes que foram feitos, e segundo, pq o modelo ali, é uma versao highpoly, onde tem detalhes direto na malha, como rugas, dobras, cabelo, que facilita na hora de passar o brush.
Ja para modelos para Games, o ideal, é fazer a texturização, em programas de edição de imagens 2D mesmo...
Na imagem abaixo, podemos ver um modelo pronto criado no Cinema4D, com a textura ja aplicada tanto no modelo, quanto no mapeamento. Voce pode ver que a textura se encaixa no mapeamento, porque foi feito direto nele.

Bom, para criar uma boa textura, é mais com pratica mesmo, buscar muitas fontes de referencias, de imagens, que chegam perto, do que deseja fazer, como na imagem acima, nao tem como o modelador, procurar imagens de referencias daquela textura, sendo que ele criou um personagem inexistente do mundo real. Entao o que ele deve fazer, é pesquisar imagens, que chegam perto, do que ele quer, como dinossauros, pele humana, lagartos...
Texturizando - NormalMapChegamos em NormalMap...
Hoje a normalmap, é um tecnica que anda sendo muito utilizada nos games, ela consiste em adicionar detalhes no modelo lowpoly, sem precisar adicionar mais poligonos.

O calculo da Normal, é feito atraves dos canais RGB da textura, onde sao separados cada um. Quando aplicamos a Normal no modelo, e temos uma fonte de luz perto dele, cada um dos canais, representa uma cordenada espacial (
Red = x,
Green = y,
Blue = z).
Na imagem abaixo, podemos ver, que a metade do rosto direito é a versao lowpoly, e o esquerdo, o highpoly. O Artista pegou os detalhes do modelo, e criou a normal atraves dele:

E o modelo, ja com a Normal aplicada:

E mais um exemplo, de um personagem criado em low, e depois aplicado a normal:

Normalmente as texturas de Normal, sao criadas dentro dos proprios programas que foram modelados, mas tem muitos plugins por ae que facilitam o trabalho de cria-las.
Texturizando - SpecularO mapa de Specular, é aonde voce mostrara a intesidade do brilho da luz sobre o modelo. Ou seja, é muito usado para simular,
suores, gotas, ferros....
Na primeira imagem abaixo, voce pode ver, q o modelo esta sem Specular, ou seja, o brilho da luz, esta por todo o modelo, porque nao tem nenhuma textura, dizendo aonde, que vai brilhar "mais" ou "menos". Ja na segunda imagem, com a textura aplicada, ja se pode ver, que a pele, se da mais um realismo, por dar a impressao de oliosidade e suor, e pode se perceber tambem, que no beiço inferior, esta com o specular baixo, e na testa, ja esta com um valor mais alto.


Existem muitos outros mapas de texturas no mundo dos games, como o Glow, Parallax, Displacement, Opacidade, Self-Ilumination.....mas eu retratei aqui, as mais importantes, para se criar um bom modelo 3D.
Rigando (Skinning)O que seria de um personagem de um jogo, se ele nao pudesse se mover???
É para isso que existe as
Animações, que sao quadros, que gravam, cada posição e rotação dos
Bones do personagem.
Rigando (Skinning) - BonesOs bones, como na tradução:
ossos, sao o que vai controlar os vertices do modelo, por exemplo, e se vc quisesse fazer o seu modelo levantar o braço? Voce teria que mover vertices por vertices, de quadro a quadro...?? Os bones facilitam este trabalho, voce so precisa, mostrar para eles, quais vertices que eles movimentaram, que ao mover o bone, ele vai mover os vertices, marcados por eles...

Todo programa, que tem suporte a animação, vem ferramentas para criação de bones e bipeds. Agora o formato salvo pela animação, vai de cada Engine que estaria usando para se fazer o jogo.
Bom, estes sao os processos usados, e
adequados, para se criar um bom personagem para jogos 3D. Vai desde o planejamento no concept, ate o termino da animação dele. Lembrando, que ao se criar um personagem, nao podemos ter dores de cabeças, ao nao estar conseguindo criar uma textura, uma anatomia errada, uma fisionomia que queremos....tudo isso se pega, com bastantes referencias, atenções de como que funciona as coisas no proprio mundo real, para assim podermos simular no mundo 3D, e principalmente, na dedicação aos estudos... (: