tutorial unity
TRANSCRIPT
![Page 1: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/1.jpg)
Tutorial Unity 3D
Reginaldo Costa
![Page 2: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/2.jpg)
Afinal, o que é Unity3d?
![Page 3: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/3.jpg)
E o que não é?
![Page 4: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/4.jpg)
Versões gratuitas
x Versões pagas
![Page 5: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/5.jpg)
Criando/abrindo
um projeto
![Page 6: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/6.jpg)
O que incluir num
novo projeto?
![Page 7: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/7.jpg)
![Page 8: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/8.jpg)
Criando uma nova
cena
![Page 9: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/9.jpg)
interface do UNITY
![Page 10: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/10.jpg)
Importância de organizar o
projeto!
![Page 11: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/11.jpg)
Formatos suportados
–3d max
–Blender
–FBX
–Imagens JPEG, GIF e PNG
–Arquivos do Photoshop
![Page 12: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/12.jpg)
Geometria básica
![Page 13: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/13.jpg)
Posicionando, rotacionando
e dimensionando
![Page 14: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/14.jpg)
Importando objetos
![Page 15: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/15.jpg)
3 formas de importação
– Import New Asset
–Arrastando do Explorer
–Colocando manualmente
![Page 16: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/16.jpg)
Unity é semisciente!
![Page 17: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/17.jpg)
Criando um terreno
![Page 18: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/18.jpg)
Criando relevo
![Page 19: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/19.jpg)
Câmera estática
![Page 20: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/20.jpg)
Controlador de 1ª e 3ª pessoas
![Page 21: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/21.jpg)
Corpos rígidos e gravidade
![Page 22: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/22.jpg)
Exportando seu projeto
–Executável
–Web
![Page 23: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/23.jpg)
Adicionando interação
![Page 24: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/24.jpg)
Rotacionando
var speed = 20;
function Update () {
transform.Rotate(0, speed*Time.deltaTime, 0);
}
![Page 25: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/29.jpg)
Verificando a ordem em que as cenas serão executadas
![Page 30: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/30.jpg)
Criando um menu de cenas
![Page 31: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/33.jpg)
Criando uma tela de login
![Page 34: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/38.jpg)
Animação
![Page 39: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/41.jpg)
Livros Unity 3D
![Page 42: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/42.jpg)
Livros Unity 3D (2)
![Page 43: Tutorial Unity](https://reader035.vdocuments.mx/reader035/viewer/2022081717/5532b73f550346e1028b46b7/html5/thumbnails/43.jpg)
Sites de modelos 3D
• http://www.hongkiat.com/blog/60-excellent-free-3d-model-websites/