NOÇÕES BASICAS E ESSENCIAIS PARA DESENVOLVER GAMES (UNITY)

Desenvolvimento de Games noções basicas essenciais (UNITY)

Seja, muito bem vindo!

unity é uma engine (programa/ambiente) grafica onde desenvolvemos os games com suporte na linguagem C#. É de suma importancia entender o que é o game object e como ele funciona, o GameObject como o proprio nome ja diz é um objeto de jogo em 3D, mesmo que o game seja 2D, o ambiente dele é feito em 3D portanto ele te um componente transform que tem os 3 eixo para movimentar e rotacionar na cena, a cena seria o local onde uma camera transmite o visual do jogo, toda cena é necessaria de uma camera para visualização do jogo.

o mais impressindivel entender são os components, todos os game object tem seu component mesmo que ele seja vazio ele ainda terá o "transfom", para quem estuda ou entende de react fica mais facil o entnedimento, um objeto tendo component é possivel acessar as propriedades e funções dos componentes desse objeto pelo script. um script tambem é um component cujo pode ser acessado pelo nome do script.

para que haja um jogo é necessario manipulção desses components, para que player interaja com personagens e o ambiente ou para que um personagem interaja com outro personagem.

para acessar o componente de um game object via script usamos o GetComponent() => um metodo do proprio unity, é possivel acessar a documentação no endereço: https://docs.unity.com/ um exemplo: quero acessar o component transforme do objeto

--temos os metodos que seram exlicados mais pra frente--------------- Awake() Start() Update() LateUpdate()

vamos focar no start e no update: o Start- sempre que damos start ou quando um Game Object é instanciado, a função start será executada somente uma vez e antesde de qualqeur outra. O Update - executa varias vezes uma taxa por quadros "frames", será executado até que o objeto seja destruido ou que o jogo pare.

public void Start() { //alocando o component desse objeto em uma variavel;

    Transform T = GetComponent<Transform>();

}

*nesse caso você poderia simplesmente criar uma variavel publica Tranform e arrastar o proprio component "a mão" para o campo.

uso do metodo update() vamos supor que você queira colocar o movimento em um objeto em um eixo,para que seja feito uma atulização igual em qualqeur dispositivo é necessario usar o tempo para regular isso.

public void Update() {//lembrando que T seria nosso transform

T.Position += 1 * Time.deltaTime();

// em vez dele teletansportar ele faz o movimento pequeno a cada frame se multiplicar ou aumentar o numero que ele está somando ele vai se mover mais rapido, com isso é possivel criar uma aceleração

}

//caso queira rotacionar no eixo Y //usaremos o metodo rotate

T.Rotate += 1 * Time.deltaTime();

//caso queira rotacionar para lado contrario usa um valor negativo -1

Em breve vou gravar uma aula simples, não ensinando fazer um jogo e sim entendendo como pensar o desenvolvimento do jogo e que qualquer pessoa possa entender como funciona o unity. :)

@design_shake

Esse é seu instagram? Te segui lá pra acompanhar a jornada.

valeu!! estou enviando uma versao beta para google play store logo voce pode participar de testes.