Postagens

Mostrando postagens de 2020

[POO] Herança na Unity

Herança é um conceito do paradigma de programação conhecido como Programação Orientada a Objetos , que tem como objetivo construir e trabalhar com abstrações de objetos do mundo real, em um nível de código. A Herança dá a capacidade de uma classe/objeto herdar comportamentos previamente definidos em outra classe, sem a necessidade de duplicação do código, permitindo a extensão e a sobrescrita de comportamentos já existentes, de acordo com a necessidade do novo objeto/classe. Para definir uma relação de herança no C#, a "palavra" reservada : (dois pontos) deve ser utilizada na definição da classe que estamos criando, indicando de qual outra classe o nosso script deve herdar. public class Jogador : MonoBehaviour { // Classe Jogador que herda da classe MonoBehaviour } Por padrão, todos os scripts criados na Unity herdam de MonoBehaviour, que é a classe base da Unity para Scripts que serão associados aos GameObjects do jogo. Embora essa definição de herança

Adicionando uma cena de carregamento

Imagem
Em alguns jogos, é comum que uma cena da Unity seja utilizada para representar um grande cenário/fase, fazendo com que o jogo possa apresentar uma lentidão durante a transição entre essas cenas e mudanças de fases. Isso acontece porque durante a transição de uma cena, a Unity precisa destruir (remover) todos os objetos da cena atual e carregar (criar) todos os objetos da nova cena. Como vocês sabem, esse processo de criar e destruir objetos são pesados (lentos) e caso esse tempo de carregamento seja muito grande, pode gerar uma sensação ruim no jogador, fazendo parecer que o jogo travou por alguns instantes. E de fato, travou. Uma forma de solucionar esse problema, ou pelo menos não deixá-lo tão aparente, é adicionar uma tela de carregamento para ser exibida enquanto a nova cena é carregada. Ficou interessado? Então vamos lá! Para agilizar a construção do projeto de exemplo, vamos aproveitar o nosso post anterior sobre transição entre cenas e entende

Iluminação 2D com Universal Render Pipeline

Imagem
E aí, galera! Nesse post  nós vamos desenvolver um projeto utilizando o Universal Render Pipeline  da Unity, também conhecido como Universal RP  para aproveitar algumas das novas funcionalidades de iluminação para jogos 2D. Durante o este  post vamos utilizar um exemplo de jogo de  dungeon , cujo cenário possui uma iluminação reduzida, e o personagem possui uma iluminação adicional ao seu redor, como pode ser visto logo abaixo: Resultado final esperado para o exemplo desenvolvido O projeto desenvolvido neste post utiliza o conjunto de assets chamado A Blocky Dungeon , desenvolvido por Buch e disponível para download no OpenGameArt.org . O projeto desenvolvido neste  post  pode ser baixado  aqui . Inicialmente, o nosso projeto não possui nenhuma luz configurada. Para utilizar Luz 2D na Unity, precisamos habilitar o novo pacote de componentes de renderização (Universal RP) da Unity, através do Package Manager. Para abrir a janela do Package Manager basta acessar a opção Windows no menu s

Transição de Fases (navegação entre Cenas) na Unity

Imagem
A utilização de cenas é um recurso comum durante a construção de jogos, principalmente para representar fases ou diferentes estados de um jogo (menu, ingame , loja e etc.). Ao iniciar um novo projeto na Unity  uma nova cena é criada automaticamente no projeto, chamada de SampleScene . Cena inicial disponível ao criado o projeto Para manter o nosso projeto organizado, vamos alterar o nome desta cena inicial ( SampleScene ) para Fase 1 , assim como posteriormente alteraremos a pasta Scenes  para Cenas. Renomeando cena Antes de implementarmos nosso script  para realizar a transição (navegação) entre as cenas, vamos alterar o visual da cena Fase 1 , adicionando uma interface (UI) com um botão e uma mensagem informativa sobre o funcionamento da cena. Na construção da interface (UI) deste exemplo, nós vamos utilizar o UI Pack: Space extension  desenvolvido pelo  Kenney.nl , que pode ser