<?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>DigiTechLog Dot Com &#187; 3Dエンジン</title>
	<atom:link href="http://digitechlog.com/tag/3d%e3%82%a8%e3%83%b3%e3%82%b8%e3%83%b3/feed" rel="self" type="application/rss+xml" />
	<link>http://digitechlog.com</link>
	<description>Adobe AIR、Flex、Flash、Java</description>
	<lastBuildDate>Tue, 08 Nov 2011 12:46:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WOW-Engine: オープンソースのActionScript3用3D物理エンジンライブラリ</title>
		<link>http://digitechlog.com/2010/01/25/wow-engine-free-as3-open-source-physics-engine.html</link>
		<comments>http://digitechlog.com/2010/01/25/wow-engine-free-as3-open-source-physics-engine.html#comments</comments>
		<pubDate>Mon, 25 Jan 2010 14:48:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash Project]]></category>
		<category><![CDATA[3Dエンジン]]></category>
		<category><![CDATA[オープンソース]]></category>
		<category><![CDATA[ライブラリ]]></category>
		<category><![CDATA[物理エンジン]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2010/01/25/wow-engine-free-as3-open-source-physics-engine.html</guid>
		<description><![CDATA[WOW-Engineとは、3D空間上で物理演算するフレームワークである。座標計算とか、衝突計算とか、そういうことだけをWOWEngineはやってくれる。
3Dオブジェクトの描画はしてくれないので、3D空間に壁をつくるとか、球体を表示するとか、「表示をする」ならば、Papervision3Dとか、Sandyとかと組み合わせて作成必要だ。あくまでオブジェクトの位置関係を計算するだけだ。 
WOWEngineを使う手順は以下の通り

WOWEngineを入手する 
WOWEngineを初期化する 
物体を追加する 
物体を動かす 
WOWEngineで計算する 
表示に反映する。 



  
サンプルいろいろ（最近、アクセスできない場合は頻繁だよう、変わりにゴーグルコードサイトにアクセスできる）

spheres on plane 
boundArea, sphere 
spheres and contraints 
3D picture 
rope, box 
cloth 01 
cloth 02 
cloth 03 

Wow-Engineの導入と解説に関してはhttp://d.hatena.ne.jp/o_healer/20080315/1205573581に参考できる。
WOWEngineを初期化する
ここからは実際にWOWEngineを使う話。まずは、3D物理計算を行ってくれるエンジンである、「WOWEngine」のインスタンスを作成・初期化する必要がある。    以下のような感じで、クラスのメンバとして定義する。
private var wow:WOWEngine;
private&#160;var wowFloor:WBoundArea;
private&#160;var wowMiku:WSphere;
private&#160;var wowRin:WSphere;
このようにして宣言したWOWEngine関連のメンバを、次のように初期化する
wow = new WOWEngine();
wow.collisionResponseMode = wow.SELECTIVE;
wow.addMasslessForce(new&#160;WVector(0, 0, 0));//常にかかり続ける力
wow.damping = 1;
wowFloor = new&#160;WBoundArea(FLOOR_WIDTH , FLOOR_HEIGHT , FLOOR_DEPTH);
wowFloor.setPosition(0, FLOOR_HEIGHT&#160;/ 2, 0);//位置
wowFloor.elasticity [...]]]></description>
			<content:encoded><![CDATA[<p>WOW-Engineとは、3D空間上で物理演算するフレームワークである。座標計算とか、衝突計算とか、そういうことだけをWOWEngineはやってくれる。</p>
<p>3Dオブジェクトの描画はしてくれないので、3D空間に壁をつくるとか、球体を表示するとか、「表示をする」ならば、Papervision3Dとか、Sandyとかと組み合わせて作成必要だ。あくまでオブジェクトの位置関係を計算するだけだ。 </p>
<p><strong>WOWEngineを使う手順は以下の通り</strong></p>
<ul>
<li>WOWEngineを入手する </li>
<li>WOWEngineを初期化する </li>
<li>物体を追加する </li>
<li>物体を動かす </li>
<li>WOWEngineで計算する </li>
<li>表示に反映する。 </li>
</ul>
<p><a href="http://digitechlog.com/wp-content/uploads/2010/01/ad92c135a786cbe48fa2267d48527fbf.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ad92c135a786cbe48fa2267d48527fbf" border="0" alt="ad92c135a786cbe48fa2267d48527fbf" src="http://digitechlog.com/wp-content/uploads/2010/01/ad92c135a786cbe48fa2267d48527fbf_thumb.png" width="300" height="331" /><br />
</a></p>
<p><span id="more-877"></span>  </p>
<p><strong>サンプルいろいろ（最近、アクセスできない場合は頻繁だよう、変わりにゴーグルコードサイトにアクセスできる）</strong></p>
<ul>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-demo-spheres-on-plane/">spheres on plane</a> </li>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-demo-boundarea-and-sphere/">boundArea, sphere</a> </li>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-demo-sphere-and-constraint/">spheres and contraints </a></li>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-advanced-demo-picture/">3D picture</a> </li>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-demo-rope-and-box/">rope, box</a> </li>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-advanced-demo-cloth-demo-01/">cloth 01</a> </li>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-advanced-demo-cloth-demo-02/">cloth 02</a> </li>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-advanced-demo-cloth-demo-03/">cloth 03</a> </li>
</ul>
<p>Wow-Engineの導入と解説に関しては<a title="http://d.hatena.ne.jp/o_healer/20080315/1205573581" href="http://d.hatena.ne.jp/o_healer/20080315/1205573581">http://d.hatena.ne.jp/o_healer/20080315/1205573581</a>に参考できる。</p>
<p><strong>WOWEngineを初期化する</strong></p>
<p>ここからは実際にWOWEngineを使う話。まずは、3D物理計算を行ってくれるエンジンである、「WOWEngine」のインスタンスを作成・初期化する必要がある。    <br />以下のような感じで、クラスのメンバとして定義する。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">private</span><span style="color: Gray;"> </span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">wow</span><span style="color: Gray;">:</span><span style="color: Blue;">WOWEngine</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">private</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">wowFloor</span><span style="color: Gray;">:</span><span style="color: Blue;">WBoundArea</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">private</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">wowMiku</span><span style="color: Gray;">:</span><span style="color: Blue;">WSphere</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">private</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">wowRin</span><span style="color: Gray;">:</span><span style="color: Blue;">WSphere</span><span style="color: Gray;">;</span></li></ol></div>
<p>このようにして宣言したWOWEngine関連のメンバを、次のように初期化する</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">wow</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">WOWEngine</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">wow</span><span style="color: Gray;">.</span><span style="color: Blue;">collisionResponseMode</span><span style="color: Gray;"> = </span><span style="color: Blue;">wow</span><span style="color: Gray;">.</span><span style="color: Blue;">SELECTIVE</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">wow</span><span style="color: Gray;">.</span><span style="color: Blue;">addMasslessForce</span><span style="color: Olive;">(</span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">WVector</span><span style="color: Olive;">(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//常にかかり続ける力</span></li>
<li><span style="color: Blue;">wow</span><span style="color: Gray;">.</span><span style="color: Blue;">damping</span><span style="color: Gray;"> = </span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">wowFloor</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">WBoundArea</span><span style="color: Olive;">(</span><span style="color: Blue;">FLOOR_WIDTH</span><span style="color: Gray;"> , </span><span style="color: Blue;">FLOOR_HEIGHT</span><span style="color: Gray;"> , </span><span style="color: Blue;">FLOOR_DEPTH</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">wowFloor</span><span style="color: Gray;">.</span><span style="color: Teal;">setPosition</span><span style="color: Olive;">(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Blue;">FLOOR_HEIGHT</span><span style="color: Gray;">&nbsp;</span><span style="color: #8b0000;">/</span><span style="color: Red;"> 2, 0);</span><span style="color: #8b0000;">//</span><span style="color: Red;">位置</span></li>
<li><span style="color: Red;">wowFloor.elasticity = 1;</span><span style="color: #8b0000;">//</span><span style="color: Red;">弾性</span></li>
<li><span style="color: Red;">wowFloor.friction = 0.050;</span><span style="color: #8b0000;">//</span><span style="color: Red;">摩擦</span></li>
<li><span style="color: Red;">wow.setBoundArea(wowFloor);</span></li></ol></div>
<p><strong>物体を追加する</strong></p>
<p>物理計算を行ってくれるWOWEngine自体の初期化が完了したら、そこに物体を加えていく。今回はミクとリンの2物体を追加すればよい。初期化時の</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">private</span><span style="color: Gray;"> </span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">wowMiku</span><span style="color: Gray;">:</span><span style="color: Blue;">WSphere</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">private</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">wowRin</span><span style="color: Gray;">:</span><span style="color: Blue;">WSphere</span><span style="color: Gray;">;</span></li></ol></div>
<p>を使う。以下は、かぐぁみねリンが床面に降り立つ→WOWEngineの物体定義の処理を行っている部分。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">Tweener</span><span style="color: Gray;">.</span><span style="color: Blue;">addTween</span><span style="color: Olive;">(</span><span style="color: Blue;">rin</span><span style="color: Gray;"> , </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Teal;">y</span><span style="color: Gray;">:</span><span style="color: Maroon;">0</span><span style="color: Gray;"> , </span><span style="color: Teal;">time</span><span style="color: Gray;">:</span><span style="color: Maroon;">4</span><span style="color: Gray;"> , </span><span style="color: Teal;">onComplete</span><span style="color: Gray;">:</span><span style="color: Green;">function</span><span style="color: Olive;">()</span><span style="color: Gray;">:</span><span style="color: Green;">void</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">wowRin</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">WSphere</span><span style="color: Olive;">(</span><span style="color: Blue;">rin</span><span style="color: Gray;">.</span><span style="color: Teal;">x</span><span style="color: Gray;"> , </span><span style="color: Blue;">rin</span><span style="color: Gray;">.</span><span style="color: Teal;">y</span><span style="color: Gray;"> , </span><span style="color: Blue;">rin</span><span style="color: Gray;">.</span><span style="color: Blue;">z</span><span style="color: Gray;"> , </span><span style="color: Maroon;">60</span><span style="color: Gray;"> , </span><span style="color: Green;">false</span><span style="color: Gray;"> , </span><span style="color: Maroon;">43</span><span style="color: Gray;"> , </span><span style="color: Maroon;">0.65</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">wow</span><span style="color: Gray;">.</span><span style="color: Blue;">addParticle</span><span style="color: Olive;">(</span><span style="color: Blue;">wowRin</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p><strong>物体を動かす</strong></p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">private</span><span style="color: Gray;"> </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">wowMoveModel</span><span style="color: Olive;">(</span><span style="color: Teal;">target</span><span style="color: Gray;">: </span><span style="color: Blue;">displayObject3D</span><span style="color: Gray;"> , </span><span style="color: Blue;">wowTarget</span><span style="color: Gray;">:</span><span style="color: Blue;">WSphere</span><span style="color: Gray;"> , </span><span style="color: Blue;">point</span><span style="color: Gray;">:</span><span style="color: Blue;">Number3D</span><span style="color: Olive;">)</span><span style="color: Gray;">:</span><span style="color: Green;">void</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">dx</span><span style="color: Gray;">:</span><span style="color: Teal;">Number</span><span style="color: Gray;"> =</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">dz</span><span style="color: Gray;">:</span><span style="color: Teal;">Number</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">rad</span><span style="color: Gray;">:</span><span style="color: Teal;">Number</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Teal;">target</span><span style="color: Gray;"> &amp;&amp; </span><span style="color: Blue;">wowTarget</span><span style="color: Gray;"> &amp;&amp;&nbsp; </span><span style="color: Blue;">point</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">dx</span><span style="color: Gray;"> = </span><span style="color: Teal;">target</span><span style="color: Gray;">.</span><span style="color: Teal;">x</span><span style="color: Gray;"> – </span><span style="color: Blue;">point</span><span style="color: Gray;">.</span><span style="color: Teal;">x</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: #ffa500;">//(1)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">dz</span><span style="color: Gray;">= </span><span style="color: Teal;">target</span><span style="color: Gray;">.</span><span style="color: Blue;">z</span><span style="color: Gray;"> – </span><span style="color: Blue;">point</span><span style="color: Gray;">.</span><span style="color: Blue;">z</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: #ffa500;">//(1)</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">rad</span><span style="color: Gray;"> = </span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Teal;">atan2</span><span style="color: Olive;">(</span><span style="color: Blue;">dx</span><span style="color: Gray;"> , </span><span style="color: Blue;">dz</span><span style="color: Olive;">)</span><span style="color: Gray;"> * </span><span style="color: Maroon;">180</span><span style="color: Gray;">&nbsp;</span><span style="color: #8b0000;">/</span><span style="color: Red;"> Math.PI;&nbsp; &nbsp; </span><span style="color: #8b0000;">//</span><span style="color: Red;">(2)</span></li>
<li><span style="color: Red;">target.rotationY = rad;&nbsp; &nbsp; </span><span style="color: #8b0000;">//</span><span style="color: Red;">(2)</span></li>
<li><span style="color: Red;">&nbsp; &nbsp; &nbsp; &nbsp; wowTarget.velocity = new WVector(-1 * dx </span><span style="color: #8b0000;">/</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">4</span><span style="color: Gray;"> , </span><span style="color: Maroon;">0</span><span style="color: Gray;"> , -</span><span style="color: Maroon;">1</span><span style="color: Gray;"> * </span><span style="color: Blue;">dz</span><span style="color: Gray;"> </span><span style="color: #8b0000;">/</span><span style="color: Red;"> 4);</span><span style="color: #8b0000;">//</span><span style="color: Red;">(3)</span></li>
<li><span style="color: Red;">}</span></li>
<li><span style="color: Red;">}</span></li></ol></div>
<p><strong>チュートリアル</strong></p>
<ul>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-tutorial-your-first-wow-engine-application/">Your First WOW-Engine Application</a> </li>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-tutorial-how-to-use-boundarea/">how to use boundArea</a> </li>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-tutorial-how-to-use-sphere-and-get-position/">how to use sphere and get position</a> </li>
<li><a href="http://seraf.mediabox.fr/wow-engine/wow-engine-tutorial-how-to-use-plane-sphere-constraint/">How to use plane, sphere &amp; constraint</a> </li>
</ul>
<p><strong>関連エントリ</strong></p>
<ul>
<li><a href="http://kaiho-16.seesaa.net/article/81236748.html" target="_blank">WOWEngineを使ってみた</a> </li>
<li><a href="http://blog.tarotaro.org/archives/36">WOWEngineで、ミクとリンが跳梁跋扈！！</a> </li>
<li><a href="http://blog.asial.co.jp/417">WOWEngine+Away3Dを使ってFlex上で3D物理エンジンを試してみる</a> </li>
<li><a href="http://d.hatena.ne.jp/o_healer/20080315/1205573581" name="1205573581">WoW-Engineの学習ログ</a> </li>
<li><a href="http://feb19.jp/blog/archives/000131.php">3D物理演算エンジンWOWEngineとPapervision3D 2.0 GreatWhite</a> </li>
</ul>
<p><strong>グーグルコード</strong></p>
<ul>
<li><a title="http://code.google.com/p/wow-engine/" href="http://code.google.com/p/wow-engine/">http://code.google.com/p/wow-engine/</a> </li>
</ul>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2010/04/19/fzip-actionscript-3-open-source-class-library.html" title="FZip: ZIP読込み、作成用AS3のライブラリ">FZip: ZIP読込み、作成用AS3のライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/03/12/7-asynchronous-processing-open-source-actionscript-library.html" title="７+ AS3で非同期処理のオープンソースのライブラリ一覧">７+ AS3で非同期処理のオープンソースのライブラリ一覧</a></li>
<li><a href="http://digitechlog.com/2010/02/28/as3soundeditorlib-actionscript-3-library-for-sound-playback-spectrum-display-and-cue-point-display.html" title="as3soundeditorlib: オープンソースのActionScript 3サウンド編集ライブラリ">as3soundeditorlib: オープンソースのActionScript 3サウンド編集ライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/02/07/foam-as3-2d-rigid-body-physics-engine.html" title="FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン">FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン</a></li>
<li><a href="http://digitechlog.com/2010/01/30/glaze-2d-rigid-body-dynamics-game-engine-for-actionsctipt-3.html" title="glaze: ActionScript用2D物理演算エンジン">glaze: ActionScript用2D物理演算エンジン</a></li>
<li><a href="http://digitechlog.com/2010/01/28/box2dflashas3-open-source-physics-library-box2d.html" title="Box2DFlashAS3: 物理演算シミュレーションを可能にするActionScriptライブラリ">Box2DFlashAS3: 物理演算シミュレーションを可能にするActionScriptライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/01/26/flartoolkit-open-source-augmented-reality-in-flash.html" title="FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ">FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/01/25/sandy-flash-3d-engine-available-in-as2-as3-and-haxe.html" title="Sandy 3D: オープンソースのFlash用3D描画エンジン">Sandy 3D: オープンソースのFlash用3D描画エンジン</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2010/01/25/wow-engine-free-as3-open-source-physics-engine.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sandy 3D: オープンソースのFlash用3D描画エンジン</title>
		<link>http://digitechlog.com/2010/01/25/sandy-flash-3d-engine-available-in-as2-as3-and-haxe.html</link>
		<comments>http://digitechlog.com/2010/01/25/sandy-flash-3d-engine-available-in-as2-as3-and-haxe.html#comments</comments>
		<pubDate>Sun, 24 Jan 2010 15:56:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash Project]]></category>
		<category><![CDATA[3Dエンジン]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[オープンソース]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2010/01/25/sandy-flash-3d-engine-available-in-as2-as3-and-haxe.html</guid>
		<description><![CDATA[
ActionScript Libraryリストにも収集している「Sandy 3D」は、オープンソースのFlash Player上で3Dの描画を行うことを可能とするエンジン。オブジェクトやカメラを管理するための高度な機能を提供している一方で、豊富なチュートリアルやFAQも用意されており、簡単かつ直感的に3Dを用いたアプリケーションの開発を行うことが可能だとしている。作成されたアプリケーションは、 Flash Player 7以上での再生が可能となっている。 
最近リリースされた新バージョンでは、APIがより単純かつ強力になったほか、「錐台」を扱えるようになった。また、Tweenerをはじめとする大部分のトゥイーンライブラリとの互換性も確保された。そのほかにも多数の機能が追加されている。
 
 
ページ中の3D猫のサンプルを見ていただけると、どこまで3Dできるかが分かるかとおもう。
Sandyでは多彩なデモが用意されている。特に風景も含めて3D化されているものは圧巻だ。マウスで動かしたり、弾を発射できる（発射しても特に意味はない）。
 
将来的にPCの性能が向上し、モデリング技術も向上すればFlashだけで3D化されたゲームを楽しむ事さえできそうだ。
Sandyグーグルコードサイト：
http://code.google.com/p/sandy/
公式サイト：
http://www.flashsandy.org/
Related Posts

Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム
FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン
glaze: ActionScript用2D物理演算エンジン
FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ
WOW-Engine: オープンソースのActionScript3用3D物理エンジンライブラリ
OpenLaszlo: Ajax/Flashで動作するリッチインターネットアプリケーションの開発及び配布を行うためのオープンソースプラットフォーム
PHPObject: PHPとFlashのActionScript連携パッケージ
SILEX: WYSIWYGでFlashサイトを構築できるオープンソースのRIA開発ツール

]]></description>
			<content:encoded><![CDATA[</p>
<p><a href="http://digitechlog.com/2008/10/19/the-list-of-actionscript-library.html">ActionScript Libraryリスト</a>にも収集している「Sandy 3D」は、オープンソースのFlash Player上で3Dの描画を行うことを可能とするエンジン。オブジェクトやカメラを管理するための高度な機能を提供している一方で、豊富なチュートリアルやFAQも用意されており、簡単かつ直感的に3Dを用いたアプリケーションの開発を行うことが可能だとしている。作成されたアプリケーションは、 Flash Player 7以上での再生が可能となっている。 </p>
<p>最近リリースされた新バージョンでは、APIがより単純かつ強力になったほか、「錐台」を扱えるようになった。また、Tweenerをはじめとする大部分のトゥイーンライブラリとの互換性も確保された。そのほかにも多数の機能が追加されている。</p>
<p><a href="http://digitechlog.com/wp-content/uploads/2010/01/SandyFlash3DengineavailableinAS2AS3andhaXe.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Sandy-Flash-3D-engine-available-in-AS2-AS3-and-haXe" border="0" alt="Sandy-Flash-3D-engine-available-in-AS2-AS3-and-haXe" src="http://digitechlog.com/wp-content/uploads/2010/01/SandyFlash3DengineavailableinAS2AS3andhaXe_thumb.png" width="504" height="379" /></a> </p>
<p> <span id="more-874"></span>
<p>ページ中の3D猫のサンプルを見ていただけると、どこまで3Dできるかが分かるかとおもう。</p>
<p>Sandyでは多彩なデモが用意されている。特に風景も含めて3D化されているものは圧巻だ。マウスで動かしたり、弾を発射できる（発射しても特に意味はない）。</p>
<p><a href="http://digitechlog.com/wp-content/uploads/2010/01/SandyFlash3DengineavailableinAS2AS3andhaXedemo.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Sandy-Flash-3D-engine-available-in-AS2-AS3-and-haXe-demo" border="0" alt="Sandy-Flash-3D-engine-available-in-AS2-AS3-and-haXe-demo" src="http://digitechlog.com/wp-content/uploads/2010/01/SandyFlash3DengineavailableinAS2AS3andhaXedemo_thumb.png" width="504" height="381" /></a> </p>
<p>将来的にPCの性能が向上し、モデリング技術も向上すればFlashだけで3D化されたゲームを楽しむ事さえできそうだ。</p>
<p><strong>Sandyグーグルコードサイト：</strong></p>
<p><a title="http://code.google.com/p/sandy/" href="http://code.google.com/p/sandy/">http://code.google.com/p/sandy/</a></p>
<p><strong>公式サイト：</strong></p>
<p><a title="http://www.flashsandy.org/" href="http://www.flashsandy.org/">http://www.flashsandy.org/</a></p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2010/02/21/sazamek-flash-based-online-audio-manipulating-platform-with-as3-open-source-library.html" title="Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム">Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム</a></li>
<li><a href="http://digitechlog.com/2010/02/07/foam-as3-2d-rigid-body-physics-engine.html" title="FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン">FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン</a></li>
<li><a href="http://digitechlog.com/2010/01/30/glaze-2d-rigid-body-dynamics-game-engine-for-actionsctipt-3.html" title="glaze: ActionScript用2D物理演算エンジン">glaze: ActionScript用2D物理演算エンジン</a></li>
<li><a href="http://digitechlog.com/2010/01/26/flartoolkit-open-source-augmented-reality-in-flash.html" title="FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ">FLARToolKit: AR（拡張現実）ってのをFlashで簡単に作ることができるライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/01/25/wow-engine-free-as3-open-source-physics-engine.html" title="WOW-Engine: オープンソースのActionScript3用3D物理エンジンライブラリ">WOW-Engine: オープンソースのActionScript3用3D物理エンジンライブラリ</a></li>
<li><a href="http://digitechlog.com/2009/10/08/openlaszlo-open-source-platform-for-rich-web-applications.html" title="OpenLaszlo: Ajax/Flashで動作するリッチインターネットアプリケーションの開発及び配布を行うためのオープンソースプラットフォーム">OpenLaszlo: Ajax/Flashで動作するリッチインターネットアプリケーションの開発及び配布を行うためのオープンソースプラットフォーム</a></li>
<li><a href="http://digitechlog.com/2009/08/25/phpobject-is-a-flash-remoting-alternative-for-php.html" title="PHPObject: PHPとFlashのActionScript連携パッケージ">PHPObject: PHPとFlashのActionScript連携パッケージ</a></li>
<li><a href="http://digitechlog.com/2009/06/22/silex-an-open-source-cms-ria-software-build-flash-websites.html" title="SILEX: WYSIWYGでFlashサイトを構築できるオープンソースのRIA開発ツール">SILEX: WYSIWYGでFlashサイトを構築できるオープンソースのRIA開発ツール</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2010/01/25/sandy-flash-3d-engine-available-in-as2-as3-and-haxe.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Papervision3D: Flashで動作する3Dエンジン</title>
		<link>http://digitechlog.com/2009/05/30/papervision3d-is-an-open-source-3d-engine-for-the-flash-platform.html</link>
		<comments>http://digitechlog.com/2009/05/30/papervision3d-is-an-open-source-3d-engine-for-the-flash-platform.html#comments</comments>
		<pubDate>Sat, 30 May 2009 08:32:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash Project]]></category>
		<category><![CDATA[3Dエンジン]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/05/30/papervision3d-is-an-open-source-3d-engine-for-the-flash-platform.html</guid>
		<description><![CDATA[Papervision3Dとは、MITライセンスのオープンソースで提供予定となっていて、Flashで動作可能な3Dエンジンです。Flash 8 Image APIに最適化されており、非常にスムーズかつなめらかに動作するのが特徴があり、Flash9から利用可能になったフルスクリーンモードにも対応しており、 360度のパノラマとか、ぐりんぐりん動きまくる3D空間とか、非常に多彩な表現がActionScriptで可能になります。
「Away3D: ActionScript3で提供されるFlashの3D描画エンジン」を含めて同じような３Dエンジンはいくつかあります。
 
以下の様で簡単で使えます。
１）、SVNから最新版を取得するため、SVNクライアントをインストールします。Windowsユーザだったらtortoiseというものはよくつかわれていますので、次のURLでダウンロードできます。空のフォルダを用意して、右クリックして「SVN checkout」を選びます。
２）、次のURLhttp://papervision3d.googlecode.com/svn/trunk/をダイアログボックスに入力してOKボタンをクリックします。
３）、ダウンロード終了した上でPapervision3Dのセットアップを行います。
４）、Flash CS3を開き、Edit&#62;Preferences&#62;Actionscriptで「Actionscript 3.0 settings」ボタンをクリックします。
５）、「class path」を選んで、プラグインサインアップ
６）、ダウンロードしたPapervision3Dフォルダに「as3/trunk/src」を選ぶ
７）、「OK」をクリックするもしくは既存のFlashファイルを選んで、属性パネルをクリックする
８）、サンプルページから任意サンプルを選択して、「document class」というボックスにExampleTransformationRotateを入力する(no ".as" extension)
９）、そのドキュメントをPapervision3Dフォルダ以外のフォルダに保存する
１０）、「Actionscript file」の新しいファイルを作成して、「ExampleTransformationRotate.as」として保存する
１１）、Flashファイルに戻って、pencilにクリック、そのパネルのプロパティオプションに「document class」があるはず、そこまで先ほど新規作成した.asファイルを選ぶ
１２）、次のソースコードをAsctionScriptファイルにコピーして保存する
１３）、そこまで動かせるはずです。
package
{
import&#160;flash.display.Sprite;
import&#160;flash.events.Event;
&#160;
import&#160;org.papervision3d.cameras.Camera3D;
import&#160;org.papervision3d.objects.Plane;
import&#160;org.papervision3d.materials.ColorMaterial;
import&#160;org.papervision3d.scenes.MovieScene3D;
&#160;
[SWF(width='400',height='400',backgroundColor='0x000000',frameRate='30')]
&#160;
public&#160;class ExampleTransformationRotate extends Sprite
{
private&#160;var container: Sprite;
private&#160;var scene: MovieScene3D;
private&#160;var camera: Camera3D;
private&#160;var plane:Plane;
&#160;
public&#160;function ExampleTransformationRotate()
{
container = new&#160;Sprite;
container.x = 200;
container.y = 200;
addChild(&#160;container );
&#160;
scene = new&#160;MovieScene3D( container );
&#160;
camera = new&#160;Camera3D();
camera.z = -500;
camera.zoom = 5;
&#160;
// create red material
var&#160;material:ColorMaterial = new ColorMaterial();
material.doubleSided = true;
material.fillColor = 0xFF0000;
material.fillAlpha [...]]]></description>
			<content:encoded><![CDATA[<p>Papervision3Dとは、MITライセンスのオープンソースで提供予定となっていて、Flashで動作可能な3Dエンジンです。Flash 8 Image APIに最適化されており、非常にスムーズかつなめらかに動作するのが特徴があり、Flash9から利用可能になったフルスクリーンモードにも対応しており、 360度のパノラマとか、ぐりんぐりん動きまくる3D空間とか、非常に多彩な表現がActionScriptで可能になります。</p>
<p>「<a href="http://digitechlog.com/2009/04/27/away3d-flash-actionscript-open-source-3d-engine.html">Away3D: ActionScript3で提供されるFlashの3D描画エンジン</a>」を含めて同じような３Dエンジンはいくつかあります。</p>
<p><span id="more-508"></span> </p>
<p>以下の様で簡単で使えます。</p>
<p>１）、SVNから最新版を取得するため、SVNクライアントをインストールします。Windowsユーザだったらtortoiseというものはよくつかわれていますので、次のURLで<a href="http://tortoisesvn.tigris.org/">ダウンロード</a>できます。空のフォルダを用意して、右クリックして「SVN checkout」を選びます。</p>
<p>２）、次のURL<tt><a href="http://papervision3d.googlecode.com/svn/trunk/">http://papervision3d.googlecode.com/svn/trunk/</a>をダイアログボックスに入力してOKボタンをクリックします。</tt></p>
<p><tt>３）、ダウンロード終了した上でPapervision3Dのセットアップを行います。</tt></p>
<p><tt>４）、Flash CS3を開き、Edit&gt;Preferences&gt;Actionscriptで「Actionscript 3.0 settings」ボタンをクリックします。</tt></p>
<p><tt>５）、「class path」を選んで、プラグインサインアップ</tt></p>
<p><tt>６）、ダウンロードしたPapervision3Dフォルダに「as3/trunk/src」を選ぶ</tt></p>
<p><tt>７）、「OK」をクリックするもしくは既存のFlashファイルを選んで、属性パネルをクリックする</tt></p>
<p><tt>８）、<a href="http://wiki.papervision3d.org/index.php?title=Examples">サンプルページ</a>から任意サンプルを選択して、「document class」というボックスにExampleTransformationRotateを入力する(no ".as" extension)</tt></p>
<p><tt>９）、そのドキュメントをPapervision3Dフォルダ以外のフォルダに保存する</tt></p>
<p><tt>１０）、「Actionscript file」の新しいファイルを作成して、「ExampleTransformationRotate.as」として保存する</tt></p>
<p><tt>１１）、Flashファイルに戻って、pencilにクリック、そのパネルのプロパティオプションに「document class」があるはず、そこまで先ほど新規作成した.asファイルを選ぶ</tt></p>
<p><tt>１２）、次のソースコードをAsctionScriptファイルにコピーして保存する</tt></p>
<p><tt>１３）、そこまで動かせるはずです。</tt></p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">package</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Teal;">flash</span><span style="color: Gray;">.</span><span style="color: Teal;">display</span><span style="color: Gray;">.</span><span style="color: Blue;">Sprite</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Teal;">flash</span><span style="color: Gray;">.</span><span style="color: Blue;">events</span><span style="color: Gray;">.</span><span style="color: Blue;">Event</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">org</span><span style="color: Gray;">.</span><span style="color: Blue;">papervision3d</span><span style="color: Gray;">.</span><span style="color: Blue;">cameras</span><span style="color: Gray;">.</span><span style="color: Blue;">Camera3D</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">org</span><span style="color: Gray;">.</span><span style="color: Blue;">papervision3d</span><span style="color: Gray;">.</span><span style="color: Blue;">objects</span><span style="color: Gray;">.</span><span style="color: Blue;">Plane</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">org</span><span style="color: Gray;">.</span><span style="color: Blue;">papervision3d</span><span style="color: Gray;">.</span><span style="color: Blue;">materials</span><span style="color: Gray;">.</span><span style="color: Blue;">ColorMaterial</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">org</span><span style="color: Gray;">.</span><span style="color: Blue;">papervision3d</span><span style="color: Gray;">.</span><span style="color: Blue;">scenes</span><span style="color: Gray;">.</span><span style="color: Blue;">MovieScene3D</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">[</span><span style="color: Blue;">SWF</span><span style="color: Olive;">(</span><span style="color: Teal;">width</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">400</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Teal;">height</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">400</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Teal;">backgroundColor</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">0x000000</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">frameRate</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">30</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)]</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">class</span><span style="color: Gray;"> </span><span style="color: Blue;">ExampleTransformationRotate</span><span style="color: Gray;"> </span><span style="color: Green;">extends</span><span style="color: Gray;"> </span><span style="color: Blue;">Sprite</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Green;">private</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">container</span><span style="color: Gray;">: </span><span style="color: Blue;">Sprite</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">private</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">scene</span><span style="color: Gray;">: </span><span style="color: Blue;">MovieScene3D</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">private</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">camera</span><span style="color: Gray;">: </span><span style="color: Blue;">Camera3D</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">private</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">plane</span><span style="color: Gray;">:</span><span style="color: Blue;">Plane</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">ExampleTransformationRotate</span><span style="color: Olive;">()</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Blue;">container</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Sprite</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">container</span><span style="color: Gray;">.</span><span style="color: Teal;">x</span><span style="color: Gray;"> = </span><span style="color: Maroon;">200</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">container</span><span style="color: Gray;">.</span><span style="color: Teal;">y</span><span style="color: Gray;"> = </span><span style="color: Maroon;">200</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">addChild</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">container</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">scene</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">MovieScene3D</span><span style="color: Olive;">(</span><span style="color: Gray;"> </span><span style="color: Blue;">container</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">camera</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Camera3D</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">camera</span><span style="color: Gray;">.</span><span style="color: Blue;">z</span><span style="color: Gray;"> = -</span><span style="color: Maroon;">500</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">camera</span><span style="color: Gray;">.</span><span style="color: Blue;">zoom</span><span style="color: Gray;"> = </span><span style="color: Maroon;">5</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// create red material</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">material</span><span style="color: Gray;">:</span><span style="color: Blue;">ColorMaterial</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ColorMaterial</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">material</span><span style="color: Gray;">.</span><span style="color: Blue;">doubleSided</span><span style="color: Gray;"> = </span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">material</span><span style="color: Gray;">.</span><span style="color: Blue;">fillColor</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Blue;">xFF0000</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">material</span><span style="color: Gray;">.</span><span style="color: Blue;">fillAlpha</span><span style="color: Gray;"> = </span><span style="color: Maroon;">1.0</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// create a plane</span></li>
<li><span style="color: Blue;">plane</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Plane</span><span style="color: Olive;">(</span><span style="color: Gray;"> </span><span style="color: Blue;">material</span><span style="color: Gray;">, </span><span style="color: Maroon;">128</span><span style="color: Gray;">, </span><span style="color: Maroon;">128</span><span style="color: Gray;">, </span><span style="color: Maroon;">1</span><span style="color: Gray;">, </span><span style="color: Maroon;">1</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// register plane</span></li>
<li><span style="color: Blue;">scene</span><span style="color: Gray;">.</span><span style="color: Blue;">addChild</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">plane</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">stage</span><span style="color: Gray;">.</span><span style="color: Blue;">addEventListener</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Event</span><span style="color: Gray;">.</span><span style="color: Blue;">ENTER_FRAME</span><span style="color: Gray;">, </span><span style="color: Teal;">onEnterFrame</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">private</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Teal;">onEnterFrame</span><span style="color: Olive;">(</span><span style="color: Gray;"> </span><span style="color: Blue;">event</span><span style="color: Gray;">: </span><span style="color: Blue;">Event</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;">: </span><span style="color: Green;">void</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// rotate the plane</span></li>
<li><span style="color: Blue;">plane</span><span style="color: Gray;">.</span><span style="color: Blue;">rotationX</span><span style="color: Gray;"> += </span><span style="color: Maroon;">4.35</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">plane</span><span style="color: Gray;">.</span><span style="color: Blue;">rotationY</span><span style="color: Gray;"> += </span><span style="color: Maroon;">6.55</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">plane</span><span style="color: Gray;">.</span><span style="color: Blue;">rotationZ</span><span style="color: Gray;"> += </span><span style="color: Maroon;">0.55</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">// render the scene</span></li>
<li><span style="color: Blue;">scene</span><span style="color: Gray;">.</span><span style="color: Blue;">renderCamera</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">camera</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>以下は英原文です。ある程度で参考してください。 ^^)</p>
<blockquote>
<ol>
<ol>
<li>Download and install a SVN client. On this case, tortoise for windows ( <a href="http://tortoisesvn.tigris.org/">http://tortoisesvn.tigris.org/</a> ) . Then create an empty folder, right click on it and choose &#8220;SVN checkout&#8221;
<li>Paste this address on the URL box and press OK
<li><tt>http://papervision3d.googlecode.com/svn/trunk/</tt>
<li>Finish download. Now it&#8217;s time to set up Papervision3D.
<li>Open Flash CS3 and click Edit&gt;Preferences&gt;Actionscript and click the button &#8220;Actionscript 3.0 settings&#8221;
<li>On the box named &#8220;class path&#8221;, click the plus sign and then the (sniper like) target icon
<li>Navigate to the folder you downloaded Papervision3D files and then to as3/trunk/src
<li>Click OK and open a new or existing Flash file. Be sure there is nothing selected and click the property panel
<li>In this example we will be building a simple plane rotating, but feel free to choose other examples from the <a href="http://wiki.papervision3d.org/index.php?title=Examples">examples page</a>. On the box named &#8220;document class&#8221; write &#8220;ExampleTransformationRotate&#8221; (no quotes, no &#8220;.as&#8221; extension)
<li>Save the document somewhere you can find, but outside any of the Papervision3D folders.
<li>reate a new file, choose &#8220;Actionscript file&#8221; instead of &#8220;Flash file&#8221;. Name it ExampleTransformationRotate.as (note the extension .as ) and save it on the same folder as your Flash file.
<li>Go back to the Flash file. Now clicking on the pencil, on the property panel beside &#8220;document class&#8221; should take you to the new .as file you just created.
<li>Paste <a href="http://www.andrestubbe.com/downloads/papervision3d/ExampleTransformationRotate.as">this code</a> on the Actionscript file, save it, and test the movie.
<li>It should be working! If not refer to the forums, if it does, try other examples and good luck. </li>
</ol>
</ol>
</blockquote>
<p>Papervision3Dのデモ：</p>
<p><img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="Papervision3D-Tutorials" src="http://digitechlog.com/wp-content/uploads/2009/05/papervision3d-tutorials.jpg" width="420" height="420">&nbsp;</p>
<p><strong>[関連リンク]</strong></p>
<p><a title="http://code.google.com/p/papervision3d/" href="http://code.google.com/p/papervision3d/">http://code.google.com/p/papervision3d/</a></p>
<p>公式サイト</p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2010/02/07/foam-as3-2d-rigid-body-physics-engine.html" title="FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン">FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン</a></li>
<li><a href="http://digitechlog.com/2010/01/25/sandy-flash-3d-engine-available-in-as2-as3-and-haxe.html" title="Sandy 3D: オープンソースのFlash用3D描画エンジン">Sandy 3D: オープンソースのFlash用3D描画エンジン</a></li>
<li><a href="http://digitechlog.com/2009/12/03/textsearchengine-flash-text-search-engine-class.html" title="ActionScriptで実現するテキストサーチエンジンクラス">ActionScriptで実現するテキストサーチエンジンクラス</a></li>
<li><a href="http://digitechlog.com/2009/10/07/how-to-create-flash-clock-screensaver-by-screentime.html" title="Screentimeで時計スクリーンセーバーを作成する">Screentimeで時計スクリーンセーバーを作成する</a></li>
<li><a href="http://digitechlog.com/2009/08/25/phpobject-is-a-flash-remoting-alternative-for-php.html" title="PHPObject: PHPとFlashのActionScript連携パッケージ">PHPObject: PHPとFlashのActionScript連携パッケージ</a></li>
<li><a href="http://digitechlog.com/2009/05/07/flexunit-flex-actionscript-application-unit-test-tool-framework.html" title="FlexUnit: Flex/ActionScript3.0アプリケーションの単体テストを行うためのユニットテスティングフレームワーク">FlexUnit: Flex/ActionScript3.0アプリケーションの単体テストを行うためのユニットテスティングフレームワーク</a></li>
<li><a href="http://digitechlog.com/2009/04/27/away3d-flash-actionscript-open-source-3d-engine.html" title="Away3D: ActionScript3で提供されるFlashの3D描画エンジン">Away3D: ActionScript3で提供されるFlashの3D描画エンジン</a></li>
<li><a href="http://digitechlog.com/2009/04/24/aswing-an-open-source-flash-actionscript-gui-framework-and-library.html" title="AsWing: Java SwingらしいFlashのActionScript向けのオープンソースのGUIフレームワーク">AsWing: Java SwingらしいFlashのActionScript向けのオープンソースのGUIフレームワーク</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/05/30/papervision3d-is-an-open-source-3d-engine-for-the-flash-platform.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

