<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>DevTuts</title>
	<atom:link href="http://devtuts.com.br/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://devtuts.com.br/wp</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 07 Jun 2011 04:42:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Troll Game ActionScript 3.0 &#8211; Nova Série</title>
		<link>http://devtuts.com.br/wp/2011/06/troll-game-actionscript-3-0-nova-serie/</link>
		<comments>http://devtuts.com.br/wp/2011/06/troll-game-actionscript-3-0-nova-serie/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 00:23:16 +0000</pubDate>
		<dc:creator>Rafael Angeline</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Iniciantes]]></category>
		<category><![CDATA[Premium]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://devtuts.com.br/wp/?p=986</guid>
		<description><![CDATA[Confira a nova série para iniciantes, que mostrará a você, passo-a-passo, a criação de um mini-game divertido e simples.]]></description>
			<content:encoded><![CDATA[<p>Um fato da internet é que todos adoram os famosos <em>mini-games</em>, que divertem milhares mesmo sendo simples. As vezes passam alguma mensagem, uma publicidade, mas o fato é que todos adoram estes jogos.</p>
<p>Esta série vai ajudar você, que usa ou gostaria de começar a criar estes jogos que rodam diretamente no navegador. Criaremos aqui, com o uso do <em>Flash </em>e da <em>ActionScript</em> 3.0, um mini-game bem simples que tem como objetivo fazer a pessoa que tentar jogá-lo rir.</p>
<p>Usaremos o famoso <strong>meme </strong>da internet, <strong>Troll Face</strong> para criar um joguinho de forma rápida, detalhada e objetiva.</p>
<p>Não se preocupe se você não possui muita experiência, ou não possui nenhuma, você ainda assim, conseguirá seguir estes tutoriais.</p>
<p>Esta série irá trabalhar com o <strong>Adobe Flash CS (ou superior) e com ActionScript 3.0 e os tutoriais estarão tanto em TEXTO quanto em VÍDEO-AULAS.<br />
</strong></p>
<h1>Resultado Final</h1>
<p style="text-align: center;"><a title="TrollGame" href="http://migre.me/4JnNI" target="_blank">CLIQUE PARA VISUALIZAR O RESULTADO FINAL</a></p>
<h1 style="text-align: left;">O que irei aprender?</h1>
<p>Além de obter mais experiência, você irá aprender mais sobre alguns itens como:</p>
<ul>
<li>Montagem de Cena</li>
<li>Criação de <em>MovieClips</em> e <em>Buttons</em></li>
<li>Movimentação de Personagem</li>
<li>Como obter a posição do mouse</li>
<li>Verificar colisão entre dois <em>MovieClips</em></li>
<li>Adicionar <em>links</em> para seu site</li>
<li>Exibir/Esconder <em>MovieClips</em> do seu jogo</li>
</ul>
<p>Já deu para ver que é bem interessante e que vale a pena conferir e obter mais habilidade.</p>
<h1>Outras Informações</h1>
<p>Todos os gráficos são disponibilizados para download e tudo é feito <strong>passo-a-passo</strong>, tanto por texto quanto por vídeo-aula, fique traquilo, você não ficará perdido!</p>
<p>O nível do tutorial é <strong>iniciante</strong>.</p>
<h1>Seja um Usuário Premium</h1>
<p>Esta série de tutoriais é <strong>PREMIUM </strong>e somente usuários <em>premium</em> podem acessar esta série. Felizmente, a Conta Premium DevTuts é bem acessível e pode ser adquirida através de inúmeros meios de pagamento e de forma 100% segura.</p>
<p>A Conta Premium lhe fornece acesso à todos os outros tutoriais premium do site e não a este somente. TODOS!</p>
<p>Você pode conferir mais informações e obter sua Conta Premium clicando na imagem acima ou <a title="Conta Premium" href="http://devtuts.com.br/wp/conta-premium/" target="_blank">aqui!</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://devtuts.com.br/wp/2011/06/troll-game-actionscript-3-0-nova-serie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<series:name><![CDATA[Troll Game ActionScript 3.0]]></series:name>
	</item>
		<item>
		<title>Instalando o Notepad++ e adicionando suporte á HLSL</title>
		<link>http://devtuts.com.br/wp/2011/04/instalando-o-notepad-e-adicionando-suporte-a-hlsl/</link>
		<comments>http://devtuts.com.br/wp/2011/04/instalando-o-notepad-e-adicionando-suporte-a-hlsl/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 04:00:36 +0000</pubDate>
		<dc:creator>Rafael Angeline</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Downloads]]></category>
		<category><![CDATA[Iniciantes]]></category>

		<guid isPermaLink="false">http://devtuts.com.br/wp/?p=955</guid>
		<description><![CDATA[Aprenda como instalar o editor de texto NotePad++ e adicionar suporte à HLSL no mesmo, fazendo com que este poderoso editor gratuito vire seu aliado na hora de criar seus códigos]]></description>
			<content:encoded><![CDATA[<h1>Introdução</h1>
<p>Olá caro leitor!</p>
<p>Neste tutorial vamos aprender a instalar o <strong>NotePad++</strong> e adicionar  suporte á HLSL no mesmo. É um tutorial fácil e simples então vamos logo ao que interessa.</p>
<h1><strong>O que é o Notepad++</strong></h1>
<p>O <strong>notepad++</strong> é um editor de textos que fornece suporte à diversas linguagens e pode ser utilizado para criar códigos de Web Sites, Shaders etc.</p>
<p>Verifique abaixo uma lista de linguagens suportadas pelo <strong>NotePad++</strong>:<strong> </strong></p>
<ul>
<li>
<div><strong>C e C++</strong></div>
</li>
<li><strong>HTML , XML E PHP</strong></li>
<li><strong>JavaScript e ASCII art</strong></li>
<li><strong>CSS </strong></li>
<li><strong>Assembler e Ruby</strong></li>
<li><strong>Phyton e Perl</strong></li>
<li><strong>HLSL</strong></li>
</ul>
<p><strong>O NotePad++ suporta outras linguagens além destas, portanto recomendo o download.</strong></p>
<h1><strong> Download e Instalação  do Notepad++</strong></h1>
<p><a title="Download Notepad++" href="http://notepad-plus-plus.org/download" target="_blank"><img class="size-full wp-image-956 alignnone" title="NOTEPADDOWNLOAD" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/NOTEPADDOWNLOAD.png" alt="" width="600" height="170" /></a></p>
<p>Para realizar o download basta clicar na imagem acima e você irá ser redirecionado para página do download no site oficial.</p>
<h2>Instalando o Notepad++</h2>
<p>Depois de ter feito o download do Notepad++, abra o instalador que será um icone parecido com este abaixo.</p>
<p><img class="size-full wp-image-957 aligncenter" title="note" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/note.png" alt="" width="86" height="79" /></p>
<p>Agora dê um duplo clique no ícone e irá ser aberta uma janela para escolha do idioma em que o programa será instalado. A escolha de idioma é de sua preferência, em meu caso irei escolher português.</p>
<p><img class="size-full wp-image-958 aligncenter" title="languagenotepad" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/languagenotepad.png" alt="" width="294" height="162" /></p>
<p>Clique em Ok e logo em seguida irá aparecer a primeira janela de instalação  com algumas recomendações, etc.</p>
<p>Clique no botão <strong>Próximo</strong> se deseja continuar a instalação ou em <strong>Cancelar</strong> se deseja parar a instalação.</p>
<p><img class="size-full wp-image-959 aligncenter" title="installernotepad1" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/installernotepad1.png" alt="" width="501" height="388" /></p>
<p>Logo depois de ter clicado no botão &#8216;Próximo&#8217; irá aparecer a janela com os Termos de Uso.</p>
<p>Se deseja continuar clique em <strong>Eu concordo</strong></p>
<p><img class="size-full wp-image-960 aligncenter" title="installernotepad2" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/installernotepad2.png" alt="" width="501" height="388" /></p>
<p>Logo em seguida irá pedir o local onde o programa deve ser instalado.</p>
<p>Caso queira mudar o diretório do local basta clicar em <strong>Procurar</strong> e adicionar o caminho desejado e, para continuar, clique em <strong>Próximo</strong></p>
<p><strong> </strong><img class="size-full wp-image-961 aligncenter" title="installernotepad3" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/installernotepad3.png" alt="" width="501" height="388" /></p>
<p>Agora  irá aparecer uma lista de componentes , alguns irão vir selecionados.</p>
<p><img class="size-full wp-image-962 aligncenter" title="installernotepad4" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/installernotepad4.png" alt="" width="501" height="388" /></p>
<p>Agora estamos quase no fim, basta clicar no botão Instalar e <strong>aguardar a conclusão da Instalação.</strong></p>
<h1>Adicionando Suporte á HLSL</h1>
<p>O suporte à HLSL deve ser adicionado através de um plugin, que extende a capacidade do NotePad++.</p>
<p>Primeiramente devemos realizar o download do Plugin necessário.</p>
<p><a title="Download" href="http://www.enchantedage.com/sites/default/files/notepad++-hlsl.zip"><img class="size-full wp-image-967 aligncenter" title="down" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/down.png" alt="" width="400" height="120" /></a></p>
<p>O plugin foi feito pelo autor do site <strong>www.enchantedage.com, </strong>fica então nosso agradecimento à ele.<strong><br />
</strong></p>
<p>Depois de ter feito o download do plugin extraia o arquivo .rar em um local desejado.Logo que ter extraido irá conter os seguintes arquivos.</p>
<p><img class="aligncenter size-full wp-image-976" title="arquivos" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/arquivos.png" alt="" width="393" height="60" /></p>
<p>Agora vamos ao <strong>Notepad++ </strong>importar o plugin userDefineLang.xml, abra seu Notepad++ e  na barra superior vamos á opção View.</p>
<p><a href="http://devtuts.com.br/wp/wp-content/uploads/2011/04/view.png"><img class="aligncenter size-full wp-image-977" title="view" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/view.png" alt="" width="540" height="20" /></a>Logo em seguida vamos a opção View &gt;&gt; User-Defined Dialogue&#8230;</p>
<p><img class="aligncenter size-full wp-image-978" title="user" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/user.png" alt="" width="286" height="426" />Irá ser aberto uma janela, basta clicar em Import e abrir o arquivo feito no download do plugin HLSL e pronto.</p>
<p><img class="aligncenter size-full wp-image-979" title="print3" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/print3.png" alt="" width="515" height="117" /></p>
<p>Depois de ter clicado no botão Import, deverá aparecer o seguinte aviso &#8216;Import successful&#8217;</p>
<p><img class="aligncenter size-full wp-image-980" title="imporsuccessful" src="http://devtuts.com.br/wp/wp-content/uploads/2011/04/imporsuccessful.png" alt="" width="116" height="102" /></p>
<p>Agora só basta fechar seu Notepad++ e abri-lo novamente.</p>
<p>Para usar o suporte basta ir na aba &#8216;Languages&#8217; e ir em &#8216;HLSL&#8217;.</p>
<h1>Conclusão</h1>
<p>O <strong>NotePad++ </strong>é um poderoso programa de edição de textos e por suportar diversas linguagens irá facilitar muito o desenvolvimento de seus projetos. Além disto, o mesmo é gratuito, então vale o Download e o uso desta ótima ferramenta.</p>
<p>Abraços.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://devtuts.com.br/wp/2011/04/instalando-o-notepad-e-adicionando-suporte-a-hlsl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DevTuts 3.0 &#8211; Lançado Oficialmente!</title>
		<link>http://devtuts.com.br/wp/2011/04/devtuts-3-0-lancado-oficialmente/</link>
		<comments>http://devtuts.com.br/wp/2011/04/devtuts-3-0-lancado-oficialmente/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 20:04:53 +0000</pubDate>
		<dc:creator>Rafael Angeline</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Novidades]]></category>

		<guid isPermaLink="false">http://devtuts.com.br/wp/?p=887</guid>
		<description><![CDATA[Finalmente lançamos nossa nova versão, conheça todas as novidades que chegaram e dê sua preciosa opinião! ]]></description>
			<content:encoded><![CDATA[<p>OH YEAH! Após dias de trabalho, reorganização da equipe, criação de padrões e toda a burocracia, estou muito feliz em estar aqui anunciando a chegada do Novo DevTuts!</p>
<p>A versão 3.0 traz muitas novidades para você, querido leitor!</p>
<ul>
<li><strong>Novo sistema de Comentários!</strong> &#8211; Agora temos o sistema de resposta e a pessoa pode acompanhar os comentários, recebendo as respostas por e-mail!</li>
<li><strong>Volta aos tutoriais todos os dias! -</strong> Para quem acompanha o DevTuts desde o inicio, lembra de que os tutoriais eram postados 5 vezes por semana. Pois é, este sistema voltará ao DevTuts =D</li>
<li><strong>Novo layout -</strong>Agora temos um novo visual, melhorando a leitura de nossos tutoriais!</li>
<li><strong>Sistema de Séries </strong>- Agora nosso conteúdo ficará muito mais organizado, com as Séries de Tutoriais!</li>
</ul>
<p>Aos usuários Premium, também trazemos novidades!</p>
<ul>
<li><strong>Sorteios -</strong> Realizaremos sorteios para presentear os usuários mais sortudos!</li>
<li><strong>Download dos Videos &#8211; </strong>Você poderá baixar os videos das aulas para acompanhar de seu computador, celular, iPhone ou qualquer outro dispositivo, aonde estiver!</li>
<li><strong>Suporte Premium &#8211; </strong>Tem problemas ou um projeto para desenvolver? Forneceremos todo o suporte necessário!</li>
</ul>
<p>Temos ainda outras novidades que iremos liberar posteriormente. Estamos realizando ajustes ainda, e precisamos de sua ajuda! <strong>Use os comentários para dar sua opinião para o novo visual, sobre as novidades, dúvidas, enfim, apreciamos sua palavra!</strong></p>
<p><strong>Peço ainda que se possivel, adquira uma Conta Premium, para ter acesso à tudo o que disponibilizamos e ainda ajudar o DevTuts à se tornar uma referência em treinamentos para Desenvolvimento de Jogos!<br />
</strong></p>
<p>Um abraço,</p>
<p><strong>Rafael Angeline &#8211; Gerente DevTuts</strong></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://devtuts.com.br/wp/2011/04/devtuts-3-0-lancado-oficialmente/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Introdução à HLSL</title>
		<link>http://devtuts.com.br/wp/2010/11/introducao-a-hlsl/</link>
		<comments>http://devtuts.com.br/wp/2010/11/introducao-a-hlsl/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 20:56:49 +0000</pubDate>
		<dc:creator>Rafael Angeline</dc:creator>
				<category><![CDATA[HLSL]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Iniciantes]]></category>

		<guid isPermaLink="false">http://devtuts.com.br/wp/?p=811</guid>
		<description><![CDATA[Neste tutorial você será introduzido à uma incrivel tecnologia chamada HLSL! Ficará sabendo para que ela serve, onde é que podemos usar, o que podemos fazer com ela e você saberá também por que você deve aprender HLSL.]]></description>
			<content:encoded><![CDATA[<h1>Palavra do Autor</h1>
<p>Olá caro leitor!&#8230;</p>
<p>Neste tutorial você será introduzido à uma incrivel tecnologia chamada HLSL! Ficará sabendo para que ela serve, onde é que podemos usar, o que podemos fazer com ela e você saberá também por que você deve aprender HLSL.</p>
<p>Espero que goste desta incrivel tecnologia e aproveite ao máximo este aula feita especialmente para você!</p>
<p>Um Abraço!</p>
<h1>O que é HLSL?</h1>
<p><strong>HLSL</strong> é a sigla para <strong>High Level Shader Language</strong>. Traduzindo para o português seria algo como <em>Linguagem de Alto Nível para Shader</em>.</p>
<p>Ok, vamos aprofundar mais&#8230;</p>
<p>Antigamente, as placas-de-vídeo permitiam a renderização 3D, mas a forma utilizada pela placa era única e estática, sendo impossível alterar a mesma. Isto é conhecido por <strong>fixed pipeline</strong>.</p>
<p>Todo jogo 3D era renderizado da mesma forma, no mesmo estilo. Para diferenciar o jogo, os artistas tinham que fazer o possível com texturas e com os modelos 3D já que esta era a única forma.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-812" title="Comparativo entre Wolfenstein e Doom" src="http://devtuts.com.br/wp/wp-content/uploads/2010/11/comparativo.png" alt="Comparativo entre Wolfenstein e Doom" width="640" height="375" /></p>
<p style="text-align: left;">&nbsp;</p>
<p>Com a evolução das placas-de-vídeo, finalmente conseguiram criar a revolução gráfica dos jogos! Algo chamado<strong> Programmable Pipeline</strong> (ou <strong>PP</strong> para os íntimos) foi criado e com isto surgiram uma nova classe de programadores, a lendária classe do Programador Gráfico (Graphic Programmer).</p>
<p>Com a criação do <strong>PP</strong>, foi criada a possibilidade de programar a forma como o seu jogo seria renderizado. Utilizando fórmulas que explicam a reflexão da luz e fórmulas que podem simular relevo em uma superficie plana, o <strong>Graphic Programmer</strong> é capaz de alterar radicalmente o visual de um jogo 3D e adicionar ainda efeitos íncriveis que dão ao jogo aquela emoção especial.</p>
<p>Inicialmente, a <strong>GPU</strong> só podia ser programada utilizando a linguagem <em><strong>Assembly</strong></em>, ou seja, era bem díficil e por ser uma linguagem de baixo-nível, se algum erro ocorresse&#8230; digamos  apenas que seria extremamente díficil encontrar e corrigir o erro.<br />
No meio desta horrível situação, três linguagens surgem: <strong>GLSL, Cg e HLSL</strong>. Não irei falar da relação destas três linguagens, já que isto é tema para uma outra aula. O foco aqui é a HLSL.</p>
<p>A HLSL foi criada pela famosa<strong> Microsoft</strong> para ser usada com a <strong>DirectX</strong>, da mesma forma que a <em>GLSL foi criada para ser usada com a OpenGL</em>.</p>
<p>O fato é que a HLSL foi feita para rodar em aplicativos que utilizem DirectX, que é a API mais utilizada para a criação de jogos do mundo. <em>Você pode utilizar a HLSL em um aplicativo DirectX puro, ou em um aplicativo feito em algum framework baseado na DirectX, tal como o XNA Framework (também da Microsoft).</em></p>
<p>Agora, após toda esta introdução, chegamos ao prato principal&#8230; <strong>A resposta à questão &#8220;O que é HLSL?&#8221; é a seguinte:</strong></p>
<p><strong>&#8220;</strong> HLSL é uma linguagem criada pela Microsoft, veio para ser utilizada na programação da GPU em alternativa à linguagem Assembly, muito mais complicada e sujeita à erros. O objetivo é facilitar a programação da GPU e pode ser utilizada em aplicativos feitos ou baseados na API DirectX. <strong>&#8220;</strong></p>
<p>Talvez não tenha ficado muito claro, mas relaxe. Isto fará mais sentido quando você continuar com as próximas aulas.</p>
<p>Pergunta respondida =D</p>
<h1>Para que serve a HLSL?</h1>
<p><strong>&#8220;Para que serve a HLSL?&#8221; </strong>&#8230; esta é uma pergunta que surge na mente de todos os que desejam iniciar nesta arte oculta que é a programação da GPU.</p>
<p>Nesta parte irei mostrar o potencial e a finalidade da HLSL, aposto que após esta parte você irá se interessar ainda mais por esta área tão intensa e poderosa!</p>
<p>Aposto que você já deve ter visto/jogado muitos games onde você ficou impressionado com a qualidade gráfica do jogo. Seja um jogo com estilo gráfico realista (God of War por exemplo) ou um jogo ao estilo anime (Naruto Rise of Ninja, por exemplo), os efeitos gráficos são criados utilizando-se a HLSL.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-818" title="Renderização Realistica do game God Of War 3" src="http://devtuts.com.br/wp/wp-content/uploads/2010/11/realistica.png" alt="Renderização Realistica do game God Of War 3" width="600" height="350" /><em>Renderização Realistica</em></p>
<p style="text-align: left;"><em><br />
</em></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-820" title="Renderização Cartoon - Não Realistica" src="http://devtuts.com.br/wp/wp-content/uploads/2010/11/cartoon.png" alt="Renderização Cartoon - Não Realistica" width="600" height="350" /><em>Renderização Cartoon (Não-Realistica)</em></p>
<p>Além de permitir o uso de luzes e definir o estilo gráfico de um game, a HLSL serve para criar os chamados post-processing effects, que são os efeitos que irão tratar a renderização final adicionando algum efeito, tais como troca de cor ou o conhecido motion blur, mostrado na imagem abaixo.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-823" title="Efeito Motion Blur no jogo Gran Turismo 5" src="http://devtuts.com.br/wp/wp-content/uploads/2010/11/motionblur.png" alt="Efeito Motion Blur no jogo Gran Turismo 5" width="600" height="350" /><em>Efeito Motion Blur (note o &#8216;esticado&#8217; que há na tela)</em></p>
<p>Através de fórmulas e técnicas que descrevem matematicamente a iluminação podemos criar no computador desde uma cena realistica até uma cena ao estilo cartoon, ou um misto dos dois, você tem infinitas possibilidades.</p>
<p>A resposta para a pergunta seria a seguinte</p>
<p><strong>&#8220;</strong>A HLSL é utilizada na criação de efeitos gráficos para jogos e aplicações, podendo criar desde cenas realisticas até cenas cartoon. Podemos utilizar a HLSL para criar efeitos que dão maior intensidade ao jogo, como o efeito de borrar a tela em um jogo de corrida que ocorre quando estamos em alta velocidade<strong>&#8220;</strong></p>
<p>Pode-se notar facilmente que a HLSL é extremamente poderosa e, atualmente, domina junto com GLSL e Cg toda renderização em jogos 3D.</p>
<h1>Onde a HLSL é usada?</h1>
<p>Atualmente a HLSL é utilizada na criação de aplicativos e jogos baseados na <em>API Microsoft DirectX</em>. Utilizado por várias gigantes no ramo de criação de jogos, tais como a <strong>Activision, Blizzard, entre outras. </strong></p>
<p>Algumas das ferramentas com as quais você pode utilizar shaders escritos em HLSL estão listadas abaixo.</p>
<p><strong>(Nota) </strong>Lembrando que um arquivo HLSL é chamado de shader. Aproveitando, adianto que os arquivos escritos com HLSL devem ser salvos como .fx</p>
<ul>
<li>Aplicativos que utilizem a DirectX de forma pura, ou seja, com C++</li>
<li>Aplicativos que sejam criados com o Microsoft XNA Framework</li>
<li>Aplicativos que utilizem o motor gráfico Ogre3D ou qualquer outro que suporte tal recurso</li>
<li>Você também pode utilizar seus shaders em programas de modelagem, como o Autodesk Maya</li>
</ul>
<p>Como pode ver, há uma grande quantidade de tecnologias e empresas que utilizam esta incrivel linguagem.</p>
<h1>Por que eu devo aprender HLSL?</h1>
<p>Como a HLSL pode ser utilizada em várias ferramentas diferentes é interessante aprender pois você poderá escrever um único arquivo que poderá ser utilizado em diversas ferramentas.</p>
<p>Além disto, você será capaz de criar o estilo gráfico de seu jogo e aprender técnicas avançadas de iluminação para jogos ou aplicativos 3D.</p>
<p><strong>(Dica) </strong>Digo mais&#8230; como existem poucas pessoas que dominam a HLSL você concerteza será muito interessante na hora em que estiverem analisando uma possível contratação =D</p>
<p>Então não espere&#8230; mergulhe de cabeça na HLSL. Nos próximos tutoriais iremos preparar nossas armas e codificar, além é claro, de entender como tudo isto funciona e também conhecer as fórmulas matemáticas que irão definir a iluminação e as técnicas de renderização do seu jogo.</p>
<h1>Concluindo&#8230;</h1>
<p>Espero que tenha aproveitado o tutorial e que tudo esteja mais claro na sua cabeça!</p>
<p>Mais alguma pergunta? É só postar seu comentário utilizando o formulário abaixo e eu responderei com todo o prazer e o mais rápido possível, podendo até atualizar este tutorial com as novas perguntas e suas respostas.</p>
<p>Lembrando que também aceito elogios e sugestões nos comentários.</p>
<p>Obrigado por acompanhar nosso trabalho, um grande abraço!</p>
]]></content:encoded>
			<wfw:commentRss>http://devtuts.com.br/wp/2010/11/introducao-a-hlsl/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Criando Objetos e Navegando no Mundo 3D &#8211; Unity3D</title>
		<link>http://devtuts.com.br/wp/2010/10/criando-objetos-e-navegando-no-mundo-3d-unity3d/</link>
		<comments>http://devtuts.com.br/wp/2010/10/criando-objetos-e-navegando-no-mundo-3d-unity3d/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 03:36:22 +0000</pubDate>
		<dc:creator>Rafael Angeline</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Unity 3D]]></category>
		<category><![CDATA[Iniciantes]]></category>

		<guid isPermaLink="false">http://devtuts.com.br/wp/?p=793</guid>
		<description><![CDATA[Nesta aula você irá aprender como criar alguns objetos, mover/rotacionar tais objetos e também irá aprender a navegar no mundo 3D utilizando a Unity 3D.]]></description>
			<content:encoded><![CDATA[<h1>Introdução</h1>
<p>Bem-vindo à mais uma aula no DevTuts. Na aula de hoje você irá aprender como navegar pelo mundo 3D da Unity 3D, como criar alguns objetos e por ultimo, como mover/rotacionar e aumentar ou diminuir o tamanho destes objetos.</p>
<h1>Navegando na Cena</h1>
<p>O nosso foco de hoje será nos 4 botões da Unity responsáveis pelas funções que iremos estudar nesta aula.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-799" title="Os 4 Botões superiores da Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/09/4botoes.png" alt="Os 4 Botões superiores da Unity 3D" width="445" height="196" /></p>
<p>Em ordem, temos o botão que permite, ao ser selecionado, nos movermos pela cena.</p>
<p>O botão difere sua função dependendo de que botão do mouse você utilizar.</p>
<ul>
<li> Se você utilizar o botão esquerdo do mouse, poderá se mover na horizontal e na vertical.</li>
<li> Se você utilizar o botão direito, você poderá dar um Zoom na cena, seja se aproximando ou se afastando.</li>
</ul>
<p>Mas apenas este botão não é o necessário, já que você não pode girar. Para isto, contamos com um atalho que permite que tais funções sejam realizadas.</p>
<p>Ao se pressionar Alt, você pode se mover na cena utilizando os botões do mouse também. Novamente, dependendo do botão um tipo de ação será realizada.</p>
<ul>
<li>Se você segurar o botão esquerdo e arrastar ( com a tecla Alt pressionada ) você poderá girar em torno da tela</li>
<li>Se você segurar o botão do meio e arrastar ( com a tecla Alt pressionada ) você poderá se mover na cena, na horizontal e na vertical</li>
<li>Se você segurar o botão direito e arrastar ( com a tecla Alt pressionada ) você poderá dar Zoom em alguma parte da cena ou se afastar deste ponto</li>
</ul>
<p>Com isto, você pode facilmente se movimentar pela cena de seu jogo e editar mais facilmente.</p>
<h1>Visualizando a cena de diferentes ângulos</h1>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-801" title="Eixos de visualização da cena na Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/09/eixos.png" alt="Eixos de visualização da cena na Unity 3D" width="500" height="400" /></p>
<p>Uma outra função interessante é a de poder visualizar a cena por cima, por baixo, pela frente e pelos lados.</p>
<p>Contamos com um alguns botões dentro do Painel Scene que serve exatamente para isto.</p>
<p>Ao se clicar em um dos eixos, a cena é rotacionada para poder ser visualizada de tal maneira.</p>
<p>Se você clicar no botão da parte de cima, poderá ver a cena por cima. O mesmo ocorre com os outros botões, se clicar no botão do eixo X  esquerdo, poderá visualizar a cena pelo lado esquerdo e assim por diante.</p>
<p>Para voltar à visualização em perpectiva (que é a padrão) basta clicar no Cubo que fica no centro e pronto.</p>
<h1>Criando e Manipulando alguns Objetos</h1>
<p>Agora você irá aprender a criar alguns objetos e manipular os mesmos utilizando os botões da Unity 3D.</p>
<p>Para criar objetos, geralmente utilizamos as opções do menu GameObject, através deste temos acesso à diversos tipos de objetos para serem criados. Estes menu permite criar desde um GameObject vazio até um Ragdoll.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-803" title="Menu GameObject da Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/10/menuGameObject.png" alt="Menu GameObject da Unity 3D" width="418" height="397" /></p>
<p>Vamos criar um cubo por hora e aprender como manipular o mesmo. Para criar um cubo, basta ir em <em>GameObject &#8211; Create Other -&gt; Cube </em>- e então um cubo irá aparecer no espaço 3D. Você também poderá selecionar o cubo através do painel <em>Hierarchy.</em></p>
<p>Para manipular o cubo, você irá precisar utilizar os botões superiores, que permitem respectivamente – Mover – Rotacionar e Aumentar/Diminuir a escala.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-799" title="Os 4 Botões superiores da Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/09/4botoes.png" alt="Os 4 Botões superiores da Unity 3D" width="445" height="196" /></p>
<p>Outra alternativa é você utilizar o painel Inspector, que quando o objeto ser selecionado, mostra informações do objeto.</p>
<p>Ao selecionar o cubo, o painel Inspector irá mostrar a rotação, posição e escala do objeto em cada um dos 3 eixos.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-804" title="Propriedades no menu Inspector" src="http://devtuts.com.br/wp/wp-content/uploads/2010/10/inspector.png" alt="Propriedades no menu Inspector" width="386" height="452" /></p>
<p>O interessante é que você pode alterar os valores da forma que quiser e com mais precisão. Poder alterar os dados tanto visualmente quanto via valores faz do editor da Unity algo muito interessante e poderoso.</p>
<h1>Dica – Focando no objeto</h1>
<p>Uma dica legal é quando você quer focar em um objeto na Unity 3D. Imagine que você tenha uma cena gigante e queira focar em um objeto em especial. O que fazer?</p>
<p>Simples! É só seguir uns passos:</p>
<ol>
<li>Selecione o objeto no Painel Hierarchy</li>
<li>Mova o mouse para dentro do Painel Scene</li>
<li>Pressione a tecla F</li>
<li>Tãdã! Prontinho!</li>
</ol>
<p>Fácinho, não?</p>
<h1>Conclusão</h1>
<p>Pois é, já chegamos ao fim de mais uma aula. Nesta aula você aprendeu a dominar melhor o editor e sua habilidade só irá aumentar daqui para frente!</p>
<p>De acordo com minha grade&#8230; poderemos começar a desenvolver algo mais concreto já na próxima aula!</p>
<p>Te espero lá! Não esqueça de deixar um comentário logo abaixo, pode perguntar, elogiar, criticar, fique a vontade!</p>
<p>Ah, lembre-se também de nos acompanhar pelo Twitter e assinar nosso Feed.</p>
<p>Valeu!</p>
<p>﻿</p>
]]></content:encoded>
			<wfw:commentRss>http://devtuts.com.br/wp/2010/10/criando-objetos-e-navegando-no-mundo-3d-unity3d/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Conceitos Chaves da Unity 3D &#8211; Assets, Scenes, Prefabs, GameObjects, Components etc.</title>
		<link>http://devtuts.com.br/wp/2010/08/conceitos-chaves-da-unity-3d-assets-scenes-prefabs-gameobjects-components-etc/</link>
		<comments>http://devtuts.com.br/wp/2010/08/conceitos-chaves-da-unity-3d-assets-scenes-prefabs-gameobjects-components-etc/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 02:54:14 +0000</pubDate>
		<dc:creator>Rafael Angeline</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Unity 3D]]></category>
		<category><![CDATA[Iniciantes]]></category>

		<guid isPermaLink="false">http://devtuts.com.br/wp/?p=757</guid>
		<description><![CDATA[Neste tutorial você irá aprender conceitos chaves na hora de desenvolver jogos utilizando a Unity 3D - entenda o que são e para que servem os Assets - Scripts - Components - GameObjects - Prefabs e Scenes! Confira!]]></description>
			<content:encoded><![CDATA[<h1>Introdução</h1>
<p>Olá caro leitor!</p>
<p>Nesta aula você irá entender alguns conceitos chaves, ou seja muito importântes, da Unity 3D.</p>
<p>Entender o que são é extremamente importânte para o caso de você querer se aprofundar nesta incrivel engine! Nesta aula você irá entender o que são:</p>
<ul>
<li><strong>Assets</strong></li>
<li><strong>Scenes</strong></li>
<li><strong>GameObjects</strong></li>
<li><strong>Components</strong></li>
<li><strong>Prefabs</strong></li>
<li><strong>Scripts</strong></li>
</ul>
<p>Estes 6 itens acima serão de extrema utilidade na criação de qualquer aplicativo que utilize a Unity 3D.</p>
<p>Caso ainda não tenha visto, vale a pena dar uma olhada no ultimo tutorial lançado &#8211; <a title="Tutorial Unity 3D – Explorando a Interface da Unity 3D" href="../2010/08/tutorial-unity-3d-explorando-a-interface-da-unity-3d/" target="_blank">Tutorial Unity 3D – Explorando a Interface da Unity 3D</a></p>
<p>Sem mais conversas, vamos começar abordando cada item da lista acima, não se preocupe, pois você irá entender ao longo dos outros tutoriais, como utilizar na prática os itens acima.</p>
<h1>Assets</h1>
<p>Na Unity 3D, toda mídia que for utilizada, como por exemplo: <strong>imagens 2D (texturas), modelos 3D, sons, scripts etc</strong>. Tudo isto é chamado de <strong>Assets.</strong></p>
<p>Tanto que na pasta de seu projeto <strong>Unity 3D </strong>há uma pasta chamada <strong>Assets</strong>, como mostra a imagem abaixo:</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-770" title="A Pasta Assets" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/assetsFolder.png" alt="A Pasta Assets" width="600" height="212" /></p>
<p>Dentro da pasta <strong>Assets </strong>temos uma estrutura de pastas identicas ao de nosso painel <strong>Project</strong>, dentro da Unity 3D, veja uma comparativo:</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-771" title="Comparando a pasta Assets e o Painel Project" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/assetsFolder_Project.png" alt="Comparando a pasta Assets e o Painel Project" width="464" height="359" /></p>
<p style="text-align: left;"><strong>Na pasta Assets se localizam todas as Scenes (explicadas abaixo), Texturas/Imagens, Modelos 3D, Sons, Scripts etc. Mas deve-se lembrar de somente deletar itens através do painel Project da Unity 3D!</strong></p>
<h1>Scenes</h1>
<p>Na Unity3D você trabalha com o sistema de <strong>Scenes, </strong>que representam cada Cena/Tela de seu jogo. Em outras palavras, temos um Projeto e dentro deste projeto várias Telas.</p>
<p>Uma Tela/Scene pode representar o Menu, o Jogo, os Créditos, as Opções etc. Este conceito facilita e muito a vida do desenvolvedor, já que podemos criar diferentes níveis/fases do jogo em Scenes separadas.</p>
<p><strong>Uma Scene representa uma tela do jogo. Ela pode representar o Menu, uma fase do Jogo, a tela de Créditos e afins. Cada Scene se localiza na pasta Assets de seu projeto e seu formato é o .unity.</strong></p>
<p><em><br />
</em></p>
<h1>GameObjects</h1>
<p>Quando você cria um objeto na cena, como por exemplo, um cubo, este cubo passa a ser chamado de <strong>GameObject.</strong> Ou seja, agora ele é um objeto do jogo e possui ao menos um <em>component </em>(explicado abaixo) anexado à ele, que é o <strong>Transform. </strong>Este component simplesmente diz ao jogo a Posição X &#8211; Y &#8211; Z, a rotação do objetos nos eixos e também a escala aplicada ao objeto.</p>
<p>Uma lista dos <strong>GameObjects </strong>da cena está contida no painel <strong>Hierarchy</strong>, conforme mostra a imagem abaixo.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-772" title="GameObjects da Cena" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/hierarchy.png" alt="GameObjects da Cena" width="232" height="335" /></p>
<p><strong>GameObject é o nome dado à qualquer objeto (um cubo, um modelo, um som, uma luz) adicionado na cena. Todo GameObject possuí, no mínimo, um Component adicionado à ele, este Component é o Transform &#8211; que armazena as transformações do objeto -. </strong></p>
<p><strong>Uma lista dos GameObjects da cena está localizada no painel Hierarchy. </strong></p>
<p><strong>Um GameObject pode ser filho de outro GameObject, ou seja, um GameObject pode abrigar mais de 1 GameObject.</strong></p>
<p><em><br />
</em></p>
<h1>Components</h1>
<p>Na Unity 3D você irá fazer uso intenso de <em>Components. </em>Um Component pode ser anexado à GameObjects de sua Cena.</p>
<p>Um Component pode definir comportamentos, aparencia e outros fatores de um GameObject. Ao anexar um Component, o GameObject alvo passa a agir conforme manda o Component.</p>
<p>A Unity 3D nos traz vários Components prontos, como o <strong>Rigid Body </strong>- que aplica física no GameObject alvo &#8211; temos também o <strong>Mesh Renderer &#8211; </strong>que renderiza/desenha o objeto no jogo.</p>
<p>Quando você estiver criando seus próprios Components, irá ter que criar Scripts e anexá-los à qualquer GameObject que quiser. Um exemplo seria você querer um Script para definir o comportamento de um inimigo.</p>
<p>Você cria o Script e anexa ele ao GameObject, quando o jogo executa, o GameObject (o inimigo no caso), passa a agir conforme dita o Script criado por você!</p>
<p>Ao selecionar um objeto no painel <strong>Hierarchy, </strong>você visualiza no painel <strong>Inspector, </strong>os Components adicionados ao objeto selecionado, como mostra a imagem abaixo.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-773" title="Components no Painel Inspector" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/inspector.png" alt="Components no Painel Inspector" width="425" height="442" /></p>
<p>Nesta imagem, cada área Circulada em Laranja é um <strong>Component anexado, </strong>temos o Component padrão : <strong>Transform &#8211; </strong>que armazena as transformações do GameObject &#8211; temos também o <strong>Poly Surface </strong>e também o <strong>Mesh Renderer -</strong> que renderiza/desenha  nosso GameObject na tela.</p>
<p>Esta lista é expansivel, ou seja, você pode adicionar quantos Components/Scripts quiser!</p>
<h1>Prefabs</h1>
<p>Este recurso é extremamente util no desenvolvimento. Ao criar um Prefab, você poderá criar um template de um GameObject dentro dele e criar quantos quiser dentro de seu jogo.</p>
<p>É como se utilizar classes, aqui você pode definir o modelo, a textura, os scripts etc. e todos os GameObjects que virem deste Prefab terão estas caracteristicas. A melhor parte é: <strong>ao editar o Prefab, todos os objetos que foram criados a partir deste Prefab também são alterados!</strong></p>
<p><strong>Imagine:</strong> Você tem 100 inimigos idênticos na mesma cena, ou seja, 100 GameObjects. Imagine que você não esteja usando Prefabs, então você decide que quer trocar a textura do inimigo&#8230; Significa que você terá que alterar 100 objetos, ou seja, extremamente cansativo!</p>
<p>Com um Prefab, você só modifica a textura no Prefab base e todos os GameObjects (os 100 inimigos) serão alterados também!<strong> Extremamente útil e rápido!</strong></p>
<p><strong>Ao utilizar um Prefab, você cria um &#8216;template&#8217; de objetos, o que significa que você poderá criar quantas cópias quiser e ao alterar o Prefab, todas as cópias também serão alteradas! É um recurso muito útil.</strong></p>
<p><strong>Podemos dizer que criar um Prefab na Unity 3D é como criar uma Classe no C++, por exemplo.</strong></p>
<h1>Scripts<em><br />
</em></h1>
<p>Scripts permitem que você defina o comportamento de um GameObject. Ao utilizar Scripts, você tem uma imensa variedade de funções que pode realizar.</p>
<p>Você pode definir o que ocorre com o Player ao tocar no inimigo, ou ainda fazer o mesmo andar quando a tecla A for pressionada, por exemplo.</p>
<p>Os scripts podem ser anexados à GameObjects, que passam à agir conforme você definiu no Script.</p>
<p><strong>Os Scripts permitem que você defina o comportamento dos objetos de seu jogo, você pode realizar tarefas como &#8216;disparar um tiro&#8217;, pular, movimentar-se etc. etc.</strong></p>
<p><strong>Você pode criar seus Scripts utilizando C#, JavaScript ou Boo. Sendo os dois primeiros os mais utilizados.</strong></p>
<h1>Conclusão</h1>
<p>Agora que você sabe o que são os itens abordados, você está pronto para iniciar na Unity 3D de verdade! Nas próximas aulas você terá conteúdo prático ou seja, HORA DE COLOCAR A MÃO NA MASSA!</p>
<p>E com isto terminamos nossa aula&#8230;</p>
<p>Espero que tenha apreciado e fico no aguardo de seu comentário! Aproveite <a href="http://twitter.com/devtutsbr" target="_blank">e nos Siga no Twitter</a> para receber novidades, promoções e noticias!</p>
<p>Rafael.</p>
]]></content:encoded>
			<wfw:commentRss>http://devtuts.com.br/wp/2010/08/conceitos-chaves-da-unity-3d-assets-scenes-prefabs-gameobjects-components-etc/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Tutorial Unity 3D &#8211; Explorando a Interface da Unity 3D</title>
		<link>http://devtuts.com.br/wp/2010/08/tutorial-unity-3d-explorando-a-interface-da-unity-3d/</link>
		<comments>http://devtuts.com.br/wp/2010/08/tutorial-unity-3d-explorando-a-interface-da-unity-3d/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 02:24:41 +0000</pubDate>
		<dc:creator>Rafael Angeline</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Unity 3D]]></category>
		<category><![CDATA[Iniciantes]]></category>

		<guid isPermaLink="false">http://devtuts.com.br/wp/?p=703</guid>
		<description><![CDATA[Nesta aula você irá entender como funciona a Interface da Unity 3D e ter uma introdução rápida em todos os itens da interface da Unity 3D. Aula extremamente importânte para entender os nomes e funções dos Painéis e Botões da Unity 3D que serão usados em todos os outros Tutoriais. Confira!]]></description>
			<content:encoded><![CDATA[<h1>Introdução &#8211; Aula #2</h1>
<p>Olá caro leitor!</p>
<p>Com prazer apresento este tutorial onde irei realizar uma <strong>abordagem completa sobre a Interface da Unity 3D</strong> que custuma confundir e até mesmo assustar iniciantes. Com este tutorial você irá se sentir mais seguro para usar a Unity 3D quando for desenvolver seu jogo.</p>
<p>Se você não sabe o que é Unity 3D confira este Tutorial &#8211; <a href="http://devtuts.com.br/wp/2010/06/introducao-a-engine-unity-3d-o-que-e-o-que-posso-fazer-vantagens-e-muito-mais/" target="_blank">Introdução à engine Unity 3D – O que é? O que posso fazer? Vantagens e Muito mais.</a> &#8211; para ter uma introdução completa à Unity 3D, ótimo para iniciantes e para sanar dúvidas em relação à engine.</p>
<p>Aproveite e não se esqueça de nos dizer sua opinião comentando este tutorial, só desta forma poderemos melhorar!</p>
<h1>Explorando a Interface da Unity 3D</h1>
<p>Entender como a interface da Unity 3D funciona é extremamente importânte e irá permitir que você se sinta mais a vontade quando estiver usando a Unity e também é algo essencial para que você possa seguir outros tutoriais mais avançados.</p>
<p>Irei dividindo a aula em tópicos. Cada tópico trata de uma parte da interface da Unity 3D. Vamos começar.</p>
<h2>Organização da Interface</h2>
<p>A interface da Unity 3D é bem organizada e possui o essencial para realizar a maioria das tarefas necessárias durante a produção do jogo.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-708" title="Interface Unity 3D Full" src="http://devtuts.com.br/wp/wp-content/uploads/2010/07/telaInterface.png" alt="Interface Unity 3D Full" width="600" height="400" /></p>
<p>Na Unity 3D, teremos sempre o menu localizado no topo do aplicativo, que é onde se localizam os Menus –<strong> File, Edit, Assets, Create</strong> etc. Este menu é muito importante e permite a realização de diversas funções dentro da Unity3D.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-710" title="Menu Superior Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/07/menuUnity.png" alt="Menu Superior Unity 3D" width="456" height="59" />Menu Superior da Unity 3D</p>
<p>Abaixo deste menu temos alguns botões que também são de extrema importância. Os botões servem para mover objetos, mover a câmera, rotacionar e escalar objetos, alterar o Layout da Unity 3D entre outras funções. Na imagem abaixo você pode ver de quais ferramentas estou falando:</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-712" title="Botões de Transformações Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/07/transformBotoes.png" alt="Botões de Transformações Unity 3D" width="141" height="28" /></p>
<p>Agora temos, no layout padrão, 4 áreas cruciais para o desenvolvedor. A área maior é a representação visual de nosso jogo. Nesta área podemos manipular objetos, adicionar scripts a estes objetos e uma porção de outras utilidades. Nesta mesma área podemos testar nosso jogo, sem precisar compilar o jogo todo. Basta apertar um simples botão para Rodar o jogo ou voltar ao Editor.</p>
<p>Temos ainda mais três janelas: <strong>Hierarchy, Project e Inspector</strong>. Na imagem abaixo você consegue visualizar as quatro áreas principais:</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-716" title="4 Areas Principais da Unity" src="http://devtuts.com.br/wp/wp-content/uploads/2010/07/fourAreas.png" alt="4 Areas Principais da Unity" width="600" height="450" /></p>
<p>Dentro da janela<strong> Hierarchy ( Area 1 )</strong>, temos toda a hierarquia de todos os objetos que estão sendo utilizados. Deste scripts até modelos 3D, mostrando em forma hierárquica o que cada Objeto contém. Por exemplo, uma Câmera FPS na Unity, contém um objeto Graphics para renderizar e representar o Player com um cilindro e também um objeto Main Camera, que é a Câmera em si, base para a renderização do jogo. Através desta janela, podemos ter acesso rápido à qualquer elemento do jogo!</p>
<p>Já na janela <strong>Project </strong><strong>( Area 3 )</strong>, temos acesso à todos os arquivos que fazem parte do projeto. Como os<em> modelos, Sons, texturas, Prefabs, Scripts</em> etc. Você pode importar também modelos, texturas e scripts padrões da Unity 3D, caso queira reutilizar no seu projeto. <strong>Lembrando que se você deletar algo na janela Project este arquivo irá sumir da pasta e não pode ser recuperado à não ser que você tenha este mesmo arquivo em outra pasta, então cuidado!</strong></p>
<p>A janela <strong>Project </strong><strong>( Area3 )</strong> é extremamente útil para se ter controle e acesso sobre os arquivos de mídia de seu jogo, também podemos criar pastas e diversos outros tipos de arquivos nesta página, como também importar arquivos de mídia para a mesma, como por exemplo: modelos 3D, texturas 2D e sons.</p>
<p>Temos por ultimo, a janela <strong>Inspector </strong><strong>( Area 4 )</strong>. A janela <strong>Inspector</strong> irá mostrar as propriedades de qualquer objeto selecionado, seja um modelo, uma Câmera, um Prefab etc. Totalmente essencial para se manipular as propriedades de qualquer objeto do jogo, como posição, rotação e escala por exemplo.</p>
<p>Com isto temos a divisão básica da Unity 3D já explicada. Agora temos que dar uma olhada mais detalhada em cada uma destas àreas citadas acima. Começando pela primeira área a ser citada.</p>
<h2>O Menu superior</h2>
<p>Como citado logo acima, esta área é bem importânte e permite a realização de diversas funções. O menu é dividido em áreas, vamos dar uma olhada em cada uma destas:</p>
<p><strong>O menu File</strong>&#8230; este é o primeiro e neste menu temos algumas opções disponiveis:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-720" title="Menu File da Unity " src="http://devtuts.com.br/wp/wp-content/uploads/2010/07/menuFile.png" alt="Menu File da Unity " width="246" height="274" /></p>
<p>Temos aqui algumas opções no Menu</p>
<ul>
<li><strong>New Scene</strong> – que irá criar uma nova cena em seu projeto. Uma cena pode ser um Menu ou uma tela do seu jogo, ai você decide.</li>
</ul>
<ul>
<li><strong>Open Scene</strong> – esta irá abrir uma cena já salva em seu projeto.</li>
</ul>
<ul>
<li> <strong>Save Scene e Save Scene As</strong> – Estas opções irão salvar sua Cena com o nome que der para elas, no formato .unity</li>
</ul>
<ul>
<li> <strong>New Project , Open Project e Save Project</strong> – a primeira irá criar um novo projeto, a segunda irá abrir um projeto e a ultima irá salvar seu projeto. Um projeto pode conter várias Cenas.</li>
</ul>
<ul>
<li> <strong>Build Settings e Build &amp; Run</strong> – a primeira irá definir em que plataforma seu jogo irá rodar e quais cenas serão compiladas. A segunda irá criar o arquivo final e irá rodar seu jogo.</li>
</ul>
<ul>
<li> <strong>Exit </strong>- A ultima opção simplesmente fecha a Unity 3D</li>
</ul>
<p><strong>O Menu Edit&#8230;</strong> este menu permite a configuração de vários parâmetros da Unity 3D, além de permitir Copiar, Recortar e Colar objetos dentro da Unity 3D. Permite configurar os controles, Prefêrencias e ainda emular capacidades gráficas para que seja possivel ver como é rodar seu jogo em um computador com menos potência que o seu.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-724" title="O Menu Edit - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/menuEdit.png" alt="O Menu Edit - Unity 3D" width="220" height="465" /></p>
<p><strong>O Menu Assets&#8230;</strong> o menu Assets permite criar ou adicionar midias ao seu jogo, como imagens, sons etc. Podemos também importar packages, que seria uma coleção de modelos, scripts, shaders, materiais etc. Depende muito do projeto e do que o mesmo utilizará. Você pode ainda sincronizar com um projeto do <em>Microsoft Visual Studio</em>, caso esteja usando a linguagem C# para criar seus códigos na engine.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-726" title="Menu Assets Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/menuAssets.png" alt="Menu Assets Unity 3D" width="342" height="308" /></p>
<p><strong>O Menu GameObject</strong> – Podemos criar GameObjects dentro da Unity e manipular os mesmos. A parte que é mais usada é a Create Other – esta parte permite você criar um cubo, por exemplo, ou até mesmo uma Luz dentro da Cena.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-727" title="O Menu GameObject Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/menuGameObject.png" alt="O Menu GameObject Unity 3D" width="360" height="316" /></p>
<p><strong>O Menu Component&#8230; </strong>dentro deste menu, temos alguns componentes já definidos, que podem ser colocados dentro de Objetos da sua cena. Um dos Componentes, por exemplo, permite que você faça seu objeto sofrer ação da física, ou seja, você transforma o seu objeto em um Rigid Body. Ao aplicar o componente sobre o objeto ele automaticamente passa a ser considerado na simulação fisica. Isto permite que você reutilize um código e possa utilizar em todo objeto que quiser e não utilizar nos objetos que não queira!</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-729" title="O Menu Component Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/menuComponent.png" alt="O Menu Component Unity 3D" width="242" height="165" /></p>
<p><strong>O Menu Terrain&#8230;</strong> que permite que você crie um terreno dentro de seu jogo. Você pode também esculpir o terreno, deixando o mesmo da maneira que quer ou importar um heightmap, que após ser lido, fará com que o terreno siga as elevações contidas no heightmap. Você pode ainda criar um lightmap para aumentar a performance, já que desta forma, as sombras no terreno não precisarão ser recalculadas a todo instânte.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-730" title="O Menu Terrain Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/menuTerrain.png" alt="O Menu Terrain Unity 3D" width="271" height="194" /></p>
<p><strong>O Menu Window</strong> – este menu permite que alteremos o layout da Unity 3D, mudando assim a organização das áreas. Permite também exibir telas, como a Inspector, Project, Scene, Game etc.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-731" title="Menu Window - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/menuWindow.png" alt="Menu Window - Unity 3D" width="279" height="296" /></p>
<p><strong>O Menu Help</strong> &#8211; Nele temos alguns links para a documentação etc. Temos ainda a opção – Enter Serial Number&#8230; &#8211; caso você atualize para a licença Pro, você deve seguir as instruções contidas nesta opção.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-732" title="Menu Help Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/menuHelp.png" alt="Menu Help Unity 3D" width="233" height="252" /></p>
<p>Com isto os menus acabaram, podemos então partir para a próxima parte!</p>
<h2>Os botões localizados abaixo do Menu Superior</h2>
<p>Temos aqui vários botões divididos em grupos.</p>
<p>O primeiro grupo consiste em 4 botões e são utilizados para realizar transformações e movimentar a câmera para navegar no mundo 3D.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-734" title="Botões de Tranformações - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/transformBotoes.png" alt="Botões de Tranformações - Unity 3D" width="141" height="28" /></p>
<p>O primeiro botão serve para que você possar mover a câmera, girar e diminuir ou aumentar o zoom da câmera, em outras palavras, serve para você poder navegar no mundo 3D enquanto edita o seu jogo.</p>
<p>Temos então 3 botões logo ao lado. Para utilizar estes botões você deve selecionar algum objeto da cena, seja sua câmera, uma caixa ou qualquer outra coisa.</p>
<p>Após selecionar o objeto você deve clicar em um destes botões para realizar a transformação que desejar.</p>
<ul>
<li>O primeiro botão serve para mover o objeto nos eixos X, Y e Z.</li>
</ul>
<ul>
<li> O segundo botão serve para rotacionar o objeto sobre os eixos X, Y e Z.</li>
</ul>
<ul>
<li> O terceiro botão serve para aumentar ou diminuir o tamanho de um objeto, ou seja, sua escala. Lembrando que alguns objetos, como uma câmera, não podem ser escalados por não se tratarem de objetos que serão visiveis. Já no caso de modelos 3D etc. A escala pode ser utilizada livremente.</li>
</ul>
<p>Logo ao lado temos dois botões que definem o comportamento das ferramentas explicadas agora a pouco.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-735" title="Center e Global - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/centerPivot.png" alt="Center e Global - Unity 3D" width="151" height="31" /></p>
<p>O primeiro define se as transformações deverão ocorrer baseando-se no Centro do Objeto ou em seu Pivô, que é um ponto que você mesmo pode definir, podendo fazer com que um objeto seja rotacionado a partir de qualquer ponto ao invés de seu centro. Basta clicar e o botão muda, clicar novamente faz com que ele mude novamente.</p>
<p>Já o segundo botão define se as transformações devem ocorrer de forma global ou levando em consideração apenas o objeto selecionado. Estes dois botões não possuem um peso muito grande no desenvolvimento de um jogo, então não se preocupe caso não entenda direito suas funcionalidades.</p>
<p>Ai temos um conjunto de três botões que servem para controlar o jogo.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-736" title="Play - Pause e Stop Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/playPauseStop.png" alt="Play - Pause e Stop Unity 3D" width="115" height="33" /></p>
<ul>
<li>O primeiro botão, como pode notar, é o Play. Ao clicar neste botão, o editor passa a executar o jogo e ao clicar novamente, ele volta ao modo editor.</li>
</ul>
<ul>
<li>O botão ao lado, pausa a execução do jogo até que seja pressionado novamente para que o jogo volte à execução.</li>
</ul>
<ul>
<li>O ultimo botão irá passar para o próximo frame e voltar com o Pause. Este é bem util quando se quer analisar o comportamento do jogo, pois pode-se ver o jogo frame à frame.</li>
</ul>
<p>Temos então no lado direito, dois menus chamados “Layer” e “Layout”.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-737" title="Menus Layers e Layout Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/layersLayout.png" alt="Menus Layers e Layout Unity 3D" width="221" height="32" /></p>
<p>O menu “Layout” é bem interessante, pois você pode com ele mudar a disposição das áreas na  Unity 3D. Por padrão, a opção Tall é a utilizada, mas você pode escolher outras.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-738" title="Opções de Layout Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/LayoutOptions.png" alt="Opções de Layout Unity 3D" width="294" height="179" /></p>
<p>Com isto terminamos de abordar estes grupos de botões e podemos partir para a explicação sobre os Painéis.</p>
<h2>Os Painéis</h2>
<p>O primeiro painel à ser tratado é o painel principal, que concentra o editor visual e é também neste painel que seu jogo irá rodar enquanto estiver testando o mesmo. Este é o Painel número 1 da imagem mostrada no inicio do tutorial.</p>
<p>Podemos notar que temos duas abas no topo deste painel, a primeira aba se chama “Scene” e a segunda se chama “Game”. Começaremos pela aba “Scene”.</p>
<h3>- Scene</h3>
<p>A aba “Scene” engloba o editor, ou seja, dentro desta aba você pode mover os objetos do jogo, organizar o cenário, posicionar luzes entre muitas outras tarefas.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-739" title="Aba Scene Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/abaScene.png" alt="Aba Scene Unity 3D" width="432" height="190" /></p>
<p>Temos abaixo da aba, algumas opções que podemos habilitar e desabilitar conforme nossas necessidades. O primeiro item permite que possamos escolher a forma que os objetos serão renderizados no editor. Temos 3 Opções, irei criar uma esfera para exemplificar as opções. (basta clicar sobre o botão escrito &#8220;Textured&#8221; e o menu se abre).</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-740" title="Rendering Mode Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/TexturedButton.png" alt="Rendering Mode Unity 3D" width="320" height="106" /></p>
<ul>
<li><strong>T</strong><strong>extured : </strong>esta é a opção padrão e faz com que tudo seja renderizado de forma que sejam mostradas as texturas ou a cor dos objetos.</li>
</ul>
<ul>
<li> <strong>Wireframe :</strong> esta opção faz com que apenas as linhas que criam o modelo 3D, chamadas de vértices, apareçam. Nesta opção, nem a textura nem a cor do objeto podem ser visualizadas.</li>
</ul>
<ul>
<li> <strong>Tex – Wire : </strong>esta opção permite que possamos ver os vértices do modelo e também a cor ou textura dos objetos 3D de nossa cena.</li>
</ul>
<p>Estas opções são uteis na hora em que você quer visualizar melhor os modelos, inclusive, ter noção da geometria por trás do modelo texturizado. De qualquer forma, o modo mais usado é o padrão, no caso:<em> Textured</em>, ou seja, somente com a textura ou cor habilitada.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-741" title="Color Mode - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/rgbButton.png" alt="Color Mode - Unity 3D" width="319" height="137" /></p>
<p>No item ao lado (mostrado na imagem acima, basta clicar no botão ao lado de Textured onde está escrito &#8220;<strong>RGB</strong>&#8220;), temos as opções de cores, ou seja, podemos alternar se queremos visualizar em RGB (cores normais), Alpha (mostra a transparencia dos objetos), Overdraw ( nesta opção, tudo que estiver se sobrepondo será pintado de um vermelho cada vez menos transparente e por ultimo, temos Mipmaps ( funciona apenas com objetos texturizados e pinta de uma cor sólida as áreas do objeto onde a textura está ficando muito pequena, não é muito util para o desenvolvedor ). A opção mais utilizada é a RGB, já que permite visualizar as cores dos objetos da cena.</p>
<p>Temos então dois pequenos icones ao lado, um se parece com um Sol e o outro com um Quadro.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-742" title="Iluminação e Efeitos Ativar/Desativar Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/IluminacaoANDeffects.png" alt="Iluminação e Efeitos Ativar/Desativar Unity 3D" width="74" height="37" /></p>
<p>O icone que se parece com um Sol permite com que as luzes colocadas na cena possam ser ativadas ou desativadas no editor, permitindo uma visualização sem ter que testar o jogo. Por padrão, as luzes estão desativadas, ou seja, basta um clique e as luzes são ativadas. Caso esteja desativado, os objetos contarão com uma iluminação própria. Outra observação a se fazer é que, caso não haja nenhuma luz na cena e mesmo assim você ative o botão, a cena irá ficar apagada já que não há nenhuma luz na cena. (Abaixo uma imagem mostrando o botão quando desativado ou quando ativo)</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-743" title="Luz Padrão Ativa/Desativada - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/Com_Sem_LuzDefault.png" alt="Luz Padrão Ativa/Desativada - Unity 3D" width="600" height="386" /></p>
<p>E por ultimo temos<strong> o botão que se parece com um quadro</strong>, ao lado do que se parece um Sol, <strong>este botão permite que você ative no editor efeitos como Skybox, Fog e Lens Flare que por padrão, só podem ser vistos quando se está testando o jogo.</strong></p>
<p>Agora podemos passar para a próxima aba, que é a “Game”. Dentro desta aba temos também alguns botões que também nos são uteis.</p>
<p>Lembrando que a aba Game permite à você, desenvolvedor, visualizar como seu jogo está ficando sem ter que compilar o código e ainda permite que sejam visualizados dados sobre a performance do jogo etc.</p>
<h3>- Game</h3>
<p>Ao entrar na aba Game, temos aqui um fundo azul, neste momento nosso jogo já está rodando e podemos partir para os botões que se localizam abaixo da aba.</p>
<p>O primeiro botão permite que você altere as dimensões da tela. Temos algumas opções:</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-744" title="Alterar tamanho da Tela - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/sizesScreen.png" alt="Alterar tamanho da Tela - Unity 3D" width="396" height="244" /></p>
<ul>
<li>Free Aspect : a tela irá assumir o tamanho da área que seu painel está ocupando.</li>
</ul>
<ul>
<li> 5 : 4 – 4 : 3 etc. : estes botões representam a escala da tela, no caso 5 por 4, 4 por 3, não é muito utilizado na hora da distribuição do jogo.</li>
</ul>
<ul>
<li> Standalone : está é muito utilizada na distribuição para Pc, nesta o tamanho da tela será 1024&#215;768, se você pretende distribuir para Desktop, use este modo para testar.</li>
</ul>
<ul>
<li> Web : este é o formato mais usual para a internet, se pretende distribuir o jogo para ser utilizado em navegadores, use este formato para testar o resultado final.</li>
</ul>
<p>Lembrando que o formato final é definido na hora de compilar a versão final do jogo e não através da aba “Game”.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-745" title="Maximize On Play Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/MaximizeOnPlay.png" alt="Maximize On Play Unity 3D" width="395" height="60" /></p>
<p>Temos ao lado, um botão que diz “Maximize on Play“ (imagem acima), quando se habilita este botão ao se clicar no botão Play ou clicar na aba “Game”, o painel onde seu jogo executa irá ocupar mais espaço que o normal.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-746" title="Botão Gizmos Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/GizmosButton.png" alt="Botão Gizmos Unity 3D" width="395" height="60" /></p>
<p>Depois deste, temos o botão que diz “Gizmos” (imagem acima), ativando este botão, qualquer luz ou local que emita som será visivel. Bem util para verificar a localização de uma luz ou de onde um som está partindo.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-747" title="Botão Stats - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/StatsButton.png" alt="Botão Stats - Unity 3D" width="395" height="60" /></p>
<p>E por ultimo, temos um botão muito util para nós, que estamos desenvolvendo. O botão diz “Stats” (imagem acima) e ao ativar o botão você pode ver o FPS, ou seja, os frames por segundo. Se estiver acima de 60 FPS está ótimo, se estiver à 32 FPS é aceitavel, abaixo disto já não é normal. Veja abaixo a janela que mostra as informações sobre a execução do jogo:</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-748" title="Stats do Aplicativo - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/statsEXE.png" alt="Stats do Aplicativo - Unity 3D" width="516" height="230" /></p>
<p>Temos ainda outras informações, como: o número de chamadas à função Draw, Triangulos e Vértices, tamanho da tela, uso da memória RAM etc.</p>
<p>Finalizamos agora a aba “Game” e podemos passar ao próximo Painel.</p>
<h2>O Painel Hierarchy</h2>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-749" title="Painel Hierarchy - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/Hierarchy.png" alt="Painel Hierarchy - Unity 3D" width="182" height="160" /></p>
<p>Este painel irá mostrar toda a hierarquia de objetos da cena, através deste painel você pode selecionar rapidamente um objeto de sua cena, dar um nome à ele e verificar quais objetos são filhos de outros objetos, pode-se também duplicar um objeto ou mesmo deletar o mesmo.</p>
<p>Este painel será muito usado em outros tutoriais sobre a Unity 3D.</p>
<h2>O Painel Inspector</h2>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-751" title="O Painel Inspector - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/Inspector.png" alt="O Painel Inspector - Unity 3D" width="177" height="242" /></p>
<p>Este painel fica vazio quando não temos nada selecionado. Quando selecionamos algum objeto no editor ou através do Painel Hierarchy, este painel é preenchido e permite a edição de propriedades do objeto selecionado. O painel é extremamente util e também será muito utilizado!</p>
<h2>O Painel Project</h2>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-750" title="Painel Project - Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/08/Project.png" alt="Painel Project - Unity 3D" width="234" height="325" /></p>
<p>Este painel serve para você acessar e organizar os Resources de seu jogo, ou seja, texturas – modelos – sons – scripts etc.</p>
<p>Uma observação muito importânte é que toda modificação, como renomear ou excluir uma pasta ou arquivo do projeto, deve ser feito por este painel! Deletar a pasta diretamente através do Windows, por exemplo, pode causar erros em seu projeto!</p>
<p>Portanto, lembre-se: “<strong>Qualquer alteração nos arquivos dos projetos DEVE ser feita através do Painel Project na Unity 3D!</strong>”</p>
<h1>Conclusão</h1>
<p>Com isto terminamos de abordar a interface da Unity 3D. Vale lembrar que esta aula é básica e você não chegou a aprender em detalhes como utilizar estes painéis. Isto irá ser abordado em próximas aulas e conforme você for ganhando experiência, irá entender toda a interface e ainda saberá usar a mesma de forma eficiente. Mas uma introdução é sempre boa, para que a pessoa saiba o que está por vir e deixe sua mente preparada para absorver melhor o conhecimento.</p>
<p>Termino aqui este tutorial. Até a próxima!</p>
<p>Não deixe de seguir o DevTuts no Twitter para saber as próximas aulas, o que estamos fazendo e os lançamentos &#8211; <a href="http://twitter.com/devtutsbr" target="_blank">DevTuts Twitter &#8211; Siga-nos</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devtuts.com.br/wp/2010/08/tutorial-unity-3d-explorando-a-interface-da-unity-3d/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Dica XNA &#8211; Gerando Tangente em Modelos 3D com XNA Framework</title>
		<link>http://devtuts.com.br/wp/2010/07/dica-xna-gerando-tangente-em-modelos-3d-com-xna-framework/</link>
		<comments>http://devtuts.com.br/wp/2010/07/dica-xna-gerando-tangente-em-modelos-3d-com-xna-framework/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 22:02:15 +0000</pubDate>
		<dc:creator>Rafael Angeline</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[XNA Framework]]></category>
		<category><![CDATA[Iniciantes]]></category>
		<category><![CDATA[Tutoriais]]></category>

		<guid isPermaLink="false">http://devtuts.com.br/wp/?p=690</guid>
		<description><![CDATA[Aprenda nesta dica rápida como fazer o XNA Framework gerar e armazenar as tangentes de seu modelo 3D. Ter acesso às tangentes é crucial para que técnicas como Normal Mapping funcionem da maneira adequada!]]></description>
			<content:encoded><![CDATA[<h1>Introdução</h1>
<p>Para economizar no tamanho de um modelo 3D o XNA Framework não gera as tangentes de um modelo mesmo que você tenha exportado estas tangentes a partir de seu programa de Modelagem ( 3D Max, Maya, Blender etc. )</p>
<p>O XNA Framework irá considerar apenas a Normal dos vértices e <strong>ignorar a Tangete dos Vértices</strong>. Isto pode ou não pode ser um problema para o programador, iremos neste tutorial verificar quando isto se torna um problema e como resolver esta situação.</p>
<h1>Qual o Uso da Tangente?</h1>
<p>Se a sua intenção é simplesmente renderizar um modelo com uma técnica mais simples ter acesso à tangente não será necessário e fazer o XNA processar a  mesma só ocuparia mais espaço que o necessário.</p>
<p>Mas caso você  queira utilizar uma técnica mais avançada, como <strong>Normal Mapping </strong>e derivados (Parallax Mapping etc.) você terá que ter acesso aos dados da Tangente pois estas técnicas precisam delas para que funcionem.</p>
<p>Sem o acesso à tangente dos vértices o Shader HLSL (.fx) não irá funcionar corretamente, fazendo com que  a renderização fique incomum e não conforme o esperado. Ou seja, sem as tangentes seu shader que implemente a técnica de Normal Mapping não irá funcionar corretamente, apresentando problemas.</p>
<h1>Problema no Normal Mapping</h1>
<p>Abaixo irei postar duas imagens mostrando a diferença entre a técnica de Normal Mapping sendo aplicada à um modelo 3D <strong>sem as tangentes</strong> e em outro <strong>com as tangentes</strong>.</p>
<p style="text-align: center;"><strong>No modelo da imagem abaixo, as tangentes NÃO foram processadas</strong></p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-696" title="Normal Map sem Tangente" src="http://devtuts.com.br/wp/wp-content/uploads/2010/07/SemTangente.png" alt="Normal Map sem Tangente" width="600" height="459" /></p>
<p>Pode-se notar que o resultado do modelo sem tangente não é nem de longe o esperado. A técnica Normal Mapping serve para simular relevo e deixar o modelo mais detalhado sem triângulos adicionais. Sem as tangentes o efeito não existe!</p>
<p style="text-align: center;"><strong>No modelo da imagem abaixo, as tangentes FORAM processadas</strong></p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-697" title="Normal Map com Tangente Processada" src="http://devtuts.com.br/wp/wp-content/uploads/2010/07/ComTangente.png" alt="Normal Map com Tangente Processada" width="600" height="459" /></p>
<p>Já com as tangentes o resultado é bem melhor que o da imagem acima, podendo-se notar os detalhes no modelo!</p>
<h1>Como fazer o XNA Framework processar as Tangentes?</h1>
<p>Felizmente é muito simples fazer com que o XNA Framework obtenha e armazene as tangentes de seu modelo 3D. Tudo que temos que fazer é alterar as propriedades de nosso modelo 3D que está na pasta <em>Content. </em>Basta seguir os passos abaixo:</p>
<h3>1º Passo &#8211; Selecione o Modelo e abra as Propriedades</h3>
<p>Este passo é bem simples, tudo o que precisa ser feito é você clicar no modelo 3D que está dentro da pasta Content e automaticamente a caixa de propriedades (Properties) irá aparecer abaixo. Caso a mesma não apareça, ela pode ser aberta com o atalho <strong>Ctrl+W &#8211; P </strong>ou indo em <strong>View &#8212; Properties Window</strong></p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-692" title="Acessando as Propriedades do Modelo 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/07/Properties.png" alt="Acessando as Propriedades do Modelo 3D" width="274" height="693" /></p>
<p>Resumidamente, clique sobre o modelo 3D e a caixa de propriedades irá aparecer. Feito isto siga o próximo passo.</p>
<h3>2º Passo &#8211; Alterando o Content Processor para gerar as Tangentes</h3>
<p>Agora o segundo e ultimo passo é alterar o Content Processor <em>Model &#8211; XNA Framework</em> para que ele obtenha e armazene as tangentes do modelo. Para fazer isto basta seguir os passos mostrados na foto abaixo:</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-695" title="Alterando o Content Processor" src="http://devtuts.com.br/wp/wp-content/uploads/2010/07/AlterandoProcessor.png" alt="Alterando o Content Processor" width="277" height="345" /></p>
<p>Após alterar o campo <strong>Generate Tangent Frames para True, </strong>as tangentes serão armazenadas e você não terá mais problemas com o Normal Mapping ou outra técnica que utilize as tangentes dos vértices!</p>
<h1>Conclusão</h1>
<p>Foi uma dica rápida, mas por este simples detalhe o Normal Mapping não funciona e pode fazer com que você fique tentando descobrir o que há de errado com o arquivo .fx durante dias, quando na verdade o arquivo estava correto mas o XNA não estava gerando as tangentes.</p>
<p>Fica ai a dica para você, caro leitor! Espero que ajude.</p>
<p>Rafael.</p>
]]></content:encoded>
			<wfw:commentRss>http://devtuts.com.br/wp/2010/07/dica-xna-gerando-tangente-em-modelos-3d-com-xna-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introdução à engine Unity 3D &#8211; O que é? O que posso fazer? Vantagens e Muito mais.</title>
		<link>http://devtuts.com.br/wp/2010/06/introducao-a-engine-unity-3d-o-que-e-o-que-posso-fazer-vantagens-e-muito-mais/</link>
		<comments>http://devtuts.com.br/wp/2010/06/introducao-a-engine-unity-3d-o-que-e-o-que-posso-fazer-vantagens-e-muito-mais/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 21:39:47 +0000</pubDate>
		<dc:creator>Rafael Angeline</dc:creator>
				<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Unity 3D]]></category>
		<category><![CDATA[Iniciantes]]></category>

		<guid isPermaLink="false">http://devtuts.com.br/wp/?p=669</guid>
		<description><![CDATA[Tenha neste tutorial uma completa introdução à Unity 3D - saiba o que é, conheça as licenças da Unity 3D, o que você pode fazer, os recursos da Unity 3D e ainda saiba onde realizar o download. Confira!]]></description>
			<content:encoded><![CDATA[<h1>Introdução</h1>
<p>Olá caro leitor. Este é o primeiro tutorial sobre a <strong>Unity 3D, </strong>que é uma das grandes engines do mercado, tendo atingido um grande público desenvolvedor por diversos motivos que citarei ao decorrer deste tutorial.</p>
<p>Espero que aprecie este novo tutorial gratuito e os próximos lançamentos sobre esta incrivel engine.</p>
<p>Irei escrever este tutorial na forma de Pergunta &#8211; Resposta, ou seja, haverá uma pergunta e eu mesmo irei responder tal questão.</p>
<h1>O que é Unity 3D?</h1>
<p>Unity 3D é uma engine completa para desenvolvimento de jogos 3D e 2D. Sua vantagem está em seu incrivel editor visual que torna possivel visualizar todo o jogo e criar um jogo completo a partir desde ambiente de Desenvolvimento.</p>
<p>A engine possui recursos incriveis que batem de frente com engines mais veteranas, como a Unreal Engine e a CryEngine ( usada na criação de Crysis e Far Cry ). Com esta engine você poderá desenvolver um jogo 3D ou 2D que rode tanto no Windows, quanto no Mac, no iPhone, no iPad, no Android ou no Wii ou no próprio Navagador Web.</p>
<p>Óbvio que nem todos podem desenvolver para iPhone e iPad ou para Android ou ainda para o Wii, já que é necessário ser um desenvolvedor autorizado. Mas todos são hábeis para programar jogos para Windows, Mac e para os Navegadores Web ( que rodam o jogo através do plugin UnityPlayer ).</p>
<h2>A Unity 3D é Gratuita?</h2>
<p>A Unity 3D possui <strong>5 licenças </strong>diferentes, cada uma para um certo tipo de desenvolvedor. Os detalhes sobre o que uma suporta ou não, de forma completa estão nesta página <a href="http://unity3d.com/unity/licenses" target="_blank">Clique Aqui</a>.</p>
<p>As licenças são <strong>Unity, Unity Pro, Unity iPhone Basic, Unity iPhone Advanced e Unity Wii. </strong>De acordo com a Unity Technologies, em breve mais plataformas serão suportadas, tais como <em>Android.</em></p>
<p>Vamos dar uma olhada em cada uma destas licenças e principalmente nas que mais interessa ao desenvolvedor, que é a <strong>Unity e a Unity Pro.</strong></p>
<h3>- Unity</h3>
<p>Esta é a versão gratuita da Unity que pode ser usada tanto para estudos quanto para fins comerciais, válida para empresas que não ganharam 100.000 dólares no ultimo ano fiscal. Ou seja, se você ganhar mais de 100.000 dólares <strong>deve </strong>obter a <strong>Unity Pro.</strong> Bem justo.</p>
<p>Esta versão possui menos recursos que a <strong>Unity Pro, </strong>mas é totalmente possivel criar um jogo de qualidade com esta licença, sem dúvida alguma. As vantagens da Unity Pro serão abordadas no próximo item.</p>
<p>Qualquer aplicação feita com a versão gratuita irá mostrar o logotipo da <strong>Unity Engine </strong>e para retirar este logotipo você deve obter a versão <strong>Pro.</strong></p>
<h3>- Unity Pro</h3>
<p>Esta é a versão paga da Unity engine e possui diversos recursos bem interessantes, perfeita para estúdios ou para o desenvolvedor que tem uma grana para investir.</p>
<p>O preço desta não é tão salgado quanto as outras engines (Unreal Engine ou CryTek) já que ela custa apenas $1.200 (mil e duzentos dólares).</p>
<p>Não é um preço acessivel à qualquer pessoa, mas é bem acessivel à algum estúdio ou pessoa que tenha dinheiro para investir, algo em torno de 5.000 reais dá e sobra para comprar a versão <strong>Unity Pro.</strong></p>
<h3>- Unity iPhone Basic e Unity iPhone Advanced</h3>
<p>Estas versões são para o desenvolvimento para iPhone (dispositivo da Apple). As diferenças entre a Basic e Advanced estão mais na parte de desempenho e customização tais como o uso de plugins feitos em C++ ou Objective-C.</p>
<p>Na <strong>Basic</strong> a marca d&#8217;agua da Unity irá aparecer e para retirar a mesma, somente com a versão <strong>Advanced.</strong> Ambas as versões são pagas e você precisa ser um <em>Desenvolvedor autorizado pela Apple</em>.</p>
<p>Os preços são respectivamente +300 dólares pela <strong>Basic </strong>e +1200 dólares pela <strong>Advanced.</strong></p>
<p>Caso você queira a versão Gratuita da Unity, somente a versão <strong>Basic </strong>poderá ser comprada. Para se obter a versão <strong>Advanced</strong> você deve comprar junto com a <strong>Unity Pro.</strong></p>
<h3><strong>- Unity Wii</strong></h3>
<p>Esta versão permite o desenvolvimento para o console Nintendo Wii. Você deve ser um <em>Desenvolvedor Autorizado Nintendo </em>e entrar em contato com a <strong>Unity Technologies </strong>para obter os preços e para baixar tal versão.</p>
<p>Com uma desta em mãos e o kit de desenvolvimento fornecido pela Nintendo, você pode produzir jogos para a <strong>WiiWare ou Gravar Discos com Jogos para o Nintendo Wii.</strong></p>
<h2><strong>Quais as Vantagens de cada Versão da Unity 3D?</strong></h2>
<p>Uma lista completa com os recursos de cada versão pode ser encontrada no site oficial clicando neste<a href="http://unity3d.com/unity/licenses" target="_blank"> link</a>.</p>
<h2>Qual a melhor versão para mim?</h2>
<p>Se você tiver o dinheiro necessário compre a Unity 3D <strong>Pro</strong>. Caso você seja um desenvolvedor Indie ( independente ) baixe a versão gratuita, nela você poderá <strong>criar jogos para estudar ou para comercializar, caso assim deseje.</strong></p>
<p>Caso queira desenvolver para o iPhone da Apple, terá que comprar a licença <strong>iPhone Basic ou Advanced</strong> que são ambas pagas. Além disto, terá que ser um desenvolvedor autorizado pela Apple pagando uma taxa e outros processos. Um computador que rode o Mac OS também é necessário, ou seja, terá que comprar uma CPU ou Notebook da Apple.</p>
<p>Caso você seja uma empresa autorizada pela Nintendo, você poderá obter informações sobre o preço etc. diretamente com a <strong>Unity Technologies.</strong></p>
<h1>O que posso fazer com a Unity 3D?</h1>
<p>Esta questão é bem fácil de responder: você pode criar jogos incriveis, tanto em 3D quanto em 2D com uma agilidade incrivel no desenvolvimento! Jogos com uma performance muito boa e efeitos de ultima geração (uma boa coleção de shaders prontos e fáceis de usar) além da facilidade no desenvolvimento e o melhor, rodando em diversas plataformas!</p>
<p>Gostaria de ver o que você pode fazer com esta incrivel ferramenta? Clique <a href="http://unity3d.com/gallery/live-demos/index.html#tropical-paradise" target="_self">aqui</a> e confira as demos agora mesmo (exige a instalação do plugin UnityWebPlayer para visualização diretamente no navegador).</p>
<p>Veja abaixo uma imagem tirada de um dos aplicativoss que demonstram uma pequena parte do poder da <strong>Unity 3D</strong></p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-674" title="Island Unity 3D - Demonstração da Capacidade da Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/06/island_demo.png" alt="Island Unity 3D - Demonstração da Capacidade da Unity 3D" width="597" height="366" /></p>
<p>Como pode notar, a qualidade é muito boa chegando à niveis profissionais. E tudo com aproximadamente 50% de esforço à menos do que codificar tudo do zero. Claro que dependendo de sua necessidade ou plataforma alvo, escolher outra ferramenta as vezes é o unico caminho. Mas para quem não possue necessidades especificas de desenvolvimento, a Unity 3D é uma das melhores escolhas à serem feitas.</p>
<h1>Posso vender meus jogos criados nela?</h1>
<p>Sem dúvida pode. Você poderá vender seus jogos para PC, Mac e Navegador Web sem pagar nada. A diferença é que a Unity 3D não possui recursos iguais ao da <strong>Unity 3D Pro</strong> e caso utilize a versão gratuita, o logotipo da Unity irá aparecer na tela de seu jogo.</p>
<p>Para as demais plataformas (iphone, ipad, android, wii) é necessário obter licenças especificas que não são gratuitas e além disto ser um desenvolvedor autorizado ( processo que também não é gratuito =P )</p>
<h1>Quais os Recursos que a Unity 3D Pro tem e a Unity 3D não tem?</h1>
<p>Podemos fazer uma lista com os recursos que a <strong>Unity 3D possui e a Unity 3D não possui.</strong> Confira abaixo.</p>
<ul>
<li><strong>Post-Processing Effects</strong> &#8211; efeitos especiais na tela, tais como SSAO (Screen Space Ambient Occlusion), Depth of Field (DOF), Blur, Motion Blur etc. Estes efeitos especiais estão presentes somente na versão <strong>Pro.</strong></li>
<li><strong>Render-to-Texture &#8211; </strong>permite obter a renderização final e armazenar em uma Textura. Com este textura em mãos, você pode criar efeitos de água realisticos e muitos outros (dependendo de sua criatividade)</li>
<li><strong>Sombras em Tempo Real ( RealTime Shadows ) -</strong> recurso importante em jogos atuais, faz com que as sombras sejam geradas em tempo real e de forma realistica, melhorando e muito o visual do jogo.</li>
<li><strong>Profiler &#8211; </strong>Permite identificar e analisar completamente seu jogo para ajudar a descobrir formas de otimização e pontos que estão consumindo muitos recursos.</li>
<li><strong>Low-Level Rendering Acess &#8211; </strong>permite modificações de baixo nivel na forma com que a Unity 3D renderiza o jogo. Geralmente alterada apenas por projetos de grande porte com performance critica.</li>
<li><strong>C/C++ ou Objective-C Plugins &#8211; </strong>permite usar uma biblioteca externa dentro da Unity 3D, permitindo utilizar por exemplo, outra engine física etc. Você pode ainda escrever seus próprios plugins para você utilizar.</li>
<li><strong>Reprodução de Videos &#8211; </strong>permite ao desenvolvedor reproduzir videos, seja em uma superficie 3D ou em uma textura 2D.</li>
<li><strong>Streaming Assets &#8211; </strong>permite carregar os modelos, texturas, sons etc. (Assets) de forma progressiva ou seja, com o famoso <em>Loading&#8230;</em></li>
<li><strong>Sem o Logotipo/Marca d&#8217;agua da Unity 3D &#8211; </strong>com a Unity 3D <strong>Pro </strong>o logotipo da Unity 3D não precisa ser exibido.</li>
</ul>
<p>Além destes citados acima teremos mais recursos com o lançamento da <strong>Unity 3D 3.0, </strong>que incluem:</p>
<ul>
<li>Outras plataformas como, Android &#8211; iPad &#8211; XBox360 &#8211; PS3 e as já suportadas atualmente</li>
<li>Deffered Rendering Otimizado, que irá melhorar o sistema de iluminação acabando com o limite de luzes (claro que é bom não exagerar =D )</li>
<li>Sistema de LightMapping Profissional.</li>
<li>Sistema de Occlusion Culling da <strong>Umbra </strong>- um dos melhores do mundo, fazendo com que o desempenho do jogo melhore e muito!</li>
</ul>
<h1>E quais são os Recursos que a Unity 3D gratuita possui?</h1>
<p>A Unity 3D possui, em sua versão gratuita, diversos recursos muito interessantes. Irei citar abaixo os principais e que facilitam e muito a vida do desenvolvedor Indie (independente).</p>
<h2>Editor</h2>
<p>O editor da Unity 3D é muito completo e você pode programar o seu jogo todo por meio deste editor. Pode-se posicionar objetos, editar scripts, importar arquivos e muitas outras tarefas. O editor é organizado e pode ser customizado para o modo que mais lhe agradar! Destacando ainda que você pode testar o jogo diretamente no editor sem compilar a versão definitiva e ainda Pausar ou dar Play no aplicativo.</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-675" title="Foto do Editor da Unity 3D " src="http://devtuts.com.br/wp/wp-content/uploads/2010/06/editor_unity.png" alt="Foto do Editor da Unity 3D " width="600" height="398" /></p>
<p>Pode-se notar que o editor é bem interessante e fácil de usar <strong>e </strong>o mais importante: é <strong>Completo!</strong></p>
<h2><strong>Gráficos</strong></h2>
<p>A velocidade de renderização é <strong>muito alta</strong> pois é altamente otimizada e roda tanto <strong>DirectX quanto OpenGL</strong>. Sistema de Particulas, modelos animados e muito mais, fazem parte da <strong>Unity 3D </strong>que possui um motor gráfico muito bem feito.</p>
<h2>Suporte aos mais famosos formatos de arquivos (Assets)</h2>
<p>Algo muito interessante é que a Unity 3D suporta muitos formatos de forma extremamente completa!</p>
<ul>
<li>Suporte à modelos 3D nos formatos <strong>.mb &amp; .ma </strong>(Autodesk Maya) &#8211; <strong>.max </strong>(Autodesk 3D Max) &#8211; <strong>.blend </strong>(Blender) &#8211; e muitos outros, como <strong>XSI, Lightwave, Cinema4D etc.</strong></li>
<li>Suporte à fontes <strong>TrueType &#8211; .TTF</strong></li>
<li>Suporte ao formato <strong>.psd </strong>- permitindo editar o seu arquivo com Camadas (Layers) além de outros formatos, como <strong>.jpg &#8211; .png &#8211; .bmp -  .tga</strong> etc.</li>
<li>Suporte à diversos formatos de audio e contando ainda com Conversão para .<strong>OGG </strong>- diminuindo assim o tamanho do seu jogo e utilizando um formato 100% gratuito!</li>
<li>Compressão DXT para as imagens &#8211; diminuindo seu tamanho de forma considerável.</li>
</ul>
<p>Tem ainda muitos outros recrusos, mas você já deve ter notado que é uma ferramenta que suporta muito bem os arquivos necessários para se criar um jogo (sons, modelos 3D, imagens 2D).</p>
<h2>MultiPlataforma</h2>
<p>Com a Unity 3D você pode distribuir seu jogo para diversas plataformas com apenas alguns cliques! Nem preciso dizer mais.</p>
<h2>Shaders</h2>
<p>Você pode escrever seus próprios shaders ou utilizar os efeitos especiais presentes na <strong>Unity 3D Pro, </strong>mas além disto você poderá contar com uma incrivel coleção de 40 tipos de Shaders diferentes.</p>
<ul>
<li>Diffuse</li>
<li>Parallax</li>
<li>Bumped Diffuse</li>
<li>Paralax Specular</li>
<li>e muitos outros!</li>
</ul>
<h2>Terrenos</h2>
<p>Você pode esculpir seus terrenos na hora com a Unity 3D, gerar mapas de luz para aumentar a performance e a Unity 3D se encarrega da otimização para você!</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-677" title="Editor de Terrenos da Unity 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/06/terrain_unity.png" alt="Editor de Terrenos da Unity 3D" width="600" height="400" /></p>
<p>Você pode notar que o editor de terrenos da Unity 3D é muito poderoso e bem flexivel, permitindo além de esculpir na hora a importação de um <strong>HeightMap </strong>que será usado pela Unity 3D para criar o terreno.</p>
<h2>Networking</h2>
<p>A Unity 3D também fornece de maneira fácil o Network para seu jogo, fazendo o mesmo se tornar um jogo Multiplayer com uma boa facilidade se comparado à se criar as conexões do zero em outra linguagem ou framework.</p>
<h2>Física</h2>
<p>A Unity 3D utiliza um motor físico criado pela <strong>nVidia</strong>, o consagrado <strong>PhysX, </strong>permitindo que se crie simulações físicas com extrema qualidade. Alguns dos recursos são:</p>
<ul>
<li><strong>Ragdolls &#8211; </strong>permitindo que se controle &#8220;corpos&#8221;, um exemplo seria seu personagem principal que sofreria com a ação das leis da física.</li>
<li><strong>Carros &#8211; </strong>é possivel implementar veiculos nesta engine e isto é um recurso importante.</li>
<li><strong>Joints &#8211; </strong>permite conectar objetos criando pontes, correntes etc.</li>
<li><strong>Rigidbodies &#8211; </strong>Implementa corpos que sofrem com a ação das leis da física, como por exemplo, um cubo ou uma esfera.</li>
</ul>
<h2>Audio &amp; Video</h2>
<p>A Unity 3D possui um ótimo suporte em relação à reprodução de Audio e Video. Ofereçe diversos recursos para a reprodução dos mesmos e suporte à diversos formatos (os mais utilizados). Na lista abaixo você confere algumas caracteristicas:</p>
<ul>
<li>Suporte à reprodução de videos tanto em uma Textura 2D quanto em uma superficie 3D. (disponivel somente na <strong>Unity 3D Pro</strong>)</li>
<li>Suporte à diversos formatos, como por exemplo: <strong>.mp3 &#8211; .ogg &#8211; .wav &#8211; .aac &#8211; entre outros</strong></li>
<li>A Unity 3D pode converter todos os arquivos de áudio e video para o formato <strong>.ogg</strong> automaticamente. Este formato possui qualidade semelhante ao .<strong>mp3 ou .aac</strong> mas é totalmente gratuito!</li>
</ul>
<h2>Scripting</h2>
<p>Você pode programar toda a lógica e funcionamento do jogo com scripts. Os scripts podem ser escritos em <strong>C# &#8211; Javascript ou Boo </strong>(dialeto da linguagem Python) e vale destacar que o desempenho não é alterado dependendo da linguagem. Pode escolher qualquer uma e o desempenho será o mesmo!</p>
<h2>Luzes e Sombras</h2>
<p>A Unity 3D possui um bom sistema de iluminação que suporta os tipos de luzes mais conhecidos, como Omni Light &#8211; Spot Light ou Directional Light.</p>
<p>Na versão <strong>Pro</strong>, a Unity 3D permite o uso de Sombras em tempo real e efeitos especiais avançados, como <strong>SSAO </strong>(Screen Space Ambient Occlusion) entre outros com apenas alguns cliques!</p>
<h1>Me interessei&#8230; Onde posso fazer o Download da Unity 3D?</h1>
<p>O download pode ser feito no site oficial da <strong>Unity 3D </strong>- clicando neste <a href="http://unity3d.com/unity/download/" target="_blank">link</a>.</p>
<h1>Conclusão</h1>
<p>Espero que tenham gostado desta pequena introdução à esta incrivel engine que é a Unity 3D. Estarei criando tutoriais sobre esta engine e espero que você, caro leitor, aproveite cada um deles!</p>
<p>Obrigado e continue nos acompanhando.</p>
<p>Rafael.</p>
]]></content:encoded>
			<wfw:commentRss>http://devtuts.com.br/wp/2010/06/introducao-a-engine-unity-3d-o-que-e-o-que-posso-fazer-vantagens-e-muito-mais/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>XNA Game Component &#8211; Contador FPS (Frames por Segundo)</title>
		<link>http://devtuts.com.br/wp/2010/06/xna-game-component-contador-fps-frames-por-segundo/</link>
		<comments>http://devtuts.com.br/wp/2010/06/xna-game-component-contador-fps-frames-por-segundo/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 00:10:52 +0000</pubDate>
		<dc:creator>Rafael Angeline</dc:creator>
				<category><![CDATA[Downloads]]></category>

		<guid isPermaLink="false">http://devtuts.com.br/wp/?p=638</guid>
		<description><![CDATA[Baixe agora mesmo um Game Component que irá realizar a contagem do FPS de seu jogo de maneira fácil e rápida. Em apenas 5-6 passos você já poderá saber de forma gratuita o FPS de seu jogo feito no XNA Framework. Compativel com 2D e 3D e totalmente gratuito! Confira!]]></description>
			<content:encoded><![CDATA[<h1>Introdução</h1>
<p>Nesta postagem irei disponibilizar para você, caro leitor, um Game Component para XNA Framework que pode ser facilmente implementado em seu jogo e seguindo alguns passos, terá na tela o FPS de seu jogo, ou seja, quantos frames por segundo seu jogo está rodando.</p>
<p>Temos um tutorial aqui no DevTuts que explica sobre o FPS de um jogo, confira clicando aqui:  <a title="[Dica] Definindo o FPS (Frames por Segundo) no XNA Framework" href="wp/2010/06/dica-definindo-o-fps-frames-por-segundo-no-xna-framework/" target="_blank">[Dica] Definindo o FPS (Frames por Segundo) no XNA  Framework</a></p>
<h1>Download do Component</h1>
<p class="imagemPost" style="text-align: center;"><a title="Camera FPS Game Component" href="http://www.devtuts.com.br/gaiaserver/Resources/XNA/Components/FPSComponent/FPSCounter.zip" target="_blank"><img class="aligncenter size-full wp-image-66" title="Baixar Código-Fonte" src="http://devtuts.com.br/wp/wp-content/uploads/2010/03/source.png" alt="Baixar Código-Fonte" width="79" height="98" /></a></p>
<p><strong>O FPSCounter Game Component é totalmente Gratuito</strong>! Pode aproveitar a vontade. Abaixo você poderá conferir o componente em ação, as features ( caracteristicas e vantagens ) de se usar o componente, poderá conferir como implementar o Game Component em seu jogo e também poderá visualizar sua documentação com exemplos para que possa aproveitar ao máximo.</p>
<h1>O Game Component em Ação</h1>
<p class="imagemPost" style="text-align: center;"><a href="http://devtuts.com.br/wp/wp-content/uploads/2010/06/FPSCounter_2D.png"><img class="aligncenter size-full wp-image-648" title="FPSCounter - Game Component em Ação no jogo 2D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/06/FPSCounter_2D.png" alt="FPSCounter - Game Component em Ação no jogo 2D" width="600" height="400" /></a></p>
<p class="imagemPost" style="text-align: center;">FPSCounter &#8211; Game Component rodando em um aplicativo XNA 2D</p>
<p class="imagemPost" style="text-align: center;"><a href="http://devtuts.com.br/wp/wp-content/uploads/2010/06/FPSCounter_2D.png"></a><a href="http://devtuts.com.br/wp/wp-content/uploads/2010/06/FPSCounter_3D.png"><img class="aligncenter size-full wp-image-652" title="FPSCounter - XNA Game Component rodando aplicativo 3D" src="http://devtuts.com.br/wp/wp-content/uploads/2010/06/FPSCounter_3D.png" alt="FPSCounter - XNA Game Component rodando aplicativo 3D" width="600" height="400" /></a></p>
<p class="imagemPost" style="text-align: center;">FPSCounter &#8211; Game Component rodando em um aplicativo XNA 3D</p>
<h1>Features (Caracteristicas) do FPSCounter</h1>
<p>O Game Component<strong> FPSCounter </strong>é extremamente fácil de se utilizar e pode ser usado tanto em aplicações 2D quanto 3D, pois foi implementado o modo de compatibilidade que altera as <strong>RenderStates </strong>do GraphicsDevice para não renderizar incorretamente, já que usar o <strong>SpriteBatch </strong>irá desconfigurar a renderização. Com o FPSCounter você não precisa se preocupar, basta definir uma simples propriedade como <strong>true </strong>e pronto, o Component é compativel com 3D.</p>
<ul>
<li>Fácil de Usar.</li>
<li>7 KB apenas</li>
<li>Código Comentado</li>
<li>Descrição das Funções e seu parâmetros</li>
<li>É permitido editar: a cor do texto e sua posição na tela</li>
<li>Pode ser colocado em seu jogo com apenas 2 ações e com 3 ou 4 linhas de código.</li>
</ul>
<p>Como pode notar, o Game Component é bem objetivo, rápido de se configurar e permite duas customizações básicas (cor e posição do Texto). Abaixo você confere como utilizar o Componente.</p>
<h1>Como Usar o FPSCounter Game Component em 5/6 passos</h1>
<p>Nesta seção irei explicar como você poderá utilizar o Game Component com apenas alguns passos rápidos. São 5 passos caso esteja utilizando em um projeto 2D, caso seja um projeto 3D são 6 passos. Abaixo você confere como usar o Game Component.</p>
<h2>#1 Passo &#8211; Adicionando o arquivo FPSCounter.cs no Projeto.</h2>
<p>A primeira coisa a se fazer é adicionar o arquivo baixado em seu projeto. Para fazer isto, você deve clicar, no <strong>Solution Explorer, </strong>com o botão direito sobre o nome do projeto &#8211; Ir em <strong>Add &#8211; Existing Item&#8230;</strong></p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-658" title="Adicionando o FPSCounter.cs no projeto" src="http://devtuts.com.br/wp/wp-content/uploads/2010/06/adicionandoFPSCounter.png" alt="Adicionando o FPSCounter.cs no projeto" width="438" height="461" /></p>
<p>Na janela que se abre, selecione o arquivo FPSCounter.cs que você baixou e descompactou. Dê OK.</p>
<p><strong>Pronto! O Game Component está adicionado em seu projeto.</strong></p>
<h2><strong>#2 Passo &#8211; Adicionando uma SpriteFont ao projeto</strong></h2>
<p>Para desenhar algum texto na tela é necessário um objeto do tipo <strong>SpriteFont. </strong>A classe FPSCounter.cs já se encarrega de carregar esta SpriteFont, portanto tudo que temos que fazer é <strong>adicionar a SpriteFont na pasta Content do projeto.</strong></p>
<p>Para fazer isto siga os passos da imagem abaixo:</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-660" title="Adicionando SpriteFont na Pasta Content - 1º Passo" src="http://devtuts.com.br/wp/wp-content/uploads/2010/06/adicionandoSpriteFont_Content.png" alt="Adicionando SpriteFont na Pasta Content - 1º Passo" width="332" height="334" /></p>
<ul>
<li>Clique com o Botão direito na Pasta <strong>Content</strong></li>
<li>Vá em <strong>Add&#8230;</strong></li>
<li><strong>E clique com o botão esquerdo do mouse em &#8220;New Item&#8230;&#8221;</strong></li>
</ul>
<p>Agora na janela que se abriu você seleciona <strong>SpriteFont </strong>e na caixa de texto, substitui o nome da Fonte para o nome de sua preferência, no caso eu utilizei <strong>myFont.spritefont </strong>. Dê OK.</p>
<p>Veja a imagem abaixo:</p>
<p class="imagemPost" style="text-align: center;"><img class="aligncenter size-full wp-image-662" title="Adicionando Sprite Font na Pasta Content - Passo 2" src="http://devtuts.com.br/wp/wp-content/uploads/2010/06/adicionandoSpriteFont_Ok.png" alt="Adicionando Sprite Font na Pasta Content - Passo 2" width="577" height="411" /></p>
<p>Agora sua SpriteFont está adicionada na pasta Content. Podemos passar para a codificação.</p>
<p><strong>Observação: </strong>após clicar em Add o arquivo Sprite Font é aberto, lá você pode alterar as configurações da fonte etc. em nosso caso, irei manter as configurações padrões e ir para a classe <strong>Game1.cs</strong></p>
<h2><strong>#3 Passo &#8211; Adicionando a váriavel do tipo FPSCounter na classe Game1.cs</strong></h2>
<p>Agora a primeira coisa a se fazer é adicionar uma váriavel no <strong>topo da classe </strong><em><strong>Game1.cs</strong> </em>do tipo FPSCounter, como mostra o código abaixo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;">FPSCounter counter<span style="color: #008000;">;</span></pre></td></tr></table></div>

<h2>#4 Passo &#8211; Inicializando o FPSCounter</h2>
<p>Agora iremos inicializar nossa váriavel <strong>counter </strong>que criamos logo acima. Portanto, vamos ao método <strong>Initialize da classe Game1.cs </strong>e dentro desta função, digite a linha destacada (linha 5) no código abaixo:</p>
<p>&nbsp;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> Initialize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
<span style="color: #008080; font-style: italic;">// TODO: Add your initialization logic here</span>
&nbsp;
counter <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> FPSCounter<span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span>, <span style="color: #666666;">&quot;myFont&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">base</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Initialize</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>O primeiro construtor da classe <strong>FPSCounter </strong>solicita uma váriavel do tipo <strong>Game, </strong>no caso, passamos <strong>this </strong>para que nossa própria classe Game1 seja passada como parâmetro. Outro parâmetro obrigatório é o nome da fonte que você adicionou a pasta Content, em nosso caso, &#8220;<em>myFont</em>&#8220;.</p>
<p>Passando estes dois parâmetros, o FPSCounter já funciona sem problemas, os demais parâmetros são opcionais.</p>
<h2>#5 Passo ( OPCIONAL &#8211; Somente para 3D) &#8211; Definindo o modo de compatibilidade com gráficos 3D</h2>
<p>Alguns sabem, mas a maioria não: desenhar qualquer gráfico 2D na tela com a classe <em>SpriteBatch </em>desconfigura as <strong>RenderStates</strong> fazendo com que o 3D seja renderizado de forma incorreta, sem verificação de profundidade (Depth) e outros problemas.</p>
<p>Se você deseja utilizar este componente em um jogo ou aplicativo 3D, não tem problema, com apenas uma linha você pode fazer o mesmo entrar em modo de compatibilidade, ou seja, restaurando as <strong>RenderStates </strong>para as configurações corretas após desenhar na tela.</p>
<p>Digite logo abaixo da linha acima a seguinte linha destacada no código abaixo (linha 7) :</p>
<p>&nbsp;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> Initialize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
<span style="color: #008080; font-style: italic;">// TODO: Add your initialization logic here</span>
&nbsp;
counter <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> FPSCounter<span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span>, <span style="color: #666666;">&quot;myFont&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
counter<span style="color: #008000;">.</span><span style="color: #0000FF;">CompatibleMode</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">base</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Initialize</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>&nbsp;</p>
<p>Basta definir a propriedade <strong>CompatibleMode como sendo true</strong> e pronto. <strong>Importante: </strong>só é necessário ativar o modo de compatibilidade caso gráficos 3D estejam sendo renderizados. <strong>Para jogos 2D este passo não deve ser executado.</strong></p>
<h2><strong>#6 Passo &#8211; Adicionando o FPSCounter à lista de Componentes</strong></h2>
<p>Agora só precisamos adicionar nossa váriavel <strong>counter </strong>à lista de Componentes da classe Game1.cs, para que o Componente seja atualizado automaticamente a partir de agora. Isto é feito com apenas uma linha.</p>
<p>Digite logo abaixo a seguinte linha, ainda dentro do método <strong>Initialize: </strong></p>
<p>&nbsp;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> Initialize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
<span style="color: #008080; font-style: italic;">// TODO: Add your initialization logic here</span>
&nbsp;
counter <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> FPSCounter<span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span>, <span style="color: #666666;">&quot;myFont&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
Components<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span>counter<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">base</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Initialize</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>&nbsp;</p>
<p>Feito isto você já pode testar o seu aplicativo e notar que a contagem do <strong>FPS</strong> está sendo realizada! Seu <strong>FPSCounter já está funcionando!</strong></p>
<h1>Documentação</h1>
<p>Abaixo você irá descobrir como ter maior poder sobre o <strong>FPSCounter, </strong>alterando algumas coisas como a posição do texto e a cor do texto.</p>
<h2>Váriaveis</h2>
<p>As seguintes váriaveis podem ser acessadas fora da classe <strong>FPSCounter.cs, </strong>elas podem ser alteradas ou seus valores podem ser obtidos sem problemas.</p>
<h3>FPSCounter.Color</h3>
<p>Esta váriavel é do tipo <strong>Color </strong>e armazena/define a cor do texto à ser desenhado. Seu <strong>valor padrão é Color.White</strong>, ou seja, o texto será branco a não ser que você altere está váriavel.</p>
<p><strong>- Exemplo</strong></p>
<p>&nbsp;</p>
<pre escaped="true" lang="csharp" line=" 1">protected override void Initialize()
{
// TODO: Add your initialization logic here

counter = new FPSCounter(this, "myFont");

counter.Color = Color.Red;

Components.Add(counter);

base.Initialize();
}</pre>
<p>&nbsp;</p>
<p>Este código fará com que a cor do texto seja Vermelho.</p>
<h3>FPSCounter.Position</h3>
<p>Esta váriavel é do tipo <strong>Vector2 </strong>e armazena/define a posição do texto à ser desenhado.<strong> Seu valor padrão é (20 , 20)</strong>.</p>
<p><strong>- Exemplo</strong></p>
<p>&nbsp;</p>
<pre escaped="true" lang="csharp" line=" 1">protected override void Initialize()
{
// TODO: Add your initialization logic here

counter = new FPSCounter(this, "myFont");

counter.Position = new Vector2(700, 20);

Components.Add(counter);

base.Initialize();
}</pre>
<p>&nbsp;</p>
<p>Este código fará com que a posição do texto seja 700 em X e 20 em Y.</p>
<h1>Conclusão</h1>
<p>Espero que tenha apreciado o Game Component e que ele seja util para você. Fiz ele pensando na facilidade de uso, espero que tenha ficado bom.</p>
<p>Até a próxima! Rafael.</p>
]]></content:encoded>
			<wfw:commentRss>http://devtuts.com.br/wp/2010/06/xna-game-component-contador-fps-frames-por-segundo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
