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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

A
função
print()
é
bastante
útil
quando
se
está
<strong>de</strong>purando
um
script,
mas
não
faz
nada
<strong>de</strong>
útil
<br />

em
termos
<strong>de</strong>
jogabilida<strong>de</strong>.
O
código
a
seguir
adiciona
alguma
funcionalida<strong>de</strong>
ao
objeto
que
<br />

contém
o
script:
<br />

function Update () {<br />

transform.Rotate(0, 5*Time.<strong>de</strong>ltaTime, 0);<br />

}<br />

Para
 quem
 é
 novo
 em
 linguagens
 <strong>de</strong>
 script
 para
 jogos,
 o
 código
 po<strong>de</strong>
 parecer
 um
 pouco
<br />

confuso.
Alguns
conceitos
importantes
que
<strong>de</strong>vem
ser
aprendidos:

<br />




1.
function
Update
()
{}
é
a
sobrescrita
do
método
Update,
que
será
executado
pela
<strong>Unity</strong><strong>3D</strong>
<br />

uma
vez
a
cada
frame;
<br />




2.
transform
é
uma
referência
ao
<strong>com</strong>ponente
Transform
do
Game
Object
em
questão.
<br />




3.
Rotate()
é
um
método
existente
no
<strong>com</strong>ponente
Transform;
<br />




4.
Os
parâmetros
<strong>de</strong>sse
método
representam
os
graus
<strong>de</strong>
rotação
sobre
cada
um
dos
eixos
<br />

em
um
espaço
<strong>3D</strong>:
X,
Y,
and
Z.
<br />




5.
 Time.<strong>de</strong>ltaTime
 é
 um
 atributo
 da
 classe
 Time
 que
 representa
 o
 tempo
 que
 passou
 (em
<br />

segundos)
<strong>de</strong>s<strong>de</strong>
que
o
último
Update
ocorreu.
Essa
variável
serve
para
garantir
que
o
objeto
<br />

em
 questão
 seja
 rotacionado
 na
 mesma
 velocida<strong>de</strong>,
 in<strong>de</strong>pen<strong>de</strong>nte
 da
 capacida<strong>de</strong>
 <strong>de</strong>
<br />

processamento
 do
 <strong>com</strong>putador
 no
 qual
 o
 código
 será
 executado.
 Dessa
 forma,
 5
 *
<br />

Time.<strong>de</strong>ltaTime
representa
5
graus
por
segundo.

<br />

Já
 existem
 referências
 <strong>com</strong>o
 essa
 para
 alguns
 <strong>com</strong>ponentes
 que
 são
 <strong>com</strong>uns
 <strong>de</strong>
 serem
<br />

utilizados
em
objetos.
Alguns
dos
mais
importantes
são:
<br />

• transform
‐
representa
o
posicionamento,
orientação
e
escala
do
objeto;
<br />

• rigidbody
‐
representa
o
corpo
rígido
para
o
sub‐sistema
<strong>de</strong>
física
(quando
existir);
<br />

• animation
‐
utilizado
para
acionar
os
ciclos
<strong>de</strong>
animação
<strong>de</strong>
um
mo<strong>de</strong>lo
criado
em
uma
<br />

ferramenta
<strong>de</strong>
animação
<strong>com</strong>o
o
<strong>3D</strong>
Studio
Max;
<br />

• ren<strong>de</strong>rer
‐
<strong>com</strong>ponente
encarregado
da
exibição
<strong>de</strong>
um
objeto
na
cena;
<br />

• audio
‐
fonte
<strong>de</strong>
efeito
<strong>de</strong>
áudio,
vinculada
a
um
objeto
para
incorporar
posicionamento
<br />

<strong>de</strong>
áudio
<strong>3D</strong>;
<br />

• colli<strong>de</strong>r
‐
geometria
<strong>de</strong>
colisão
para
o
subsistema
<strong>de</strong>
física
ou
para
utilização
<strong>com</strong>o
Trigger.
<br />

5.2
‐
Acesso
a
outros
<strong>com</strong>ponentes
e
troca
<strong>de</strong>
mensagens
<br />

Entretanto,
 muitos
 outros
 <strong>com</strong>ponentes
 pré‐existentes,
 assim
 <strong>com</strong>o
 Scripts
 criados
<br />

especificamente
 para
 cada
 jogo,
 não
 têm
 referências
 especiais
 incluídas.
 Para
 esses,
 é
<br />

necessária
 alguma
 maneira
 <strong>de</strong>
 se
 obter
 uma
 referência
 em
 tempo
 <strong>de</strong>
 execução.
 Isso
 é
 feito
<br />

através
do
método
GetComponent()
existente
em
qualquer
script.
Esse
método
po<strong>de</strong>
ser
usado
<br />

para
 se
 obter
 a
 referência
 a
 qualquer
 <strong>com</strong>ponente
 vinculado
 ao
 objeto
 no
 qual
 o
 script
 em
<br />

questão
está
acoplado
(ou
a
qualquer
objeto
que
se
tenha
uma
referência
em
uma
variável).
O
<br />

exemplo
a
seguir
mostra
<strong>com</strong>o
obter
a
referência
a
um
script
chamado
"Controlador":
<br />

24

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

Saved successfully!

Ooh no, something went wrong!