Top Banner
Tutorial Unity 3D Reginaldo Costa
43

Tutorial Unity

Apr 18, 2015

Download

Documents

Reginaldo Costa
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tutorial Unity

Tutorial Unity 3D

Reginaldo Costa

Page 2: Tutorial Unity

Afinal, o que é Unity3d?

Page 3: Tutorial Unity

E o que não é?

Page 4: Tutorial Unity

Versões gratuitas

x Versões pagas

Page 5: Tutorial Unity

Criando/abrindo

um projeto

Page 6: Tutorial Unity

O que incluir num

novo projeto?

Page 7: Tutorial Unity
Page 8: Tutorial Unity

Criando uma nova

cena

Page 9: Tutorial Unity

interface do UNITY

Page 10: Tutorial Unity

Importância de organizar o

projeto!

Page 11: Tutorial Unity

Formatos suportados

–3d max

–Blender

–FBX

–Imagens JPEG, GIF e PNG

–Arquivos do Photoshop

Page 12: Tutorial Unity

Geometria básica

Page 13: Tutorial Unity

Posicionando, rotacionando

e dimensionando

Page 14: Tutorial Unity

Importando objetos

Page 15: Tutorial Unity

3 formas de importação

– Import New Asset

–Arrastando do Explorer

–Colocando manualmente

Page 16: Tutorial Unity

Unity é semisciente!

Page 17: Tutorial Unity

Criando um terreno

Page 18: Tutorial Unity

Criando relevo

Page 19: Tutorial Unity

Câmera estática

Page 20: Tutorial Unity

Controlador de 1ª e 3ª pessoas

Page 21: Tutorial Unity

Corpos rígidos e gravidade

Page 22: Tutorial Unity

Exportando seu projeto

–Executável

–Web

Page 23: Tutorial Unity

Adicionando interação

Page 24: Tutorial Unity

Rotacionando

var speed = 20;

function Update () {

transform.Rotate(0, speed*Time.deltaTime, 0);

}

Page 25: Tutorial Unity

Rotacionando pelo nome

var speed = 20;

function Update () {

transform.Rotate(0, speed*Time.deltaTime, 0);

GameObject.Find('cubo2').transform.Rotate(0,

speed*Time.deltaTime, 0);

}

Page 26: Tutorial Unity

Rotação seguindo o mouse

var rotationSpeed = 10.0;

var lerpSpeed = 1.0;

private var speed = new Vector3();

private var avgSpeed = new Vector3();

static var dragging = false;

private var targetSpeedX = new Vector3();

function OnMouseDown(){

print('mouse donw');

dragging = true;

}

Page 27: Tutorial Unity

function Update () {

if (Input.GetMouseButton(0) /*&& dragging*/) {

speed = new Vector3(-Input.GetAxis ("Mouse X"), Input.GetAxis("Mouse Y"), 0);

avgSpeed = Vector3.Lerp(avgSpeed,speed,Time.deltaTime * 5);

} else {

if (dragging) {

speed = avgSpeed;

dragging = false;

}

Page 28: Tutorial Unity

var i = Time.deltaTime * lerpSpeed;

speed = Vector3.Lerp( speed,

Vector3.zero, i);

}

transform.Rotate( Camera.main.transform.up *

speed.x * rotationSpeed, Space.World );

transform.Rotate( Camera.main.transform.right *

speed.y * rotationSpeed, Space.World );

}

Page 29: Tutorial Unity

Verificando a ordem em que as cenas serão executadas

Page 30: Tutorial Unity

Criando um menu de cenas

Page 31: Tutorial Unity

function OnGUI () {

var posHorizontal = (Screen.width)/2;

var posVertical = 10;

if (GUI.Button( Rect(posHorizontal-

320,posVertical,150,40),"Cena 1")) {

Application.LoadLevel(1);

}

if (GUI.Button(Rect( posHorizontal-

160,posVertical,150,40),"Cena 2")) {

Application.LoadLevel(2);

}

Page 32: Tutorial Unity

if (GUI.Button(Rect(

posHorizontal,posVertical ,150,40),"Cena

3")) {

Application.LoadLevel(3);

}

if (GUI.Button(Rect( posHorizontal+170,

posVertical, 150,40),"Sair")) {

Application.Quit();

}

}

Page 33: Tutorial Unity

Criando uma tela de login

Page 34: Tutorial Unity

var campoNomeUsuario:String;

var campoSenha:String;

var texto:String = "";

function OnGUI() {

GUI.skin.button.hover.textColor = Color.cyan;

GUI.skin.button.active.textColor = Color.yellow;

GUI.skin.button.normal.textColor = Color.white;

var posHorizontal = (Screen.width) /2;

var posVertical = (Screen.height - 230) /2; GUI.Box(Rect(posHorizontal,posVertical,300,160),"VIRTUAL SUBSTATION - LOGIN");

Page 35: Tutorial Unity

GUI.Label( Rect (posHorizontal + 60,

posVertical +50, 80, 20), "Usuário:" );

GUI.Label( Rect (posHorizontal + 60,

posVertical +80, 80, 20), "Senha:" );

GUI.SetNextControlName("nomeUsuario");

campoNomeUsuario = GUI.TextField( Rect

(posHorizontal +140, posVertical +50, 110,

20), campoNomeUsuario );

GUI.SetNextControlName("senha");

campoSenha = GUI.PasswordField ( Rect

(posHorizontal +140, posVertical +80, 110,

20), campoSenha , "*"[0], 25);

if

(GUI.GetNameOfFocusedControl().Equals("")) {

GUI.FocusControl("nomeUsuario");

}

Page 36: Tutorial Unity

if( GUI.Button ( Rect (posHorizontal + 45,

posVertical +120, 100, 25),"Fazer Login" ) ){

if

((campoNomeUsuario.Equals('reginaldo')) &&

campoSenha.Equals('teste')) {

texto = 'Confere';

print('confere');

}

else{

texto = 'não confere';

print('não confere');

}

}

Page 37: Tutorial Unity

if( GUI.Button ( Rect

(posHorizontal + 155, posVertical

+120, 100, 25),"Sair" ) ){ //just a

button

Application.Quit();

}

if (!texto.Equals("")){

GUI.Label( Rect (posHorizontal +

60, posVertical +180, 80, 20),

texto);

}

}

Page 38: Tutorial Unity

Animação

Page 39: Tutorial Unity

Executando uma animação por script

var posHorizontal = (Screen.width - 50)/2;

function OnGUI () {

if(GUI.Button(Rect

(posHorizontal+60,Screen.height-60,50,50),"Play"))

{

GameObject.Find("Cube").animation.Play('animac

ao');

}

}

Page 40: Tutorial Unity

Onde conseguir mais?

• http://unity3d.qatohost.com/questions/index.html

• http://forum.unity3dbrasil.com/viewforum.php?f=3

• http://www.gamedev.com.br/forum/viewforum.php?f=60

Page 41: Tutorial Unity

Livros Unity 3D

Page 42: Tutorial Unity

Livros Unity 3D (2)