Semana passada comecei com dois amigos (Dayvison e Diego) da pós-graduação um grupo de estudos de programação em C# para jogos desenvolvidos na Unity3D, tal grupo possui fins acadêmicos e iniciou-se devido a necessidade de um maior estudo e conhecimento da engine por parte dos integrantes, pois todos vão utiliza-la em seus TCCs (Trabalho de Conclusão de Curso).
Para o primeiro desafio começamos com uma programação simples de um personagem em um jogo de 2.5D, onde ele realizará dois movimentos (caminhada para ambos os sentidos no eixo x do plano cartesiano e pulo) no estilo de LittleBigPlanet. Segue abaixo um tutorial do que foi feito, junto com o resultado final.
1. Adicionamos um plane - GameObject > Create Other > Plane (Imagem 01).
2. Depois adicionamos uma plataforma para podermos realizar o pulo - Game Object > Create Other > Cube (Imagem 02).
3. Agora temos que criar o personagem, para tal selecione o mesmo gameobject da imagem anterior
4. Depois de todos os objetos estarem posicionados na cena, é necessário adicionar alguns componentes:
Plataforma para simulação do pulo: Component > Physics > Rigidbody (neste exemplo não alteramos nenhuma de suas propriedades)
using UnityEngine;
using System.Collections;
public class Movement : MonoBehaviour {
public float speed = 10f;
public float jump = 11f;
public float gravity = 20f;
public float mass = 1f;
public Vector3 moveDirection = Vector3.zero;
public CharacterController controller;
void FixedUpdate () {
controller = this.GetComponent<CharacterController>();
{
moveDirection.x = speed * Input.GetAxis("Horizontal");
if (Input.GetButton("Jump"))
{
moveDirection.y = jump;
}
}
else
{
moveDirection.y -= gravity * mass * Time.deltaTime;
}
controller.Move(moveDirection * Time.deltaTime);
}
}
*** Documentação da Unity3D com explicação de tudo que pertence a engine e foi utilizado no desenvolvimento deste projeto.
*** Download do projeto.
Abraços,
Felipe Dacal