Você está na página 1de 37

Introdução à Unity

Computação Gráfica

Clistenys Eduardo Teixeira Batista de Sousa


clistenyseduardo26@gmail.com
O que é a Unity?
• Game Engine
• Primeira versão lançada em 2005
• Plataformas:
➢Windows, Linux, Mac
➢WEB (Web Player e Flash)
➢Celulares e Tablets (Android, iOS e Windows Phone)
➢Consoles (PS3, PS4, PSVita, XBOX 360, XBOX One, Wii, etc)

clistenyseduardo26@gmail.com 2
O que é a Unity?
• Global game engine market share:

Fonte: Unity 2015


clistenyseduardo26@gmail.com 3
O que é a Unity?
• Versão Gratuita desde 2009
➢Mais de 4 milhões de registros em 2015

Fonte: Unity 2015


clistenyseduardo26@gmail.com 4
O que é a Unity?
• Utilizada por pequenas e grandes empresas:
➢Cartoon Network, Coca-Cola, Disney, Electronic Arts, LEGO, Microsoft, NASA,
Nexon, Nickelodeon, Square, Ubisoft, Warner Bros...
• •DirectX e OpenGL
• •Script:
➢JavaScript (UnityScript)
➢C#
• •Asset Store

clistenyseduardo26@gmail.com 5
Alguns jogos feitos na Unity...
Cuphead Inside

HearthStone Rick and Morty: Virtual Rick-ality

clistenyseduardo26@gmail.com 6
Unity: Interface Principal
• Project Window

clistenyseduardo26@gmail.com 7
Unity: Interface Principal
• Scene View

clistenyseduardo26@gmail.com 8
Unity: Interface Principal
• Scene View Navigation:
➢Arrow Movement
➢Move, Orbit and Zoom
➢Flythrough Mode
➢Scene Gizmo

clistenyseduardo26@gmail.com 9
Unity: Interface Principal
• Scene View:
➢Translate, Rotate e Scale

➢Control Bar

clistenyseduardo26@gmail.com 10
Unity: Interface Principal
• Game View:
• Play Mode

• Control Bar

clistenyseduardo26@gmail.com 11
Unity: Interface Principal
• Game View:
➢Statistics

clistenyseduardo26@gmail.com 12
Unity: Interface Principal
• Hierarchy Window

clistenyseduardo26@gmail.com 13
Unity: Interface Principal
• Hierarchy Window
➢Parentesco

clistenyseduardo26@gmail.com 14
Unity: Interface Principal
• Inspector

clistenyseduardo26@gmail.com 15
Unity: Objetos Primitivos
• Cubo
• Esfera
• Capsula
• Cilindro
• Plano
• Quadro

clistenyseduardo26@gmail.com 16
Prática 1
• Construa uma fortaleza simples utilizando os objetos primitivos da
Unity. A fortaleza deve ser semelhante a mostrada na figura abaixo.

Observação: os pilares devem


estar perfeitamente alinhados
e os murros devem estar em
uma mesma altura.

clistenyseduardo26@gmail.com 17
Unity: Importação de Assets
• Arquivos comuns:
➢Arquivos de Imagem
➢Arquivos de Modelos 3D
➢Meshes e Animações
➢Arquivos de Áudio

clistenyseduardo26@gmail.com 18
Unity: Importação de Assets
• Configurando Importação

clistenyseduardo26@gmail.com 19
Unity: Importação de Assets
• Importação de Imagens

clistenyseduardo26@gmail.com 20
Unity: Importação de Assets
• Importação de Modelos 3D

clistenyseduardo26@gmail.com 21
Unity: Importação de Assets
• Importação de Meshes e Animações

clistenyseduardo26@gmail.com 22
Unity: Importação de Assets
• Importação de Áudios

clistenyseduardo26@gmail.com 23
Unity: Standard Assets

clistenyseduardo26@gmail.com 24
Unity: Assets Store

clistenyseduardo26@gmail.com 25
Prática 2
• Continue a construção da fortaleza do exercício anterior adicionando
texturas ao ambiente.

clistenyseduardo26@gmail.com 26
Unity: Conceitos Primários
• Cenas

clistenyseduardo26@gmail.com 27
Unity: Conceitos Primários
• GameObjects
• Na Unity, todos os Objetos de um jogo são GameObjects
• GameObjects podem ser compostos por vários Components

clistenyseduardo26@gmail.com 28
Unity: Conceitos Primários
• GameObjects e Components

clistenyseduardo26@gmail.com 29
Unity: Conceitos Primários
• GameObjects e Components

clistenyseduardo26@gmail.com 30
Unity: Conceitos Primários
• Todo GameObject possui um Component Transform

• Todo GameObject possui uma Tag

clistenyseduardo26@gmail.com 31
Unity: Conceitos Primários
• Todo GameObject possui um Layer
• Possíveis aplicações:
➢Renderizar somente parte da cena;
➢Iluminar somente uma parte dos objetos;
➢Raycasting seletivo;
➢Colisões;

clistenyseduardo26@gmail.com 32
Unity: Conceitos Primários
• Prefab

clistenyseduardo26@gmail.com 33
Prática 3
• Crie um prefab baseado na fortaleza elaborada nas práticas anteriores
e construa um conjunto de fortalezas interligadas (como mostrado na
figura abaixo).

clistenyseduardo26@gmail.com 34
Unity: Programação
void MoveThePlayer(){
move_Direction = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical"));
//print("Horizontal: " + Input.GetAxis("Horizontal"));
move_Direction = transform.TransformDirection(move_Direction);
move_Direction *= speed*Time.deltaTime;

ApplyGravity();

character_Controller.Move(move_Direction);
}

clistenyseduardo26@gmail.com 35
Unity: Programação
void ApplyGravity(){
if(character_Controller.isGrounded){
vertical_Velocity -= gravity * Time.deltaTime;
//jump
PlayerJump();
}else{
vertical_Velocity -= gravity * Time.deltaTime;
}
move_Direction.y = vertical_Velocity*Time.deltaTime ;

}//Apply Gravity

void PlayerJump(){
if(character_Controller.isGrounded && Input.GetKeyDown(KeyCode.Space)){
vertical_Velocity = jump_Force;
}
}

clistenyseduardo26@gmail.com 36
Unity: Build

clistenyseduardo26@gmail.com 37

Você também pode gostar