Aprendendo a programar jogos em Unity: colorindo a representação interna dos corpos dos pacientes

Modificaremos a apresentação gráfica do interior do labirinto, concedendo texturas e cores ao fundo, às paredes e aos obstáculos.

em 29/12/2024
Seja bem-vindo(a) ao GameDev: Aprendendo a programar jogos em Unity de hoje! Depois de codificarmos, no encontro anterior, a importante funcionalidade de montagem dinâmica das barreiras internas do labirinto, vamos dar uma pausa na programação de novos scripts para realizarmos pequenos ajustes cosméticos que envolvem os itens que compõem a estrutura da representação interna dos corpos dos pacientes, tais como o fundo, as paredes e os obstáculos que formam seus caminhos internos.

Se esta for a primeira vez que você tem contato com um conteúdo de nossa série, considere-se especialmente convidado a juntar-se a nós em uma divertida jornada de experimentações e aprendizados sobre o fascinante mundo do desenvolvimento de jogos. Descobriremos, por meio de projetos práticos, como podemos utilizar a ferramenta Unity para a criação de games de diferentes estilos de gameplay.

No momento, estamos desenvolvendo Consultório do Dr. Tratanildo, um interessante platformer 3D cuja elaboração de seu projeto está nos permitindo explorar diferentes conceitos pertencentes ao processo de criação de jogos em ambientes tridimensionais, tais como o posicionamento de câmeras e elementos no cenário, interação com colisores e triggers, desenvolvimento de scripts controladores de comportamentos, entre outros elementos importantes.


Se você nunca teve contato com conteúdos sobre programação de jogos, não se preocupe: a partir do primeiro texto da série, abordamos desde os tópicos mais básicos, como a instalação da ferramenta em nossos computadores, até aqueles considerados mais desafiadores, como a codificação de scripts controladores de comportamentos, criação de menus e interfaces, definição de regras gerais e posicionamento de elementos multimídia nos cenários.

Venha conosco para, juntos, seguirmos nesta caminhada rumo a novos conhecimentos!

Pequenos ajustes

Após extensos períodos de configurações, codificações e testes, já temos uma estrutura básica bem definida em relação ao labirinto que representa o interior dos corpos dos pacientes. Porém, se observarmos sua composição visual, a estrutura tridimensional que montamos destoa bastante do restante do game, pois ainda apresenta uma coloração branca bem básica, sem texturas ou algo que denote maior “capricho” em sua composição:

Vamos, então, conceder texturas e cores diferentes aos elementos do labirinto, visando aumentar, também, a percepção de contraste no ambiente. Para isso, abriremos nosso projeto para edição: no Unity Hub, clique duas vezes sobre o item referente ao projeto Consultório do Dr. Tratanildo. Na interface inicial do editor, na aba Project, abra a pasta Assets, Scenes e, por fim, clique duas vezes no ícone da cena ConsultorioScene.

Antes de iniciarmos as alterações visuais em nosso projeto, realizaremos um breve ajuste nas dimensões das paredes do labirinto, evitando situações em que as pílulas “escapem” dos limites definidos e sumam do cenário.

Na aba Hierarchy, selecione os GameObjects LabParede1, LabParede2, LabParede3 e LabParede4, todos subordinados a Labirinto. Na aba Inspector, altere o valor do atributo Scale Y de seus respectivos componentes Transform para 2, conforme exemplificado pela imagem a seguir:

Feito o ajuste, vamos começar, de fato, a modificar a apresentação visual dos elementos.

Texturas, cores e mais contraste

Na aba Project, abra as pastas Assets, Multimedia e, por fim, 3D. Clique com o botão direito sobre uma área vazia da pasta e, no menu suspenso, selecione a opção Create e, em seguida, Material.

Conceda o nome “MaterialLabirinto01”, sem as aspas, ao novo material criado, conforme imagem a seguir:

Selecione MaterialLabirinto01 e, na aba Inspector, clique sobre o quadradinho presente do lado esquerdo do parâmetro Albedo. Na janela que for apresentada, procure pela textura de nome ceiling e selecione-a.

Agora, na aba Hierarchy, selecione o objeto LabFundo, subordinado a Labirinto. Na aba Inspector, modifique o valor de Element 0 do parâmetro Materials do componente Mesh Renderer para o novo material criado (MaterialLabirinto01).

Com essa pequena alteração, começamos a construir uma cara diferente para o labirinto: o contraste entre os elementos de bloqueio (paredes e obstáculos) e o fundo começa a dar uma personalidade diferente a este elemento tão importante de nosso game.

Uma curiosidade interessante é que, para a criação do novo material, acabamos utilizando a mesma textura presente no material do teto do cenário, porém adotando colorações diferentes para os dois elementos cenográficos.

Agora, na aba Project, ainda com a pasta 3D em evidência, crie mais um novo material, concedendo-lhe desta vez o nome de “MaterialLabirinto02”, sem as aspas.

Selecione o novo material criado e, assim como fizemos para MaterialLabirinto01, na aba Inspector, modifique o valor do parâmetro de textura utilizado pelo parâmetro Albedo para o elemento de nome ceiling.

Por fim, clique sobre o quadradinho presente do lado direito do parâmetro Albedo e modifique os valores do parâmetro de cor para R = 255, G = 200, B = 255 e A = 255, conforme ilustrado a seguir:


Na aba Hierarchy, selecione os seguintes GameObjects subordinados a Labirinto:
  • LabParede1;
  • LabParede2;
  • LabParede3;
  • LabParede4;
  • CubeRef (subordinado a Obstaculos).
Na aba Inspector, modifique o valor de Element 0 do parâmetro Materials do componente Mesh Renderer dos GameObjects listados para o material de nome MaterialLabirinto02.

Que tal simularmos a execução do game para vermos em ação os elementos estruturais do labirinto com suas aparências definitivas? Para isso, vá à aba Game e clique sobre o ícone do botão Play:

Note que, agora, os elementos bloqueantes do labirinto também apresentam suaves texturas em suas composições, porém com uma tonalidade de cor diferente do fundo, para preservar o contraste entre os elementos.

Após interromper a simulação, pressionando novamente o botão Play, não se esqueça de salvar a cena (menu File, opção Save) e o projeto (menu File, opção Save Project) antes de fechar o editor.

Próximos passos

Estamos avançando paulatinamente na construção visual e comportamental de nosso projeto. Definindo a representação visual das estruturas internas do labirinto, já podemos começar a direcionar nossa atenção para outros aspectos importantes, tais como a construção de variantes dos agentes de doenças e das dinâmicas entre essas novas variantes e as diferentes pílulas que já implementamos.

Em nossos próximos encontros, daremos início à implementação dos novos agentes, contemplando a elaboração de suas representações visuais e características comportamentais.

Nosso próximo texto já encontra-se disponível, continue conosco nessa jornada de conhecimento e fique ligado sempre aqui no GameBlast!

Revisão: Davi Sousa
Siga o Blast nas Redes Sociais
Rodrigo Garcia Pontes
Entendo videogames como sendo uma expressão de arte e lazer e, também, como uma impactante ferramenta de educação. No momento, doutorando em Sistemas da Informação pela EACH-USP, desenvolvendo jogos e sistemas desde 2020. Se quiser bater um papo comigo, nas redes sociais procure por @RodrigoGPontes.
Este texto não representa a opinião do GameBlast. Somos uma comunidade de gamers aberta às visões e experiências de cada autor. Você pode compartilhar este conteúdo creditando o autor e veículo original (BY-SA 3.0).