Você já se perguntou como funciona um pequeno estúdio independente de desenvolvimento de videogame?
Você pode criar jogos com um orçamento muito pequeno, mas isso exige criatividade, muito trabalho e ainda mais amor pelo seu trabalho.
Somos uma pequena equipe da Polônia. Somos apenas três, mas apenas duas pessoas estão envolvidas em um projeto de período integral.
Hoje vamos falar sobre o processo de criação de personagens para o nosso jogo "The end of the Sun". Lembre-se de que as capturas de tela mostradas no artigo são tiradas de um projeto que ainda está em desenvolvimento.
Este texto é dedicado apenas aos elementos estáticos dos personagens: contaremos como digitalizamos um personagem e roupas, como elementos adicionais foram criados e como ajustamos o mecanismo do Unity para obter essas capturas de tela:
Mas vamos começar do começo. Antes de começar, preparamos uma lista de propriedades que nossos personagens precisam:
- 80% dos elementos do nosso jogo são escaneados usando fotogrametria . Além disso, queríamos dar aos nossos heróis uma aparência humana, por isso decidimos examinar o rosto das pessoas.
- Cabelo bonito compatível com o mecanismo de jogo Unity.
- Em nosso jogo, será possível encontrar o mesmo personagem em diferentes períodos de sua vida . O que isso significa? Tivemos que criar até quatro versões dos personagens para cada período (criança, adolescente, adulto, idoso). Portanto, era importante encontrar uma maneira de criar versões mais antigas de personagens o mais rápido possível.
- Para enfatizar a aparência eslava dos personagens, típica dos lugares onde moramos, roupas folclóricas tradicionais também foram escaneadas .
- Alguns dos elementos que não existem no mundo real ou não podem ser digitalizados, criamos manualmente da maneira padrão (modelagem 3D).
- Cada elemento de caractere pode ser ativado ou desativado . O que isso significa? Por exemplo, podemos substituir a saia do personagem, tirar o chapéu, se não for necessário. Isso dá ampla oportunidade para criar um novo visual - em uma cena, o herói pode estar sem camisa, na segunda - completamente vestido.
- Nossos personagens não são interativos, ou seja, o jogador não pode controlá-los (pelo menos diretamente). Mas este é um jogo sobre a história deles, por isso é muito importante sermos capazes de controlar todo o personagem com o movimento dos músculos faciais (isso será discutido em mais detalhes em outro post).

No artigo, falaremos sobre apenas um personagem em um estado jovem e antigo, porque em nosso jogo o enredo é muito importante e não queremos estragar o prazer dos jogadores.
Então, fazendo uma lista, você pode começar a trabalhar com gráficos.
1. Fotogrametria da face e preparação de um corpo tridimensional
Atriz em processo de fotogrametria.Fotogra ... o que?
Começamos escaneando as faces do nosso modelo usando
o método da fotogrametria . Este é um tópico para uma postagem separada, mas você pode aprender um pouco mais sobre isso em nosso
canal no
youtube .
Vá para a Wikipedia:
A fotogrametria é uma disciplina científica e técnica envolvida na determinação da forma, tamanho, posição e outras características dos objetos a partir de suas imagens fotográficas.
Em outras palavras: a
fotogrametria é uma maneira de restaurar a profundidade 3D de várias fotografias (ou várias fotos) para criar um modelo virtual tridimensional que se parece com um objeto no mundo real.
Um grande estúdio AAA com um grande orçamento usa muitas câmeras para digitalizar um personagem. Eles estão localizados ao redor do ator e tiram várias fotos ao mesmo tempo ...
... Mas e se tivermos apenas uma câmera?
Sim, um problema surge aqui e como resolvemos isso? As digitalizações criadas dessa maneira serão piores do que quando se trabalha com muitas câmeras, mas isso é suficiente para criarmos um formato básico de rosto e uma textura de alta qualidade. Esta é a "maneira indie" de criar fotogrametria.
Fizemos muitas tentativas, então, aqui estão algumas dicas para criar instantâneos com apenas uma câmera:
Um ator ou atriz não deve se mover até que você termine de tirar fotos do seu rosto. Eles nem podem piscar e respirar. (As filmagens geralmente levam de 10 a 20 segundos, mas ainda é difícil de conseguir)
Tivemos que tirar fotos muito rapidamente de diferentes lados da atriz. Para fazer isso, usamos o modo burst. Às vezes, havia problemas com o foco, mas tirar fotos da maneira mais rápida, para que a atriz permanecesse imóvel.
É melhor colocar o ator em uma cadeira com braços, é mais fácil ficar parado.
Tiramos fotos apenas da frente da atriz. Nas capturas de tela, você pode ver fotos na parte de trás, mas na digitalização final não as usamos. Em geral, para criar uma digitalização,
você precisa de apenas 8 a 10 boas fotos na frente .
Também é bom usar um filtro polarizador com a câmera, pois reduz a luz na pele, o que melhora a forma do modelo e a textura.
Para esse esquema,
use pelo menos quatro caixas de
seleção para melhorar a textura e reduzir o pós-processamento.
Use a velocidade de obturador mais alta possível para evitar o desfoque de movimento, bem como a menor abertura possível (ref. F.5 e superior) para obter uma ampla faixa de foco nas fotos. Para isso, são necessárias pelo menos quatro softboxes muito poderosas. Obviamente, o ISO deve ser mantido o mais baixo possível para evitar ruídos.
Para analisar fotos e criar um modelo, usamos
o software
Photoscan 3D . Veja como é a nuvem de pontos após o processamento de fotos:
Nuvem de pontos e visualização de layout de fotos.Como você pode ver, há fotos na parte superior e inferior do personagem, mas agora posso dizer que não recomendamos tirá-las. É muito melhor tirar cerca de 8 a 12 boas fotografias da frente do rosto (arcos da esquerda para a orelha direita). Isso fornece resultados muito melhores para textura e modelo. A única
desvantagem é que o pescoço do modelo precisa ser criado manualmente, mas esse é um pequeno problema.
Depois de criar uma nuvem de pontos, nós a processamos em um
modelo tridimensional de alto poli :
Já parece melhor, certo? Mas o modelo 3D mostra muito barulho:
Ocorre pelos seguintes motivos:- Desfoque de movimento com instantâneos muito rápidos
- O micromotion de nossa atriz (sim, mesmo movendo o rosto 1 milímetro leva a um ruído semelhante)
Muitos de vocês provavelmente acham isso horrível e estão certos. Por isso, demos mais alguns passos.
Agora você pode fazer uma operação chamada
"retopologia" . Essa é uma técnica para criar um modelo 3D de uma forma mais simples e otimizada, com base em um modelo de alto poli.
Aqui está o que parece na prática:
Caráter de retopologia.Isso ocorre porque o modelo mostrado acima
contém mais de um milhão de triângulos . Um computador comum com uma taxa de quadros de 30 a 60 qps pode suportar 5-6 milhões.
(Essas informações são fornecidas simplesmente para uma compreensão geral; de fato, muitos outros aspectos afetam o desempenho.) Ou seja, o jogo pode exibir apenas alguns modelos com tantos triângulos.
Outro aspecto importante da retopologia é a
criação de um modelo de rosto liso , pronto para animação facial. Para retopologia, usamos o software Topogun 2.
Aqui está o nosso modelo de rosto após a retopologia (iremos polir mais tarde, após a texturização):
Em seguida, cozemos (na gíria dos gráficos 3D, simplesmente significa preparação / criação) a
textura do rosto usando nossas fotos.Esta operação é realizada quase automaticamente. Por isso, decidimos usar a fotogrametria - o modelo do rosto e a boa textura tornam nosso personagem natural.
Hmm, ainda há muito o que fazer - como você pode ver, existem pequenos erros na textura. Outro pequeno problema é a falta de uma parte de trás da cabeça e dos olhos.
Portanto, o próximo passo será a
criação de elementos não digitalizados e elementos que não podem ser digitalizados, como cílios, cabelos, olhos. Então, vamos descobrir como isso é feito. Nós usamos outro pacote de software chamado Cinema 4D. Neste software, podemos criar o restante do modelo e melhorar sua textura.
Ótimo, parece muito melhor. Antes de começarmos a trabalhar na textura, precisamos
criar um corpo com ossos para animação . (Este será um post separado em nosso blog.)
Para o nosso primeiro personagem, criamos o corpo inteiro manualmente, mas foi um desperdício de tempo completamente desnecessário, especialmente considerando que quando o vestimos, as partes nuas do corpo eram visíveis apenas em raros momentos do jogo.
Após algumas pesquisas, encontramos uma ótima maneira de criar corpos 3D para nossos rostos digitalizados. Usamos
Tornar o software
humano gratuito para uso comercial para esta tarefa. Com este software, você pode criar um corpo inteiro, mesmo com um rosto e um esqueleto. Basta mover os controles deslizantes até obter o resultado desejado; além disso, ele terá um esqueleto compatível com o mecanismo Unity 3d.
Portanto, em apenas alguns minutos, temos um
corpo inteiro com excelente topologia e até pesos, pronto para animação! (Se você não entende do que estou falando, leia o segundo post sobre animação de personagens, que será lançado em breve!) Este é um software muito útil.
O único problema é que
precisamos destruir parte do modelo cortando a cabeça do corpo (parece assustador). Precisamos fazer isso para substituí-lo por um modelo digitalizado.
O mais importante aqui é que, graças ao software Make human, temos pesos ósseos preparados para animação.
Nós só precisamos
adicionar ossos faciais para poder animar emoções faciais ou sincronizar movimentos labiais com diálogos. Mas mais sobre isso em breve será o próximo post em nosso blog.
Pode levar um dia inteiro para criar o sistema correto de ossos faciais (sim, eu sei, não há ossos no rosto, mas músculos, mas é assim que são chamados em 3D).
Obviamente, para criar belas texturas, você também precisa de muito trabalho. Usamos a
Técnica de separação de frequência no Photoshop para eliminar o brilho e o retoque da pele. Isso cria um fluxo de trabalho adequado para eliminar a iluminação desnecessária das texturas (mesmo quando é um modelo digitalizado de uma pedra, não de um rosto humano). Você também deve tentar esse processo. (Há muitas informações na Internet sobre separação de frequência.)
A textura final de Albedo fica assim : (desculpe, mas antes do lançamento do jogo, não queremos colocar uma textura de alta resolução)
Textura de AlbedoE aqui está um modelo com uma textura albedo já aplicada.Agora adicionamos
dentes, língua e olhos:Veja como é o modelo final de um rosto e corpo digitalizados, unidos a uma textura finalizada (censura imposta para que você possa compartilhar a imagem nas redes sociais).
A aparência final do corpo e do rosto em 3D.2. Criação em tempo real dos cabelos da cabeça e dos cílios.
Escrevi este capítulo porque criar cabelos que funcionam e ficam bem em um videogame é um tópico bastante amplo. Provavelmente alguns dos cabelos mais bonitos que você pode ver nos jogos AAA. Como somos indies, não podemos gastar tanto tempo em um aspecto de nossos personagens quanto as grandes empresas.
Por isso,
criamos cabelos a partir de polígonos com uma textura sobreposta a eles com transparência.Como isso funciona? Primeiro, modelamos polígonos em forma de cabelo e depois os colocamos na cabeça do personagem e os movemos / distribuímos usando ferramentas de modelagem 3D. (No nosso caso, o Cinema 4D.) Você também pode fazer isso no gerador de spline - crie um spline com uma malha dinâmica ao longo dele, e a manipulação do cabelo será simplificada.
Então, todos os penteados foram criados a partir de tais partes:Cabelo sem material fica assim:
Aqui está um penteado com uma textura final aplicada:E aqui está o penteado das capturas de tela, que é mostrado no início do post.
Como você pode ver, podemos
mudar os penteados, por isso não há problema , por exemplo, em adicionar um personagem mais antigo a um penteado.
Obviamente, ao criar cabelos,
usamos o Photoshop e o BodyPaint 3d para desenhar listras no cabelo e em elementos de diferentes formas. Você pode usar qualquer outro software, mas seria ótimo se tivesse um modo de visualização de transparência alfa em tempo real. Então você definitivamente verá o que está fazendo (e não apenas as listras cinza na cabeça do personagem).
A textura do cabelo é a seguinte:Textura de cabelo Albedo com transparênciaPara dar ao cabelo um comportamento natural, tentamos usar um componente de tecido Unity 3d na malha do cabelo para adicionar um leve efeito de vento ou gravidade, mas mais sobre isso em outro post.
3. Criando versões mais antigas de caracteres
"Garota, você será uma mulher em breve"Como eu disse acima. no nosso jogo você pode conhecer personagens em diferentes estágios da vida deles. Isso adiciona interesse aos jogadores e também nos obriga a realizar um trabalho interessante adicional.
Vou mostrar como fizemos uma menina bonita muito mais velha. Vimos muitos vídeos, fotos e páginas da web sobre como o corpo humano está envelhecendo.
Não se trata apenas de rugas; todo o rosto de uma pessoa muda de forma. Você pode ler mais sobre isso
aqui, por exemplo.
No artigo, falarei sobre o lado técnico da questão. Então, primeiro completamos o modelo 3D do jovem personagem com todos os ossos. Isso é muito importante, pois leva muito tempo para preparar o esqueleto e adicionar pesos. Depois disso, apenas copiámos e começamos a trabalhar com uma cópia do modelo. Graças a esse fluxo de trabalho, não precisamos voltar a manipular a versão mais antiga do personagem, porque ele usa o mesmo sistema de esqueleto. Isso é muito mais importante no mecanismo. Esse sistema acelera o carregamento e descarregamento de recursos, porque carregamos / descarregamos apenas o que precisamos.
Então, primeiro modificamos a malha base e baixamos algumas partes da face ao chão, como a gravidade da mãe faz ao envelhecer. Nariz, bochechas, sobrancelhas, orelhas. Mas não estamos muito interessados nisso, porque o modelo tem os mesmos ossos faciais que o modelo do jovem personagem. (Ou seja, alterar demais a malha base pode causar problemas.)
Apenas deformação da malhaEm seguida, aplicamos grandes rugas e detalhes com algum software de escultura. Por exemplo, você pode usar o Scupltris gratuito. Em seguida, assamos em uma textura chamada mapa normal. Porque Porque nos fornece o resultado mostrado abaixo sem adicionar triângulos extras ao modelo. (Para que o seu PC possa lidar com o processamento.) Também criamos um mapa normal de alguns detalhes com base na textura da pele e depois os misturamos.
Malha mais mapa normalFinalmente,
adicionamos rugas à textura do albedo (textura com uma cor de base). Tiramos fotos de várias pessoas idosas e adicionamos rugas ao modelo usando a mistura no Photoshop.
Malha mais mapa de normais de peças grandes e textura albedo de couro velhoPortanto, como resultado, a aparência do nosso modelo de personagem idoso usa um mapa normal de detalhes e uma textura de albedo. Também preparamos a textura de dispersão da subsuperfície (efeito de dispersão da subsuperfície, o efeito da luz que brilha através da pele) e o mapa especular, mas no que você vê na tela, apenas o albedo e o mapa normal são usados (misturados em um mapa normal de partes grandes + mapa normal de peças) .
Aqui podemos ver as seguintes partes:1. Albedo-card.
2. O mapa normal de peças grandes, com base nos detalhes moldados do modelo.
3. O mapa normal de grandes partes misturado com os detalhes da pele criados a partir da textura albedo.
Um personagem mais antigo parece muito melhor no mecanismo Unity 3D, onde usamos os shaders apropriados:
Mas duas versões do personagem conectadas no Photoshop (colocadas no mecanismo em um só lugar)
4. Procure por personagens com roupas reais.
Então, chegamos quase ao fim, mas para alcançar a aparência final do personagem, muito resta a ser feito.
Examinamos muitas roupas diferentes. A técnica de escaneamento é semelhante a escanear um rosto ou outros objetos, mas agora pode ser feita lentamente,
geralmente as roupas não se mexem (o vento ou os gatos correndo podem ser muito irritantes, especialmente quando mesmo um leve movimento pode arruinar as horas de trabalho).
Não foi possível pegar dicas ou soluções prontas para a digitalização correta das roupas, porque aqui estão nossas dicas sobre o que você precisa e o que não pode fazer:
- O mais importante é consertar a estrutura para que as roupas fiquem imóveis; Melhor ainda, mantenha suas roupas em uma pose em T estável. O que isso significa? Esta é uma pose com os braços afastados, uma posição padrão para personagens em jogos nos quais a animação é aplicada. Também nesta posição, é melhor escanear roupas.
Para isso, compramos um manequim. Não conseguimos encontrar o manequim imediatamente na pose-T, portanto, fotografar com as mãos era muito difícil, e era necessário ainda mais trabalho para combinar modelos 3D das roupas escaneadas com as mãos ao longo dos corpos dos personagens. Inicialmente, o sistema era assim:
Nosso primeiro manequim com os braços para baixo... então a modificamos para levantar as mãos. Fizemos novas mãos com tubos de PVC. Aqui está a aparência do nosso Tube-Nook na pose-T:
Este manequim tem mãos de PVC e é colocado em uma pose em TPodemos remover este tubo para simplificar o curativo do manequim.Bem, tudo bem, mas por que no nosso amigo de plástico são esses pontos pretos?
Isso ocorre porque a superfície é muito brilhante e os scripts para comparar pontos na fotogrametria não gostam muito de coisas brilhantes, mas eles adoram pontos e recursos especiais, por isso colocamos muitos pontos com um marcador.
Isso nos permitiu comparar melhor as posições das fotografias no software para obter melhores varreduras de roupas.Aqui está a aparência da roupa, neste caso de pele (na pose em T):- O segundo aspecto mais importante ao criar roupas usando a fotogrametria é lembrar de tirar fotos debaixo dos braços e debaixo das roupas. Aqui estão quantas fotos tivemos que tirar para criar uma digitalização suficientemente boa dessa roupa:Aqui você pode ver a nuvem de pontos de verificação:- Alguns tipos de roupas são muito difíceis de escanear, por exemplo, com pêlos longos ou com materiais muito brilhantes. Por vezes, é mais fácil não escaneá-los, mas criá-los manualmente.Por exemplo, para melhorar a aparência desse pêlo, criamos elementos adicionais de pêlo com um canal de transparência alfa. Isso é semelhante ao que fizemos com o cabelo dos personagens.A parte vermelha são os elementos do pêlo, criados manualmente com o canal alfaVeja como fica sem textura- Alguns tipos de objetos são mais fáceis de digitalizar, por exemplo, essa saia fosca parece muito boa porque é feita de material fosco. Também aqui usamos imagens HDR para obter mais informações sobre sombras e realces, mas a fotogrametria hdr leva muito tempo. Porque
Como cada foto deve ser tirada com um tripé, caso contrário, as fotografias ficarão tremidas. Agora imagine o nível de aborrecimento quando, após uma hora de trabalho, um de nossos gatos simplesmente pulou nesse pêlo. Tivemos que começar tudo de novo.Parece bom, certo? Em geral, quanto mais tempo você gasta na digitalização, melhor obtém o resultado e menos pós-processamento.- Outros elementos que são melhor executados manualmente, em vez de digitalizar, são os cintos. Nós os criamos manualmente. Fizemos o loop de texturas para que, mesmo com baixa resolução de texturas, a qualidade do jogo fosse alta.- A grinalda também foi feita semelhante ao cabelo, usando transparência. Ainda não está pronto, mas pode ser visto nas capturas de tela:Bem, isso é tudo sobre roupas por enquanto.5. A conexão de tudo no mecanismo do jogo.
Eu disse anteriormente que usamos o mecanismo Unity 3D. Vou falar sobre quais shaders e configurações usamos para fazer o modelo parecer nas capturas de tela.Para todos os elementos do personagem, agora usamos o Alloy Shader gratuito. Nós o escolhemos porque tem tudo o que precisamos, especialmente a opção de dissolução para cada variação do sombreador e muitas outras opções nos segmentos. Você pode usar qualquer outro shader, mas usamos o Alloy (além disso, é gratuito).Diferentes posições da luz produzem efeitos interessantes- Pele: para essa parte dos personagens, usamos um sombreador de pele com o efeito de espalhamento subterrâneo e transmissão de luz. Qual é o efeito de dispersão do subsolo? Esta é uma simulação da passagem da luz através da pele. Veja as fotos que tiramos:Veja como é a dispersão da subsuperfície em uma mão no mundo realComo você pode ver, a luz (se for forte o suficiente) passa pela pele.
Isso dá uma aparência muito natural, especialmente com pouca luz. Você pode ver como esse efeito se comporta em The End of the Sun usando o exemplo deste gif e as capturas de tela mostradas acima. (Observe que, embora o modelo nem tenha uma textura especular e um mapa de subsuperfície, ele ficará um pouco melhor na fase final.)
- Olhos : como você sabe, os olhos são um espelho da alma. E é verdade - é muito difícil dar uma aparência natural a um personagem sem deixar seus olhos perfeitos. O olho não é apenas uma esfera. É plano onde a íris está localizada e a pupila é ainda mais baixa. É por isso que usamos o sombreador Parallax. Esta é uma superfície que cria a ilusão de que há algo mais profundo e dá resultados muito bons!
Olhos com esfera transparente extra grande para reflexão distanteOlhos sem essa esfera.Além disso, agora podemos controlar a expansão das pupilas e, em cenas, isso cria uma aparência muito natural (um pouco assustador quando a pupila está no máximo dilatada, mas esse efeito ainda é útil para fins de fantasia).
- E a última: como usamos um esqueleto para todas as versões de roupas e corpos, podemos facilmente transformar um personagem jovem em um mais velho ou trocar de roupa. Isso cria excelentes oportunidades para a criação de cenas cinematográficas e também otimiza notavelmente o jogo.
É assim que podemos misturar os elementos do personagem criado dessa maneira.
- Para roupas, usamos um shader de dupla face para que você possa vê-lo de ambos os lados.
- Para cabelos, usamos um shader de dupla face especial com bordas suaves e transparentes.
6. Resultados finais
Sob o corte, há uma galeria completa de como a versão final do personagem se parece no mecanismo Unity 3D: (mas ainda está em desenvolvimento)