Páginas

segunda-feira, 21 de outubro de 2019

Introdução ao Unity



    

        No post anterior falei sobre o joguinho que fiz utilizando uma engine (ou motor de jogo). Achei legal aproveitar isso pra fazer agora uma breve introdução à engine utilizada: o Unity.  

  Se você nunca usou, ou seja, não sabe nada a respeito do Unity, este post talvez possa esclarecer um pouco sobre o seu funcionamento. 


             Unity vs OpenGL, DirectX e etc...


     Pra quem já tentou fazer jogos no método "raiz", isto é, utilizando somente código, algumas APIs gráficas (OpenGL ou DirectX) e outras de controle (SDL por exemplo), percebe que o Unity é praticamente um sonho transformado em realidade.  Digo isso porque esta ferramenta facilita muito a vida do desenvolvedor: é tão intuitiva que você faz jogos quase "sem querer". Aliás, conforme mencionei no post anterior, foi assim que surgiu meu jogo!

        Só para ilustrar como o Unity funciona vou tentar passar aqui, mais ou menos (de maneira ampla, sem detalhes), como funciona a engine:

   1)  Você cria ou importa algum objeto (GameObject), que pode ser um personagem (sprite), modelo 3D ou parte do cenário (árvores, plantas e etc.) e posiciona ele (arrasta com o mouse) na tela do jogo. 

    2) Este objeto é algo inanimado, até você adicionar um Componente e/ou um script (código) a ele. O código literalmente dá vida ao objeto. Ao receber o script o objeto pode ter todo o seu comportamento programado e acessado por outros scripts e objetos. Tornando assim possível que "qualquer coisa" (objeto ou evento) se comunique ou interaja com todo o resto. Aliás, um objeto pode ter diversos scripts e componentes anexados a ele.

 3) Obviamente que toda a parte lógica do jogo: condicionais, movimentos, controles, placar, detecção de colisões e etc., é feita através dos scripts. A física (alguns movimentos, gravidade e resolução de colisões) 'podem' ser automáticos, isto é, não necessitam de programação.

 4) É possível permitir que algumas variáveis sejam manipuladas diretamente (de maneira visual) através do menu lateral (chamado de Inspector, veja na imagem abaixo). Este recurso é excelente para fazer uma sintonia fina dos valores.

  
O "Inspector" é onde podemos ver e controlar os componentes e os scripts anexados aos objetos (GameObjects). Aqui vemos alguns componentes, como por exemplo o componente "Transform", que nos mostra e coordena a posição, rotação e a escala do objeto a que está anexado. Podemos adicionar (clicando em "Add Component") um script que controla continuamente cada um desses parâmetros. Este script poderá ser editado no editor de scripts do Unity, o MonoDevelop. 



 5) A engine também conta com um editor de cenários também bastante intuitivo. 

    Mesmo que você não tenha pretensões de se tornar um desenvolvedor de jogos, recomendo que instale e brinque um pouco com o Unity. Posso dizer que não vai demorar muito pra alguns resultados interessantes começarem a surgir e a criatividade tomar as rédeas da brincadeira!
        
        
     Em breve haverão mais posts sobre dicas e macetes no Unity. Até lá!    





Nenhum comentário:

Postar um comentário

Programando o Dreamcast - Parte 2