tópicos especiais i: engines criação de ambientes com o 1º semestre 2010 > pucpr > pós...

37
Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Upload: internet

Post on 16-Apr-2015

109 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Tópicos Especiais I: EnginesCriação de ambientes com o

1º Semestre 2010 > PUCPR > Pós Jogos

Bruno C. de PaulaBruno C. de Paula

Page 2: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

ResumoVamos conhecer as funcionalidades para criação de ambientes usando a engine Unity 3D;

Além disso, vamos discutir sobre alguns conceitos relacionados a ambientes que são comuns a qualquer engine gráfica 3D;

Nosso foco será a criação de terrenos.

Page 3: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Criação de níveis e ambientesAbordagens Importação de modelo feito em outro

programa;Criação de terreno dentro do próprio

Unity 3D;

311/04/23

Page 4: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Ambientes são construídos a partir de modelos 3DModelos 3D possuem: meshes

(malhas de polígonos), texturas, animações e bones (esqueleto);

O Unity 3D trabalha com arquivos nos formatos:

Autodesk FBX;DAE / Collada;3DS (só meshes);OBJ (só meshes);DXF (só meshes).

411/04/23

Page 5: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Modelos podem ser importados a partir de ferramentas externas de uso geralMaya (Autodesk –

comercial – US$ 3000);3D Studio Max (Autodesk

– comercial – US$ 3000);Cheetah 3D (Martin

Wengenmayer – comercial – US$ 149,00);

Cinema 4D (GmbH – comercial – ~ US$ 700,00);

511/04/23

Page 6: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Modelos podem ser importados a partir de ferramentas externas de uso geral

Blender (Blender Foundation – Free);Carrara (Daz 3D – US$ 270,00);Lightwave (NewTek – US$ 995,00);Autodesk XSI (Autodesk – US$ 2995,00);SketchUp Pro (Google – US$ 495,00 –

Suporte parcial!);Mais informações e passo a passo;

611/04/23

Page 7: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Terrenos podem ser importados a partir de ferramentas externas específicas

Ferramentas não são exclusivas para o Unity !

Necessário uso de scripts para algumas importações;

Verifique o suporte antes de usar extensivamente!

L3DT (Bundysoft – free/US$ 150,00);Terragen (Planetside – free/US$ 299,00);World Machine (Stephen Schmitt –

free/US$189,00);

711/04/23

Page 8: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Terrenos podem ser importados a partir de ferramentas externas específicas

Fractscape (Starscape – US$ 20,00);Freeworld 3D (Soconne – US$ 30,00);EarthSculptor (Ernest Szoka – US$

59,00);Google Earth (Como assim?!)(Google –

free);Outros (não testado): Grome, Picogen.

811/04/23

Page 9: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Importando modelos FBXDocumentação;1) Arrastar o arquivo FBX para dentro da

Project View;2) Acertar o fator de escala no

componente FBXImporter (Scale Factor);

3) Para que os seus objetos colidam com o modelo, habilite a opção Generate Colliders;

911/04/23

Page 10: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Importando pacotes do Unity

Download de pacotes de recursos;1) Selecionar a opção Assets > Import

Package;2) Escolher um arquivo com a

extensão .unitypackage;

1011/04/23

Page 11: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Navegação básica em um nível

Usar o Prefab First Person Controller; Implementa controle estilo FPS; Importante: eliminar o Main Camera

anterior;

1111/04/23

Page 12: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Navegação básica em um nível

First Person Controller é formado pelos componentes:FPSWalker: implementa

movimentação e pulo;Character Controller: controle do

personagem não responde realisticamente à física (estilo Doom);

Mouse Look: câmera a partir do movimento do mouse;

1211/04/23

*

Page 13: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Criação de TerrenoTerrain > Create

Terrain;Terrenos não

possuem rotação;Terrenos podem ser

enormes!Navegue por um

terreno usando o atalho F;

1311/04/23

Page 14: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Criação de Terreno

Terrenos são formados por diversas camadas: heightmap (altura), splatmap (posicionamento das texturas), detail resolution map (árvores e detalhes).

Alteração de parâmetros em Terrain > Set Resolution;

Unity importa e exporta height map (Menu Terrain);

Terreno pode ser nivelado em Terrain > Flatten Heightmap.

1411/04/23

Page 15: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Terrain > Set Resolution

Configurações para o Heightmap;

Heightmap é uma imagem usada para armazenar valores de elevação;

Preto -> Altura Mínima;

Branco -> Altura Máxima;

1511/04/23

Page 16: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Terrain > Set Resolution

Configurações para o Heightmap;Terrain Width, Height e Lenght:

Largura / Altura / Comprimento do terreno (metros);

Heightmap Resolution: Resolução do heightmap usado para armazenar a topologia. Valores de 2^n + 1;

Detail Resolution: Resolução do mapa para armazenar árvores, rochas, etc. Quanto maior, mais preciso o posicionamento;

1611/04/23

Page 17: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Terrain > Set Resolution

Control Texture Resolution: Resolução do mapa usado para posicionar as texturas pintadas no terreno (Splat map), controla o detalhamento das texturas;

Base Texture Resolution: Resolução da textura usada em lugar do splat map depois de uma certa distância;

1711/04/23

Page 18: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Editor de TerrenosTerrain ScriptFerramentas de edição de terrenos.

1811/04/23

Page 19: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Editor de TerrenosTerrain ScriptRaise Height (SHIFT+Q): Subir e Baixar

altura;Paint Height (SHIFT + W): Pintar altura;Smooth Height (SHIFT+E): Suavizar altura;Paint Texture (SHIFT+R): Aplicar textura;Place Trees (SHIFT+T): Posicionar árvores;Paint Details (SHIFT + Y): Aplicar detalhes

(grama, rochas); Terrain Settings: Configurações do

terreno;

1911/04/23

Page 20: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Raise Height (SHIFT+Q)Subir e baixar alturaEscolher o pincel;

Brush Size: tamanho do pincel;Opacity: efetividade da deformação;

2011/04/23

Page 21: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Paint height(SHIFT + W)“Pintar” altura

Similar ao anterior;

Com configuração de altura máxima;

Quando chega na altura indicada pára de crescer;

Útil para criação de platôs;

2111/04/23

Page 22: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Smooth Height(SHIFT + E)Suavizar altura

Suaviza diferenças de altura;

Remove quedas bruscas;

2211/04/23

Page 23: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Paint Texture(SHIFT + R)Aplicar textura

Para usar a textura é necessário atribuir a textura ao terreno e misturá-las;

Armazenamento das texturas é feito em um splash map;

2311/04/23

Page 24: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Paint Texture(SHIFT + R)Aplicar texturaPrimeira textura é usada

como base do terreno;

2411/04/23

Page 25: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Place Trees(SHIFT+T)Posicionar árvoresÁrvores próximas da câmera:

Renderização em 3D;Árvores distantes da câmera:

Billboard (2D);Atualizados conforme a distância;LOD (Level of Detail);

Criação de milhares ao mesmo tempo:Terrain > Mass Place Trees;

Árvores não colidem por padrão;

2511/04/23

Page 26: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Place Trees(SHIFT+T)Posicionar árvores

Bend Factor: fator de vento;

Brush Size: número de árvores por clique;Tree Density: proximidade das árvores;Color Variation: cor aleatória aplicada às

árvores:Tree Width/Height: Tamanho das árvores;Variation: Variação;

2611/04/23

Page 27: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Paint Details(SHIFT + Y)Aplicar detalhesAplica objetos de detalhe como grama,

plantas, rochas, etc;Na prática, é uma textura 2D com

transparência ou 3D low poly.

2711/04/23

Page 28: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Paint Details(SHIFT + Y)Aplicar detalhes - Grama Detail Texture: textura usada para a grama; Min/ Max Width / Height: largura / altura

mínima / máxima (metros); Noise Spread: fator de agrupamento; Healty Color: cor predominante do centro da

grama; Dry Color: cor predominante nos cantos; Grayscale Lightning: desabilita iluminação

da grama por luz colorida; Lightmap Factor: influência do lightmap; Billboard: grama vira em direção à câmera.

2811/04/23

Page 29: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Paint Details(SHIFT + Y)Aplicar detalhes - OutrosModelos 3D de baixa definição (low

poly);Alta repetição;

2911/04/23

Page 30: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Terrain SettingsConfigurações do terrenoConfigurações

de performance:LOD;Vento;Lightmapping

.

3011/04/23

Page 31: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

LightmappingMapa de luz e sombraEstrutura de dados que armazena o

brilho das superfícies;Pré-computados e usados para

objetos estáticos – melhora performance;

Pioneiro: Quake.

3111/04/23

Sem lightmapping Com lightmapping

Page 32: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Lightmap no Unit

Menu Terrain > Create Lightmap;Antes de criar precisa ter pelo menos

uma luz direcional (Directional Light);Esta luz funciona como se fosse o

sol.

3211/04/23

Page 33: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Detalhes de criação de ambiente

A propriedade Flare da luz direcional dá um aspecto de luz solar;

A propriedade Background Color da câmera indica a cor do céu sem detalhamento;

3311/04/23

Page 34: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Detalhes de criação de ambienteSkyboxEm Edit > Render

Setting há configuração do céu aplicando uma textura (Skybox material) e outras configurações (fog);

Exemplos de skyboxes;

3411/04/23

*

Page 35: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Detalhes de criação de ambienteSkyboxPara criar um novo

skybox, vá em Assets > Material e crie um material com o Shader Render FX/Skybox;

Observe que um skybox é um cubo!

3511/04/23

Page 36: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Detalhes de criação de ambienteÁgua Há dois prefabs na pasta Standard

Assets > Water para implementar efeito de água:Daylight Simple Water;Nighttime Simple Water;

3611/04/23

Page 37: Tópicos Especiais I: Engines Criação de ambientes com o 1º Semestre 2010 > PUCPR > Pós Jogos Bruno C. de Paula

Mais recursos?

Terrain Assets: coleção de plantas, árvores e texturas;

Terrain Toolkit: ferramentas para a criação de terrenos realistas;

Tom’s Terrain Tools: Scrips de importação;

3711/04/23