Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sumrio
1 2 Introduo ao ambiente UNITY 3D ................................................................................................. 3 Painis do Unity 3D ......................................................................................................................... 3 2.1 2.2 2.3 3 Painel Hierarchy ...................................................................................................................... 3 Painel Project .......................................................................................................................... 5 Painel Inspector ...................................................................................................................... 5
Funes de controle de cmera (modo edio) ............................................................................. 5 3.1 3.2 3.3 3.4 Afastar a viso da cena (zoom) ............................................................................................... 5 Girar a tela............................................................................................................................... 5 Puxar e empurrar a tela .......................................................................................................... 5 Centralizar um objeto (focus) ................................................................................................. 5
Criando um Projeto ......................................................................................................................... 5 4.1 Crie um projeto ....................................................................................................................... 5 Criando o plano ............................................................................................................... 6 Criando a luz ou iluminao ............................................................................................ 6 Adicionando movimentao ........................................................................................... 6 Adicionando o personagem (esfera) ............................................................................... 7 Adicionando componentes ............................................................................................. 7 Camera seguindo personagem ....................................................................................... 8 Adicionando mais componentes ao personagem........................................................... 8 Adicionando bolas de fogo.............................................................................................. 9 Importando objetos ...................................................................................................... 10 Fazendo as bolas de fogo sumirem ............................................................................... 11 Melhorando o movimento ............................................................................................ 11 Importando a Torre ....................................................................................................... 11 Mudando a inteligncia ................................................................................................ 12
4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.1.10 4.1.11 4.1.12 4.1.13
2 Painis do Unity 3D
Nesta seo voc encontra algumas dicas dos painis e como organizado o ambiente de desenvolvimento Unity 3D. Primeira coisa a notar que voc pode movimentar os painis do jeito que voc achar melhor de desenvolver. Basta clicar, segurar e arrastar para a parte da tela especifica que voc deseja deixar o painel. Geralmente deixa-se o painel inspector bem no lado direito, que fica mais fcil de achar as propriedades. Uma dica deixar as abas de project e hierarchy acopladas ao lado da aba inspector ficando toda a tela para visualizar a cena. A outra aba, com o nome de Game como realmente vai ficar a cena depois de renderizar, que seria mais ou menos a mesma coisa que apertar o boto de play, por isso no necessrio dividir em duas telas (alguns gostam de deixar as duas abas aparecendo).
Quando estiver no modo de movimentao das setas, difcil de saber onde o objeto vai estar dentro da cena, ento para facilitar, existe uma parte com todos os eixos bem no canto superior direito, onde voc clica e ele posiciona a cmera direto conforme o eixo selecionado para voc ter uma viso do objeto conforme aquele ngulo especifico. Selecionando a parte de rotao na edio de cena, ao lado das setas de movimentao do objeto, voc pode dizer para qual lado o objeto vai estar virado, quando iniciar o jogo. Neste modo, vai aparecer um globo onde voc pode clicar e girar o objeto, em torno de cada um dos eixos que est no globo.
Quando voc der um play, e deixar as duas telas, cena e game junto, quando voc se movimentar vai ver o cilindro ou cubo que representa o personagem movimentando-se. esse cubo que monitora as colises dos objetos, no a parte grfica que geralmente enxergamos, um objeto com muitos pontos de coliso geralmente gerencia vrios cubos ou partes diferentes, tornando complexo o sistema.
4 Criando um Projeto
A primeira coisa que temos que entender a diferena entre um projeto e uma cena. Um projeto praticamente todo o jogo completo, englobando todas as fases, todos os bnus, tudo que aparece no jogo. Uma cena propriamente um nvel ou fase do seu jogo. A cena simplesmente parte do projeto. Um projeto pode conter apenas uma cena. Quando voc cria uma nova cena, voc pode usar objetos (assets) criados em outras cenas.
O prximo passo transformar o cubo em um plano, ou seja, algum lugar onde possamos andar e caminhar. O primeiro passo esticar os eixos do plano. Ento na mesma aba inspector v na parte de escala e modifique o tamanho para ser um ambiente onde possamos caminhar. No exemplo vamos fazer um plano de 25x25, conforme a figura:
O plano vai parecer meio alto, podemos modificar o eixo y para 0.3, pois no necessrio ter um plano maior. Aperte o play e rode a cena. Quando rodamos a cena, ns iremos poder ver o cho mas no poderemos nos movimentar.
function Update () { var controller : CharacterController = GetComponent(CharacterController); // Rotate around y - axis transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0); // Move forward / backward var forward : Vector3 = transform.TransformDirection(Vector3.forward); var curSpeed : float = speed * Input.GetAxis ("Vertical"); controller.SimpleMove(forward * curSpeed); } @script RequireComponent(CharacterController)
Pessoal, o cdigo deve ficar como est aqui, com as letras coloridas, se der erro porque tem que arrumar o cdigo, devido ao script no reconhecer algum caracter. Este cdigo cria praticamente duas variveis, speed que a velocidade que o objeto vai ter sua movimentao e rotateSpeed que a velocidade que o objeto vai rotacionar. A funo update chamada toda vez que a engine desenhar um frame da cena (+- mil por segundo). Feito isto arresta o script para cima da esfera. L da aba Project, clique e arraste para cima da esfera na aba hierarchy.
Agora quando voc clicar no worm, no script move around vai existir uma propriedade bulli Prefab. Arraste a bola de fogo para o espao disponvel para definir a propriedade.
O que faz essa linha? Quando voc usa instantiate voc cria um prefab no mundo, que precisa de 3 parametros. Instantiate (1,2,3) 1 = o que voc vai criar 2= a posio onde voc vai criar 3 = ngulo de onde ele vai ser visto.
Agora vamos fazer as bolas andar.Adicione uma fsica na bola de fogo, l no componente prefab do tipo rigibody. Adicione logo abaixo da linha var bullit... a seguinte linha: bullit.Rigibody.AddForce(transform.forward * 2000);
Feito isso nosso jogador agora atira bolas de fogo. Adicione uma parede para as bolas no passarem da parede e testar um pouco da fsica da unity3d.
4.1.10
Agora vamos criar um novo script que vai fazer as bolas sumirem. Crie um novo script no projeto. O script deve conter as seguintes linhas:
Feito isso, arraste o script para o preFab fireball. Pronto, suas bolas de fogo devem sumir depois de 1 segundo.
4.1.11
Melhorando o movimento
Quando nosso personagem anda, ainda sofre uns problemas de fsica, ento retire as partes do corpo de dentro do worm, e adicione os scripts smoothfollow para as 2 partes novamente. Agora clique na parte do worm, bodypart2 e coloque o target do script smoothfollow o nosso worm. No follow do bodypart3 coloque o bodypart2. Se voc rodar vai ver que a bola est sozinha. Isto porque por default, a distancia 10, modifique a distancia para 1. Modifique tambm a propriedade height para 0, para no ter distancia no eixo y tb, Modifique as duas propriedades abaixo para 6, que so as rotaes que as bolas faro ao seguir.
4.1.12
Importando a Torre
Agora voc deve importar a torre que esta disponvel. Feito isso, no esquea de marcar as colises dentro do prefab da torre. Aps isso, arraste a torre para sua cena. Aps fazer isto, separa as duas parte das torre. Deixando a de cima e a de baixo separadas. Crie um novo gameobject. Va em gameobject e depois clique em createempty. Coloque agora as duas partes da torre dentro do novo gameobject. Crie um novo javascript no projeto com o nome de TurretControl. Adicione as linhas abaixo ao script:
4.1.13
Mudando a inteligncia
Se voc percer, a torre nunca vai errar um tiro, pois ela mira direto no nosso worm. Isso injusto e tornaria o game praticamente invencvel. Vamos modificar o script de olhar. Clique no script e modifique um pouco a rotao. Vamos fazer ela rotacionar um pouco mais devagar.
var LookAtTarget:Transform; var damp = 1.0; //deltaTime a diferenca entre um frame e o seguinte function Update () { var rotate = Quaternion.LookRotation(LookAtTarget.position - transform.position ); transform.rotation = Quaternion.Slerp(transform.rotation, rotate, Time.deltaTime * damp); //transform.LookAt(LookAtTarget); }
Essa modificao faz com que a torre ande um pouco mais devagar. Divirtam-se construindo jogos e cenrios. Existe muito tutorial na internet.