Desenvolvendo aplicações com Unity3D Renan Vinicius Aranha renanvinicius@usp.br 1
O que é a Unity? Motor para desenvolvimento de jogos Permite desenvolver aplicações em 2D e 3D Possui licença gratuita e profissional, com pagamento de $75 por mês Muito utilizada também para aplicações de Realidade Virtual 2
Só para jogos? VÍDEO 3
Vai rodar onde? Desktop: Windows (inclui a Windows Store), MacOS, Linux (SteamOS) Mobile: ios, Android, Windows Phone, BlackBerry, Tizen Óculos: Rift, Gear VR, HoloLens, Morpheus Console: PlayStation (3, 4 e Vita), Xbox (360 e One), Wii U Web: Web player, WebGL 4
E para desenvolver? Sistema operacional Windows XP SP2+, 7 SP1+, 8 e 10 Mac OS X 10.8+ GPU: placa gráfica com recursos do DX9 (Shader Model 2.0). Qualquer placa fabricada a partir de 2004 deve funcionar. Outras características dependerão do projeto que você irá desenvolver. 5
Características Códigos em C#, Javascript e Boo Ampla documentação Loja de acessórios IDE integrada ao motor Ferramentas para Física 2D e 3D 6
Isso tudo faz com que a Unity Seja líder global, com 45% de participação no mercado Tenha alcançado 600 milhões de jogadores Em 2013, apenas nos EUA, consumidores gastaram US$ 21.53 bilhões em videogames, hardware e acessórios 7
Como usar? Faça o download pelo site http://www.unity3d.com Instale: Next, Next... 8
Começando o projeto 9
A primeira tela 10
Iniciando o projeto 11
Entendendo a interface da Unity 12
Entendendo a interface da Unity CENA 13
Cena É justamente o ambiente virtual que você está criando: Modo Scene: Permite realizar alterações (desenvolvedor) Modo Game: Modo de visualização da aplicação (usuário) Modo Animator: Gerenciamento de animações de objetos 14
Entendendo a interface da Unity HIERARCHY CENA INSPECTOR ASSETS 15
Project View São os arquivos que você usará no seu projeto, como: Objetos 3D Texturas Músicas Scripts Lembre-se sempre de mantê-los organizados 16
Formatos de arquivo Imagem: psd, jpg, png, gif, bmp, tga, tiff, iff, pict, dds Objetos 3D: fbx, obj, 3ds, dae, dfx Áudio: mp3, ogg, aiff, wav, mod, it, sm3 Vídeo: mov, avi, asf, mpg, mpeg, mp4 Texto: txt, htm, html, xml, bytes 17
Console Exibirá erros de compilação, alertas e impressões de mensagens definidas nos scripts da sua aplicação 18
Entendendo a interface da Unity HIERARCHY CENA INSPECTOR ASSETS 19
Hierarchy View Listará todos os GameObjects inseridos na cena Ao criar uma cena, dois objetos são criados automaticamente: Câmera Luz 20
GameObject O GameObject é um objeto da cena. Pode ser, por exemplo, um objeto 3D como um cubo. 21
Entendendo a interface da Unity HIERARCHY CENA INSPECTOR ASSETS 22
Inspector Exibe as propriedades de um GameObject Permite a adição e o gerenciamento de Components 23
Components 24
Component Atribui função, aparência ou comportamento a um GameObject Pode ser um arquivo de áudio Pode ser um script 25
Component: Physics RigidBody Atribui elementos físicos a um objeto, como massa, gravidade, aceleração e atrito; Colisão Quando um objeto invade a área de outro. Pode ser de dois tipos: Padrão: o objeto para ou se retrai ao colidir Trigger: um objeto pode atravessar o outro 26
Exemplo: RigidBody VÍDEO 27
Component: Criando um Script Em Inspector, clique em Add Component > New Script, selecione a linguagem e dê o nome do script. Um arquivo (.cs ou.js) será criado pela Unity. 28
Prefab Pré-fabricação de um objeto: Trata-se de um GameObject com componentes salvos; Permite a clonagem de objetos 29
Prefab: Criando um VÍDEO 30
No código... Dois métodos criados automaticamente: Start() Update() 31
Exemplo: Criando uma Introdução 32
Código: Pegando dados do teclado Existem três funções para isso Apertou a tecla Pressionando a tecla Soltou a tecla 33
Código: Trocando de cena Uma aplicação pode ter várias cenas, como: tela de login, menu principal, tela de jogo, etc Para trocar uma cena, basta uma linha de código: 34
Exemplo - Introdução VÍDEO 35
Exemplo: Movimentar um objeto 36
Código: Referenciando um objeto Para referenciar um objeto (textura, GameObject) no código: 1) Declare a variável como pública no código; 37
Código: Referenciando um objeto Para referenciar um objeto (textura, GameObject) no código: 1) Declare a variável como pública no código; 2) Na interface da Unity, o componente será atualizado para você preencher os campos 38
Código: Referenciando um objeto 39
Código: Transform O Transform é um componente padrão dos GameObjects No código, você pode alterar a escala, rotação e posição. public class ExampleClass : MonoBehaviour { } public GameObject other; void Example() { other.transform.translate(1, 1, 1); } 40
Exemplo: Transform VÍDEO 41
Exemplo: Destruir objeto após colisão 42
Código: Verificando colisão Crie um Script e vincule a um determinado objeto Lembre-se que existem dois tipos de colisão: Padrão e Trigger Para cada tipo, existem métodos: Entrou em colisão, está em colisão e saiu da colisão 43
Exemplo: Colisão VÍDEO 44
Exemplo: Destruindo após Colisão VÍDEO 45
Exportando a aplicação Escolha as cenas Defina a plataforma Altere as configurações Clique em Build para gerar 46
Componente Transform Suas ideias Unity Componente RigidBody GameObject Componente Colisão 47
Obrigado pela atenção. 48
Referências [0] http://pt.slideshare.net/agbrjr/introduo-unity-3d [1] http://unity3d.com 49