Ir para


- - - - -

[Unity 3D] Minimap

Unity 3D Game Development Game Design Desenvolvimento de Jogos Minimap

  • Responder
Não há respostas neste tópico

#1 ixnaydk

    Enciclopédia

  • Administrador
  • 9.456 Posts:
  • Gender:Male

Postou 30 outubro 2011 - 04:55

E ai pessoal, tudo na boa?

Bom, na verdade eu não ia postar esse tutorial... eu estava para postar tutorial de como desenvolver o jogo Breakout/Arkanoid, mas como não achei nenhum tutorial de Minimap em português e os poucos que achei em inglês utilizam a versão paga do Unity, resolvi quebrar a cabeça para fazer um para usar na PdM City e venho aqui explicar como se faz.

Nesse tutorial, vou utilizar o exemplo First Person Control que já vem com o Unity.
Vamos criar um novo projeto em File -> New Project. Não vamos importar nada nessa primeira tela, vamos deixar para depois.

Vamos criar um terreno básico clicando em Terrain -> Create Terrain.

Dependendo do ângulo da câmera que vc está usando, sua tela ficou inteira cinza. Para acertar isso, apenas dê dois cliques no item Terrain na aba Hierarchy.

Clicando no Terrain, irá aparecer novas opções na aba Inspector. Clique na opção que tem um pincel, que está marcada na foto abaixo.

Imagem anexa: minimap000.png

Após clicar no pincel, clique no botão que tem uma engrenagem e está escrito Edit Texture... -> Add Texture...
Feito isso, irá abrir uma telinha, clique em uma bolinha que está no final da primeira linha, onde está escrito Splat: None (Texture 2D).
Novamente irá abrir uma nova tela, nessa tela mostrará todas as texturas que vc tem importadas no projeto. Clique duas vezes na textura chamada Default-Particle e dê Add.

Seu terreno ficou com a textura que vc escolheu. Caso vc tenha outras texturas, é possível adicionar mais texturas e pintar o terreno da forma que vc quiser, explicarei isso em outro tutorial.

Agora vamos importar nosso personagem em primeira pessoa.
Para isso, clique com o botão direito dentro da aba project, escolha Import Package -> Character Controller.
Na tela que aparecer, clique em Import.

Imagem anexa: minimap001.png

Assim que terminar a importação, irá aparecer uma pasta chamada Standard Assets na aba Project.
Essa pasta tem alguns exemplos de câmera e movimentação em primeira pessoa e uma outra meio que em terceira pessoa isométrico.

Clique na seta em frente da pasta Standard Assets para abrir e depois na seta na pasta Character Controllers.
Iremos clicar e arrastar para o meio do cenário o componente chamado First Person Controller.
Clique no botão Play para brincar um pouco com ele usando as teclas W,S,A,D e o mouse.

Imagem anexa: minimap002.png

Agora vamos começar a criar nosso Minimap.
Clique na Main Camera que está na aba Hierarchy, aperte F2 para mudar o nome e escreva Minimap.

Na aba Inspector iremos fazer várias mudanças, começando pela adição de um novo layer em nosso projeto.
Para isso clique nas opções onde está escrito Layer: Default e depois em Add Layer. Por padrão, o Unity vem com 7 layers definidos pelo sistema, clique na frente da onde está escrito User Layer 8 e coloque o nome Minimap.
Clique de volta no Minimap na aba Hierarchy, e agora onde está Layer: Default, mude para Layer: Minimap.

Em Tag, troque de Main Camera para Untagged.
Agora iremos mudar a opção Clear Flags de Skybox para Depth Only.
Na opção Culling Mask, podemos deixar como Everything no caso de vc querer mostrar tudo (personagens, casas, rios, etc) no mapa ou mudar para Minimap para só mostrar seu mapa. Fica a critério de cada um, para o tutorial eu escolhi o Everything.
Em Projection, altere de Perspective para Orthographic.
Altere o Size para 10 e logo abaixo o Far para 50.
Mude também o Depth para 1 e finalmente, volte lá pra cima e mude o Rotation X para 90.

Se quiser, vc pode apagar os componentes GUILayer, Flare Layer e Audio Listener de sua câmera e ficar com as opções igual a foto abaixo.

Imagem anexa: minimap003.png

Bom, chegou a hora de programar um pouco heheh
Clique com o botão direito na pasta Project -> Create -> JavaScript, dê o nome de Minimap para o arquivo criado. Logo após, clique em Open para abrir o MonoDevelop.

Vamos colocar o seguinte código no arquivo Minimap.js

var Player : Transform;

function Update () {
transform.position = Vector3(Player.position.x,transform.position.y,Player.position.z);
}

Imagem anexa: minimap004.png

Explicando: Vamos criar uma var chamada Player do tipo Transform, dessa maneira podemos mover nosso minimap.
Na linha transform.position, estamos usando um Vector3, coordenadas XYZ, mas apenas usando X e Z, pois vai ser por onde nosso personagem vai andar pelo cenário.

Feito isso dai, vamos salvar e voltar para o Unity.
Clique e arraste seu arquivo Minimap que está em Project para o item Minimap em Hierarchy.
Repare que nas opções do Minimap que está em Hierarchy apareceu uma nova opção chamada Player, clique e arraste o First Person Controller de Hierarchy para lá.

Se der um Play agora, vc só vera uma tela preta e mais nada, vamos precisar alterar mais umas configurações de nosso Minimap, lá na aba Inspector.
Nos valores de Normalized View Port Rect, coloque os valores abaixo:
X: 0.89
Y: 0.68
W: 0.1
H: 0.3

Pronto, nosso Minimap está funcionando!
É isso ai, e que o próximo tutorial seja o Breakout :P

Imagem anexa: minimap005.png





1 usuário(s) está(ão) lendo este tópico

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)