Neste tutorial iremos aprender a fazer um rio no Unity usando o Buoyance Effector!
Vamos nessa!
Buoyance Effector
Aqui aprenderemos a usar o efeito Buoyance Effector para criarmos um pequeno rio.
Preparando a Cena
Vamos criar nosso projeto e selecionar a opção 2D.
Agora iremos adicionar alguns objetos 3D apenas para a nossa comodidade. Você pode utilizar seus próprios sprites.
Clique em Create -> 3D Objects -> Sphere para adicionar uma esfera na cena.
Para que os objetos 3D funcionem com nossa cena 2D precisamos trocar os colliders por colliders2D.
Nas propriedades da esfera, clique na engrenagem do Sphere Collider e selecione Remove Component.
Depois clique em Add Component e procure por Circle Collider 2D.
Adicione também um Rigidbody2D.
Agora precisamos criar a água.
Vamos primeiro criar um material para simular a água e deixar mais fácil a visualização do efeito. Clique em Assets -> Create -> Material na barra de menu.
Selecione Transparent no campo Rendering Mode e clique no quadradinho branco e coloque 00FFFF69 no campo Hex Value.
Clique em Create -> 3D Objects -> Cube e redimensione para ficar como na imagem.
Arraste o material que acabamos de criar para o cubo.
Assim como a esfera, precisamos remover o Box Collider e adicionar o Box Collider 2D.
A diferença aqui é que vamos marcar esse collider como Is Trigger e vamos marcar a opção Used By Effector.
Por fim, vamos adicionar uma luz direcional para deixar a cena menos escura.
Clique em Create -> Light -> Directional Light.
Pronto! Nossa cena está pronta! Se você rodá-la verá que a bola cai e atravessa a água. Vamos agora fazer a mágica acontecer!
Criando o Rio
A mágica acontece quando usamos o Buoyance Effector.
Selecione o Cubo e clique em Add Component -> Physics 2D -> Buoyance Effector.
Se você rodar a cena verá que agora a bola cai, mas fica no meio do nosso rio.
Altere a opção Surface Level para 0.5 e veja que a bolinha agora fica na superfície.
Por fim vamos adicionar uma correnteza para o nosso rio.
Para tal, é preciso expandir a opção Flow e colocar os seguintes valores:
- Flow Angle: 45
- Flow Magnitude: 10
- Flow Variation: 10
Rode e veja o resultado! Legal não?
Você pode brincar com as propriedades e ver o que cada uma faz!
Para saber mais sobre o efeito, acesse: https://docs.unity3d.com/Manual/class-BuoyancyEffector2D.html
É isso aí, pessoal! Abraços e até mais!