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
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