Usar Extras do Tilemap 2D para criar blocos animados
Ambiente de verificação
- Windows
-
- Janelas 11
- Unity Editor
-
- 2021.3.3f1
- Pacote do sistema de entrada
-
- 1.3.0
Pré-requisitos para esta dica
As configurações a seguir foram feitas com antecedência como premissa para a descrição desta dica.
Quais são os pré-requisitos para essa dica?
Sobre o empréstimo de materiais de mapa
Ele é emprestado do seguinte site. Apenas uma linha acima é usada.
Sobre blocos animados
Ao jogar um jogo que usa fichas de mapa, Mesmo se você parar no local, muitas vezes você verá fichas de mapa animadas, como o fluxo da cachoeira se movendo e o piscar do fogo. Embora os métodos de implementação possam diferir, eles são obtidos no Unity por meio de blocos de animação.
Muitas das animações em MapChips parecem estar se movendo alternando entre vários MapTips em intervalos regulares. Há também aqueles que são animados por processamento em uma base pixel a pixel, e aqueles que são animados alterando coordenadas de textura. A animação que faremos desta vez será alcançada trocando o chip do mapa.
Preparar MapTips para blocos animados
Desta vez, vamos preparar os seguintes chips de mapa e animar o movimento das ondas trocando os chips de mapa.
Dividindo MapChips para blocos animados
Depois de criar o projeto, coloque o MapChip que você acabou de criar no projeto e divida-o. O trabalho por aqui é o mesmo que a explicação para o tilemap, então vou postar apenas a imagem.
Você ainda não precisa adicioná-lo à paleta de blocos.
Adicionando um bloco animado
Selecione Create -> 2D -> Tile -> Animated Tile no projeto para adicioná-lo.
O nome pode ser qualquer coisa. Você não usará esse nome em nenhum outro lugar.
Selecione o Bloco Animado que você criou para alternar o Inspetor. Solte a ponta do mapa dividida neste quadro retangular.
Você pode soltar blocos individualmente, mas se você soltar a origem dividida, poderá registrar os MapChips divididos em massa.
Adicione uma dica de mapa e ela ficará parecida com a imagem. Caso contrário, este é o fim da criação do Azulejo Animado.
Adicionar à paleta de mosaicos
Crie uma paleta de blocos. Se não houver nenhuma guia de paleta de blocos, exiba-a em "Janela -> 2D -> Paleta de blocos" no menu. O nome da paleta pode ser qualquer coisa. Se você precisar de mais de uma paleta ao criar seu jogo, mantenha-a fácil de entender.
As configurações da paleta de blocos são criadas em uma nova pasta SeaPalette na pasta Cenas. O nome e o local da pasta são arbitrários.
Depois de criar sua paleta de blocos, adicione dicas de mapa. Em um mapa de blocos normal, colocamos uma dica de mapa dividida, mas desta vez colocaremos o Bloco Animado.
Quando colocado, apenas um chip é exibido, mas no caso de blocos animados, isso é tudo que você precisa.
Colocando MapTips (blocos animados)
Adicione um tilemap à hierarquia como faria para um tilemap.
Selecione Tilemap para exibir uma grade no modo de exibição.
Vamos colocar uma dica de mapa aqui. Selecione um bloco de animação na paleta.
Coloque-o na vista. Não parece diferente dos mapchips comuns.
Se você realmente não movê-lo, ele não será animado, então vamos executá-lo.
Se você executá-lo, você pode ver que a dica de mapa é trocada e animada a cada 1 segundo. Dessa forma, é fácil implementar a animação MapTip apenas com funções estendidas sem criar um programa.
Outras configurações
Alterar a velocidade da animação
Por padrão, o intervalo de comutação MapTip é de 1 segundo. Por exemplo, se você quiser alterar isso a cada 0,5 segundos:
Quando você seleciona um Tilemap adicionado à hierarquia, o componente Tilemap no Inspetor tem uma "Taxa de Atualização de Animação" que você pode alterar aqui.
Este número é o número de "quantas vezes para mudar em 1 segundo", então se você mudar em 0,5 segundos, você vai mudar duas vezes em 1 segundo, então defina "2".
Tente executá-lo e veja se a velocidade da animação muda.
Randomizar o tempo de animação para cada chip de mapa
É melhor ter o mesmo intervalo de animação para mapchips adjacentes, como o litoral ou o fluxo de uma cachoeira, mas você pode querer alterar o tempo de animação para cada objeto, como a cintilação do fogo. Nesse caso, você pode randomizar o tempo ou alterar a posição inicial.
Selecione o Bloco animado e olhe para a parte inferior do inspetor para ver algumas configurações.
A Velocidade Mínima e a Velocidade Máxima podem ser especificadas como os limites superior e inferior do número de folhas a serem trocadas por segundo. As MapTips colocadas serão animadas com um desses números aleatórios, portanto, se você colocar vários Mapas, cada um deles será animado em uma velocidade diferente.
Por exemplo, se você executar Mínimo como 1 e Máximo como 2, poderá ver que eles serão animados em velocidade aleatória.
A propósito, como é determinado aleatoriamente no nível decimal, é improvável que seja a mesma velocidade.
"Start Time" e "Start Frame" especificam a posição inicial da dica de mapa da animação, mas não acho que eles sejam muito usados. "Tipo de colisor" é uma história de processamento diferente, então vou omiti-la.
Definir o tempo de animação para cada tipo de MapTip
Por exemplo, você pode querer alternar o movimento das ondas a cada 1 segundo, mas você quer o fluxo da cachoeira a cada 0,5 segundos. Isso pode ser definido como descrito anteriormente, "Velocidade Mínima" e "Velocidade Máxima". Se você definir Mínimo e Máximo para valores diferentes, eles serão aleatórios, portanto, por exemplo, se você quiser definir a velocidade de comutação para 0,5 segundos, se você definir Mínimo e Máximo para 2, todos eles serão dobrados.