Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos I / Aula

arrow_back Aula 02 - Implementando Recursos de Jogos

Utilização de Sprites no Unity

Agora que já entendemos direitinho o que são os assets, e mais especificamente os sprites, discutiremos um pouco como o Unity trata esses elementos.

No Unity, temos um elemento específico dedicado aos sprites, como vimos anteriormente, na parte de GameObjects -> 2D Objects. Esse objeto nada mais é do que um GameObject contendo um Transform e um Sprite Renderer. Esse componente renderer é responsável por exibir o sprite selecionado para aquele objeto e é através dele que o elemento terá alguma imagem. Caso nenhum sprite seja atrelado ao renderer, como é o padrão ao criarmos um novo sprite, o elemento simplesmente não aparecerá na tela, pois não há nada a ser mostrado. Perceba que mesmo assim o sprite existirá - apenas não será mostrado. Criaremos agora um novo sprite para entender melhor os componentes que estão presentes em um elemento desse tipo e discutir as propriedades do componente específico dos sprites.


Criando um Novo Projeto com Sprites

Primeiramente, iniciaremos o Unity e criaremos um novo projeto. Isso já foi abordado na aula anterior e recomendo que você volte lá caso ainda não esteja seguro! Não custa nada upar um pouquinho mais na primeira área antes de ir para a próxima! Lembrem-se de configurar o projeto para que seja um projeto 2D! O nome que utilizarei para esse projeto será: Projeto Aula 02! Veja na imagem a seguir, caso tenha alguma dúvida:

Criação de um projeto no Unity.

Após criar o projeto, adicionaremos um novo objeto do tipo sprite ao nosso projeto vazio. Para isso, utilizaremos o menu GameObject -> 2D Object, no qual você pode escolher qualquer uma das opções que aparecer! Eu escolhi a opção Sprite.

Feito isso, teremos um novo objeto em nossa cena chamado New Sprite. Esse objeto é, como dito anteriormente, um sprite vazio. Ele está em nossa cena, mas simplesmente não aparece por não ter nenhum sprite atrelado a ele. Clicando nele, nós veremos que há alguns componentes presentes. Vejamos esses componentes na Figura 4.

Componentes presentes em um sprite criado pelo menu GameObject.

Como já vimos, o primeiro componente presente em nosso sprite é o componente Transform. Esse componente, visto na aula passada, é padrão a todos os objetos e funcionará exatamente da mesma maneira que havíamos visto para os objetos 3D, exceto por um detalhe: não é possível escalar sprites no eixo Z, uma vez que esses objetos são 2D. Perceba, no entanto, que é possível mover e rotacionar esses objetos nos 3 eixos, pois o mundo em que estão inseridos é 3D (se você clicar no botão 2D, que pode ser visto abaixo da aba Game, perceberá isso).

O segundo componente é o componente que torna o sprite o que ele é - o Sprite Renderer. Esse componente é o responsável por exibir, ou renderizar, o sprite na tela. Para tanto, ele traz algumas opções de configuração, por meio de suas propriedades. A primeira destas, Sprite, é a mais importante. É nessa propriedade que selecionamos qual o sprite que queremos exibir através desse elemento. Ele é criado com “None” (e por isso não exibe nada) para que possamos substituir pelo Sprite de nossa preferência assim que o tivermos. No momento, não temos sprite algum, então a lista não conterá qualquer sprite. Veremos em breve como importar um sprite para preencher essa lista.

A segunda propriedade do componente é a color. Ela indica a cor que o nosso sprite terá. A propriedade flip indica o giro do sprite em algum eixo. A propriedade material deve ser mantida com Sprites-Default e indica qual é o material que será utilizado para o Unity exibir o objeto. Por fim, temos duas propriedades relacionadas à camada de organização que o Sprite pertence e, também, a sua ordem dentro dessa camada. Isso poderá servir para organizar os sprites na tela, caso seja necessário. As camadas são renderizadas na ordem definida, mas dentro da camada os objetos com menores números são renderizados primeiro, e os com número maior ficam acima deles.

Vistas todas as propriedades de nosso sprite, importaremos um sprite qualquer para que possamos ver algo na tela, uma vez que o sprite com a propriedade Sprite vazia no Sprite Renderer não exibe qualquer imagem, como já discutido.

Versão 5.3 - Todos os Direitos reservados