quinta-feira, 16 de fevereiro de 2012

Operações Comuns

Movendo um GameObject sobre o plano:


// Esta é uma variável exposta, e por isso poderá ser modificada no editor da Unity3D
var velocidade = 5.0;

function Update () {
    var dx = Input.GetAxis("Horizontal") * Time.deltaTime * velocidade;
    var dz = Input.GetAxis("Vertical") * Time.deltaTime * velocidade;
    transform.Translate(dx, 0, dz);
}

Atributos Herdados

Para a Unity3D todos os scripts herdam seus métodos e atributos da classe MonoBehaviour.

Abaixo listo os principais atributos herdados (pelo menos serão esses que trabalharemos inicialmente) e explico um pouco o que cada um é:

enabledIndica se este script está habilitado ou não
transformObjeto contendo a informação de posição e rotação do GameObject associado
rigidbodyCaso o GameObject tenha um rigidbody associado, aqui você pode acessá-lo
colliderObjeto responsável por tratar as colisões deste GameObject de acordo com os seus atributos físicos
particleEmitterSe há um emissor de partículas associado ao GameObject, aqui você tem acesso a ele
gameObjectO GameObject ao qual o Script foi associado
nameO nome do GameObject
tagTag associada ao GameObject

Esta listagem foi obtida do site oficial da Unity3D, você pode ler o artigo original aqui.

Ciclo de Vida de Um Script

Na Unity3D um Script é um conjunto de instruções que pode ser associado a um GameObject.

Assim que esta associação é feita, algumas funções (ou métodos) pré-definidas deste Script são chamadas de acordo com um ciclo de vida.

Em resumo este ciclo de vida é o seguinte:

1. A função Awake é chamada, independente do script estar habilitado (com a caixa enabled marcada) ou não, todas as demais funções só serão chamadas caso o script esteja habilitado.

2. Em seguida é chamada a função Start, normalmente é nesta função que fazemos a inicialização do nosso script;

3. Depois disto, são chamadas funções específicas. Por exemplo, para cada frame é chamada a função Update, porém, o frame rate pode variar bastante, dependendo da quantidade de objetos na cena, carga da CPU, texturas, etc. Então, se você quiser fazer atualizações em tempos exatos, você deve utilizar a função FixedUpdate;

4. As outras funções existentes são utilizadas para responder a eventos, como por exemplo um botão do mouse foi pressionado ou quando ocorrer uma colisão.

A figura abaixo ilustra este ciclo de vida de forma resumida:

Bem Vindos

Bem vindos ao blog Unity Brasil.

Neste espaço estudaremos a ferramenta Unity3D e veremos como produzir vários estilos de jogos.