• Nenhum resultado encontrado

materiais e shaders e prefabs prefabs.

No documento Book Unity.indb 1 16/05/2012 19:11:05 (páginas 45-55)

materiais e shaders e prefabs.prefabs.

Você,

Você, provavelmente, provavelmente, vai vai ouvir ouvir falar falar muito muito sobre sobre assetasset

pipeline. Assets são todos os tipos de arquivos de mídia que você

pipeline. Assets são todos os tipos de arquivos de mídia que você

pode importar para seu jogo. Pipeline (“encanamento”) é o fluxo de

pode importar para seu jogo. Pipeline (“encanamento”) é o fluxo de

produção ou importação destes assets e qual a melhor forma de

produção ou importação destes assets e qual a melhor forma de

fazê-lo.

fazê-lo.

Unity

Unity dá dá suporte suporte a a um um grande grande número número de de formatos: formatos: texturastexturas

direto do Photoshop (.psd), modelos direto do Blender (.blend),

direto do Photoshop (.psd), modelos direto do Blender (.blend),

modelos .fbx exportados 3Dmax/Maya, imagens diversas (jpg,

modelos .fbx exportados 3Dmax/Maya, imagens diversas (jpg,

bmp, png),

bmp, png), animações, áudios (wavanimações, áudios (wav, mp3, que podem ser testados, mp3, que podem ser testados

dentro do editor), fontes e outros tipos de modelos 3d.

dentro do editor), fontes e outros tipos de modelos 3d.

A

A importação importação pode pode ser ser feita feita diretamente, diretamente, apenas apenas arrastandoarrastando

o asset para a pasta do projeto dentro do Unity, ou através do

o asset para a pasta do projeto dentro do Unity, ou através do

menu Assets -> Import . A visualização é em tempo real, isto é, se

menu Assets -> Import . A visualização é em tempo real, isto é, se

um arquivo for editado fora da Uni

um arquivo for editado fora da Unityty, esta atualiza a cena d, esta atualiza a cena depois deepois de

alguns instantes.

alguns instantes.

Jogo de exemplo mostrado durante as aulas

I m p o r t a ç ã o e c r i a ç ã o d e a s s e t s

45 É importante saber como estes arquivos são criados fora

da Unity, mas não é propósito deste texto mostrar a criação dos mesmos.

Prefabs

Prefabs podem ser compreendidos como objetos que serão reutilizados na mesma cena, ou em diversas cenas diferentes, cuja utilização traz diversos benefícios. Quando criamos o prefab de uma pedra, por exemplo, podemos utilizar este mesmo modelo diversas vezes na cena. E, se por algum motivo for necessário alterar algum atributo dessa pedra, como o componente de colisão dela, em vez de atualizarmos individualmente cada uma das possíveis centenas de pedras na cena, podemos alterar somente o prefab, e este automaticamente atualiza todas as instâncias utilizadas em todas as cenas.

 A utilização de prefabs não impede que cada instância do GameObject possua características e atributos únicos (posição e escala, por exemplo). Além das transformações, é possível alterar variáveis específicas de componentes do prefab.

Criando: Assets->Create->Prefab.

Definindo: apenas crie um gameobject comum e adicione os componentes que quiser. Estando pronto, arraste para cima do prefab.

Usando: agora arraste o prefab para a sua cena. Você pode apagar o gameobject original.

No código é possível se instanciar (criar) dinamicamente um prefab através de um comando específico, assim como é possível destruir um objeto:

 Instantiate(nomePrefab, posicaoPrefab, rotacaoPrefab);  Destroy(nomeGameObject);

U n i t y 3 D C a p í t u l o 8

U n i t y 3 D

48

Capítulo 8 - Interface

“Na natureza nada se cria, tudo se transforma”  - Antoine Lavoisier, químico francês, 1743 - 1794

O que vamos aprender neste capítulo:

Neste capítulo, iremos ver como podemos criar interfaces simples para nosso jogo.

1.

GUI,

GUIText,

GUITexture,

GUISKin,

GUILayout

GUI é sigla para Graphical User Interface, interface gráfica com o usuário/jogador e tudo o que for usado para mostrar a situação do jogo, pontos, vidas e informações diversas.

Para criar interfaces temos diversos componentes de Unity, como GUIText e GUITexture que utilizaremos aqui em um exemplo simples.

Veja que existe uma função especial no código para chamar a interface: Chama-se OnGUI. Vamos utilizá-la:

I n t e r f a c e

49 Crie, deste modo, um objeto vazio na sua cena apenas para

receber o script de interface:

Lembre sempre de anexar seu script a pelo menos um objeto em cena.

Veja como vai ficar a interface (simples):

 Aqui temos um texto no canto superior esquerdo da tela, um botão que exibe um texto e ativa algo quando apertado, no caso exibe uma mensagem no console, a janela de console aberta onde estas mensagens aparecem (normalmente fica minimizada no canto inferior esquerdo), a mensagem no console do apertar do botão  junto com uma mensagem de erro automática (vide código a

seguir), e notamos que podemos pausar o andamento do nosso  jogo e adiantar um pouco por vez usando os botões de play e

U n i t y 3 D

50

Vamos ao código para isso tudo, não se assustem.

Naquele script de interface, além do padrão que vem com ele, é isto o que deve entrar:

 Aqui temos o método OnGUI, que é chamado sempre para mostrar as coisas na tela. Um GUILayout para escrever um texto (clássico) na tela, a criação de um botão em determinada posição com certo tamanho (é um retângulo) e um certo texto, que se apertado escreve um texto no console, dois atributos de textura para serem usados nestes botões (repare na imagem a seguir que as texturas public aparecem na interface da Unity e eu preciso arrastar texturas até lá)

I n t e r f a c e

51 Um teste para conferir se essas texturas (uma ao menos) foram

carregadas está na NÃO exibição de uma mensagem de erro no console; outro é a criação de botão usando uma dessas texturas que, se apertado, exibe uma mensagem no console de forma ligeiramente diferente.

Seja você programador ou não, aqui você acaba de fazer seu “Hello World” em código, seu primeiro código em C# / Unity !

U n i t y 3 D C a p í t u l o 9

U n i t y 3 D

54

Capítulo 9 -

Terrenos

“A beleza está nos olhos de quem vê”  - Ditado popular 

O que vamos aprender neste capítulo:

Neste capítulo, iremos ver como a Unity pode criar terrenos de forma fácil e rápida.

1.

Relevo, Textura, Árvores, Grama, Água,

No documento Book Unity.indb 1 16/05/2012 19:11:05 (páginas 45-55)

Documentos relacionados