<?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>ClockMaker Blog &#187; Away3D</title>
	<atom:link href="http://clockmaker.jp/blog/category/away3d/feed/" rel="self" type="application/rss+xml" />
	<link>http://clockmaker.jp/blog</link>
	<description>Personal self study blog about Flash/Flex/AIR</description>
	<lastBuildDate>Thu, 02 Feb 2012 14:44:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Stage3D対応のAway3D 4.0 – 3次元空間におけるパーティクル表現</title>
		<link>http://clockmaker.jp/blog/2011/12/away3d-4-particle-filter/</link>
		<comments>http://clockmaker.jp/blog/2011/12/away3d-4-particle-filter/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 03:03:22 +0000</pubDate>
		<dc:creator>池田 泰延</dc:creator>
				<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://clockmaker.jp/blog/?p=4287</guid>
		<description><![CDATA[
Flash Player 11の新機能Stage3Dに対応した3Dライブラリ「Away3D ver 4.0」の作例紹介。前回紹介したパーティクル表現とフィルター表現を組み合わせて作ってみました。

demo (Requ [...]]]></description>
			<content:encoded><![CDATA[<p class="photo"><a href="http://clockmaker.jp/labs/111223_away3d_flint/index.html"><img class="alignnone size-full wp-image-4288" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111227_flint_particles_1.jpg" alt="" width="460" height="200" /></a></p>
<p>Flash Player 11の新機能Stage3Dに対応した3Dライブラリ「<a href="http://away3d.com/" target="_blank">Away3D ver 4.0</a>」の作例紹介。前回紹介したパーティクル表現とフィルター表現を組み合わせて作ってみました。</p>
<ul>
<li><a href="http://clockmaker.jp/labs/111223_away3d_flint/index.html" target="_blank">demo</a> (Require Flash Player 11.1)</li>
<li><a href="http://clockmaker.jp/labs/111223_away3d_flint/src.zip">source</a> (FlashDevelop用ファイル一式)</li>
</ul>
<p><span id="more-4287"></span></p>
<h3>旧来のFlash Playerとのパフォーマンスの違い</h3>
<p>こちらの作例、どこかで見たことがあるかもしれませんが、これは1年前にFlash Player 10で実装した<a href="/blog/2010/09/papervision3d-spiral-particles/">PV3D演出サンプルNo.09:Spiral Particles</a>のデモ(記事の後半のデモ)を移植したものです。前回のFlash Player 10のものと今回のFlash Player 11で作った両者のデモを比較してみると、フレームワークの機能の充実度もありますが、Flash PlayerがGPUに対応したことで表現できることが明らかに向上したように思います。</p>
<p>▼Flash Player 10で作ったデモ (Papervision3D 2.1 + Stardust 1.2)</p>
<p class="photo"><a title="Stardust " rel="shadowbox;width=720;height=480" href="/labs/100908_pv3d_stardust/stardust_2.swf"><img title="Stardust " src="/blog/wp-content/uploads/2010/09/100908_stardust.jpg" alt="" width="460" height="200" /></a></p>
<p>▼Flash Player 11で作ったデモ (Away3D 4.0 + Flint 4.0.1)</p>
<p class="photo"><a rel="shadowbox;width=960;height=480" href="http://clockmaker.jp/labs/111223_away3d_flint/index.html"><img class="alignnone size-full wp-image-4289" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111227_flint_particles_2.jpg" alt="" width="460" height="200" /></a></p>
<h3 class="photo">実装方法の紹介</h3>
<p>ちなみに、こちらのデモは次の２つの記事で紹介した機能を組み合わせて使っています。</p>
<ul>
<li><a title="Stage3D対応のAway3D 4.0 – パーティクル表現 | ClockMaker Blog" href="../2011/12/away3d-4-flint_particle/">Stage3D対応のAway3D 4.0 – パーティクル表現 </a></li>
<li><a title="Stage3D対応のAway3D 4.0 – フィルター(ポストエフェクト) | ClockMaker Blog" href="../2011/12/away3d-4-filter3d/">Stage3D対応のAway3D 4.0 – フィルター(ポストエフェクト) </a></li>
</ul>
<p>パーティクル表現だけれであればAlternativa3D 8.17.0+Flint 4.0.1の組み合わせでもできるのですが、Away3D 4.0のフィルター効果によって全体的に光が膨張するような演出に仕上げることができました。Away3Dは自由度が高くて非常に便利なフレームワークです。</p>
<p>まだまだAway3D 4.0には面白い機能が備わっているようなので、年末・年始に勉強してみようかと思います。</p>
<h3>追記</h3>
<p>せっかくなので、Alternativa3D版のパーティクルデモも作成してみました。</p>
<ul>
<li><a href="http://clockmaker.jp/labs/111228_alt3d_flint/Main.html" target="_blank">Demo Alternativa3D 8.17.0 Version</a></li>
</ul>
<p>Flintは複数のフレームワークに対応しているので移植は簡単でしたが、Alternativa3D版ではカラー効果が動作しないためモノクロームな見栄えになってしまいました。何かしら対処方法があるかもしれませんが、結構作り込みが必要な気がします。</p>
<p class="photo"><a href="http://clockmaker.jp/labs/111228_alt3d_flint/Main.html" target="_blank"><img class="alignnone size-full wp-image-4295" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111228_alternativa3d_flint.png" alt="" width="460" height="200" /></a></p>
<h3>参考記事</h3>
<ul>
<li><a title="ayato@web" href="http://www.ayatoweb.com/ae_lab/lab22.html#" target="_blank">ayato@web &#8211; ３次元空間におけるパスの軌跡</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clockmaker.jp/blog/2011/12/away3d-4-particle-filter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Stage3D対応のAway3D 4.0 – パーティクル表現</title>
		<link>http://clockmaker.jp/blog/2011/12/away3d-4-flint_particle/</link>
		<comments>http://clockmaker.jp/blog/2011/12/away3d-4-flint_particle/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 07:22:31 +0000</pubDate>
		<dc:creator>池田 泰延</dc:creator>
				<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://clockmaker.jp/blog/?p=4281</guid>
		<description><![CDATA[
世間はクリスマスかもしれませんが、今日もFlash Player 11のStage3Dに対応した3Dライブラリ「Away3D ver4」の紹介。今回はシンプルな3Dのパーティクル表現を試してみました。

demo (R [...]]]></description>
			<content:encoded><![CDATA[<p class="photo"><a href="http://clockmaker.jp/labs/111218_away3d_flint/bin/index.html" target="_blank"><img class="alignnone size-full wp-image-4282" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111224_particles.png" alt="" width="460" height="200" /></a></p>
<p>世間はクリスマスかもしれませんが、今日もFlash Player 11のStage3Dに対応した3Dライブラリ「<a href="http://away3d.com/" target="_blank">Away3D ver4</a>」の紹介。今回はシンプルな3Dのパーティクル表現を試してみました。</p>
<ul>
<li><a href="http://clockmaker.jp/labs/111218_away3d_flint/bin/index.html">demo</a> (Require Flash Player 11.1)</li>
<li><a href="http://clockmaker.jp/labs/111218_away3d_flint/src/Main.as" target="_blank">source</a> (Away3D 4.0 alpha / Flint 4.0.1)<a href="http://clockmaker.jp/labs/111218_away3d_flint/src/Main.as" target="_blank"><br />
</a></li>
</ul>
<p>パーティクル表現には、<a title="Flint Particles" href="http://flintparticles.org/" target="_blank">Flint Particles</a>というパーティクルライブラリを使っています。本ブログでは以前、<a href="../2009/12/as3-stardust/" target="_blank">パーティクル表現のためのAS3ライブラリ「Stardust」</a>を紹介したことがありましたが、FlintはStardustのベースになったライブラリです。Flintは昔から開発が進んでおり、Stage3Dの各種フレームワーク(Away3D, Alternativa3D, Flare3D, Starling)にも対応しているなど、今も積極的にコミットされています。</p>
<p><span id="more-4281"></span></p>
<p>ということで、Stage3D対応のAway3D 4.0 alphaとFlintとの組み合わせはどんなものかと、以前作ったPapervision3D + Stardustのデモ「<a title="[Stardust] 3Dオブジェクトの軌道にパーティクルをつける - wonderfl build flash online" href="http://wonderfl.net/c/4Ytw" target="_blank">[Stardust] 3Dオブジェクトの軌道にパーティクルをつける</a>」を移植してみました。</p>
<p>感触としては、</p>
<ul>
<li>FlintがStardustとかなり似たAPIなので使いやすい(とはいえ、クラス数が多く制御としては難しいライブラリの部類に入ると思います)</li>
<li>今回のデモでは使っていませんが、パーティクル別にスケール・アルファ・色の加工ができ様々な表現が試せる</li>
<li>オブジェクトのキャッシュ機構が搭載されていて、パフォーマンス軽減の工夫がされている</li>
<li>パーティクルの個数を減らせば、Stage3DのCPUモードでもそれなりに動く(描画より計算にコストがかかっている印象)</li>
</ul>
<p>という感じで、使い方さえ習得すれば結構な表現を試せそうな印象を持ちました。</p>
<p>次回は、Away3Dのフィルター機能とパーティクル機能を組み合わせたデモを紹介したいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://clockmaker.jp/blog/2011/12/away3d-4-flint_particle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Stage3D対応のAway3D 4.0 – 被写界深度表現</title>
		<link>http://clockmaker.jp/blog/2011/12/away3d-4-depth_of_field/</link>
		<comments>http://clockmaker.jp/blog/2011/12/away3d-4-depth_of_field/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 07:04:09 +0000</pubDate>
		<dc:creator>池田 泰延</dc:creator>
				<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://clockmaker.jp/blog/?p=4269</guid>
		<description><![CDATA[
引き続きFlash Player 11のStage3Dに対応した3Dライブラリ「Away3D ver4」の紹介。今回は定番の被写界深度表現を試してみました。

demo (Require Flash Player 11 [...]]]></description>
			<content:encoded><![CDATA[<p class="photo"><a href="http://clockmaker.jp/labs/111217_away3d_depth_of_field/billboard/index.html" target="_blank" title="Depth of Field"><img class="alignnone size-full wp-image-4270" title="Depth of Field" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111223_away3d_depth_of_field.png" alt="" width="460" height="200" /></a></p>
<p>引き続きFlash Player 11のStage3Dに対応した3Dライブラリ「<a href="http://away3d.com/" target="_blank">Away3D ver4</a>」の紹介。今回は定番の被写界深度表現を試してみました。</p>
<ul>
<li><a href="http://clockmaker.jp/labs/111217_away3d_depth_of_field/billboard/index.html" target="_blank">demo</a> (Require Flash Player 11.1)</li>
<li><a href="http://clockmaker.jp/labs/111217_away3d_depth_of_field/billboard/Sprite3DVer.as" target="_blank">source</a> (with Away3D 4.0 alpha)</li>
</ul>
<p><span id="more-4269"></span></p>
<p><a href="http://clockmaker.jp/blog/2011/12/away3d-4-filter3d/">前回紹介したとおり</a>Away3Dには「DepthOfFieldBlur3D」というフィルター機能が備わっています。ただ、それは癖があり使いにくいので、このデモでは自前の処理にて実装しています。被写界深度表現の作り方については本ブログで既に紹介したことがありますが(下記リンク参照)、改めてAway3Dでの実装方法を紹介します。</p>
<ul>
<li><a href="http://clockmaker.jp/blog/2008/07/pv3d_gw_blur/">PaperVision3D 2.0で被写界深度が実現できたよ</a></li>
</ul>
<h3>ビットマップキャッシュの作成</h3>
<p>ブラーフィルター(ぼかし)はリアルタイムに実行すると処理負荷が大きくなるので、予めぼかしを適用したビットマップを作成しておきます。次のスプライトシートは例ですが、ぼかしの強弱をつけた複数枚の画像を連番で用意するということが想像できればOKです。</p>
<p class="photo"><a href="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111223_spritesheet.png" rel="shadowbox[post-4269];player=img;"><img class="alignnone size-medium wp-image-4271" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111223_spritesheet-460x230.png" alt="" width="460" height="230" /></a></p>
<p>ActionScriptでは、次のようなfor文を使って、配列にキャッシュ画像を保持しておくと便利でしょう。</p>
<pre class="brush: jscript;">
for (var i:int = 0; i &lt; ブラーの回数; i++)
{
	var blurFilter:BlurFilter = new BlurFilter(i, i, 4);
	var bmd:BitmapData = new BitmapData(128, 128, true, 0xFF000000);
	bmd.draw(orijinal);
	bmd.applyFilter(bmd, bmd.rect, new Point(), blurFilter);
	// save
	blurs[i] = bmd;
}
</pre>
<h3>ビルボードの作成</h3>
<p>ビルボードというのは、大雑把に言うと3D表現で常に正面を向いたオブジェクトのことを指します。ビルボードにしてしまうと、3D上の角度は表現できなくなりますが、そのかわりに3D描画や計算の負荷を抑えることができるので、大量にオブジェクトを表示したい場合には有効な手法です。</p>
<p>Away3Dでは、「Sprite3D」クラスがその機能にあたるので、これをインスタンス化して3D空間(scene)に追加しておきます。</p>
<pre class="brush: jscript;">
var ball:Sprite3D = new Sprite3D(マテリアル, 横幅, 高さ);
scene.addChild(ball);
</pre>
<h3>カメラとオブジェクトの距離の計算</h3>
<p>被写界深度を計算するうえで、カメラと個々のオブジェクトとの距離の計算が必要になります。Away3DではObject3D.positionプロパティーにてローカル座標を、Object3D.scenePositionでワールド座標を取得できます。座標はFlash標準のflash.geom.Vector3D型なので、次のメソッドを呼び出せば、3D空間内の2点間の距離を計算できます。</p>
<pre class="brush: jscript;">
var distance:Number = Vector3D.distance(camera.position, p.scenePosition);
</pre>
<h3>ぼかしの適用</h3>
<div>上記で求めた距離を使って、予めプリキャッシュしたビットマップのどれを割り当てるか計算します。とりあえず私は次のような計算をしましたが、計算によって配列の加減、上限を超えないように数値を丸めています。</div>
<pre class="brush: jscript;">
var distance:Number = Math.abs(Vector3D.distance(camera.position, p.position) - FOCUS_POSITION);
var blurVal:int = Math.floor((distance / FOCUS_RANGE) * BLUR_DEPTH);
blurVal = Math.max(0, Math.min(BLUR_DEPTH - 1, blurVal));
</pre>
<p>そしてオブジェクトのmaterialプロパティーに新しいマテリアルを割り当てます。Away3D 4.0ではマテリアルの動的な差し替えはマテリアルオブジェクトの参照を差し替える形になります。</p>
<pre class="brush: jscript;">
var p = particles[i];
var material = materials[blurVal]
p.material = material;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://clockmaker.jp/blog/2011/12/away3d-4-depth_of_field/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Stage3D対応のAway3D 4.0 – フィルター(ポストエフェクト)</title>
		<link>http://clockmaker.jp/blog/2011/12/away3d-4-filter3d/</link>
		<comments>http://clockmaker.jp/blog/2011/12/away3d-4-filter3d/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 15:44:37 +0000</pubDate>
		<dc:creator>池田 泰延</dc:creator>
				<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://clockmaker.jp/blog/?p=4257</guid>
		<description><![CDATA[
昨日の記事に続いてFlash Player 11のStage3Dに対応した3Dライブラリ「Away3D ver4」の紹介。今回はフィルター機能を使ったデモを作成しました。プルダウンでエフェクトの種類を選べるので、試して [...]]]></description>
			<content:encoded><![CDATA[<p class="photo"><a href="http://clockmaker.jp/labs/111217_away3d_filters/bin/index.html" target="_blank"><img src="/blog/wp-content/uploads/2011/12/111221_away3d_filter.jpg" alt="" width="460" height="200" /></a></p>
<p><a title="Stage3D対応のAway3D 4.0 – ダイナミックシャドー | ClockMaker Blog" href="../2011/12/away3d_4_dynamic_shadow/">昨日の記事</a>に続いてFlash Player 11のStage3Dに対応した3Dライブラリ「<a href="http://away3d.com/" target="_blank">Away3D ver4</a>」の紹介。今回はフィルター機能を使ったデモを作成しました。プルダウンでエフェクトの種類を選べるので、試してみてください。</p>
<ul>
<li><a href="http://clockmaker.jp/labs/111217_away3d_filters/bin/index.html" target="_blank">demo</a> (Require Flash Player 11.1)</li>
<li><a href="http://clockmaker.jp/labs/111217_away3d_filters/src/Main.as" target="_blank">source</a> (with Away3D 4.0 alpha)</li>
</ul>
<p>Away3Dにはフィルタ機能が備わっていて、これはStage3D側で処理するポストエフェクトの部類になります。備わっているフィルター機能は次の通り。</p>
<p><span id="more-4257"></span></p>
<p>▼RadialBlurFilter3D (放射状ぼかし)</p>
<p class="photo"><img class="alignnone size-full wp-image-4261" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111221_away3d_filter.jpg" alt="" width="460" height="200" /></p>
<p>▼MotionBlurFilter3D (モーションブラー)</p>
<p class="photo"><img class="alignnone size-full wp-image-4260" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111221_away3_motionblurd.jpg" alt="" width="460" height="200" /></p>
<p>※モーションブラーはfumixさんが以前Papervision3Dを使って紹介していたこともありました。<br />
<a title="MOTION BLUR DEMO 001 (PV3D) - wonderfl build flash online" href="http://wonderfl.net/c/mRun" target="_blank">MOTION BLUR DEMO 001 (PV3D) &#8211; wonderfl build flash online</a><br />
Away3D 4.0ではStage3D側でフィルター機能を使うことができるので、処理負荷もほとんど無視できるレベルになっています</p>
<p>▼BlurFilter3D (ぼかし)</p>
<p class="photo"><img class="alignnone size-full wp-image-4259" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111221_away3d_filter_blur.jpg" alt="" width="460" height="200" /></p>
<p>▼BloomFilter3D (白くする効果)</p>
<p class="photo"><img class="alignnone size-full wp-image-4258" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111221_away3d_filter_bloom.jpg" alt="" width="460" height="200" /></p>
<p>▼DepthOfFieldFilter3D (被写界深度)</p>
<p class="photo"><img class="alignnone size-full wp-image-4262" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111221_away3d_dof.jpg" alt="" width="460" height="200" /></p>
<p>※DepthOfFieldFilter3Dは少し特殊なので、別のデモにて試しています。</p>
<ul>
<li><a href="http://clockmaker.jp/labs/111217_away3d_depth_of_field/sample/index.html" target="_blank">demo</a> (Require Flash Player 11.1)</li>
<li><a href="http://clockmaker.jp/labs/111217_away3d_depth_of_field/sample/DOFTest.as" target="_blank">source</a> (with Away3D 4.0 alpha)</li>
</ul>
<h3>使い方</h3>
<p>実装方法も至ってシンプルでView3Dオブジェクトのfilter3dプロパティーに、使いたいフィルターをセットするだけです。このあたりはFlashの通常のディスプレイオブジェクトへのフィルター適用方法と似ています。</p>
<pre class="brush: jscript;">
var view = new View3D();
view.filters3d = [new BlurFilter3D(16, 16)]; // ←ココ
addChild(view);
</pre>
<p>このフィルタ機能は実はカスタマイズすることができて、<a href="http://twitter.com/#%21/9ballsyndrome" target="_blank">9ballsyndromeさん</a>が既にその作り方を日本語を紹介しています。その場合は、AGALを直接書くことになるので難易度が高いかもしれませんが。</p>
<ul>
<li><a title="9ballsyndrome Away3D 4.0 カスタムフィルタの作り方(後編)" href="http://9ballsyndrome.blog.fc2.com/blog-entry-29.html" target="_blank">Away3D 4.0 カスタムフィルタの作り方(後編)</a></li>
<li><a title="9ballsyndrome Away3D 4.0 カスタムフィルタの作り方(前編)" href="http://9ballsyndrome.blog.fc2.com/blog-entry-28.html" target="_blank">Away3D 4.0 カスタムフィルタの作り方(前編)</a></li>
</ul>
<p>Away3Dはこういうフィルター機能が備わっているなど、機能の華やかさでは他のライブラリに比べてリードしているように思います。</p>
<p>次回は定番の被写界深度表現について紹介します。</p>
]]></content:encoded>
			<wfw:commentRss>http://clockmaker.jp/blog/2011/12/away3d-4-filter3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stage3D対応のAway3D 4.0 &#8211; ダイナミックシャドー</title>
		<link>http://clockmaker.jp/blog/2011/12/away3d_4_dynamic_shadow/</link>
		<comments>http://clockmaker.jp/blog/2011/12/away3d_4_dynamic_shadow/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 15:58:10 +0000</pubDate>
		<dc:creator>池田 泰延</dc:creator>
				<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://clockmaker.jp/blog/?p=4243</guid>
		<description><![CDATA[
Flash Player 11のStage3Dに対応した3Dライブラリ「Away3D ver 4」を試してみました。これはAway3Dに標準搭載されている影の表現を使ったデモです。

demo (Require Fla [...]]]></description>
			<content:encoded><![CDATA[<p class="photo"><a href="/labs/111218_away3d_shadow/bin/index.html" target="_blank" title="Away3D Dynamic Shadow"><img title="Away3D Dynamic Shadow" src="/blog/wp-content/uploads/2011/12/111220_away3d_dynamic_shadow.jpg" alt="" width="460" height="200" /></a></p>
<p>Flash Player 11のStage3Dに対応した3Dライブラリ「<a href="http://away3d.com/" target="_blank">Away3D</a> ver 4」を試してみました。これはAway3Dに標準搭載されている影の表現を使ったデモです。</p>
<ul>
<li><a href="http://clockmaker.jp/labs/111218_away3d_shadow/bin/index.html" target="_blank">demo</a> (Require Flash Player 11.1)</li>
<li><a href="http://clockmaker.jp/labs/111218_away3d_shadow/bin/Main.as">source</a> (with Away3D 4.0 alpha)</li>
</ul>
<p><span id="more-4243"></span></p>
<p>ダイナミックシャドー（動的な影）については、3年前に「<a title="Papervision3D演出サンプルNo.05:Shadow Cubes | ClockMaker Blog" href="../2008/10/papervison3d_shadow_cubes/">Papervision3D演出サンプルNo.05:Shadow Cubes</a>」という記事で<a title="Papervision3D" href="http://blog.papervision3d.org/" target="_blank">Papervision3D</a>を用いて試したことがありました。その時はリアルタイムな影の計算は処理負荷のコストが高く、実装方法もアクロバティックなテクニックが必要だったため、案件で使いづらいという印象を持ちました。</p>
<p>デモを見ればお分かりのとおり、今年になってFlash PlayerがフルにGPUに対応したことで、処理負荷の点は解決しました。では実装方法の難易度についてですが、Away3D 4.0 alphaには素晴らしいことにダイナミックシャドーが標準搭載されていて、コードもシンプルです。実際のコードを紹介すると次のとおり。</p>
<pre class="brush: jscript;">
var light = new DirectionalLight();
scene.addChild(light);

var material = new ColorMaterial(0xFFFFFF);
material.shadowMethod = new SoftShadowMapMethod(light); // ←ココ(1)
material.lights = [light]; // ←ココ(2)

var plane = new Plane(material);
plane.castsShadows = true; // ←ココ(3)
scene.addChild(plane);
</pre>
<p>ポイントとしては(1)で影の質感を設定、(2)で影響を受ける照明を設定（複数の指定が可能）、(3)で3Dオブジェに対して影の影響を受けるかどうかを設定ということになります。</p>
<p class="photo"><img class="alignnone size-full wp-image-4246" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111220_shadow_2.jpg" alt="" width="460" height="200" /></p>
<p>このブログではStage3D対応の3Dライブラリとして<a href="http://alternativaplatform.com/en/alternativa3d/" target="_blank">Alternativa3D</a> ver8を主に紹介してきましたが、ここに来てAway3Dが実はかなり優れていることに気づきました。主にいいと思ったのは次の点においてです。</p>
<ul>
<li>Flash界隈で人気の3DライブラリPapervision3Dと似たAPI (Away3DはPapervision3Dの派生ライブラリ)</li>
<li>プリミティブオブジェクトやマテリアルの種類が豊富</li>
<li>フィルターやフォグ、ダイナミックシャドー、3Dテキストなど機能が豊富</li>
<li>物理演算やパーティクルなどサードパーティのライブラリも強力</li>
<li>Alternativa3Dに比べてシンプルにコードを記述できる</li>
<li>オープンソースである</li>
</ul>
<p>この他にもオレンジさんの勉強会の資料<a title="Flashup 第12回発表資料 「最新のFlash3Dを使ってコンテンツを作ってみようAway3D入門講座」 « orange-suzuki blog" href="http://orange-suzuki.com/blog/2011/11/flashup12_report/" target="_blank">Flashup 第12回発表資料 「最新のFlash3Dを使ってコンテンツを作ってみようAway3D入門講座」</a>にAway3Dの機能が詳しく掲載されています。</p>
<p>処理パフォーマンスはAlternativa3DやFlare3Dのほうが若干優れている印象ですが、GPU支援を受けるのであれば処理パフォーマンスは気にならないかなとも思いました。</p>
<p>Away3Dについては作り貯めたデモが幾つかあるので、数回に分けてブログで紹介したいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://clockmaker.jp/blog/2011/12/away3d_4_dynamic_shadow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Player 11 対応の 3D 物理演算ライブラリ「AwayPhysics」</title>
		<link>http://clockmaker.jp/blog/2011/12/away_physics/</link>
		<comments>http://clockmaker.jp/blog/2011/12/away_physics/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 15:19:15 +0000</pubDate>
		<dc:creator>池田 泰延</dc:creator>
				<category><![CDATA[Away3D]]></category>
		<category><![CDATA[Molehill]]></category>

		<guid isPermaLink="false">http://clockmaker.jp/blog/?p=4236</guid>
		<description><![CDATA[
Flash Player 11 対応の 3D 物理演算ライブラリ「AwayPhysics」を使ってデモを作ってみました。AwayPhysics は名前のとおり Away3D 4.0 alpha (Stage3D版) 対 [...]]]></description>
			<content:encoded><![CDATA[<p class="photo"><a title="CubeVer | ClockMaker Labs" rel="shadowbox;width=720;height=480;" href="/labs/111204_awayphysics_demo/CubeVer.html"><img class="alignnone size-full wp-image-4237" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111206_awayphysics.png" alt="" width="460" height="200" /></a></p>
<p>Flash Player 11 対応の 3D 物理演算ライブラリ「<a title="away3d/awayphysics-core-fp11 - GitHub" href="https://github.com/away3d/awayphysics-core-fp11" target="_blank">AwayPhysics</a>」を使ってデモを作ってみました。AwayPhysics は名前のとおり <a title="Home &gt; Away3D" href="http://away3d.com/" target="_blank">Away3D 4.0 alpha</a> (Stage3D版) 対応の物理演算エンジンで、今までの3D物理演算ライブラリよりも高速に動作します。</p>
<p>[立方体バージョン 100個]</p>
<ul>
<li><a title="CubeVer | ClockMaker Labs" rel="shadowbox;width=720;height=480;" href="/labs/111204_awayphysics_demo/CubeVer.html">Demo</a></li>
<li><a href="http://clockmaker.jp/labs/111204_awayphysics_demo/CubeVer.as" target="_blank">Source</a></li>
</ul>
<p>[球体バージョン 100個]</p>
<ul>
<li><a title="SphereVer | ClockMaker Labs" rel="shadowbox;width=720;height=480;" href="/labs/111204_awayphysics_demo/SphereVer.html">Demo</a></li>
<li><a href="http://clockmaker.jp/labs/111204_awayphysics_demo/SphereVer.as" target="_blank">Source</a></li>
</ul>
<p><span id="more-4236"></span></p>
<p>以前「<a title="ActionScript 3.0 での 3D 物理演算ライブラリ「jiglibflash」 | ClockMaker Blog" href="../2010/12/jiglibflash/" target="_blank">ActionScript 3.0 での 3D 物理演算ライブラリjiglibflash</a>」という記事で JigLib を紹介したことがありましたが、次の記事によると jiglib よりも AwayPhysics のほうが高速とのこと。JigLib と AwayPhysics との比較デモが紹介されています。</p>
<ul>
<li><a title="Away3D 4.0 jiglib vs Bullet « DevJamMemo" href="http://memo.devjam.net/clip/742" target="_blank">Away3D 4.0 jiglib vs Bullet « DevJamMemo</a></li>
</ul>
<p>冒頭のデモは、note.xさんの次の記事と比較すると JigLib (Flash Player 10 向け)との動作速度の違いが掴めるかも。</p>
<ul>
<li><a title="note.x | [Away3D] JigLibFlash for Away3D" href="http://blog.r3c7.net/?p=246" target="_blank">note.x | [Away3D] JigLibFlash for Away3D</a></li>
</ul>
<p>AwayPhysics は業界標準の Bullet エンジンを Alchemy (アルケミー)で固めており、API は JibLib に似たものになっているため今まで 3D で物理演算をやっていた方にとっては比較的とっつきやすいライブラリです。まだ開発途中なのでAPIに変更があるかもしれませんが、動作速度の点で使い物にならなかった JigLib よりは活路が見いだせそうな気がします。</p>
<p><a href="http://clockmaker.jp/labs/111204_awayphysics/bin-release/VehicleTerrainTest.html"><img class="alignnone size-full wp-image-4241" src="http://clockmaker.jp/blog/wp-content/uploads/2011/12/111206_awayphysics_example.jpg" alt="" width="460" height="200" /></a></p>
<p>ちなみに<a title="away3d/awayphysics-examples-fp11 - GitHub" href="https://github.com/away3d/awayphysics-examples-fp11" target="_blank">examples</a>のデモですが、カーゲームにも利用できるようです。今後のライブラリの発展が楽しみです。</p>
<ul>
<li><a title="VehicleTerrainTest | ClockMaker Labs" href="/labs/111204_awayphysics/bin-release/VehicleTerrainTest.html" target="_blank">VehicleTerrainTest</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clockmaker.jp/blog/2011/12/away_physics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash 3Dエンジン比較とブリッジライブラリCross3D &#8211; 大阪てら子29発表資料</title>
		<link>http://clockmaker.jp/blog/2010/02/teraco-cross3d/</link>
		<comments>http://clockmaker.jp/blog/2010/02/teraco-cross3d/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 10:32:14 +0000</pubDate>
		<dc:creator>池田 泰延</dc:creator>
				<category><![CDATA[Alternativa3D]]></category>
		<category><![CDATA[Away3D]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://clockmaker.jp/blog/?p=2776</guid>
		<description><![CDATA[
毎月コンスタントに大阪で開催されている Flash の勉強会大阪てらこに参加してきました。今回は HIGE5 というタイトルで、総計 25 人ぐらいの方が参加され約 5 時間にわたり各自まとめてきた Flash の面白 [...]]]></description>
			<content:encoded><![CDATA[<p class="photo"><img class="alignnone size-full wp-image-2777" title="各種3Dエンジンを同じソースコードで動作させるブリッジライブラリ Cross3D のデモ" src="http://clockmaker.jp/blog/wp-content/uploads/2010/02/100215-cross3d.png" alt="" width="460" height="200" /></p>
<p>毎月コンスタントに大阪で開催されている Flash の勉強会<a href="http://teraco.jp/" target="_blank">大阪てらこ</a>に参加してきました。今回は <a href="http://atnd.org/events/2939" target="_blank">HIGE5</a> というタイトルで、総計 25 人ぐらいの方が参加され約 5 時間にわたり各自まとめてきた Flash の面白いことについて発表し合いました。</p>
<p>私は、Flash の各種 3D エンジンの比較レポートと、この日のために準備した(といっても 1 日ぐらいで作った)新種の 3D ライブラリ「Cross3D」を発表しました。Cross3Dとは、ActionScript 3.0 の各種 3D エンジンを<strong>同じソースコードで動作させるブリッジライブラリ</strong>です。発表資料は <a href="https://acrobat.com/#d=OwfOGodZBhltgD6rdIF8SA" target="_blank">Acrobat.com</a> にアップしていますので、よろしければご覧ください。</p>
<p><span id="more-2776"></span></p>
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="530" height="400" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"><param name="movie" value="https://acrobat.com/Clients/current/ADCMainEmbed.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#202020" /><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="true" /><param name="flashvars" value="d=OwfOGodZBhltgD6rdIF8SA" /><embed src="https://acrobat.com/Clients/current/ADCMainEmbed.swf" quality="high" bgcolor="#202020" width="530" height="400" align="middle" play="true" loop="false" quality="high" wmode="transparent" allowScriptAccess="sameDomain" allowFullScreen="true" type="application/x-shockwave-flash" flashvars="d=OwfOGodZBhltgD6rdIF8SA" pluginspage="http://www.adobe.com/go/getflashplayer"></embed></object></p>
<p>なお、資料中にて紹介しているデモは次の URL でご覧頂けます。</p>
<p><strong>7*7*7=343個の直方体を表示したときのFPS比較</strong></p>
<ul>
<li><a href="http://clockmaker.jp/labs/100215_cross3d/compare-engine/Papervision3D/index.html" target="_blank">Papervision3D 2.1</a></li>
<li><a href="http://clockmaker.jp/labs/100215_cross3d/compare-engine/Away3D/index.html" target="_blank">Away3D 3.4</a></li>
<li><a href="http://clockmaker.jp/labs/100215_cross3d/compare-engine/Alternativa3D/index.html" target="_blank">Alternativa3D 5.6</a></li>
<li><a href="http://clockmaker.jp/labs/100215_cross3d/compare-engine/Away3DLite/index.html" target="_blank">Away3D Lite</a></li>
</ul>
<p><strong>Cross3D で動作エンジンを切り替えた比較</strong></p>
<ul>
<li><a href="http://clockmaker.jp/labs/100215_cross3d/cross3d/Papervision3D" target="_blank">Papervision3D Engine 使用</a></li>
<li><a href="http://clockmaker.jp/labs/100215_cross3d/cross3d/Away3D" target="_blank">Away3D Engine 使用</a></li>
<li><a href="http://clockmaker.jp/labs/100215_cross3d/cross3d/Alternativa3D">Alternativa3D Engine 使用</a></li>
</ul>
<p><small>※上の3つのデモは設定を切り替えただけで、同一のソースコードで動作しています。エンジンの違いとして、実行時 FPS は PV3D が一番早いですが、Alternativa3D はオブジェクトが重なったときのポリゴン欠けに一番強いことが分かります。</small></p>
<p>Cross3D は現時点では「とりあえず動く」レベルのライブラリですが Spark Project にコミットしておきました。もし興味があれば SVN を使ってダウンロードしてみてくださいませ。ただ私自身開発に割く時間をなかなか確保できないのでガッツリ作り込めるのは春から夏にかけてになると思います。というわけで、共同開発者を絶賛募集中でもあります。</p>
<ul>
<li><a title="clockmaker/Cross3D - Spark project" href="http://www.libspark.org/wiki/clockmaker/Cross3D" target="_blank">Cross3D &#8211; Spark project</a></li>
</ul>
<p>てら子のレポートは次のブログに詳しくまとめられていますので、詳しく知りたい方は以下のURLもどうぞ。</p>
<ul>
<li><a title="大阪てら子 29 「HIGE5」に行ってきました | StudyLog | ra66it" href="http://ra66it.net/blog/studylog/entry-1295.html" target="_blank">大阪てら子 29 「HIGE5」に行ってきました | StudyLog | ra66it</a></li>
<li><a title="Shift×Style×Blog » 大阪てら子 29 「HIGE5」の参加レポート" href="http://www.shift-style.org/blog/?p=520" target="_blank">Shift×Style×Blog » 大阪てら子 29 「HIGE5」の参加レポート</a></li>
<li><a title="#teraco - Twitter Search" href="http://twitter.com/search?q=%23teraco" target="_blank">#teraco &#8211; Twitter Search</a></li>
</ul>
<p>#余談ですが、大阪てらこで <a href="http://d.hatena.ne.jp/nitoyon/" target="_blank">nitoyon 先生</a>にお会いでき、ホッテントリのテクニックを教授してもらいました。やったぁ！</p>
]]></content:encoded>
			<wfw:commentRss>http://clockmaker.jp/blog/2010/02/teraco-cross3d/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flashで作られた3Dカーゲームまとめ #1</title>
		<link>http://clockmaker.jp/blog/2009/08/flash-3d-car-game/</link>
		<comments>http://clockmaker.jp/blog/2009/08/flash-3d-car-game/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 13:48:15 +0000</pubDate>
		<dc:creator>池田 泰延</dc:creator>
				<category><![CDATA[Alternativa3D]]></category>
		<category><![CDATA[Away3D]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://clockmaker.jp/blog/?p=2090</guid>
		<description><![CDATA[ここ最近2〜3年でFlashにおける3D表現は進化しており、様々なサイトで3Dを見かけるようになってきました。海外や国内のサイト/デモで気になったカーゲームをいくつか紹介します。

Volkswagen
フォルクスワーゲ [...]]]></description>
			<content:encoded><![CDATA[<p>ここ最近2〜3年でFlashにおける3D表現は進化しており、様々なサイトで3Dを見かけるようになってきました。海外や国内のサイト/デモで気になったカーゲームをいくつか紹介します。</p>
<p class="photo"><a href="http://www.golf-gti-tracks.com/gtitracks.php?culture=en-COM" target="_blank" title="Volkswagen"><img class="alignnone size-full wp-image-2091" title="Volkswagen" src="http://clockmaker.jp/blog/wp-content/uploads/2009/08/090808_alternativa.jpg" alt="090808_alternativa" width="460" height="200" /></a></p>
<p><a title="Volkswagen" href="http://www.golf-gti-tracks.com/gtitracks.php?culture=en-COM" target="_blank">Volkswagen</a></p>
<p>フォルクスワーゲンのプロモーションサイト。新鋭の3Dエンジンを使っていることもあり、質感の高さに驚かされます。3DエンジンはAlternativa3D。</p>
<p><span id="more-2090"></span></p>
<p class="photo"><a href="http://www.toyota-europe.com/cars/new_cars/iq/minisite/" target="_blank" title="090808_away3d"><img class="alignnone size-full wp-image-2092" title="090808_away3d" src="http://clockmaker.jp/blog/wp-content/uploads/2009/08/090808_away3d.jpg" alt="090808_away3d" width="460" height="200" /></a></p>
<p><a href="http://www.toyota-europe.com/cars/new_cars/iq/minisite/" target="_blank">iQ &#8211; Vertual Test Drive</a></p>
<p>iQのテストドライブができるサイト。3DエンジンはAway3DかPV3D(PV3DのブログではPV3Dだと紹介されてるし、Away3DのブログではAway3Dと紹介されているのでどちらか不明)。</p>
<p class="photo"><a href="http://www.honda.co.jp/ecogp/formula_e/" title="090808_honda"><img class="alignnone size-full wp-image-2094" title="090808_honda" src="http://clockmaker.jp/blog/wp-content/uploads/2009/08/090808_honda.jpg" alt="090808_honda" width="460" height="200" /></a></p>
<p><a title="Honda | エコグランプリ | Formula E" href="http://www.honda.co.jp/ecogp/formula_e/" target="_blank">Honda | エコグランプリ | Formula E</a></p>
<p>ホンダのエコな走りがテーマのカーゲーム。スピードゲームではなく燃費がよくなるように走らすのがポイントのゲーム。<span style="text-decoration: line-through;">3Dエンジンは不明。 </span></p>
<p>※追記9/17(木) 3DエンジンはFlash 10の機能を利用した独自エンジンとのことです。(ウェブデザイニング10月号より)</p>
<p class="photo"><a href="http://www.playsmart.jp/" title="090808_smart"><img class="alignnone size-full wp-image-2097" title="090808_smart" src="http://clockmaker.jp/blog/wp-content/uploads/2009/08/090808_smart.jpg" alt="090808_smart" width="460" height="200" /></a></p>
<p><a title="play &gt; smart" href="http://www.playsmart.jp/" target="_blank">play &gt; smart</a></p>
<p>smartという車のプロモーションサイト。車体のデザインをして走らせることができます。3Dエンジンは不明。国内向けのサイトはコンセプトもわかりやすいですね。</p>
<p class="photo"><a href="http://carlosulloa.com/" target="_blank" title="090808_carlosulloa"><img class="alignnone size-full wp-image-2093" title="090808_carlosulloa" src="http://clockmaker.jp/blog/wp-content/uploads/2009/08/090808_carlosulloa.jpg" alt="090808_carlosulloa" width="460" height="200" /></a></p>
<p><a href="http://carlosulloa.com/" target="_blank">carlosulloa.com</a></p>
<p>3Dで車を動かし出した出始めの頃の作品。3DエンジンはPapervision3D。</p>
<p class="photo"><a href="http://phenotype.jpn.org/blog/archives/category/game-develop" target="_blank" title="090808_pv3d"><img class="alignnone size-medium wp-image-2096" title="090808_pv3d" src="http://clockmaker.jp/blog/wp-content/uploads/2009/08/090808_pv3d.jpg" alt="090808_pv3d" width="460" height="200" /></a></p>
<p><a title="脳の中の風船 | レースゲーム制作記" href="http://phenotype.jpn.org/blog/archives/category/game-develop" target="_blank">脳の中の風船 | レースゲーム制作記</a></p>
<p>レースゲームの制作日記。ステップごとに紹介されているので、どうやってFlashの3Dカーゲームを開発するか順を追って流れがつかめます。3DエンジンはPapervision3D。</p>
<p class="photo"><a href="http://blog.r3c7.net/?p=359" target="_blank" title="090808_notex"><img class="alignnone size-full wp-image-2095" title="090808_notex" src="http://clockmaker.jp/blog/wp-content/uploads/2009/08/090808_notex.jpg" alt="090808_notex" width="460" height="200" /></a></p>
<p><a title="note.x | Away3D – Studies #05" href="http://blog.r3c7.net/?p=359" target="_blank">note.x | Away3D – Studies #05</a></p>
<p>note.xのrectさんのデモ。物理演算ライブラリJigLibを使用していて、衝突時の細かい演出が興味深いです(ドリフトしたり、ひっくり返ったり、コーンを飛ばしたり)。3DエンジンはAway3D。</p>
<p><a href="http://game.belcro.net/tmp/f_mega_test/080602/" title="F MEGA TEST"><img class="alignnone size-full wp-image-2104" title="F MEGA TEST" src="http://clockmaker.jp/blog/wp-content/uploads/2009/08/090808_d5.jpg" alt="F MEGA TEST" width="460" height="200" /></a></p>
<p><a title="F MEGA TEST" href="http://game.belcro.net/tmp/f_mega_test/080602/" target="_blank">F MEGA TEST</a> (追記)</p>
<p>このデモはPV3Dのカーゲームレースで、国内だと一番早かったという情報を頂きました。開発者のブログは<a href="http://www.belcro.net/blog/d5/Papervision3D/0028.html" target="_blank">こちら</a>。3DエンジンはPapervision3D。</p>
<p>他にも事例や、使用している3Dエンジンがわかりましたらぜひ教えてくださいませ。</p>
]]></content:encoded>
			<wfw:commentRss>http://clockmaker.jp/blog/2009/08/flash-3d-car-game/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Away3Dの習作:Visual Art Demo (ついでにAlternativa3Dも)</title>
		<link>http://clockmaker.jp/blog/2009/05/away3d_visualart/</link>
		<comments>http://clockmaker.jp/blog/2009/05/away3d_visualart/#comments</comments>
		<pubDate>Thu, 21 May 2009 15:57:21 +0000</pubDate>
		<dc:creator>池田 泰延</dc:creator>
				<category><![CDATA[Alternativa3D]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://clockmaker.jp/blog/?p=1543</guid>
		<description><![CDATA[
Flashの3DライブラリであるAway3Dの話題。前回の習作に引き続き、今回もPapervision3Dで作成したデモを移植してみました。

demo ( require Flash Player 10)
sourc [...]]]></description>
			<content:encoded><![CDATA[<p class="photo"><a rel="shadowbox;width=720;height=480;" href="/labs/090521_away3d/away3d/main.swf" title="Away3D - visual art demo"><img class="alignnone size-full wp-image-1544" title="Away3D - visual art demo" src="http://clockmaker.jp/blog/wp-content/uploads/2009/05/090521_away3d.png" alt="Away3D - visual art demo" width="460" height="200" /></a></p>
<p>Flashの3Dライブラリである<a href="http://away3d.com/" target="_blank">Away3D</a>の話題。前回の習作に引き続き、今回も<a title="PV3DでStructure Synth的なビジュアルアート" href="http://clockmaker.jp/blog/2009/03/pv3d_structuresynth/">Papervision3Dで作成したデモ</a>を移植してみました。</p>
<ul>
<li><a title="Away3D Version : ステージをドラッグで回転します" rel="shadowbox;width=720;height=480;" href="/labs/090521_away3d/away3d/main.swf">demo</a> ( require Flash Player 10)</li>
<li><a href="/labs/090521_away3d/away3d/Main.txt">source</a> (Document Class)</li>
</ul>
<p>ついでに、このデモについては<a title="Alternativa3D Version : ステージをドラッグで回転します" href="http://alternativaplatform.com/en/alternativa3d/" target="_blank">Alternativa3D</a>でも作っていたので、そちらもアップしてみました。(Alternativa3Dだけ使いこなせてなくてしょぼいデモで申し訳ないです)</p>
<ul>
<li><a rel="shadowbox;width=720;height=480;" href="/labs/090521_away3d/alternativa3d/main.swf">demo</a> ( require Flash Player 10)</li>
<li><a href="/labs/090521_away3d/alternativa3d/Main.txt">source</a> (Document Class)</li>
</ul>
<p><span id="more-1543"></span></p>
<h3>3Dライブラリの比較</h3>
<p>このデモを作っていて思い始めたのは、Away3DやAlternativa3DよりもPapervision3Dのほうが高速なのでは、ということです。</p>
<p>同じデモでもPV3Dは球面を525個、Away3Dは200個、Alternativa3Dは50個です。同じ数を配置すると後者二つのライブラリではFPSが1桁台まで下がってしまいます。</p>
<p>ただ、Alternativa3Dについてはディフォルトでポリゴン交差問題の回避ロジック(PV3DやAway3DのQuadrantRenderEngine)が働いているので対等のデモとは言えない点だけ補足しておきます。</p>
<h3>Twitterでのコメント</h3>
<p>この結果について不思議に思ってTwitterで<a href="http://twitter.com/clockmaker/status/1869758433" target="_blank">つぶやいてみた</a>ところ貴重な意見を頂くことができました。</p>
<ul>
<li><a title="Twitter / rect: @clockmaker 同じコードのパフォーマンス比 ..." href="http://twitter.com/rect/status/1869968079" target="_blank">Twitter / rect: @clockmaker 同じコードのパフォーマンス比 &#8230;</a></li>
<li><a title="Twitter / UENO Kenichi: @clockmaker it maybe true. ..." href="http://twitter.com/keno42/status/1869955833" target="_blank">Twitter / UENO Kenichi: @clockmaker it maybe true. &#8230;</a></li>
<li><a title="Twitter / Junji Suzuki: @clockmaker うちの環境で比較したらAwa ..." href="http://twitter.com/bma_japan/status/1870170422" target="_blank">Twitter / Junji Suzuki: @clockmaker うちの環境で比較したらAwa &#8230;</a></li>
<li><a title="Twitter / Jin Saburi: @bma_japan ＠clockmaker ただ、 ..." href="http://twitter.com/saburicom/status/1870186503" target="_blank">Twitter / Jin Saburi: @bma_japan ＠clockmaker ただ、 &#8230;</a></li>
<li><a title="Twitter / Junji Suzuki: @saburicom @clockmaker GPU ..." href="http://twitter.com/bma_japan/status/1870541994" target="_blank">Twitter / Junji Suzuki: @saburicom @clockmaker GPU &#8230;</a></li>
</ul>
<p>(勝手にまとめてしまったので、削除希望がありましたらコメントかtwitterでレスくださいませ)</p>
<p>結論としては同じコードの比較だとPV3DのほうがAway3Dよりも早いケースがあるが、3Dのロジックは複雑でライブラリに得手不得手があるので一概に言えない、と言ったところでしょうか。</p>
<p>確かに上の比較ではAlternativa3Dは散々ですが、<a title="AlternativaPlatform - Alternativa3D" href="http://alternativaplatform.com/en/alternativa3d/" target="_blank">こちらのデモ</a>は圧倒的だったり、Away3Dは完成度の高いプロモーションサイトでも採用されたりしています(<a href="http://www.toyota-europe.com/cars/new_cars/iq/minisite/" target="_blank">こちら</a>とか<a href="http://world08.pokemon.co.jp/" target="_blank">こちら</a>とか)。</p>
<p>ちなみにPV3Dの中の人である<a href="http://twitter.com/UnitZeroOne/status/1860319280" target="_blank">@UnitZeroOne</a>の目に触れることができたようで、JAS(JActionScripters)ではありませんが、なんちゃって<a href="/blog-en/">英語ブログ</a>をやっててよかったです。</p>
]]></content:encoded>
			<wfw:commentRss>http://clockmaker.jp/blog/2009/05/away3d_visualart/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Away3Dの習作:Paper Tile Effect</title>
		<link>http://clockmaker.jp/blog/2009/05/away3d/</link>
		<comments>http://clockmaker.jp/blog/2009/05/away3d/#comments</comments>
		<pubDate>Wed, 20 May 2009 14:38:32 +0000</pubDate>
		<dc:creator>池田 泰延</dc:creator>
				<category><![CDATA[Away3D]]></category>
		<category><![CDATA[Flash Player 10]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://clockmaker.jp/blog/?p=1536</guid>
		<description><![CDATA[
Flashの3Dライブラリ「Away3D」を勉強してみようと思い、Papervision3Dで作成したデモ「細切れフォトグラフ」をAway3Dに移植してみました。

demo (require Flash Player [...]]]></description>
			<content:encoded><![CDATA[<p class="photo"><a rel="shadowbox;width=720;height=480;" href="/labs/090520_away3d/bin/main.swf" title="090520_away3d"><img class="alignnone size-full wp-image-1538" title="090520_away3d" src="http://clockmaker.jp/blog/wp-content/uploads/2009/05/090520_away3d.jpg" alt="090520_away3d" width="460" height="200" /></a></p>
<p>Flashの3Dライブラリ「<a title="Away3D Flash Engine" href="http://away3d.com/" target="_blank">Away3D</a>」を勉強してみようと思い、<a title="papervision3d - Google Code" href="http://code.google.com/p/papervision3d/">Papervision3D</a>で作成したデモ「<a title="Papervision3D演出サンプルNo.04:細切れフォトグラフ | ClockMaker Blog" href="../2008/09/papervision3d_photograph/">細切れフォトグラフ</a>」をAway3Dに移植してみました。</p>
<ul>
<li><a rel="shadowbox;width=720;height=480;" href="/labs/090520_away3d/bin/main.swf">demo</a> (require Flash Player 10)</li>
<li><a href="/labs/090520_away3d/src.zip">source</a> (Flash Develop Project)</li>
</ul>
<p>デモ自体は移植なんで面白くとも何でもないのですが、同じものを作っているならパフォーマンスを比較したくなるのが人の常。比較するのはAway3DとPapervision3Dとネイティブ3D。3Dオブジェクトの数を上のデモの4倍となる1200に設定して試してみたいと思います。</p>
<p><span id="more-1536"></span></p>
<h3>各種ライブラリのパフォーマンス比較デモ</h3>
<p>Away3D 3.3.3はFlash 10対応されており、ちらっとソースコード覗いた限りではVectorなどが使われたソースコードとなっています。対するPV3Dは2.0 Greate White のリビジョン883。これはまだFlash 9対応のライブラリです。果たして結果は…</p>
<ul>
<li><a rel="shadowbox;width=720;height=480;" href="/labs/090520_away3d/bin/away3d/main.swf">Away3D</a></li>
<li><a rel="shadowbox;width=720;height=480;" href="/labs/090520_away3d/bin/pv3d/main.swf">Papervision3D</a></li>
<li><a rel="shadowbox;width=720;height=480;" href="/labs/090520_away3d/bin/fp10/main.swf">Flash 10 ネイティブ3D</a></li>
</ul>
<h3>結果</h3>
<p><img class="alignnone size-full wp-image-1539" title="Away3D, Papervision3D, Flash 10 Native 3D" src="http://clockmaker.jp/blog/wp-content/uploads/2009/05/090520_3dlib.png" alt="Away3D, Papervision3D, Flash 10 Native 3D" width="460" height="398" /></p>
<p>左側にでているStatsと呼ばれる部分のFPSの数値が高いほど滑らかに再生できているという指標になります。補足として、上のキャプチャは「瞬間値」という点と、Flash 10 Native 3Dに関してはカメラもZソートすら用意していないので全く対等の比較ではないという点にご注意ください。</p>
<p>Away3Dの結果がよろしくなかったのは納得がいかないのですが、もしかしたら3Dをより精度高くレンダリングするためのアルゴリズムがあり、それがパフォーマンスを消費するため逆にFPSが落ちている可能性もあります。もしこの点について検証頂ける方がいらしたらソースコードは公開してますので確認頂けると幸いです(ソースコードは上のリンクからダウンロードできます)。</p>
<p>3Dライブラリの比較は今後の当ブログの課題として、検証していきたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://clockmaker.jp/blog/2009/05/away3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

