<?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>Blog Papervision3D</title>
	<atom:link href="http://papervision3d-fr.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://papervision3d-fr.com</link>
	<description>Blog Français sur Papervision3D</description>
	<lastBuildDate>Thu, 12 Nov 2009 23:00:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Coordonnées 2D du sommet haut gauche d&#8217;une Plane.</title>
		<link>http://papervision3d-fr.com/2009/11/13/coordonnees-2d-du-sommet-haut-gauche-dune-plane/</link>
		<comments>http://papervision3d-fr.com/2009/11/13/coordonnees-2d-du-sommet-haut-gauche-dune-plane/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 23:00:15 +0000</pubDate>
		<dc:creator>Ocelyn</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[2.0]]></category>
		<category><![CDATA[2d]]></category>
		<category><![CDATA[BasicView]]></category>
		<category><![CDATA[Plane]]></category>

		<guid isPermaLink="false">http://papervision3d-fr.com/?p=192</guid>
		<description><![CDATA[Suite à l&#8217;article sur comment obtenir les coordonnées 2D du centre d&#8217;une Plane, je vous présente ici une astuce pour trouver les coordonnées 2D du somment haut gauche d&#8217;une Plane (comme si ce n&#8217;était qu&#8217;un simple MovieClip aligné en 0,0)
Cet article implique donc que vous ayez lu le précédent article, afin d&#8217;aller directement à l&#8217;essentiel [...]]]></description>
			<content:encoded><![CDATA[<p>Suite à l&#8217;article sur comment obtenir les <a href="http://papervision3d-fr.com/2009/10/28/coordonnees-2d-dune-plane/">coordonnées 2D du centre d&#8217;une Plane</a>, je vous présente ici une astuce pour trouver les coordonnées 2D du somment haut gauche d&#8217;une Plane (comme si ce n&#8217;était qu&#8217;un simple MovieClip aligné en 0,0)</p>
<p>Cet article implique donc que vous ayez lu le précédent article, afin d&#8217;aller directement à l&#8217;essentiel <img src='http://papervision3d-fr.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Tout d&#8217;abord, nous créons un <strong>DisplayObject3D</strong> (ligne 23), <strong>auquel nous ajoutons une Plane</strong>.</p>
<p>Comme vous le voyez (ligne 25) notre Plane fait 80 pixels par 80 pixels, pour pouvoir centrer en 0,0 notre plane dans notre DisplayObject3D.</p>
<p>Nous la déplaçons <strong>en x de la moitié de sa largeur</strong> (ligne 27) et <strong>en y</strong> (ligne 28) <strong>de -(sa hauteur divisé par deux).</strong></p>
<p>Enfin nous activons le <strong>autoCalcScreenCoords </strong>non pas sur la Plane mais sur le DisplayObject3D (ligne 33).</p>
<p>Tout ceci nous permet avec la même formule que dans l&#8217;exemple précédent, de pouvoir positionner notre <strong>Sprite</strong> sur le sommet haut gauche de notre Plane.</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">package<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">materials</span>.<span class="me1">ColorMaterial</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">objects</span>.<span class="me1">DisplayObject3D</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">objects</span>.<span class="me1">primitives</span>.<span class="me1">Plane</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">view</span>.<span class="me1">BasicView</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> flash.<span class="me1">display</span>.<span class="me1">Sprite</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> flash.<span class="me1">events</span>.<span class="me1">Event</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">public</span> <span class="kw2">class</span> BasicScene <span class="kw3">extends</span> BasicView <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">public</span> <span class="kw2">function</span> BasicScene<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">topLeftPlane<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">startRendering<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">function</span> topLeftPlane<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> mt : ColorMaterial = <span class="kw2">new</span> ColorMaterial<span class="br0">&#40;</span>0&#215;0000ff<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">do3d = <span class="kw2">new</span> DisplayObject3D<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> tlPlane : Plane = <span class="kw2">new</span> Plane<span class="br0">&#40;</span>mt, 80, 80<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">do3d.<span class="me1">addChild</span><span class="br0">&#40;</span>tlPlane<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">tlPlane.<span class="me1">x</span> = <span class="nu0">40</span>;</div>
</li>
<li class="li1">
<div class="de1">tlPlane.<span class="me1">y</span> = -<span class="nu0">40</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">scene.<span class="me1">addChild</span><span class="br0">&#40;</span>do3d<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">do3d.<span class="me1">z</span> = <span class="br0">&#40;</span> <span class="kw3">camera</span>.<span class="me1">zoom</span> <span class="sy0">*</span> <span class="kw3">camera</span>.<span class="me1">focus</span> <span class="br0">&#41;</span> &#8211; <span class="kw3">Math</span>.<span class="kw3">abs</span> <span class="br0">&#40;</span><span class="kw3">camera</span>.<span class="me1">z</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">do3d.<span class="me1">autoCalcScreenCoords</span> = <span class="kw2">true</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//&#8212;-</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">topLeftSprite = <span class="kw2">new</span> Sprite<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">topLeftSprite.<span class="me1">graphics</span>.<span class="kw3">beginFill</span><span class="br0">&#40;</span>0xff0000, 0.2<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">topLeftSprite.<span class="me1">graphics</span>.<span class="me1">drawRect</span><span class="br0">&#40;</span>0, 0, 40, 40<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">addChild<span class="br0">&#40;</span>topLeftSprite<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">override protected <span class="kw2">function</span> onRenderTick<span class="br0">&#40;</span>event:Event=<span class="kw2">null</span><span class="br0">&#41;</span>:<span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">do3d.<span class="me1">x</span> -= <span class="nu0">0.2</span>;</div>
</li>
<li class="li1">
<div class="de1">do3d.<span class="me1">y</span> -= <span class="nu0">0.2</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">topLeftSprite.<span class="me1">x</span> = <span class="br0">&#40;</span> do3d.<span class="me1">screen</span>.<span class="me1">x</span> + <span class="br0">&#40;</span><span class="kw3">this</span>.<span class="kw3">width</span> <span class="sy0">/</span> 2 <span class="br0">&#41;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">topLeftSprite.<span class="me1">y</span> = <span class="br0">&#40;</span> do3d.<span class="me1">screen</span>.<span class="me1">y</span> + <span class="br0">&#40;</span><span class="kw3">this</span>.<span class="kw3">height</span> <span class="sy0">/</span> 2 <span class="br0">&#41;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//&#8212;-</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">super</span>.<span class="me1">onRenderTick</span><span class="br0">&#40;</span>event<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">var</span> do3d             : DisplayObject3D;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">var</span> topLeftSprite     : Sprite;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://papervision3d-fr.com/2009/11/13/coordonnees-2d-du-sommet-haut-gauche-dune-plane/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutoriel Papervision3D 3.0 &#8211; Classe Squelette</title>
		<link>http://papervision3d-fr.com/2009/10/29/tutoriel-papervision3d-3-0-classe-squelette/</link>
		<comments>http://papervision3d-fr.com/2009/10/29/tutoriel-papervision3d-3-0-classe-squelette/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 11:00:53 +0000</pubDate>
		<dc:creator>Ocelyn</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[Cube]]></category>
		<category><![CDATA[Démarrer]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://papervision3d-fr.com/?p=182</guid>
		<description><![CDATA[Salut à tous,
Comme demandé dans un commentaire voici une classe squelette de la nouvelle monture de Papervision : Papervision3D 3.0.
En pré-requis, il vous faudra bien entendu le package Papervision3D 3.0 que vous pouvez récupérer ici.
La possibilité de compiler en Flash Player 10 (avec Flash CS4, ou autre) et le Flash Player 10 pour pouvoir lire [...]]]></description>
			<content:encoded><![CDATA[<p>Salut à tous,</p>
<p>Comme demandé dans un commentaire voici une classe squelette de la nouvelle monture de Papervision : <strong>Papervision3D 3.0</strong>.</p>
<p>En pré-requis, il vous faudra bien entendu le package Papervision3D 3.0 que vous pouvez récupérer <a title="Download Papervision3D 3.0" href="http://github.com/Papervision3D/Papervision3D" target="_blank">ici</a>.</p>
<p>La possibilité de compiler en Flash Player 10 (avec Flash CS4, ou autre) et le Flash Player 10 pour pouvoir lire la scène. (si vous avez des erreurs à l&#8217;ouverture du swf ça viens surement de ça)</p>
<p>Une classe comme BasicView n&#8217;ayant pas encore été implanté, il nous faudra recréer notre scène à la main (ce qui n&#8217;est pas plus mal pour comprendre les nouveautés).</p>
<p>La première Chose est de créer notre Viewport (lignes 38-39), notre scene (ligne 41), qui maintenant est un DisplayObject3D en attendant la création de la classe Scene3D, notre caméra (lignes 43-44) qui maintenant doit être ajoutée à notre scene !</p>
<p>Et enfin nous créons notre rendrerer (ligne 49).</p>
<p>Puis nous créons notre <strong>Cube </strong>(lignes 52-54) en lui passant un <strong>WireframeMaterial </strong>, pour l&#8217;instant notre cube ne peu recevoir qu&#8217;un seul material et qu&#8217;une seule taille (on peu le scaler en X ou en Y pour le transformer par contre).</p>
<p>Enfin nous obligeons notre camera à regarder le cube, grâce à la propriété <strong>lookAt</strong> (ligne 56).</p>
<p>Le reste ne change pas, dans notre fonction EnterFrame, nous lançons le rendu de la scène <img src='http://papervision3d-fr.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Papervision3D 3.0 débute mais ça annoncera surement que du bon !</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">package</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> flash.<span class="me1">display</span>.<span class="me1">Sprite</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> flash.<span class="me1">events</span>.<span class="me1">Event</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">cameras</span>.<span class="me1">Camera3D</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">materials</span>.<span class="me1">WireframeMaterial</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">objects</span>.<span class="me1">DisplayObject3D</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">objects</span>.<span class="me1">primitives</span>.<span class="me1">Cube</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">render</span>.<span class="me1">BasicRenderEngine</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">view</span>.<span class="me1">Viewport3D</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">public</span> <span class="kw2">class</span> BasicScene <span class="kw3">extends</span> Sprite</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">public</span> <span class="kw2">function</span> BasicScene<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">addEventListener<span class="br0">&#40;</span>Event.<span class="me1">ADDED_TO_STAGE</span>, addedToStage<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">function</span> addedToStage<span class="br0">&#40;</span><span class="kw3">e</span>:Event<span class="br0">&#41;</span>:<span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">removeEventListener<span class="br0">&#40;</span>Event.<span class="me1">ADDED_TO_STAGE</span>, addedToStage<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">init<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">function</span> init<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">initScene<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">buildCube<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">addEventListener<span class="br0">&#40;</span>Event.<span class="me1">ENTER_FRAME</span>, render<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">function</span> initScene<span class="br0">&#40;</span><span class="br0">&#41;</span>:<span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">viewport = <span class="kw2">new</span> Viewport3D<span class="br0">&#40;</span>0, 0, <span class="kw2">true</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">addChild<span class="br0">&#40;</span>viewport<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">scene = <span class="kw2">new</span> DisplayObject3D<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">camera</span> = <span class="kw2">new</span> Camera3D<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">scene.<span class="me1">addChild</span><span class="br0">&#40;</span> <span class="kw3">camera</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">camera</span>.<span class="me1">z</span> = <span class="nu0">1000</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">renderer = <span class="kw2">new</span> BasicRenderEngine<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">function</span> buildCube<span class="br0">&#40;</span><span class="br0">&#41;</span>:<span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> wfm : WireframeMaterial = <span class="kw2">new</span> WireframeMaterial<span class="br0">&#40;</span>0xff00ff<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">cube = <span class="kw2">new</span> Cube<span class="br0">&#40;</span>wfm, 200<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">scene.<span class="me1">addChild</span><span class="br0">&#40;</span> cube <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">camera</span>.<span class="me1">lookAt</span><span class="br0">&#40;</span>cube<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">function</span> render<span class="br0">&#40;</span>event:Event=<span class="kw2">null</span><span class="br0">&#41;</span>:<span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">cube.<span class="me1">rotationX</span>++;</div>
</li>
<li class="li1">
<div class="de1">cube.<span class="me1">rotationY</span>++;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">renderer.<span class="me1">renderScene</span><span class="br0">&#40;</span>scene, <span class="kw3">camera</span>, viewport<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">var</span> cube : Cube;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">var</span> <span class="kw3">camera</span> : Camera3D;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">var</span> viewport : Viewport3D;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">var</span> scene : DisplayObject3D;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">var</span> renderer : BasicRenderEngine;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://papervision3d-fr.com/2009/10/29/tutoriel-papervision3d-3-0-classe-squelette/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Papervision3D 3.0 &#8211; Release</title>
		<link>http://papervision3d-fr.com/2009/10/28/papervision3d-3-0-release/</link>
		<comments>http://papervision3d-fr.com/2009/10/28/papervision3d-3-0-release/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 13:19:12 +0000</pubDate>
		<dc:creator>Ocelyn</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[info]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://papervision3d-fr.com/?p=179</guid>
		<description><![CDATA[Si vous n&#8217;êtes pas encore au courant (ce qui n&#8217;est finalement pas si grave, vous allez voir), la nouvelle version de Papervision3D (anciennement connu sous le nom de PapervisionX) viens de sortir.
Vous pouvez la récupérer à cette adresse : http://github.com/Papervision3D/Papervision3D
Il faut savoir que le moteur a été réécrit entièrement pour profiter des fonctionnalité du Flash [...]]]></description>
			<content:encoded><![CDATA[<p>Si vous n&#8217;êtes pas encore au courant <em>(ce qui n&#8217;est finalement pas si grave, vous allez voir)</em>, la nouvelle version de Papervision3D (anciennement connu sous le nom de PapervisionX) viens de sortir.</p>
<p>Vous pouvez la récupérer à cette adresse :<a title="Papervision3D 3.0" href="http://github.com/Papervision3D/Papervision3D" target="_blank"> http://github.com/Papervision3D/Papervision3D</a></p>
<p>Il faut savoir que le moteur a été réécrit entièrement pour profiter des fonctionnalité du Flash Player 10.</p>
<p>Quoi de beau, dans cette nouvelle version ? Et bien pas grand chose pour l&#8217;instant, je n&#8217;ai pas encore eu l&#8217;occasion de la tester mais en navigant dans les différents dossier, j&#8217;ai vu qu&#8217;il n&#8217;y a pour l&#8217;instant que peu de classes qui ont été réécrites, il faudra donc attendre encore un peu pour l&#8217;utiliser dans vos sites web <img src='http://papervision3d-fr.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://papervision3d-fr.com/2009/10/28/papervision3d-3-0-release/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Coordonnées 2D du centre d&#8217;une Plane.</title>
		<link>http://papervision3d-fr.com/2009/10/28/coordonnees-2d-dune-plane/</link>
		<comments>http://papervision3d-fr.com/2009/10/28/coordonnees-2d-dune-plane/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 08:00:28 +0000</pubDate>
		<dc:creator>Ocelyn</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[2d]]></category>
		<category><![CDATA[autoCalcScreenCoords]]></category>
		<category><![CDATA[BasicView]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[Plane]]></category>

		<guid isPermaLink="false">http://papervision3d-fr.com/?p=164</guid>
		<description><![CDATA[Dans cet article, nous allons voir comment récupérer les coordonnées 2D (x et y) d&#8217;une Plane dans Papervision, grâce à la propriété autoCalcScreenCoords.
Pour cet exercice nous allons créer une Plane et un rectangle 2D, ce dernier ira récupérer les coordonnées 2D de notre Plane pour se positionner en son centre, ceci étant la méthode la [...]]]></description>
			<content:encoded><![CDATA[<p>Dans cet article, nous allons voir comment récupérer les coordonnées 2D (x et y) d&#8217;une Plane dans Papervision, grâce à la propriété <strong>autoCalcScreenCoords</strong>.</p>
<p>Pour cet exercice nous allons créer une Plane et un rectangle 2D, ce dernier ira récupérer les coordonnées 2D de notre Plane pour se positionner en son centre, ceci étant la méthode la plus facile.</p>
<p>Nous créons notre Plane (lignes 21-25) et passons la propriété <strong>autoCalcScreenCoords </strong> de cette dernière à <strong>true</strong> (ligne 27), cette propriété nous permet d&#8217;activer la possibilité de récupérer les coordonnées 2D de notre Plane. </p>
<p>Puis nous créons notre rectangle 2D un <strong>Sprite</strong> (lignes 31-34) qui sera positionné au centre de la Plane, vous pourrez noter que à la création du rectangle (ligne 34) nous le centrons en lui même.</p>
<p>A partir de là dans notre fonction <strong>onRenderTick </strong>(ligne 37) nous déplaçons notre Plane en x et en y (lignes 39-40) pour voir le déplacement de notre <strong>Sprite</strong> que nous bougeons (lignes 42-43) grâce à la formule pour l&#8217;axe X par exemple :</p>
<p>centerSprite.x = ( plane.<strong>screen</strong>.x + (this.width / 2 ) );</p>
<p>Vous remarquez qu&#8217;au lieu de faire plane.x nous rajoutons la propriété <strong>screen </strong>qui permet d&#8217;obtenir la coordonnée X de la Plane sur le plan 2D et nous ajoutons à cette dernière, le centre de notre classe <strong>BasicScene </strong> grâce à la formule, largeur de notre classe (<strong>this.width</strong> <em>this faisant référence à notre classe BasicScene</em>) divisé par deux. </p>
<p>Il ne nous reste plus qu&#8217;à faire la même manipulation pour l&#8217;axe Y en remplaçant :</p>
<p>centerSprite.<strong>y</strong> = ( plane.screen.<strong>y</strong> + (this.<strong>height</strong>/ 2 ) );</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">package <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">materials</span>.<span class="me1">ColorMaterial</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">objects</span>.<span class="me1">DisplayObject3D</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">objects</span>.<span class="me1">primitives</span>.<span class="me1">Plane</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">view</span>.<span class="me1">BasicView</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> flash.<span class="me1">display</span>.<span class="me1">Sprite</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> flash.<span class="me1">events</span>.<span class="me1">Event</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">class</span> BasicScene <span class="kw3">extends</span> BasicView <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">function</span> BasicScene<span class="br0">&#40;</span><span class="br0">&#41;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; centerPlane<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startRendering<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">function</span> centerPlane<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> mt : ColorMaterial = <span class="kw2">new</span> ColorMaterial<span class="br0">&#40;</span>0&#215;0000ff<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; plane = <span class="kw2">new</span> Plane<span class="br0">&#40;</span>mt, 80, 80<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; scene.<span class="me1">addChild</span><span class="br0">&#40;</span>plane<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; plane.<span class="me1">z</span> = <span class="br0">&#40;</span> <span class="kw3">camera</span>.<span class="me1">zoom</span> <span class="sy0">*</span> <span class="kw3">camera</span>.<span class="me1">focus</span> <span class="br0">&#41;</span> &#8211; <span class="kw3">Math</span>.<span class="kw3">abs</span> <span class="br0">&#40;</span><span class="kw3">camera</span>.<span class="me1">z</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; plane.<span class="me1">autoCalcScreenCoords</span> = <span class="kw2">true</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//&#8212;-</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; centerSprite = <span class="kw2">new</span> Sprite<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; centerSprite.<span class="me1">graphics</span>.<span class="kw3">beginFill</span><span class="br0">&#40;</span>0xff0000, 0.2<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; centerSprite.<span class="me1">graphics</span>.<span class="me1">drawRect</span><span class="br0">&#40;</span>-20, -20, 40, 40<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addChild<span class="br0">&#40;</span>centerSprite<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; override protected <span class="kw2">function</span> onRenderTick<span class="br0">&#40;</span>event:Event=<span class="kw2">null</span><span class="br0">&#41;</span>:<span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; plane.<span class="me1">x</span> += <span class="nu0">0.2</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; plane.<span class="me1">y</span> += <span class="nu0">1</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//&#8212;-</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; centerSprite.<span class="me1">x</span> = <span class="br0">&#40;</span> plane.<span class="me1">screen</span>.<span class="me1">x</span> + <span class="br0">&#40;</span><span class="kw3">this</span>.<span class="kw3">width</span> <span class="sy0">/</span> 2 <span class="br0">&#41;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; centerSprite.<span class="me1">y</span> = <span class="br0">&#40;</span> plane.<span class="me1">screen</span>.<span class="me1">y</span> + <span class="br0">&#40;</span><span class="kw3">this</span>.<span class="kw3">height</span> <span class="sy0">/</span> 2 <span class="br0">&#41;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//&#8212;-</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">super</span>.<span class="me1">onRenderTick</span><span class="br0">&#40;</span>event<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> plane &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : Plane;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> centerSprite &nbsp; &nbsp; &nbsp; &nbsp;: Sprite;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://papervision3d-fr.com/2009/10/28/coordonnees-2d-dune-plane/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Chargement de modèle 3D, les fichiers DAE.</title>
		<link>http://papervision3d-fr.com/2009/10/15/chargement-de-modele-3d-les-fichiers-dae/</link>
		<comments>http://papervision3d-fr.com/2009/10/15/chargement-de-modele-3d-les-fichiers-dae/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 08:00:28 +0000</pubDate>
		<dc:creator>Ocelyn</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[BasicView]]></category>
		<category><![CDATA[dae]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://papervision3d-fr.com/?p=147</guid>
		<description><![CDATA[Aujourd&#8217;hui, nous allons voir une des manières possible pour charger un modèle 3D dans Papervision et plus précisément un fichier DAE tiré de Google Sketchup.
Google Sketchup propose une grande base de donnée de modèle 3D, vous trouverez facilement votre bonheur sur ce site  
Dans le cadre de notre exercice, nous allons utiliser une tour [...]]]></description>
			<content:encoded><![CDATA[<p>Aujourd&#8217;hui, nous allons voir une des manières possible pour charger un modèle 3D dans Papervision et plus précisément un fichier DAE tiré de Google Sketchup.</p>
<p>Google Sketchup propose une grande base de donnée de modèle 3D, vous trouverez facilement votre bonheur sur ce site <img src='http://papervision3d-fr.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Dans le cadre de notre exercice, nous allons utiliser une <a title="Modèle 3D Google" href="http://sketchup.google.com/3dwarehouse/details?mid=c699e312ee6df543c07eec4ba5e4046" target="_blank">tour Eiffel</a>.</p>
<p>Vous verrez que vous avez la possibilité de télécharger plusieurs type de modèle, pour notre exemple nous téléchargerons le fichier Collada contenu dans un zip.</p>
<p><em>Astuce : Vous pouvez aussi télécharger le fichier Google Earth 4 .kmz et remplacer l&#8217;extension par un .zip vous aurez alors le même type de fichier qu&#8217;au dessus <img src='http://papervision3d-fr.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<p>Après avoir téléchargé votre .zip en le décompressant vous aurez un dossier nommé Untitled, dedans 2 fichiers et 2 dossiers, vous pouvez supprimer les deux fichiers doc.kml et textures.txt qui ne nous sont pas utile.</p>
<p>Enfin copiez votre dossier Untitled à coté de votre fichier .html</p>
<p>Nous pouvons passer au code :</p>
<p>Nous créons un nouveau objet <strong>DAE </strong>(ligne 17) et chargeons notre modèle (ligne 18) en lui passant le chemin vers le modèle DAE, ici le dossier Untitled / models / model.dae, si vous ouvrez votre swf dans une page HTML le chemin sera par rapport à la position de notre page HTML, si vous faites les tests en ouvrant directement votre fichier swf alors le chemin sera par rapport à ce dernier, le mieux est d&#8217;avoir notre fichier swf dans le même dossier que notre page HTML.</p>
<p>Puis nous changeons la taille de notre objet avec l&#8217;attribut <strong>scale </strong>(ligne 19) pour le réduire de taille si nous passons un chiffre inférieur à 1 ou l&#8217;agrandir si supérieur à 1.</p>
<p>Nous le déplaçons sur notre scène (ligne 20) et enfin l&#8217;ajoutons à notre scène (ligne 21).</p>
<p>Nous lui faisons subir une rotation sur Y (ligne 26) pour le voir sur toutes les coutures.</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">package <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">objects</span>.<span class="me1">parsers</span>.<span class="me1">DAE</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">view</span>.<span class="me1">BasicView</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> flash.<span class="me1">events</span>.<span class="me1">Event</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">public</span> <span class="kw2">class</span> BasicScene <span class="kw3">extends</span> BasicView <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">public</span> <span class="kw2">function</span> BasicScene<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">loadDae<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">startRendering<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">function</span> loadDae<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">eiffel = <span class="kw2">new</span> DAE<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">eiffel.<span class="kw3">load</span><span class="br0">&#40;</span><span class="st0">&quot;Untitled/models/model.dae&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">eiffel.<span class="me1">scale</span> = <span class="nu0">0.1</span>;</div>
</li>
<li class="li1">
<div class="de1">eiffel.<span class="me1">y</span> = -<span class="nu0">500</span>;</div>
</li>
<li class="li1">
<div class="de1">scene.<span class="me1">addChild</span><span class="br0">&#40;</span>eiffel<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">override protected <span class="kw2">function</span> onRenderTick<span class="br0">&#40;</span>event:Event=<span class="kw2">null</span><span class="br0">&#41;</span>:<span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">eiffel.<span class="me1">rotationY</span>++;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">super</span>.<span class="me1">onRenderTick</span><span class="br0">&#40;</span>event<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">var</span> eiffel : DAE;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://papervision3d-fr.com/2009/10/15/chargement-de-modele-3d-les-fichiers-dae/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Statsview voir les performances de vos scène Papervision3D.</title>
		<link>http://papervision3d-fr.com/2009/10/13/statsview-voir-les-performances-de-vos-scene-papervision3d/</link>
		<comments>http://papervision3d-fr.com/2009/10/13/statsview-voir-les-performances-de-vos-scene-papervision3d/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 16:18:34 +0000</pubDate>
		<dc:creator>Ocelyn</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[BasicView]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[statsview]]></category>

		<guid isPermaLink="false">http://papervision3d-fr.com/?p=144</guid>
		<description><![CDATA[Salut à tous,
Voici une astuce qui vous permettra de mesurer les performances de vos scène sous Papervision3D grâce à classe StatsView de Papervision.
J&#8217;ai repris le code de la leçon précédente en y ajoutant une fonction initStats (ligne 14), à l&#8217;intérieur de laquelle je créé un objets Statsview (ligne 20) et auquel je passe le BasicRenderEngine [...]]]></description>
			<content:encoded><![CDATA[<p>Salut à tous,</p>
<p>Voici une astuce qui vous permettra de mesurer les performances de vos scène sous Papervision3D grâce à classe <strong>StatsView </strong>de Papervision.</p>
<p>J&#8217;ai repris le code de la leçon précédente en y ajoutant une fonction initStats (ligne 14), à l&#8217;intérieur de laquelle je créé un objets Statsview (ligne 20) et auquel je passe le <strong>BasicRenderEngine </strong>de la classe BasicView (renderer).</p>
<p>Il ne me reste plus qu&#8217;à l&#8217;addChilder sur ma scène (ligne 21).</p>
<p>Vous verrez apparaitre un carré noir contenant les différentes stats en haut à gauche de votre scène, les stats FPS (Nombres d&#8217;image par seconde), Mem (Mémoire utilisé par le flash player) vous permettront de voir rapidement les performances de vos applications, à noter que si vous avez d&#8217;autres sites ou applications flash lancée en même temps, la mémoire prendra en compte ces derniers.</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">package <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">materials</span>.<span class="me1">special</span>.<span class="me1">Letter3DMaterial</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">typography</span>.<span class="me1">Text3D</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">typography</span>.<span class="me1">fonts</span>.<span class="me1">HelveticaBold</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">view</span>.<span class="me1">BasicView</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">view</span>.<span class="me1">stats</span>.<span class="me1">StatsView</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> flash.<span class="me1">events</span>.<span class="me1">Event</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">class</span> BasicScene <span class="kw3">extends</span> BasicView <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">function</span> BasicScene<span class="br0">&#40;</span><span class="br0">&#41;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; initStats<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buildLetters<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">function</span> initStats<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> sv : StatsView = <span class="kw2">new</span> StatsView<span class="br0">&#40;</span>renderer<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; addChild<span class="br0">&#40;</span>sv<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">function</span> buildLetters<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> <span class="kw3">font</span> : HelveticaBold = <span class="kw2">new</span> HelveticaBold<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> material : Letter3DMaterial = <span class="kw2">new</span> Letter3DMaterial<span class="br0">&#40;</span>0xff00ff<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; material.<span class="me1">doubleSided</span> = <span class="kw2">true</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; txt3d = <span class="kw2">new</span> Text3D<span class="br0">&#40;</span><span class="st0">&quot;Blog Papervision3D&quot;</span>, <span class="kw3">font</span>, material<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; scene.<span class="me1">addChild</span><span class="br0">&#40;</span>txt3d<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startRendering<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; override protected <span class="kw2">function</span> onRenderTick<span class="br0">&#40;</span>event:Event=<span class="kw2">null</span><span class="br0">&#41;</span>:<span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; txt3d.<span class="me1">rotationY</span>++;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">super</span>.<span class="me1">onRenderTick</span><span class="br0">&#40;</span>event<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> txt3d : Text3D;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://papervision3d-fr.com/2009/10/13/statsview-voir-les-performances-de-vos-scene-papervision3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Text3D dans Papervision.</title>
		<link>http://papervision3d-fr.com/2009/10/02/text3d-dans-papervision/</link>
		<comments>http://papervision3d-fr.com/2009/10/02/text3d-dans-papervision/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 08:00:58 +0000</pubDate>
		<dc:creator>Ocelyn</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[BasicView]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://papervision3d-fr.com/?p=138</guid>
		<description><![CDATA[Papervision3D nous offre la possibilité de créer des textes 3D, ceci en trois étapes.
Dans un premier temps nous allons créer notre Font, la police de caractère que nous allons appliquer à notre Text3D, il en existe 4 déjà définis dans Pv3d : HelveticaBold, HelveticaLight, HelveticaMedium et HelveticaRoman.
Nous créons donc notre font (ligne 18), puis notre [...]]]></description>
			<content:encoded><![CDATA[<p>Papervision3D nous offre la possibilité de créer des textes 3D, ceci en trois étapes.</p>
<p>Dans un premier temps nous allons créer notre <strong>Font</strong>, la police de caractère que nous allons appliquer à notre Text3D, il en existe 4 déjà définis dans Pv3d : HelveticaBold, HelveticaLight, HelveticaMedium et HelveticaRoman.</p>
<p>Nous créons donc notre font (ligne 18), puis notre <strong>Letter3DMaterial </strong>auquel nous passons une couleur et lui appliquons la propriété doubleSided (ligne 20 et 21).</p>
<p>Enfin nous créons notre <strong>Text3D </strong>(ligne 23), nous lui passons une chaine de caractère qui sera le texte affiché en 3D, notre font et notre material créés précédemment.</p>
<p>Si nous souhaitons changer le texte, il suffit simplement de faire txt3d<strong>.text</strong> = &laquo;&nbsp;Ma nouvelle chaine de caractère&nbsp;&raquo;; ou txt3d.text = txt3d.text + &laquo;&nbsp;-fr&nbsp;&raquo;; pour afficher Blog Papervision3D-fr.</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">package <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">materials</span>.<span class="me1">special</span>.<span class="me1">Letter3DMaterial</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">typography</span>.<span class="me1">Text3D</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">typography</span>.<span class="me1">fonts</span>.<span class="me1">HelveticaBold</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">view</span>.<span class="me1">BasicView</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> flash.<span class="me1">events</span>.<span class="me1">Event</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">class</span> BasicScene <span class="kw3">extends</span> BasicView <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">function</span> BasicScene<span class="br0">&#40;</span><span class="br0">&#41;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buildLetters<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">function</span> buildLetters<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> <span class="kw3">font</span> : HelveticaBold = <span class="kw2">new</span> HelveticaBold<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> material : Letter3DMaterial = <span class="kw2">new</span> Letter3DMaterial<span class="br0">&#40;</span>0xff00ff<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; material.<span class="me1">doubleSided</span> = <span class="kw2">true</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; txt3d = <span class="kw2">new</span> Text3D<span class="br0">&#40;</span><span class="st0">&quot;Blog Papervision3D&quot;</span>, <span class="kw3">font</span>, material<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; scene.<span class="me1">addChild</span><span class="br0">&#40;</span>txt3d<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startRendering<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; override protected <span class="kw2">function</span> onRenderTick<span class="br0">&#40;</span>event:Event=<span class="kw2">null</span><span class="br0">&#41;</span>:<span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; txt3d.<span class="me1">rotationY</span>++;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">super</span>.<span class="me1">onRenderTick</span><span class="br0">&#40;</span>event<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> txt3d : Text3D;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://papervision3d-fr.com/2009/10/02/text3d-dans-papervision/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stopper le rendu d&#8217;une scène 3D.</title>
		<link>http://papervision3d-fr.com/2009/10/01/stopper-le-rendu-dune-scene-3d/</link>
		<comments>http://papervision3d-fr.com/2009/10/01/stopper-le-rendu-dune-scene-3d/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 08:00:09 +0000</pubDate>
		<dc:creator>Ocelyn</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[BasicView]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[ReflectionView]]></category>

		<guid isPermaLink="false">http://papervision3d-fr.com/?p=128</guid>
		<description><![CDATA[Un tutoriel très court mais qui concerne un point crucial sur Pv3d, la gestion de la mémoire.
La manière la plus efficace pour ne pas gaspiller vos ressources dans une scène 3D, est de stopper le rendu de votre scène, quand vous n&#8217;avez plus aucune animation à afficher.
Pour cela, deux solutions :
Dans le cas où vous [...]]]></description>
			<content:encoded><![CDATA[<p>Un tutoriel très court mais qui concerne un point crucial sur Pv3d, la gestion de la mémoire.</p>
<p>La manière la plus efficace pour ne pas gaspiller vos ressources dans une scène 3D, est de stopper le rendu de votre scène, quand vous n&#8217;avez plus aucune animation à afficher.</p>
<p>Pour cela, deux solutions :</p>
<p>Dans le cas où vous avez créé votre scène 3D grâce à un <strong>BasicView</strong> ou <strong>ReflectionView</strong> et avez lancé un startRendering() pour afficher vos objets et animations, il vous suffit simplement de faire appel à la fonction <strong>stopRendering();</strong> (ligne 43) pour stopper le rendu et refaire un <strong>startRendering();</strong> pour le reprendre.</p>
<p>Si vous avez créé votre scène 3D par vous même il vous suffira de supprimer votre <strong>EnterFrame </strong>qui vous sert au rendu pour stopper le rendu et de le recréer pour le reprendre.</p>
<p>A noter que même si le rendu est stoppé, les interactions avec les objets 3D sont toujours actifs, dans l&#8217;exemple ci-dessous, nous créons nos objets 3D et ne lançons qu&#8217;un seul rendu pour les afficher n&#8217;ayant pas d&#8217;animation.</p>
<p>Puis au clique sur notre Sphere, nous appliquons une rotationY à notre DisplayObject3D (ligne 42), et relançons un rendu pour afficher cette modification (ligne 43), très utile pour des Roll Over par exemple.</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">package <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">events</span>.<span class="me1">InteractiveScene3DEvent</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">materials</span>.<span class="me1">ColorMaterial</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">objects</span>.<span class="me1">DisplayObject3D</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">objects</span>.<span class="me1">primitives</span>.<span class="me1">Sphere</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">view</span>.<span class="me1">BasicView</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">class</span> BasicScene <span class="kw3">extends</span> BasicView <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">function</span> BasicScene<span class="br0">&#40;</span><span class="br0">&#41;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buildSphere<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; viewport.<span class="me1">interactive</span> = <span class="kw2">true</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">function</span> buildSphere<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; do3d = <span class="kw2">new</span> DisplayObject3D<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//&#8212;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> material : ColorMaterial = <span class="kw2">new</span> ColorMaterial<span class="br0">&#40;</span>0&#215;000fff<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; material.<span class="me1">interactive</span> = <span class="kw2">true</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sphere = <span class="kw2">new</span> Sphere<span class="br0">&#40;</span>material, 200, 20, 20<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//&#8212;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> material2 : ColorMaterial = <span class="kw2">new</span> ColorMaterial<span class="br0">&#40;</span>0xff0000<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sphere2 = <span class="kw2">new</span> Sphere<span class="br0">&#40;</span>material2, 80, 20, 20<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sphere2.<span class="me1">x</span> = <span class="nu0">320</span>; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//&#8212;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; do3d.<span class="me1">addChild</span><span class="br0">&#40;</span>sphere<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; do3d.<span class="me1">addChild</span><span class="br0">&#40;</span>sphere2<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; scene.<span class="me1">addChild</span><span class="br0">&#40;</span>do3d<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sphere.<span class="me1">addEventListener</span><span class="br0">&#40;</span>InteractiveScene3DEvent.<span class="me1">OBJECT_CLICK</span>, handleClick<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; singleRender<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">function</span> handleClick<span class="br0">&#40;</span>event : InteractiveScene3DEvent<span class="br0">&#41;</span> : <span class="kw3">void</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; do3d.<span class="me1">rotationY</span> += <span class="nu0">10</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; singleRender<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> sphere : Sphere;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> sphere2 : Sphere;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> do3d : DisplayObject3D;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://papervision3d-fr.com/2009/10/01/stopper-le-rendu-dune-scene-3d/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fog avec Papervision3D.</title>
		<link>http://papervision3d-fr.com/2009/09/29/fog-avec-papervision3d/</link>
		<comments>http://papervision3d-fr.com/2009/09/29/fog-avec-papervision3d/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 08:00:26 +0000</pubDate>
		<dc:creator>Ocelyn</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[BasicView]]></category>
		<category><![CDATA[fog]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://papervision3d-fr.com/?p=124</guid>
		<description><![CDATA[Dans ce tutoriel nous allons créer un effets de brouillards dans Papervision3D.
Pour cela nous allons tout simplement utiliser un FogMaterial et un FogFilter que nous appliquerons à notre BasicRenderEngine (renderer).
Nous créons notre FogMaterial (ligne 20) et lui passons une couleur, le mieux est de choisir une couleur étant la même que votre couleur de fond. [...]]]></description>
			<content:encoded><![CDATA[<p>Dans ce tutoriel nous allons créer un effets de brouillards dans Papervision3D.</p>
<p>Pour cela nous allons tout simplement utiliser un <strong>FogMaterial </strong>et un <strong>FogFilter </strong>que nous appliquerons à notre <strong>BasicRenderEngine </strong>(renderer).</p>
<p>Nous créons notre FogMaterial (ligne 20) et lui passons une couleur, le mieux est de choisir une couleur étant la même que votre couleur de fond. (blanc dans cet exemple)</p>
<p>Puis nous appliquons à notre renderer un nouveau filtre (ligne 21), un <strong>FogFilter </strong>qui <strong>reçoit 4 paramètres</strong>, le premier est notre <strong>FogMaterial </strong>créé précédemment puis le <strong>nombre de segments</strong>, c&#8217;est à dire le nombre de layers entre un fog à 0% et un fog à 100%, plus il y a de segments plus la progression vers le fond du brouillards seras détaillées.</p>
<p>Enfin nous lui passons les paramètres <strong>minDepth </strong>et <strong>maxDepth </strong> qui sont les points de départs et d&#8217;arrivé en Z de notre Fog.</p>
<p>Enfin nous faisons avancer notre Sphere en Z (ligne 37) pour la voir s&#8217;enfoncer progressivement dans le brouillard.</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">package <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">core</span>.<span class="me1">render</span>.<span class="me1">filter</span>.<span class="me1">FogFilter</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">materials</span>.<span class="me1">ColorMaterial</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">materials</span>.<span class="me1">special</span>.<span class="me1">FogMaterial</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">objects</span>.<span class="me1">primitives</span>.<span class="me1">Sphere</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">view</span>.<span class="me1">BasicView</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">import</span> flash.<span class="me1">events</span>.<span class="me1">Event</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">class</span> BasicScene <span class="kw3">extends</span> BasicView <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">public</span> <span class="kw2">function</span> BasicScene<span class="br0">&#40;</span><span class="br0">&#41;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span> &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; initFog<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buildSphere<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">function</span> initFog<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> fogMaterial : FogMaterial = <span class="kw2">new</span> FogMaterial<span class="br0">&#40;</span>0xffffff<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; renderer.<span class="me1">filter</span> = <span class="kw2">new</span> FogFilter<span class="br0">&#40;</span>fogMaterial, 50, 1500, 2000<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">function</span> buildSphere<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">var</span> material : ColorMaterial = <span class="kw2">new</span> ColorMaterial<span class="br0">&#40;</span>0&#215;000000<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; material.<span class="me1">smooth</span> = <span class="kw2">true</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sphere = <span class="kw2">new</span> Sphere<span class="br0">&#40;</span>material, 200, 20, 20<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; scene.<span class="me1">addChild</span><span class="br0">&#40;</span>sphere<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; startRendering<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; override protected <span class="kw2">function</span> onRenderTick<span class="br0">&#40;</span>event:Event=<span class="kw2">null</span><span class="br0">&#41;</span>:<span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sphere.<span class="me1">z</span> += <span class="nu0">5</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">super</span>.<span class="me1">onRenderTick</span><span class="br0">&#40;</span>event<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">private</span> <span class="kw2">var</span> sphere : Sphere;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://papervision3d-fr.com/2009/09/29/fog-avec-papervision3d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Shadow sur une texture image.</title>
		<link>http://papervision3d-fr.com/2009/09/24/shadow-sur-une-image-texturee/</link>
		<comments>http://papervision3d-fr.com/2009/09/24/shadow-sur-une-image-texturee/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 08:00:39 +0000</pubDate>
		<dc:creator>Ocelyn</dc:creator>
				<category><![CDATA[Tutoriaux]]></category>
		<category><![CDATA[BasicView]]></category>
		<category><![CDATA[light]]></category>
		<category><![CDATA[lumière]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[shadow]]></category>

		<guid isPermaLink="false">http://papervision3d-fr.com/?p=117</guid>
		<description><![CDATA[Dans notre précédent tutoriel, nous avons vu comment texturer un objets 3D, pour afficher des effets d&#8217;ombres sur ces derniers.
Pour aller plus loin que ce dernier qui nous permettait seulement de faire une texture avec un dégradé entre deux couleurs, nous allons voir comment afficher une ombre sur une texture image.
Pour cela nous allons utiliser [...]]]></description>
			<content:encoded><![CDATA[<p>Dans notre précédent tutoriel, nous avons vu comment texturer un objets 3D, pour afficher des effets d&#8217;ombres sur ces derniers.</p>
<p>Pour aller plus loin que ce dernier qui nous permettait seulement de faire une texture avec un dégradé entre deux couleurs, nous allons voir comment afficher une ombre sur une texture image.</p>
<p>Pour cela nous allons utiliser un <strong>BitmapMaterial </strong>(ligne 44) dont nous avions déjà parlé dans ce <a title="Effet de flamme sur vos objets 3d" href="http://papervision3d-fr.com/2009/09/17/bitmapfireeffect-effet-de-flamme-sur-vos-objets3d/" target="_blank">tutoriel</a>, un <strong>PhongShader </strong>(ligne 45)qui va être le material qui affichera notre ombre, comme le <strong>PhongMaterial </strong>vu dans le tutoriel précédent, il reçoit notre objet lumière, la couleur de la lumière, la couleur de l&#8217;ombre, et le specularLevel.</p>
<p>Après avoir créé ces deux textures, il nous reste à créer un <strong>ShadedMaterial </strong>(ligne 47) dans lequel nous passerons les deux materials précédent, et que nous utiliserons comme texture pour notre Sphere.</p>
<div class="codesnip-container" >
<div class="actionscript codesnip" style="font-family:monospace;">
<ol>
<li class="li1">
<div class="de1">package  <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">lights</span>.<span class="me1">PointLight3D</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">materials</span>.<span class="me1">BitmapMaterial</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">materials</span>.<span class="me1">shaders</span>.<span class="me1">PhongShader</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">materials</span>.<span class="me1">shaders</span>.<span class="me1">ShadedMaterial</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">objects</span>.<span class="me1">primitives</span>.<span class="me1">Sphere</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> org.<span class="me1">papervision3d</span>.<span class="me1">view</span>.<span class="me1">BasicView</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> flash.<span class="me1">display</span>.<span class="me1">BitmapData</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> flash.<span class="me1">display</span>.<span class="me1">Loader</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> flash.<span class="me1">events</span>.<span class="me1">Event</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">import</span> flash.<span class="me1">net</span>.<span class="me1">URLRequest</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">public</span> <span class="kw2">class</span> BasicScene <span class="kw3">extends</span> BasicView <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">public</span> <span class="kw2">function</span> BasicScene<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">initMaterial<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">function</span> initMaterial<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">myLoader = <span class="kw2">new</span> Loader<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">myLoader.<span class="me1">contentLoaderInfo</span>.<span class="me1">addEventListener</span><span class="br0">&#40;</span>Event.<span class="me1">COMPLETE</span>, <span class="kw3">onLoadComplete</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">myLoader.<span class="kw3">load</span><span class="br0">&#40;</span><span class="kw2">new</span> URLRequest<span class="br0">&#40;</span><span class="st0">&quot;URL IMAGE&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">function</span> <span class="kw3">onLoadComplete</span><span class="br0">&#40;</span>event : Event<span class="br0">&#41;</span> : <span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">myLoader.<span class="me1">contentLoaderInfo</span>.<span class="me1">removeEventListener</span><span class="br0">&#40;</span>Event.<span class="me1">COMPLETE</span>, <span class="kw3">onLoadComplete</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">bmpData = <span class="kw2">new</span> BitmapData<span class="br0">&#40;</span>myLoader.<span class="kw3">width</span>, myLoader.<span class="kw3">height</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">bmpData.<span class="me1">draw</span><span class="br0">&#40;</span>myLoader<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">buildPlane<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">function</span> buildPlane<span class="br0">&#40;</span><span class="br0">&#41;</span> : <span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> light : PointLight3D = <span class="kw2">new</span> PointLight3D<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">scene.<span class="me1">addChild</span><span class="br0">&#40;</span>light<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> material : BitmapMaterial = <span class="kw2">new</span> BitmapMaterial<span class="br0">&#40;</span>bmpData<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> ps : PhongShader = <span class="kw2">new</span> PhongShader<span class="br0">&#40;</span>light, 0xffffff, 0&#215;000000, 10<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> shadeMaterial : ShadedMaterial = <span class="kw2">new</span> ShadedMaterial<span class="br0">&#40;</span>material, ps<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">shadeMaterial.<span class="me1">doubleSided</span> = <span class="kw2">true</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">sphere = <span class="kw2">new</span> Sphere<span class="br0">&#40;</span>shadeMaterial, 200, 12, 12<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">scene.<span class="me1">addChild</span><span class="br0">&#40;</span>sphere<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">startRendering<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">override protected <span class="kw2">function</span> onRenderTick<span class="br0">&#40;</span>event:Event=<span class="kw2">null</span><span class="br0">&#41;</span>:<span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">sphere.<span class="me1">rotationY</span> += <span class="nu0">3</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">super</span>.<span class="me1">onRenderTick</span><span class="br0">&#40;</span>event<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">var</span> sphere : Sphere;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">var</span> myLoader : Loader;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">private</span> <span class="kw2">var</span> bmpData : BitmapData;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://papervision3d-fr.com/2009/09/24/shadow-sur-une-image-texturee/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
