Advertisement
  1. Game Development

Como criar uma Animação de Cachoeira

Scroll to top
Read Time: 3 min

() translation by (you can also view the original English article)

Você está preparado para enfrentar outro inimigo perigoso do seu jogo? - Um inimigo? - Sim: o desempenho!

Como discutimos no último artigo, desempenho ruim estraga um bom jogo.

Em dispositivos móveis e na web o desempenho é um grande problema, mas não é o único fator limitante: no passado, computadores e consoles eram menos poderosos que os atuais. Procurando no passado podemos encontrar boas soluções.

Hoje você aprenderá como colocar uma cachoeira no seu jogo sem estragar seu desempenho.

Precisaremos dos seguintes itens:

  • Unity 5 (é gratis, baixe agora!)
  • Uma textura como essa:
The Waterfall TextureThe Waterfall TextureThe Waterfall Texture

E... pare! É como mágica!

O Efeito de Cachoeira

Confira o vídeo abaixo:

É uma bela cachoeira, não é? Eu adoro ela. Gostaria muito de colocar uma cachoeira assim no meu jogo. Mas como?

Podemos começar com uma tecnica de desconstrução. Perceba: que partes a formam?

  • o rio (no topo)
  • a cachoeira (vertical)
  • O rio (embaixo)
  • Um pouco de névoa onde a cachoeira acaba
  • Um pouco de respingos onde a cachoeira começa e termina

Podemos compor tudo isso com alguns items sem acabar com o desempenho.

Mas primeiro me deixa explicar...

Porque Não Usar "Água de Verdade" em Dispositivos Móveis?

Em um jogo 3D, a água é composta de componentes (como partículas) que demoram para ser renderizadas. Por isso soluções como essa não são recomendadas para um jogo móvel.

Esse tutorial foi escrito para sugerir uma maneira simples de colocar uma cachoeira em um jogo sem perder quadros.

1. Crie a Primeira Cena

  • Abra o Unity
  • Crie três planos como no exemplo abaixo
The waterfalls structureThe waterfalls structureThe waterfalls structure
  • Crie três materiais com os sombreadores 'Mobile/Particle/Alpha Blended' (chamados Waterfall_bottom, Waterfall_main, Waterfall_top).
  • Adicione aos três materiais a textura "waterfal_texture".

2. O Código

  • O "núcleo" dessa idéia é usar um Mapa UV Animado.
  • Crie um novo script em C♯ (nomeie-o "ScrollUV").
  • Dentro, coloque o seguinte código:
1
using UnityEngine;
2
using System.Collections;
3
4
public class Waterfall_UV : MonoBehaviour
5
{
6
7
    public float WF_speed = 0.75f;   
8
9
    public Renderer WF_renderer;
10
11
    void Start() {
12
        WF_renderer = GetComponent<Renderer>();
13
    }
14
15
    void Update() {
16
17
        float TextureOffset = Time.time * WF_speed;
18
        WF_renderer.material.SetTextureOffset("_MainTex", new Vector2(0, TextureOffset));
19
    }
20
21
}
  • Salve o arquivo e adicione esse script a todos os planos.

3. Ajuste os Números

Você deve ajustar o ladrilhamento das texturas nos três materiais conforme o tamanho dos planos.

Adjust the tiling of the texture is an important stepAdjust the tiling of the texture is an important stepAdjust the tiling of the texture is an important step

Também, você deve ajustar a velocidade: a velocidade vertical deve ser maior que a dos outros planos.

O efeito final deve estar assim:

The final effectThe final effectThe final effect

E... terminou. Pressione reproduzir e veja o resultado final.

Bônus: Um Sistema de Partículas

Se você quiser adicionar algumas partículas para dar mais um efeito na sua cachoeira, aqui vão umas ideias.

Perceba: as texturas foram feitas no Paint ou algo assim. Elas são muito, muito simples, dessa forma qualquer um  pode criar texturas parecidas.

Respingos

Crie uma fonte de partículas nomeada "PS_Spray". Coloque ela no final da cachoeira.

Use os seguintes parâmetros:

Particle System for spary effectParticle System for spary effectParticle System for spary effect

Duplique e o mova a cópia para o topo da cachoeira.

Névoa

Crie uma fonte de partículas chamada "PS_steam". Coloque ela na parte de baixo da cachoeira.

Use os seguintes parâmetros:

Particle System for steam effectParticle System for steam effectParticle System for steam effect

Bônus 2: Lava

Um truque para criar uma cachoeira de lava: troque a cor da textura assim:

The Lava TextureThe Lava TextureThe Lava Texture

Você talvez irá querer aumentar a quantidade máxima de partículas na névoa. E lembre de tirar as partículas dos respingos.

Conclusão

Algumas vezes a solução rápida é a melhor solução.

Esse tutorial, por exemplo, nasceu no passado, nos anos 90, quando os computadores eram menos poderosos que os atuais e os desenvolvedores tinham que encontrar soluções criativas para contornar suas limitações.

O "truque" de um mapa UV animado é perfeita para diversas situações.

Por exemplo, você pode usá-lo para animar um fundo. Ou, se a textura tem mais ladrilhos (como um "quadro de um desenho"), você pode criar uma pequena sequencia de animação. O único limite é sua imaginação.

Por que é muito importante entender técnicas como essa hoje em dia? Porque sempre, no desenvolvimento de jogos, você vai encontrar barreiras que precisam ser atravessadas. Estudar o passados é, na minha opnnião, a melhor maneira de aprender para o futuro.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Game Development tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.