Na Unity existem diversos componentes muito interessantes e úteis para diversas funcionalidades em nossos jogos.
E é crucial entender os detalhes desses componentes para posteriormente conseguir, manipula-los como cosermos.
E hoje vamos falar um pouco a respeito do Sprite Rendererer, componente que manipula nossos sprites.
Sprite Renderer
Esse componente é responsável por armazenar e manipular a imagem ou também conhecido como Sprites.
E permite uma fácil manipulação de cor, rotação, layers, troca de sprites, material, e dentre outras várias possibilidades.
Sprite:
Ao batermos o olho no componente, a primeira opção que nos é apresentada é o Sprite, que armazena a imagem.
E podemos referenciar uma imagem aqui, clicando no círculo logo ao canto, e buscando a imagem dentre outras no projeto.
Mas também é possível arrastar uma imagem dos arquivos diretamente sobre essa opção, ou ainda via script.
E caso queira acessar via script, primeiro você precisa declarar e referenciar o SpriteRenderer em uma variável.
E através dessa variável é possível acessar todo o componente, e aqui você escolhe a opção “sprite”.
E agora basta fazer o spriteRenderer.sprite, receber uma outra imagem, desde que já tenha sido referenciada anteriormente.
Color:
Através do componente Color, podemos modificar as propriedades de cor da imagem, e até mesmo sua transparência.
E clicando nessa opção, abre uma janela contendo o Círculo Cromático, onde podemos alterar tudo manualmente.
E possibilitando alterar desde o sistema de cor utilizado, ou até mesmo os hexadecimais das cores e a transparência.
E para acessá-la via script, basta referencia o component, e buscar dentre as opções, a “color’.
E caso queira passar uma cor você precisará, atribuir uma nova cor e definir os valores manualmente.
Mas atenção aos parâmetros, que basicamente funcionam assim: (Vermelho, Verde, Azul, Transparência).
E são floats que vão de 0 á 1, onde 0 é sem a cor respectiva e 1 e a cor respectiva em sua totalidade.
E na transparência 0 é transparente e subindo para 1 ela vai aparecendo até a sua tonalidade.
Flip:
Em Flip, podemos inverter totalmente a imagem de lado, sem necessariamente afetar o transform do objeto.
E é muito utilizada para inverter os sprites durante a movimentação, pela facilidade que proporciona.
E no eixo X, invertemos na horizontal, da direita pra esquerda e vice e versa, e Y para a vertical.
E através do Script também precisamos referenciar o SpriteRenderer, e acessar pela variável, a opção.
E aqui no caso é a “flipX”, ou “flipY”, passando verdadeira ou falso, para inverter ou não o eixo desejado.
Material:
Em material, é possível alterar o material de renderização da imagem, como o nome já nos sugere.
E aqui é possível adicionar texturas, materiais reflexivos ou outros tipos de materiais personalizados que você desejar.
E para acessar via script, seguirá o mesmo processo já apresentado de referência o componente antes.
Pois, posteriormente através da variável basta escolher a opção “material”, e atribuir um novo material ao sprite.
Sorting Layer e Ordem in Layer:
Estas opções possibilitam alterar a ordem de do sprite, colocando ele a frente ou para trás de outros.
Pois, em Sorting Layer, você pode criar varias camadas personalizadas que reunirão diversos objetos.
E quanto mais abaixo na lista de camadas, mais a frente os objetos assinalados nela, ficarão com relação a outros.
E assim você poderá colocar o player e inimigos em uma camada a frente do fundo do game, por exemplo.
Mas, dentro da mesma camada é possível definir qual terá prioridade na renderização e ficará a frente.
E aqui entra o Ordem in Layer, que quanto maior o valor, mais a frente ficará o sprite dentro da própria Layer.
E para mudar esses parâmetros via script, primeiramente é necessário referenciar o componente em uma variável.
E através da variável você escolhe a opção “sortingLayerName”, e atribui a ela uma string com o nome da Layer.
E para mudar a ordem dentro da layer, escolha a opção “sortingOrder”, e passa um int, com o index desejado.
Passamos aqui pelas opções mais utilizadas do SpriteRenderer, para que possa compreender melhor o componente.
Pois, entendendo como ele funciona e o que nos permite fazer, você terá muito mais facilidade para manipula-lo.
Seja o primeiro a comentar.