<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Marco Molina &#187; Papervision</title>
	<atom:link href="http://webcorp.wordpress.com/category/flash/papervision/feed/" rel="self" type="application/rss+xml" />
	<link>http://webcorp.wordpress.com</link>
	<description>Flash Developer</description>
	<lastBuildDate>Wed, 02 Apr 2008 02:41:44 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='webcorp.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/a740ec8314cc84764685f83e671fe087?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Marco Molina &#187; Papervision</title>
		<link>http://webcorp.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://webcorp.wordpress.com/osd.xml" title="Marco Molina" />
		<item>
		<title>Papervision &#8211; Tutorial 3 ( Material Bitmap )</title>
		<link>http://webcorp.wordpress.com/2008/02/19/papervision-tutorial-3-material-bitmap/</link>
		<comments>http://webcorp.wordpress.com/2008/02/19/papervision-tutorial-3-material-bitmap/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 02:47:01 +0000</pubDate>
		<dc:creator>Marco Molina</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Actionscript 3 AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Papervision]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[BitMapMaterial]]></category>
		<category><![CDATA[Material]]></category>

		<guid isPermaLink="false">http://webcorp.wordpress.com/?p=13</guid>
		<description><![CDATA[Eu imagino que alguns visitantes possam estar achando os tutoriais muito básicos.
Peço desculpas, mas a minha intenção por enquanto é exatamente essa : ir devagar para que todo mundo posso ir habituando-se com o Papervision.
Dito isso, vamos dar continuidade à série.
Dessa vez incorporando mais objetos nativos e utilizando imagens como material.


Antes de mais nada crie duas imagens [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=13&subd=webcorp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Eu imagino que alguns visitantes possam estar achando os tutoriais muito básicos.<br />
Peço desculpas, mas a minha intenção por enquanto é exatamente essa : ir devagar para que todo mundo posso ir habituando-se com o Papervision.</p>
<p>Dito isso, vamos dar continuidade à série.<br />
Dessa vez incorporando mais objetos nativos e utilizando imagens como material.</p>
<p><a target="_blank" href="http://webcorp.freehostia.com/blog_arquivos/Tutorial3/Tutorial3.html" title="Tutorial Papervision Great White BitmapFileMaterial"></a><a target="_blank" href="http://webcorp.freehostia.com/blog_arquivos/Tutorial3/Tutorial3.html" title="Tutorial Papervision Great White BitmapFileMaterial"></a><a target="_blank" href="http://webcorp.freehostia.com/blog_arquivos/Tutorial3/Tutorial3.html" title="Tutorial Papervision Great White - BitmapFileMaterial"><img src="http://webcorp.files.wordpress.com/2008/02/tutorial3_1.png" alt="Tutorial Papervision Great White - BitmapFileMaterial" /></a><br />
<span id="more-13"></span></p>
<p>Antes de mais nada <em>crie duas imagens</em> com 200&#215;200 pixels cada e <em>salve no mesmo diretório</em> dos arquivos as e fla com os nomes <em>imagem1.jpg</em> e <em>imagem2.jpg</em>.</p>
<p>Como no <a href="http://webcorp.wordpress.com/2008/02/18/papervision-tutorial-2-material/" title="Tutorial Papervision Great White ColorMaterial">artigo anterior</a>, vamos adicionar mais um objeto a cena. Dessa vez um cubo :</p>
<p><em>import org.papervision3d.objects.primitives.Cube;</em></p>
<p>Acrescentamos a classe BitmapFileMaterial responsável por carregar as imagens externas.<br />
Vamos aproveitar e acrescentar também a classe MaterialsList, que como o próprio nome diz cria uma lista de materiais.</p>
<p><em>import org.papervision3d.materials.BitmapFileMaterial;<br />
import org.papervision3d.materials.utils.MaterialsList;</em></p>
<p>Declaramos as variáveis :</p>
<p><em>public var materialTres:BitmapFileMaterial;<br />
public var materialQuatro:BitmapFileMaterial;<br />
public var listaMaterial:MaterialsList;</em></p>
<p>Criamos os materiais :</p>
<p><em>materialTres = new BitmapFileMaterial(&#8220;imagem1.jpg&#8221;);<br />
materialTres.smooth = true;// ameniza a aplicação do material nas faces triangulares do objeto</em></p>
<p><em>materialQuatro = new BitmapFileMaterial(&#8220;imagem2.jpg&#8221;);<br />
materialQuatro.smooth = false;</em></p>
<p><em>// criamos uma lista de materiais<br />
listaMaterial = new MaterialsList();<br />
// onde podemos inclusive instanciar o material<br />
listaMaterial.addMaterial (materialTres, &#8220;material3&#8243;);</em></p>
<p>Criamos o objeto cubo, aplicando os materiais :</p>
<p><em>cubo = new Cube(new MaterialsList( {<br />
front: listaMaterial.getMaterialByName(&#8220;material3&#8243;), // usamos a instância vinda da lista de materiais<br />
back: materialTres, // ou o próprio material<br />
left: materialQuatro,<br />
right: materialQuatro,<br />
top: materialUm,<br />
bottom: materialDois<br />
} ), 200, 200, 200, 1, 1, 1);<br />
cubo.y = 100;<br />
cubo.rotationX = 35;<br />
cubo.rotationY = 15;<br />
cubo.rotationZ = 45;<br />
cena.addChild (cubo);</em></p>
<p>O código agora ficou assim :</p>
<p><em>package {<br />
// Importamos as classes necessárias<br />
// Flash AS3<br />
import flash.display.Sprite;<br />
import flash.events.Event;<br />
// Papervision<br />
import org.papervision3d.scenes.Scene3D;<br />
import org.papervision3d.view.Viewport3D;<br />
import org.papervision3d.cameras.FreeCamera3D;<br />
import org.papervision3d.render.BasicRenderEngine;<br />
// objeto<br />
import org.papervision3d.objects.primitives.Sphere;<br />
import org.papervision3d.objects.primitives.Plane;<br />
import org.papervision3d.objects.primitives.Cube;<br />
// materiais<br />
import org.papervision3d.materials.ColorMaterial;<br />
import org.papervision3d.materials.BitmapFileMaterial;<br />
import org.papervision3d.materials.utils.MaterialsList;</em></p>
<p><em>// Declaramos nossa classe<br />
public class Tutorial3 extends Sprite {<br />
// e as variáveis<br />
public var cena:Scene3D;<br />
public var viewport:Viewport3D;<br />
public var camera:FreeCamera3D;<br />
public var renderer:BasicRenderEngine;<br />
public var esfera:Sphere;<br />
public var plano:Plane;<br />
public var cubo:Cube;<br />
public var materialUm:ColorMaterial;<br />
public var materialDois:ColorMaterial;<br />
public var materialTres:BitmapFileMaterial;<br />
public var materialQuatro:BitmapFileMaterial;<br />
public var listaMaterial:MaterialsList;</em></p>
<p><em>// Declaramos o método da classe<br />
public function Tutorial3 () {<br />
// que irá acionar as funções auxiliares<br />
Set ();<br />
Materiais ();<br />
Objetos ();<br />
Listeners ();<br />
}</em></p>
<p><em>// funções básicas do Papervision<br />
public function Set ():void {<br />
cena = new Scene3D ;<br />
viewport = new Viewport3D(stage.stageWidth,stage.stageHeight,true,false,true,true);<br />
addChild (viewport);<br />
camera = new FreeCamera3D ;<br />
renderer = new BasicRenderEngine ;<br />
}</em></p>
<p><em>// materiais<br />
public function Materiais ():void {<br />
materialUm = new ColorMaterial(0XFF0000,1);</em></p>
<p><em>materialDois = new ColorMaterial(0X00FF00,1);<br />
materialDois.doubleSided = true;// aplica o material nas duas faces do plano ( experimente trocar por false )</em></p>
<p><em>materialTres = new BitmapFileMaterial(&#8220;imagem1.jpg&#8221;);<br />
materialTres.smooth = true;// ameniza a aplicação do material nas faces triangulares do objeto</em></p>
<p><em>materialQuatro = new BitmapFileMaterial(&#8220;imagem2.jpg&#8221;);<br />
materialQuatro.smooth = false;</em></p>
<p><em>// criamos uma lista de materiais<br />
listaMaterial = new MaterialsList();<br />
// onde podemos inclusive instanciar o material<br />
listaMaterial.addMaterial (materialTres, &#8220;material3&#8243;);<br />
}</em></p>
<p><em>// função que irá criar o objeto<br />
public function Objetos ():void {<br />
esfera = new Sphere(materialUm,100,18,18);<br />
esfera.x -= stage.stageWidth &#8211; 100;<br />
esfera.y = 0;<br />
esfera.z = 0;<br />
esfera.rotationX = 15;<br />
esfera.rotationY = 25;<br />
esfera.rotationZ = -75;<br />
cena.addChild (esfera);</em></p>
<p><em>plano = new Plane(materialDois,200,200,0,0);<br />
plano.x += stage.stageWidth &#8211; 200;<br />
plano.y = 0;<br />
plano.z = 0;<br />
plano.rotationX = 35;<br />
plano.rotationY = 15;<br />
plano.rotationZ = 45;<br />
cena.addChild (plano);</em></p>
<p><em>cubo = new Cube(new MaterialsList( {<br />
front: listaMaterial.getMaterialByName(&#8220;material3&#8243;), // usamos a instância vinda da lista de materiais<br />
back: materialTres, // ou o próprio material<br />
left: materialQuatro,<br />
right: materialQuatro,<br />
top: materialUm,<br />
bottom: materialDois<br />
} ), 200, 200, 200, 1, 1, 1);<br />
cubo.y = 100;<br />
cubo.rotationX = 35;<br />
cubo.rotationY = 15;<br />
cubo.rotationZ = 45;<br />
cena.addChild (cubo);</em></p>
<p><em>camera.focus = 300;<br />
camera.zoom = 2;<br />
}</em></p>
<p><em>// função que irá receber novas funções auxiliares<br />
public function Listeners ():void {<br />
addEventListener (Event.ENTER_FRAME,Render);<br />
}</em></p>
<p><em>// função responsável pela renderização do Papervision<br />
public function Render (e:Event):void {<br />
esfera.rotationX -= 2;</em></p>
<p><em>plano.rotationX += 1;<br />
plano.rotationY += 2;</em></p>
<p><em>cubo.rotationX += 3;<br />
cubo.rotationY += 1;</em></p>
<p><em>renderer.renderScene (cena,camera,viewport);<br />
}<br />
}<br />
}</em></p>
<p>Salve o arquivo e compile novamente o swf.<br />
E, como sempre, vá fazendo alterações nos parâmetros, salve, recompile e veja as alterações.</p>
<p>Até a próxima …</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/webcorp.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/webcorp.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/webcorp.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/webcorp.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/webcorp.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/webcorp.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/webcorp.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/webcorp.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/webcorp.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/webcorp.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/webcorp.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/webcorp.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=13&subd=webcorp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://webcorp.wordpress.com/2008/02/19/papervision-tutorial-3-material-bitmap/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/625b61ee22f35649b6a0d7792292efe2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">webcorp</media:title>
		</media:content>

		<media:content url="http://webcorp.files.wordpress.com/2008/02/tutorial3_1.png" medium="image">
			<media:title type="html">Tutorial Papervision Great White - BitmapFileMaterial</media:title>
		</media:content>
	</item>
		<item>
		<title>Papervision &#8211; Tutorial 2 ( Material )</title>
		<link>http://webcorp.wordpress.com/2008/02/18/papervision-tutorial-2-material/</link>
		<comments>http://webcorp.wordpress.com/2008/02/18/papervision-tutorial-2-material/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 02:43:56 +0000</pubDate>
		<dc:creator>Marco Molina</dc:creator>
				<category><![CDATA[Actionscript 3 AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Papervision]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Material]]></category>

		<guid isPermaLink="false">http://webcorp.wordpress.com/?p=12</guid>
		<description><![CDATA[Dando continuidade, dessa vez veremos como aplicar materiais em objetos primitivos utilizando a classe ColorMaterial.
Vamos continuar utilizando os mesmos arquivos Tutorial1.as e Tutorial1.fla do artigo anterior.


Vamos aproveitar para adicionar outro objeto a cena :
import org.papervision3d.objects.primitives.Plane;
E basicamente acrescentar as classes necessárias :
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.utils.MaterialsList;
Declaramos as variáveis :
public var plano:Plane;
public var materialUm:ColorMaterial;
public var materialDois:ColorMaterial;
Atenção aqui : você [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=12&subd=webcorp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Dando continuidade, dessa vez veremos como aplicar materiais em objetos primitivos utilizando a classe <em>ColorMaterial.</em></p>
<p>Vamos continuar utilizando os mesmos arquivos <em>Tutorial1.as</em> e <em>Tutorial1.fla</em> do <a href="http://webcorp.wordpress.com/2008/02/17/papervision-tutorial-1/" title="Papervision Great White Tutorial">artigo anterior</a>.</p>
<p><a target="_blank" href="http://webcorp.freehostia.com/blog_arquivos/Tutorial2/Tutorial2.html" title="Papervision Great White Tutorial Material"><img src="http://webcorp.files.wordpress.com/2008/02/tutorial2_1.png" alt="Papervision Tutorial 2 - Materiais" /></a></p>
<p><span id="more-12"></span><br />
Vamos aproveitar para adicionar outro objeto a cena :</p>
<blockquote><p>import org.papervision3d.objects.primitives.Plane;</p></blockquote>
<p>E basicamente acrescentar as classes necessárias :</p>
<blockquote><p>import org.papervision3d.materials.ColorMaterial;<br />
import org.papervision3d.materials.utils.MaterialsList;</p></blockquote>
<p>Declaramos as variáveis :</p>
<blockquote><p>public var plano:Plane;<br />
public var materialUm:ColorMaterial;<br />
public var materialDois:ColorMaterial;</p></blockquote>
<p><em>Atenção aqui</em> : você precisa acionar a função de materiais antes de chamar os objetos</p>
<blockquote><p>public function Tutorial1 () {<br />
Set ();<br />
Materiais ();<br />
Objetos ();<br />
Listeners ();<br />
}</p></blockquote>
<p>Criamos os materiais :</p>
<blockquote><p>public function Materiais ():void {<br />
materialUm = new ColorMaterial(0XFF0000, 1);</p>
<p>materialDois = new ColorMaterial(0X00FF00, 1);<br />
materialDois.doubleSided=true;// aplica o material nas duas faces do plano ( experimente trocar por false )<br />
}</p></blockquote>
<p>E aplicamos os materiais nos objetos :</p>
<blockquote><p>public function Objetos ():void {<br />
esfera = new Sphere(materialUm, 100, 18, 18);<br />
esfera.x -= stage.stageWidth/2;<br />
esfera.y=0;<br />
esfera.z=0;<br />
esfera.rotationX = 15;<br />
esfera.rotationY = 25;<br />
esfera.rotationZ = -75;<br />
cena.addChild (esfera);</p>
<p>plano = new Plane(materialDois, 200, 200, 0, 0);<br />
plano.x += stage.stageWidth/2;<br />
plano.y=0;<br />
plano.z=0;<br />
plano.rotationX = 35;<br />
plano.rotationY = 15;<br />
plano.rotationZ = 45;<br />
cena.addChild (plano);<br />
}</p></blockquote>
<p>Temos então o código completo :</p>
<blockquote><p>package {<br />
// Importamos as classes necessárias<br />
// Flash AS3<br />
import flash.display.Sprite;<br />
import flash.events.Event;<br />
// Papervision<br />
import org.papervision3d.scenes.Scene3D;<br />
import org.papervision3d.view.Viewport3D;<br />
import org.papervision3d.cameras.FreeCamera3D;<br />
import org.papervision3d.render.BasicRenderEngine;<br />
// objeto<br />
import org.papervision3d.objects.primitives.Sphere;<br />
import org.papervision3d.objects.primitives.Plane;<br />
// materiais<br />
import org.papervision3d.materials.ColorMaterial;<br />
import org.papervision3d.materials.utils.MaterialsList;</p>
<p>// Declaramos nossa classe<br />
public class Tutorial1 extends Sprite {<br />
// e as variáveis<br />
public var cena:Scene3D;<br />
public var viewport:Viewport3D;<br />
public var camera:FreeCamera3D;<br />
public var renderer:BasicRenderEngine;<br />
public var esfera:Sphere;<br />
public var plano:Plane;<br />
public var materialUm:ColorMaterial;<br />
public var materialDois:ColorMaterial;</p>
<p>// Declaramos o método da classe<br />
public function Tutorial1 () {<br />
// que irá acionar as funções auxiliares<br />
Set ();<br />
Materiais ();<br />
Objetos ();<br />
Listeners ();<br />
}</p>
<p>// funções básicas do Papervision<br />
public function Set ():void {<br />
cena = new Scene3D();<br />
viewport = new Viewport3D(stage.stageWidth, stage.stageHeight, true, false, true, true);<br />
addChild (viewport);<br />
camera = new FreeCamera3D();<br />
renderer = new BasicRenderEngine();<br />
}</p>
<p>// materiais<br />
public function Materiais ():void {<br />
materialUm = new ColorMaterial(0XFF0000, 1);</p>
<p>materialDois = new ColorMaterial(0X00FF00, 1);<br />
materialDois.doubleSided=true;// aplica o material nas duas faces do plano ( experimente trocar por false )<br />
}</p>
<p>// função que irá criar o objeto<br />
public function Objetos ():void {<br />
esfera = new Sphere(materialUm, 100, 18, 18);<br />
esfera.x -= stage.stageWidth/2;<br />
esfera.y=0;<br />
esfera.z=0;<br />
esfera.rotationX = 15;<br />
esfera.rotationY = 25;<br />
esfera.rotationZ = -75;<br />
cena.addChild (esfera);</p>
<p>plano = new Plane(materialDois, 200, 200, 0, 0);<br />
plano.x += stage.stageWidth/2;<br />
plano.y=0;<br />
plano.z=0;<br />
plano.rotationX = 35;<br />
plano.rotationY = 15;<br />
plano.rotationZ = 45;<br />
cena.addChild (plano);</p>
<p>// alterando alguns parâmetros na câmera<br />
camera.focus = 300;<br />
camera.zoom = 2;<br />
}</p>
<p>// função que irá receber novas funções auxiliares<br />
public function Listeners ():void {<br />
addEventListener (Event.ENTER_FRAME, Render);<br />
}</p>
<p>// função responsável pela renderização do Papervision<br />
public function Render (e:Event):void {<br />
// algumas propriedades básicas de movimento de objetos<br />
esfera.rotationX -= 2;</p>
<p>plano.rotationX += 1;<br />
plano.rotationY += 2;</p>
<p>renderer.renderScene (cena, camera, viewport);<br />
}<br />
}<br />
}</p></blockquote>
<p>Salve o arquivo <em>Tutorial1.as</em> e compile o swf.<br />
Faça alterações nos parâmetros e veja as alterações.</p>
<p>Até a próxima &#8230;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/webcorp.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/webcorp.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/webcorp.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/webcorp.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/webcorp.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/webcorp.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/webcorp.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/webcorp.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/webcorp.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/webcorp.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/webcorp.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/webcorp.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=12&subd=webcorp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://webcorp.wordpress.com/2008/02/18/papervision-tutorial-2-material/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/625b61ee22f35649b6a0d7792292efe2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">webcorp</media:title>
		</media:content>

		<media:content url="http://webcorp.files.wordpress.com/2008/02/tutorial2_1.png" medium="image">
			<media:title type="html">Papervision Tutorial 2 - Materiais</media:title>
		</media:content>
	</item>
		<item>
		<title>Papervision &#8211; Tutorial 1</title>
		<link>http://webcorp.wordpress.com/2008/02/17/papervision-tutorial-1/</link>
		<comments>http://webcorp.wordpress.com/2008/02/17/papervision-tutorial-1/#comments</comments>
		<pubDate>Sun, 17 Feb 2008 07:37:26 +0000</pubDate>
		<dc:creator>Marco Molina</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Actionscript 3 AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Papervision]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[documentação]]></category>

		<guid isPermaLink="false">http://webcorp.wordpress.com/?p=9</guid>
		<description><![CDATA[Agora que você fez o download do Papervision e preparou o Flash para iniciar os seus projetos, vamos iniciar com uma classe básica de introdução ao Papervision 2.0 &#8211; Great White.

Crie um Actionscript file e salve-o como Tutorial1.as.
package {
// Importamos as classes necessárias
// AS3
import flash.display.Sprite;
import flash.events.Event;
// Papervision
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
import org.papervision3d.cameras.FreeCamera3D;
import org.papervision3d.render.BasicRenderEngine;
// objeto
import org.papervision3d.objects.primitives.Sphere;
//
// Declaramos nossa classe
public [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=9&subd=webcorp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://webcorp.wordpress.com/2008/02/16/papervision-sera-que-depois-da-web-20-chegou-a-vez-da-web-3d/">Agora que você fez o download do Papervision e preparou o Flash para iniciar os seus projetos</a>, vamos iniciar com uma classe básica de introdução ao Papervision 2.0 &#8211; Great White.</p>
<p><span id="more-9"></span></p>
<p>Crie um <em>Actionscript file</em> e salve-o como <em>Tutorial1.as.</em></p>
<p><code>package {<br />
// Importamos as classes necessárias<br />
// AS3<br />
import flash.display.Sprite;<br />
import flash.events.Event;<br />
// Papervision<br />
import org.papervision3d.scenes.Scene3D;<br />
import org.papervision3d.view.Viewport3D;<br />
import org.papervision3d.cameras.FreeCamera3D;<br />
import org.papervision3d.render.BasicRenderEngine;<br />
// objeto<br />
import org.papervision3d.objects.primitives.Sphere;<br />
//<br />
// Declaramos nossa classe<br />
public class Tutorial1 extends Sprite {<br />
// e as variáveis<br />
public var cena:Scene3D;<br />
public var viewport:Viewport3D;<br />
public var camera:FreeCamera3D;<br />
public var renderer:BasicRenderEngine;<br />
public var objeto:Sphere;<br />
//<br />
// Declaramos a função da classe<br />
public function Tutorial1 () {<br />
// que irá acionar as funções auxiliares<br />
Set ();<br />
Objetos ();<br />
Listeners ();<br />
}<br />
//<br />
// funções básicas do Papervision<br />
public function Set ():void {<br />
cena = new Scene3D();<br />
viewport = new Viewport3D(stage.stageWidth, stage.stageHeight, true, false, true, true);<br />
addChild (viewport);<br />
camera = new FreeCamera3D();<br />
renderer = new BasicRenderEngine();<br />
}<br />
//<br />
// função que irá criar o objeto<br />
public function Objetos ():void {<br />
objeto = new Sphere(null, 100, 8, 6, null);<br />
cena.addChild (objeto);<br />
//<br />
//objeto.x=50;<br />
//objeto.y=-50;<br />
//objeto.z=-500;<br />
//objeto.rotationX = 15;<br />
//objeto.rotationY = 25;<br />
//objeto.rotationZ = -75;<br />
//camera.x=10;<br />
//camera.y=60;<br />
//camera.z=-2200;<br />
//camera.zoom=2;<br />
//camera.focus=400;<br />
//<br />
// Antes de descomentar as linhas acima, veja as propriedades padrão no trace<br />
// Depois descomente e modifique os valores para ver as alterações<br />
trace ('viewport.viewportWidth: '+viewport.viewportWidth+' viewport.viewportHeight: '+viewport.viewportHeight);<br />
trace ('objeto x: '+objeto.x+'\nobjeto y: '+objeto.y+'\nobjeto z: '+objeto.z);<br />
trace ('camera x: '+camera.x+'\ncamera y: '+camera.y+'\ncamera z: '+camera.z+'\ncamera zoom: '+camera.zoom+'\ncamera focus: '+camera.focus);<br />
}<br />
//<br />
// função que irá receber novas funções auxiliares<br />
public function Listeners ():void {<br />
addEventListener (Event.ENTER_FRAME, Render);<br />
}<br />
//<br />
// função responsável pela renderização do Papervision<br />
public function Render (e:Event):void {<br />
// objeto.rotationY += 2;<br />
// camera.rotationY += 2;<br />
renderer.renderScene (cena, camera, viewport);<br />
}<br />
}<br />
}</code></p>
<p>Copie e cole o código acima e salve-o.</p>
<p>Agora crie um novo arquivo <em>Flash File ( ActionScript 3.0 )</em> e salve-o no mesmo diretório do arquivo <em>Tutorial1.as</em>.<br />
Vá em <em>File&gt;Publish Settings&gt;Flash (aba)</em> e clique no botão <em>Settings</em>.<br />
Em <em>Document class</em>, digite o nome da classe <em>Tutorial1</em>.<br />
Se você não determinou o caminho para a classe nas preferências globais do Flash, você deve setar o caminho em <em>Classpath</em>.</p>
<p>Salve o arquivo e compile.</p>
<p>Descomente as linhas no arquivo <em>Tutorial1.as</em>, faça testes alterando os valores, salve o arquivo e recompile.</p>
<p>Para compreender a fundo os parâmetros de cada propriedade, dê uma olhada na <a target="_blank" href="http://www.paultondeur.com/files/papervision3d/documentation/Public_Alpha_2.0/" title="Papervision 2.0 Great White Documentação">documentação do Papervision 2.0 &#8211; Great White</a>.</p>
<p>Por enquanto é isso. Aos poucos vamos incluir materiais, interações, etc &#8230;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/webcorp.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/webcorp.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/webcorp.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/webcorp.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/webcorp.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/webcorp.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/webcorp.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/webcorp.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/webcorp.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/webcorp.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/webcorp.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/webcorp.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=9&subd=webcorp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://webcorp.wordpress.com/2008/02/17/papervision-tutorial-1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/625b61ee22f35649b6a0d7792292efe2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">webcorp</media:title>
		</media:content>
	</item>
		<item>
		<title>Papervision &#8211; Será que depois da web 2.0 chegou a vez da web 3D ?</title>
		<link>http://webcorp.wordpress.com/2008/02/16/papervision-sera-que-depois-da-web-20-chegou-a-vez-da-web-3d/</link>
		<comments>http://webcorp.wordpress.com/2008/02/16/papervision-sera-que-depois-da-web-20-chegou-a-vez-da-web-3d/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 02:30:46 +0000</pubDate>
		<dc:creator>Marco Molina</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Papervision]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Astro]]></category>
		<category><![CDATA[Effects]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Great White]]></category>

		<guid isPermaLink="false">http://webcorp.wordpress.com/?p=6</guid>
		<description><![CDATA[Componente, plugin, engine, classe ou API ?
Seja qual for a definição exata, o 3D promete dar uma nova cara a web.

Com o lançamento &#8211; já atrasado &#8211; do Flash Player 10 &#8211; Astro,  a Adobe promete incorporar ao novo player &#8211; entre outras capacidades &#8211; a renderização de objetos 3D simples.
Assim, o Papervision deve ganhar destaque. E, quem sabe, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=6&subd=webcorp&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Componente, plugin, engine, classe ou API ?<br />
Seja qual for a definição exata, o 3D promete dar uma nova cara a web.</p>
<p><span id="more-6"></span></p>
<p>Com o lançamento &#8211; já atrasado &#8211; do <a href="http://labs.adobe.com/wiki/index.php/Astro#3D_Effects" title="Adobe Flash Player 10 Astro">Flash Player 10 &#8211; Astro</a>,  a Adobe promete incorporar ao novo player &#8211; entre outras capacidades &#8211; a renderização de objetos 3D simples.</p>
<p>Assim, o <a target="_blank" href="http://blog.papervision3d.org" title="Papervision">Papervision</a> deve ganhar destaque. E, quem sabe, melhorar a performance, reduzindo o processamento dos ambientes/objetos 3D &#8211; ainda bastante alto no Flash Player 9.</p>
<p>De acordo com <a target="_blank" href="http://www.carlosulloa.com/" title="Carlos Ulloa">Carlos Ulloa</a>, o fundador do Papervision, tudo começou com tentativas de criar efeitos 3D ilusórios através de rotação, distorção, &#8230; em movieclips, além de muito código é claro. E isso no final de 2005, baseado no Flash Player 7, onde pouquíssimos como <a target="_blank" href="http://lab.andre-michelle.com/" title="Andre Michelle">Andre Michelle</a> conseguiam algum resultado satisfatório.</p>
<p>Com foco principal voltado para o desenvolvimento em AS3, o Papervision também pode ser utilizado no Flash Player 8 com AS2 e até mesmo ser controlado em AS1.<br />
Vale lembrar que, mesmo em AS3, são necessários alguns ajustes se a compilação for feita no Flash ou Flex.</p>
<p>Outro fator importante é a possibilidade de integrar qualquer objeto construído em programas de modelagem 3D a partir do formato <a target="_blank" href="http://www.collada.org/" title="Collada">Collada</a> (COLLAborative Design Activity) que é um padrão de exportação e importação baseado em XML criado pela Sony e usado no console Playstation 3.</p>
<p>Em dezembro de 2007 foi lançada uma versão alpha chamada de &#8220;<a target="_blank" href="http://blog.papervision3d.org/2007/12/05/papervision3d-20-alpha-great-white/" title="Papervision 3D Alpha Great White">Papervision 2.0 &#8211; Great White</a>&#8220;. E como todo desenvolvimento, o Papervision ainda não atingiu toda a sua maturidade. Tanto que poucos dias depois, <a target="_blank" href="http://blog.zupko.info/" title="Andy Zupko Papervision Effects">Andy Zupko</a> ( Papervision Core Team ) lançou uma versão incluindo <a target="_blank" href="http://blog.zupko.info/?p=76" title="Papervision 2.0 Effects Tutorial">efeitos muito interessantes</a>, integrando classes nativas do Flash como filtros, matrizes geométricas, entre outras. Com essa e outras contrbuições, ele foi convidado a participar do Core Team &#8211; ponto para o Papervision.<br />
Falta muita coisa ainda como colisão, etc &#8230; mas parece que já está havendo alguma integração com outras engines como <a target="_blank" href="http://seraf.mediabox.fr/wow-engine/as3-3d-physics-engine-wow-engine/" title="WOW-Engine shirotokoro Seraf Jérôme Birembaut">WOW-Engine</a>, desenvolvida por Seraf ( Jérôme Birembaut ).</p>
<p>Portanto, se você estiver interessado em iniciar-se no Papervision, prepare-se para acompanhar as constantes &#8211; diárias - modificações.</p>
<p>Os passos a seguir irão orientá-lo a fazer o download do Papervision e mantê-lo sempre atualizado :<br />
1. A maneira mais recomendada é instalar um &#8220;SVN client&#8221; como o <a target="_blank" href="http://tortoisesvn.tigris.org/" title="Tortoise for Windows SVN">Tortoise for Windows</a>.<br />
2. Após instalar o programa, crie um diretório e clique sobre ele com o botão da direita e escolha &#8220;SVN checkout&#8221;.<br />
3. Em URL, cole o endereço <a href="http://papervision3d.googlecode.com/svn/trunk/">http://papervision3d.googlecode.com/svn/trunk/</a><a href="http://papervision3d.googlecode.com/svn/"></a> e clique OK.<br />
4. Após o término do download, você irá ver os subdiretórios as2, as3 e branches. Dentro dos diretórios as2 e as3 estão as respectivas classes padrão e, em branches, as classes &#8220;Great White&#8221; ( Papervision 2.0 ) e &#8220;Effects&#8221; citada acima.</p>
<p>Antes de utilizá-las, você precisa preparar o Flash. Para fazer isso, você tem algumas maneiras :</p>
<p>Classe sempre disponível ( não importa onde esteja o seu projeto ) :<br />
1- No Flash, clique em <em>Edit&gt;Preferences&gt;Actionscript</em> e clique no botão &#8220;<em>Actionscript 3.0 settings</em>&#8221; ( ou &#8220;<em>Actionscript 2.0 settings</em>&#8220;, se for o caso )<br />
2. Em &#8220;<em>classpath</em>&#8220;, clique no boão &#8220;<em>+</em>&#8221; e em seguida ícone &#8220;<em>Browser To Path</em>&#8220;.<br />
3. Navegue até o diretório onde você fez o download e escolha entre <em>as3/trunk/src</em> ( <em>as2/trunk/src</em> se for o caso ) OU <em>branches\Effects\src</em> ( para usar a classe Effects ) OU <em>branches\GreatWhite\src</em> ( para usar a classe Papervision 2.0 Great White ).</p>
<p>Inserir a classe em cada um dos arquivos do seu projeto :<br />
1. Após criar um novo arquivo, vá em <em>File</em>&gt;<em>Publish Settings</em>&gt;<em>Flash</em> ( aba ) e clique sobre o botão &#8220;<em>Settings</em>&#8220;.<br />
2. Em &#8220;<em>classpath</em>&#8220;, clique no boão &#8220;<em>+</em>&#8221; e em seguida ícone &#8220;<em>Browser To Path</em>&#8220;.<br />
3. Navegue até o diretório onde você fez o download e escolha entre <em>as3/trunk/src</em> ( <em>as2/trunk/src</em> se for o caso ) OU <em>branches\Effects\src</em> ( para usar a classe Effects ) OU <em>branches\GreatWhite\src</em> ( para usar a classe Papervision 2.0 Great White ).<br />
4. Se estiver preparando um documento na versão AS3, ainda nessa tela você deve colocar o caminho de sua própria classe principal em <em>Document Class</em> ( iremos detalhar isso posteriormente )</p>
<p>Você não deveria utilizar diferentes versões da classe simultaneamente.</p>
<p>Pronto, você está apto a começar a utilizar o Papervision em seus projetos. E, o que é o melhor, utilizando apenas códigos, programas, plugins, &#8230; tudo open-source <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Dentro do diretótio de cada versão existem vários exemplos que servem como ponto de partida, além da documentação.</p>
<p>É claro que existem outras classes 3D como Sandy3D e Away3D - também open-source -, mas arrisco dizer que a Papervision deva prevalecer como dominante. A não ser que a própria Adobe resolva embutir uma API 3D em seus produtos.</p>
<p>Seja como for - em games, aplicações, passeios virtuais, demonstrações ou apenas &#8221;firulas&#8221; na interface &#8211; dessa vez o 3D na web veio para ficar.</p>
<p>Fique ligado que nos próximos posts estaremos iniciando uma sequência de exemplos práticos sobre o Papervision.</p>
<p>Abraços</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/webcorp.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/webcorp.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/webcorp.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/webcorp.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/webcorp.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/webcorp.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/webcorp.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/webcorp.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/webcorp.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/webcorp.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/webcorp.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/webcorp.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=webcorp.wordpress.com&blog=2872436&post=6&subd=webcorp&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://webcorp.wordpress.com/2008/02/16/papervision-sera-que-depois-da-web-20-chegou-a-vez-da-web-3d/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/625b61ee22f35649b6a0d7792292efe2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">webcorp</media:title>
		</media:content>
	</item>
	</channel>
</rss>