14.04.2013 Views

Tutorial: Desenvolvimento de Jogos com Unity 3D - PUC-Rio

Tutorial: Desenvolvimento de Jogos com Unity 3D - PUC-Rio

Tutorial: Desenvolvimento de Jogos com Unity 3D - PUC-Rio

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

VIII Brazilian Symposium on Games and Digital Entertainment <strong>Rio</strong> <strong>de</strong> Janeiro, RJ – Brazil, October, 8th-10th 2009<br />

De
forma
mais
específica,
um
Sha<strong>de</strong>r
<strong>de</strong>fine:
<br />





*
 O
 método
 <strong>de</strong>
 ren<strong>de</strong>rização
 <strong>de</strong>
 um
 objeto.
 Isso
 inclui
 o
 uso
 <strong>de</strong>
 diversas
 variações,
<br />

<strong>de</strong>pen<strong>de</strong>ndo
do
dispositivo
gráfico
do
usuário;
<br />





*
Todos
os
Vertex
e
Pixel‐Sha<strong>de</strong>rs
usados
nessa
ren<strong>de</strong>rização;
<br />





*
As
proprieda<strong>de</strong>s
que
serão
atribuíveis
nas
especificações
<strong>de</strong>
materiais;
<br />





*
Parâmetros
numéricos
ou
<strong>de</strong>
cor
que
também
serão
atribuíveis
nos
materiais;

<br />

Um
Material
<strong>de</strong>fine:
<br />





*
Quais
texturas
usar
para
a
ren<strong>de</strong>rização;
<br />





*
Quais
cores
usar;
<br />





*
Os
valores
<strong>de</strong>
quaisquer
outros
Assets
tais
<strong>com</strong>o
Cubmaps,
limiares
<strong>de</strong>
luminância,
etc.
<br />

Para
se
criar
um
novo
Material,
usa‐se
Assets‐>Create‐>Material
no
menu
principal.
Uma
vez
<br />

criado
o
Material,
po<strong>de</strong>‐se
aplicá‐lo
a
um
objeto
e
experimentar‐se
alterar
os
valores
<strong>de</strong>
suas
<br />

proprieda<strong>de</strong>s.
 Para
 aplicar
 um
 Material
 a
 um
 objeto,
 basta
 <strong>de</strong>
 arrastar
 o
 mesmo
 da
 janela
<br />

Project
para
qualquer
objeto
na
cena
ou
na
janela
Hierarchy.
<br />

Para
a
especificação
<strong>de</strong>
Sha<strong>de</strong>rs,
tanto
<strong>de</strong>
função
fixa
quanto
programáveis,
a
<strong>Unity</strong><strong>3D</strong>
possui
<br />

uma
 linguagem
 própria
 chamada
 Sha<strong>de</strong>rLab,
 que
 possui
 alguma
 semelhança
 <strong>com</strong>
 os
<br />

arquivos
.FX
<strong>de</strong>finidos
para
o
Microsoft
DirectX
ou
a
especificação
NVidia
CgFX.
Essa
linguagem
<br />

<strong>de</strong>clarativa
possui
uma
sintaxe
simples
e
inclui
capacida<strong>de</strong>s
po<strong>de</strong>rosas
<strong>com</strong>o
reuso,
múltiplos
<br />

passos,
 criação
 procedural
 <strong>de</strong>
 texturas,
 entre
 outras.
 Nas
 próximas
 seções
 será
 apresentada
<br />

uma
breve
introdução
a
essa
linguagem.
<br />

3.1
‐
Introdução
a
Sha<strong>de</strong>rLab
<br />

Para
se
criar
um
novo
Sha<strong>de</strong>r,
po<strong>de</strong>‐se
escolher
Assets‐>Create‐>Sha<strong>de</strong>r
do
menu
principal,
ou
<br />

duplicar
um
existente
e
trabalhar
a
partir
do
mesmo.
Sha<strong>de</strong>rs
na
<strong>Unity</strong><strong>3D</strong>
são
arquivos
<strong>de</strong>
texto
<br />

e
po<strong>de</strong>m
ser
editados
fazendo‐se
um
duplo‐clique
nos
mesmos
na
janela
Project.
Iniciaremos
a
<br />

explicação
<strong>com</strong>
um
Sha<strong>de</strong>r
bastante
simples:
<br />

Sha<strong>de</strong>r "<strong>Tutorial</strong>/Basic" {<br />

Properties {<br />

_Color ("Main Color", Color) = (1.0,0.5,0.5,1.0)<br />

}<br />

SubSha<strong>de</strong>r {<br />

Pass {<br />

Material {<br />

Diffuse [_Color]<br />

}<br />

Lighting On<br />

}<br />

}<br />

}
<br />

12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!