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
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 />
<br />
2 ‐ Criação e Manipulação <strong>de</strong> Game Objects <br />
Figure 5 ‐ Janela Inspector <br />
Muitos motores <strong>de</strong> jogos <strong>de</strong> geração anterior disponíveis no mercado são baseados no uso <strong>de</strong> <br />
especialização/herança para as classes que irão representar objetos <strong>de</strong> jogo. Nesta arquitetura, <br />
os elementos <strong>de</strong> um jogo herdam <strong>de</strong> uma classe básica (normalmente algo <strong>com</strong>o GameObject) <br />
e as novas funcionalida<strong>de</strong>s são acrescentadas. Assim <strong>com</strong>o em outras categorias <strong>de</strong> <br />
<strong>de</strong>senvolvimento <strong>de</strong> software orientado a objetos, o uso <strong>de</strong>masiado <strong>de</strong> herança nesse tipo <strong>de</strong> <br />
situação tornou‐se obsoleto, principalmente por sua pouca flexibilida<strong>de</strong> quando os objetos <strong>de</strong> <br />
jogo possuem múltiplos <strong>com</strong>portamentos, o que exigiria herança múltipla. <br />
A <strong>Unity</strong><strong>3D</strong> é baseada em um mo<strong>de</strong>lo mais mo<strong>de</strong>rno para a arquitetura <strong>de</strong> objetos <strong>de</strong> jogo <br />
baseado em <strong>com</strong>posição [Bilas 2002, Stoy 2006, Passos et al. 2008]. Nesse mo<strong>de</strong>lo, um objeto <br />
<strong>de</strong> jogo é especificado através da <strong>com</strong>posição <strong>de</strong> várias funcionalida<strong>de</strong>s, que são agregadas (ou <br />
removidas). Cada funcionalida<strong>de</strong> é implementada por um <strong>com</strong>ponente (classe que herda <strong>de</strong> <br />
um <strong>com</strong>ponente básico). Esse container genérico ainda é <strong>de</strong>nominado Game Object e funciona <br />
<strong>com</strong>o um repositório <strong>de</strong> funcionalida<strong>de</strong>s, ou mais especificamente, <strong>com</strong>ponentes. <br />
<br />
8