<?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/"
	>

<channel>
	<title>Miguel Moraleda &#187; Papervision3d</title>
	<atom:link href="http://as3.miguelmoraleda.com/tag/papervision3d/feed/" rel="self" type="application/rss+xml" />
	<link>http://as3.miguelmoraleda.com</link>
	<description>Unity3D &#38; Actionscript examples, resources, source code, etc</description>
	<lastBuildDate>Fri, 16 Apr 2010 12:55:47 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Actionscript 3 &#8211; Papervision3D Interactive Collada, DAE objects.</title>
		<link>http://as3.miguelmoraleda.com/es/2009/03/30/actionscript-3-papervision3d-collada-dae-interactives-objec/</link>
		<comments>http://as3.miguelmoraleda.com/es/2009/03/30/actionscript-3-papervision3d-collada-dae-interactives-objec/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 00:57:51 +0000</pubDate>
		<dc:creator>miguelMoraleda</dc:creator>
				<category><![CDATA[Papervision3d]]></category>

		<guid isPermaLink="false">http://as3.miguelmoraleda.com/?p=97</guid>
		<description><![CDATA[Para los que no saben lo que es un Collada o DAE, los archivos Collada son modelos 3D, exportados a formato xml. Basicamente se define dentro de este xml, cada vertice, mesh, material, etc. de un objeto. Si se estan preguntando para que podria llegar a servir esto, la respuesta es sencilla, para transportar de [...]]]></description>
			<content:encoded><![CDATA[<p>Para los que no saben lo que es un Collada o DAE, los archivos Collada son modelos 3D, exportados a formato xml. Basicamente se define dentro de este xml, cada vertice, mesh, material, etc. de un objeto. Si se estan preguntando para que podria llegar a servir esto, la respuesta es sencilla, para transportar de manera universal los modelos a otras tecnologias, como en este caso es papervision3D, que posee un DAEParser que genera estos modelos en nuestro escenario.</p>
<p><a href="http://en.wikipedia.org/wiki/COLLADA">Mas informacion de los archivos Collada en wikipedia</a></p>
<p>Para lograr que un objeto collada sea interactivo dentro de papervision3D, debemos cumplir con los siguientes requerimientos:</p>
<ul>
<li>Que el viewport sea interactivo&#8230;. viewport.interactive = true.</li>
<li>Que todos los materiales del collada tambien sean interactivos.</li>
<li>Y por ultimo, pero lo mas importante agregar el listener para el InteractiveScene3DEvent en cada uno de los objetos dentro de nuestro collada.</li>
</ul>
<p>Como en general, si estan trabajando con colladas descargados de por ahi y no creados por ustedes mismos, no sabran que cantidad de subobjetos tenga su collada, y lo mismo para la cantidad de materiales, es por eso que para agregar los listeners yo uso una funcion recursiva que se los agregue a cada child. Para los materiales es un poco mas sencillo, accediendo a la lista de materiales del objetos puedes setearlos a todos como interactivos.</p>
<p>Aca les pongo un ejemplo de como seteo cada material como interactivo:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> setInteractiveMaterials<span style="color: #66cc66;">&#40;</span>targetObject:DisplayObject3D, value:<span style="color: #0066CC;">Boolean</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">for</span> <span style="color: #b1b100;">each</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> mat:MaterialObject3D <span style="color: #b1b100;">in</span> _targetObject.<span style="color: #006600;">materials</span>.<span style="color: #006600;">materialsByName</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#123;</span>
		mat.<span style="color: #006600;">interactive</span> = value;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>Luego de tener todos los materiales del objeto como interactivos solo resta agregar el listener a cada child. Eso lo hago mediante la siguiente funcion.</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="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> addEventListeners<span style="color: #66cc66;">&#40;</span>displayObject:DisplayObject3D, eventType:<span style="color: #0066CC;">String</span>, listener:<span style="color: #000000; font-weight: bold;">Function</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	displayObject.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>eventType, listener<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #b1b100;">for</span> <span style="color: #b1b100;">each</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> child:DisplayObject3D <span style="color: #b1b100;">in</span> displayObject.<span style="color: #006600;">children</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
		addEventListeners<span style="color: #66cc66;">&#40;</span>child, eventType, listener<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>La llamada a la funcion seria algo asi:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;">addEventListeners<span style="color: #66cc66;">&#40;</span>_obj, InteractiveScene3DEvent.<span style="color: #006600;">OBJECT_PRESS</span>, daePressedHandler<span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>Realmente no estoy seguro si esta es la mejor manera de hacer eso, cualquier sugerencia y/o comentario sera bien recibido.</p>
<p><a href="http://www.miguelmoraleda.com/examples/interactiveDae">VER EJEMPLO</a><br />
<a href="http://www.miguelmoraleda.com/examples/interactiveDae.rar">DESCARGAR EJEMPLO PARA CS4</a><br />
<a href="http://www.miguelmoraleda.com/examples/daeInteractive.rar">DESCARGAR EJEMPLO PARA CS3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://as3.miguelmoraleda.com/es/2009/03/30/actionscript-3-papervision3d-collada-dae-interactives-objec/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tutorial Papervision3D &#8211; Load Collada DAE example source</title>
		<link>http://as3.miguelmoraleda.com/es/2009/03/08/tutorial-papervision3d-load-collada-model-dae-example-sourc/</link>
		<comments>http://as3.miguelmoraleda.com/es/2009/03/08/tutorial-papervision3d-load-collada-model-dae-example-sourc/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 08:20:15 +0000</pubDate>
		<dc:creator>miguelMoraleda</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Papervision3d]]></category>

		<guid isPermaLink="false">http://as3.miguelmoraleda.com/?p=31</guid>
		<description><![CDATA[VER EJEMPPLO DESCARGAR EJEMPLO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 package &#123; import flash.events.Event; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.materials.WireframeMaterial; import [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://as4.miguelmoraleda.com/wp-content/uploads/2009/03/collada.jpg" alt="collada" title="collada" width="405" height="332" class="alignnone size-full wp-image-32" /></p>
<p><a href="http://www.miguelmoraleda.com/examples/dae/">VER EJEMPPLO</a></p>
<p><a href="http://www.miguelmoraleda.com/examples/dae.rar">DESCARGAR EJEMPLO</a></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;">package
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">materials</span>.<span style="color: #006600;">utils</span>.<span style="color: #006600;">MaterialsList</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">materials</span>.<span style="color: #006600;">WireframeMaterial</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">objects</span>.<span style="color: #006600;">parsers</span>.<span style="color: #006600;">DAE</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">objects</span>.<span style="color: #006600;">DisplayObject3D</span>;
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">papervision3d</span>.<span style="color: #006600;">view</span>.<span style="color: #006600;">BasicView</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #0066CC;">extends</span> BasicView
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _obj:DAE;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">super</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			createObject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			_camera.<span style="color: #006600;">zoom</span> = <span style="color: #cc66cc;">1000</span> <span style="color: #66cc66;">/</span> _camera.<span style="color: #006600;">focus</span> + <span style="color: #cc66cc;">1</span>;
			<span style="color: #000000; font-weight: bold;">var</span> cameraTarget:DisplayObject3D = <span style="color: #000000; font-weight: bold;">new</span> DisplayObject3D<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			_camera.<span style="color: #0066CC;">target</span> = cameraTarget;
&nbsp;
			startRendering<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> createObject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			_obj = <span style="color: #000000; font-weight: bold;">new</span> DAE<span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">false</span>, <span style="color: #ff0000;">&quot;objeto&quot;</span><span style="color: #66cc66;">&#41;</span>;
			_obj.<span style="color: #0066CC;">load</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;soccer.DAE&quot;</span><span style="color: #66cc66;">&#41;</span>;
			scene.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>_obj<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		override protected <span style="color: #000000; font-weight: bold;">function</span> onRenderTick<span style="color: #66cc66;">&#40;</span>event:Event = <span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			_obj.<span style="color: #006600;">roll</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #0066CC;">super</span>.<span style="color: #006600;">onRenderTick</span><span style="color: #66cc66;">&#40;</span>event<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p><br><script type="text/javascript"><!--
google_ad_client = "pub-8685425838841676";
google_ad_slot = "6019231894";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<br></p>
]]></content:encoded>
			<wfw:commentRss>http://as3.miguelmoraleda.com/es/2009/03/08/tutorial-papervision3d-load-collada-model-dae-example-sourc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tutorial Papervision3D &#8211; Lights, light examples source code</title>
		<link>http://as3.miguelmoraleda.com/es/2009/03/07/tutorial-papervision3d-lights-lights-examples/</link>
		<comments>http://as3.miguelmoraleda.com/es/2009/03/07/tutorial-papervision3d-lights-lights-examples/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 01:39:15 +0000</pubDate>
		<dc:creator>miguelMoraleda</dc:creator>
				<category><![CDATA[Papervision3d]]></category>

		<guid isPermaLink="false">http://as3.miguelmoraleda.com/?p=15</guid>
		<description><![CDATA[En papervision3D, podemos encontrar distintos tipos de materiales que funcionan con una luz: FlatShadeMaterial, GouraudMaterial, PhongMaterial, entre otros. Aca les dejo un ejemplo de material iluminado, el FlatShadeMaterial. VER EJEMPLO DESCARGAR EJEMPLO]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-16" title="papervision3d-light" src="http://as4.miguelmoraleda.com/wp-content/uploads/2009/03/papervision3d-light.jpg" alt="papervision3d-light" width="320" height="293" /></p>
<div id="result_box" dir="ltr">
En papervision3D, podemos encontrar distintos tipos de materiales que funcionan con una luz: FlatShadeMaterial, GouraudMaterial, PhongMaterial, entre otros. Aca les dejo un ejemplo de material iluminado, el FlatShadeMaterial.<br />
<a href="http://www.miguelmoraleda.com/examples/luces">VER EJEMPLO</a><br />
<a href="http://www.miguelmoraleda.com/examples/luces.rar">DESCARGAR EJEMPLO</a>
</div>
<p><br><script type="text/javascript"><!--
google_ad_client = "pub-8685425838841676";
google_ad_slot = "4368654980";
google_ad_width = 200;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://as3.miguelmoraleda.com/es/2009/03/07/tutorial-papervision3d-lights-lights-examples/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>flash actionscript 3 AS3DMod flag or cloth effect, changing objects</title>
		<link>http://as3.miguelmoraleda.com/es/2009/03/07/flash-actionscript-3-as3dmod-flag-effect-modify-objects/</link>
		<comments>http://as3.miguelmoraleda.com/es/2009/03/07/flash-actionscript-3-as3dmod-flag-effect-modify-objects/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 23:56:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Papervision3d]]></category>
		<category><![CDATA[As3DMod]]></category>

		<guid isPermaLink="false">http://as3.miguelmoraleda.com/?p=5</guid>
		<description><![CDATA[Aca otra importante libreria, AS3DMod es una libreria para modificar objetos 3D. sus principales caracteristicas son: Current version 0.2. Features include: VER EJEMPLO DESCARGAR EJEMPLO 1. 7 modifiers as listed above 2. a framework for creating static and animated modifier stacks 3. 4 plug-ins for the most popular 3d engines: Pv3d, Away3d, Sandy3d and Alternativa3d [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-8" title="bandera-chile-320x320" src="http://as4.miguelmoraleda.com/wp-content/uploads/2009/03/fit-320x320.jpg" alt="bandera-chile-320x320" width="320" height="272" /> <img class="alignnone size-full wp-image-9" title="as3dmod-320x320" src="http://as4.miguelmoraleda.com/wp-content/uploads/2009/03/fit-320x320.gif" alt="as3dmod-320x320" width="293" height="123" /></p>
<p>Aca otra importante libreria, AS3DMod es una libreria para modificar objetos 3D. sus principales caracteristicas son:<br />
Current version 0.2. Features include:</p>
<p><a href="http://www.miguelmoraleda.com/examples/as3dmod/">VER EJEMPLO</a><br />
<a href="http://www.miguelmoraleda.com/examples/ejemploas3dmod.rar">DESCARGAR EJEMPLO</a></p>
<p>1. 7 modifiers as listed above<br />
2. a framework for creating static and animated modifier stacks<br />
3. 4 plug-ins for the most popular 3d engines: Pv3d, Away3d, Sandy3d and Alternativa3d<br />
4. a simple demo for each engine</p>
<p>El sitio del proyecto es <a title="http://code.google.com/p/as3dmod/" href="http://code.google.com/p/as3dmod/" target="_blank">http://code.google.com/p/as3dmod/</a> ahi pueden bajarselo y encontrar ejemplos.<br />
<br><script type="text/javascript"><!--
google_ad_client = "pub-8685425838841676";
google_ad_slot = "6019231894";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<br></p>
]]></content:encoded>
			<wfw:commentRss>http://as3.miguelmoraleda.com/es/2009/03/07/flash-actionscript-3-as3dmod-flag-effect-modify-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

