3

🤔Por que aprender algoritmos com a Unity Game Engine?

#.NET #C#
Leonardo Demetrio
Leonardo Demetrio

Oi pessoal, tudo bem?


Galera, sei que tem muitas pessoas iniciando no mundo da programação e muita das vezes elas tem dificuldade em assimilar as coisas que o código faz. Isso pode ser por não terem uma referencia de como aquilo acontece.


É por esse motivo que eu indico a Unity para aprender algoritmos de forma mais simples.


Para quem não sabe, a Unity é um motor de games utilizado para desenvolvimento de jogos para Console, PC e mobile. Ela tem duas versões sendo a personal (Gratuita) e Business (paga).

Unity 2020.1b


A Unity utiliza o C# com o Mono. Atualmente, a Unity utiliza o Visual Studio para programar, mas a gente pode trocar para o MonoDeveloper ou para o VScode.


Inicialmente pode ser meio confuso para quem nunca mexeu em algo parecido. Assim como em outros softwares com Blender, CryEngine, UDK... a Unity é composta por uma Lâmpada e uma câmera inicialmente. Temos também um sistema de mudança de eixos e o menu de opções em cima.


Calma...A gente não vai criar o próximo GTA, mas muitas empresas de games pedem esse software para trabalhar.


Aqui em baixo está um exemplo do sistema de partículas da Unity.


Pin on Effect

Imagem adquirida em : https://br.pinterest.com/pin/750130881675277280/


Na sua cabeça deve estar assim - Ok, gostei muito, mas como vou começar ?

Calma jovem, não é do dia para noite que se consegue fazer isso, existem pessoas que conseguem fazer um jogo ou o sistema de partículas bem feitos em horas, mas estamos começando.


O ALGORITMO - INICIO DE TUDO


Realmente, o Algoritmo é o inicio de tudo e aqui vamos usar C# para estudar essa "Estrutura de passos finitos para resolver um determinado problema".


Neste quesito, a Unity ajuda muito pois você pode ir aprendendo e ao mesmo tempo ver o que está acontecendo através dos GameObjects.


VAMOS CRIAR ALGO?


Faça um programa em que um objeto se movimento no eixo X e no eixo Z utilizando Unity. Lembre-se que aqui estamos trabalhando com 3 dimensões, é possível trabalhar com 2 também.



Então vamos lá, vamos resolver isso!


Primeiro vamos criar um plane e uma esfera para podermos utilizar como objeto.


Na Unity, os objetos 3D podem ser manipulados. Assim como os objetos em Java, C# e Python. Aqui os objetos (Game Objects) tem atributos e métodos também.



Vamos agora adicionar uma cor a nossa esfera, essa que vai ser o nosso player. Para adicionar um material a um objeto ou um script, basta arrastar até ele.


Agora vamos criar um C# Script. No meu caso ele vai abrir o VScode, caso você tenha baixado a Unity, ele vai abrir o Visual Studio. Dependendo da versão ele vai abrir o MonoDeveloper.





O C# da Unity é um pouquinho diferente do C# normal. Temos duas funções chamadas Start e Update. A void Start, é uma função que é inicializada quando o "jogo" ou "aplicação" começa, essa função roda só 1 vez. A void Update, é uma função que roda a cada frame do computador em tempo real. Mas calma, vai dar tudo certo, vamos codar!



Aqui estamos verificando se estamos apertando uma certa tecla, se isso acontecer eu vou deslocar o objeto no eixo indicado, por uma x velocidade multiplicado pelo tempo.


A velocidade está sendo setada como 15 na Void Start. Isso significa que ela vai receber esse valor quando o jogo for iniciado.


O Input.GetKey, verifica se estou apertando uma certa tecla.


O Translate(x,y,z) vai movimentar o objeto em um determinado eixo, lembrando que tem mais de uma maneira de fazer isso.


O Time.deltaTime, é o tempo no meu computador, dessa forma o objeto (player) não vai se movimentar pelo frame do PC e sim pelo tempo.


Arraste o script para o objeto, de play e veja a magica acontecer!


Nesse exemplo apenas movimentamos um objeto. Algo simples, não utilizamos física nesse caso, mas é possível fazer muitas outras coisas mais complexas. Existem aplicações de física como buracos negros que podem ser explicadas utilizando unity.



Espero que esse artigo possa te ajudar e te encorajar a aprender mais sobre Unity e desenvolvimento de Games.


Até a próxima pessoal !!🤙

4
124

Comentários (4)

2
⚡Eros Lima

⚡Eros Lima

30/01/2021 05:55

Ótima mágica e referência


Adoro a Unity, incrível sua descrição e como colocou as fotos em GIF pra exemplificar, Parabéns Leonardo, muito útil este Artigo.

2
Daywison Calsolari

Daywison Calsolari

30/01/2021 09:24

Coloca ajuda nisso! Compartilhamento de conhecimento nível hard! Muito obrigado Leonardo

3
Claudinei Nobrega

Claudinei Nobrega

30/01/2021 18:41

Leonardo, já fiz alguns projetos com o Unity. Muito útil o seu post.

2
O

Olavo Anselmo

30/01/2021 08:51

Parabéns muito util. suas explicações.

Sou apaixonado por tecnologia, marketing e games.

Brasil