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

<channel>
	<title>Yellow Soup</title>
	<atom:link href="http://www.ahiru.org/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ahiru.org</link>
	<description></description>
	<pubDate>Sun, 21 Feb 2010 15:47:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>ja</language>
			<item>
		<title>Lightwaveから書き出したColladaのスケール</title>
		<link>http://www.ahiru.org/archives/260</link>
		<comments>http://www.ahiru.org/archives/260#comments</comments>
		<pubDate>Sun, 21 Feb 2010 15:43:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Papervision3D]]></category>

		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://www.ahiru.org/?p=260</guid>
		<description><![CDATA[まいど。
ニッチな情報を情報社会の狭間目掛けて垂れ流すよ（というか自分メモ）
Lightwaveから例の方法によってColladaファイルを出力すると、なんだか小さ過ぎますよね。試しにLightwave上で1メートル角の [...]]]></description>
			<content:encoded><![CDATA[<p>まいど。<br />
ニッチな情報を情報社会の狭間目掛けて垂れ流すよ（というか自分メモ）</p>
<p>Lightwaveから<a href="http://www.ahiru.org/archives/135" target="_blank">例の方法</a>によってColladaファイルを出力すると、なんだか小さ過ぎますよね。試しにLightwave上で1メートル角のキューブを作って置いてみるとこんな具合。</p>
<div style="text-align:center;width:465px;"><iframe title="Lightwaveで1メートル角のオブジェクトをPV3Dで表示すると(1) - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/002e519ccc05fe1029d8b4aa6f34c4521fa7f7a6" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/002e519ccc05fe1029d8b4aa6f34c4521fa7f7a6" title="Lightwaveで1メートル角のオブジェクトをPV3Dで表示すると(1) - wonderfl build flash online">Lightwaveで1メートル角のオブジェクトをPV3Dで表示すると(1) - wonderfl build flash online</a></div>
<p><br/><br />
はいはい。何も見えないね。でも画面の中央に点があるよ！<br />
つまり、Pv3Dの1 = Lightwaveの1メートルらしい。ちっさ！</p>
<p>毎度スケールかけるのが面倒なので、なんか設定を探してみたら、<a href="http://www.khronos.org/files/collada_1_4_release_notes_jp.pdf" target="_blank">このへん</a>に「unit」タグが単位についてなんやらしてる記述が。但し変えても効果なし。<br />
オブジェクトのサイズをColladaファイル自身でスケールさせるなら、Colladaファイルをテキストエディタで開けて、「library_visual_scenes」の中の「scale」を変えるといいらしい。</p>
<div style="text-align:center;width:465px;"><iframe title="Lightwaveで1メートル角のオブジェクトをPV3Dで表示すると(2) - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/7da1fe0f8189eb03ddcee7d32096e51030dab5e2" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/7da1fe0f8189eb03ddcee7d32096e51030dab5e2" title="Lightwaveで1メートル角のオブジェクトをPV3Dで表示すると(2) - wonderfl build flash online">Lightwaveで1メートル角のオブジェクトをPV3Dで表示すると(2) - wonderfl build flash online</a></div>
<p><br/><br />
おっきくなった！<br />
オブジェクトが入れ子になってて、本体じゃなくラッパーの方がスケールされてるっぽいですね。<br />
なんか気色悪いけど、まあいいか。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahiru.org/archives/260/feed</wfw:commentRss>
		</item>
		<item>
		<title>あけましておめでとうございます</title>
		<link>http://www.ahiru.org/archives/236</link>
		<comments>http://www.ahiru.org/archives/236#comments</comments>
		<pubDate>Mon, 04 Jan 2010 03:05:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Actionscript]]></category>

		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.ahiru.org/?p=236</guid>
		<description><![CDATA[
年もとっくにあけてもう4日ですが、あけましておめでとうございます。
寝ぼけ眼のヤマダです。
そろそろ一部の皆様のお手元にお年賀が届く頃かと思い、とりあえずのご挨拶。
あなたのデスクトップでタイガーI後期型のラジコンを走 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.ahiru.org/wp-content/tiger1_2010.jpg"><img class="size-medium wp-image-237 aligncenter" title="tiger1_2010" src="http://www.ahiru.org/wp-content/tiger1_2010-300x187.jpg" alt="あけましておめでとうございます" width="300" height="187" /></a></p>
<p>年もとっくにあけてもう4日ですが、あけましておめでとうございます。<br />
寝ぼけ眼のヤマダです。<br />
そろそろ一部の皆様のお手元にお年賀が届く頃かと思い、とりあえずのご挨拶。<br />
あなたのデスクトップで<span style="color: #ff0000;"><strong>タイガーI後期型</strong></span>のラジコンを走らせて遊んでください。届いてないよ！っていう人は<a href="http://www.ahiru.org/ny/2010/ny2010.pdf" target="_blank"><strong>ココ</strong></a>からDLして印刷するとイイネ！<br />
※概ね「どこが寅年かワカラン」と不評です</p>
<p><a href="../ny/2010/" target="_blank"><strong>バカが戦車でやってくる</strong></a></p>
<p><span id="more-236"></span></p>
<p>ソースコードは整理でき次第、Sparkにコミット予定、制作工程のアレコレはここに書く予定です。<br />
ていうか3日くらいでチャチャっと作ったので、それほど凝った事やってないんですがー。<br />
某かのマトを作って狙える所くらいは、気が向いたら増やすかもしれません。</p>
<p>で、昨年の私。<br />
毎度の事なんですが仕事が忙しく（ありがたい事です）、年の半ばから年末年始は無駄にバタバタしとりました。<br />
とはいえ忙しい割には一体何をやっているのか不明な私なんですが、主に<a href="http://www.gaitame.com/seminar/online.html" target="_blank"><strong>コレ</strong></a>の配信システム丸ごとを担当させて頂き、無事に安定稼働できて年を越せたという状況でございます。(無料セミナーなので皆様もどうぞ)</p>
<p>他には<a href="http://www.logosware.com/flipper3/" target="_blank"><strong>コレ</strong></a>とか<a href="http://www.logosware.com/storm/" target="_blank"><strong>コレ</strong></a>とか<a href="http://www.logosware.com/gigacast/" target="_blank"><strong>コレ</strong></a>とかのプロダクトもリリースされ、ウチ会社も随分と会社っぽくなって来たなあという感じ。しみじみ。</p>
<p>そういや<a href="http://www.libspark.org/" target="_blank">Spark</a>に<a href="http://www.libspark.org/wiki/logosware/DinosaurAR/" target="_blank"><strong>恐竜のコレ</strong></a>とかをコミットしたりもしましたっけ。</p>
<p>年末からは例年通り筑波大の非常勤を担当しておりまして、Actionscriptをガチで教える事に。</p>
<p>というわけで相変わらず偏った中年な訳なんですが、今年もたぶん偏ったままフラフラする予定ですので、うんざりせずに<strong>どうぞよろしくお願いいたします</strong>。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahiru.org/archives/236/feed</wfw:commentRss>
		</item>
		<item>
		<title>増殖</title>
		<link>http://www.ahiru.org/archives/222</link>
		<comments>http://www.ahiru.org/archives/222#comments</comments>
		<pubDate>Mon, 22 Jun 2009 15:56:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://www.ahiru.org/?p=222</guid>
		<description><![CDATA[秋葉原のまんだらけに増殖中。
お値段ひゃく ごまん えん！！

アキバの民は特に興味が無い様子。
当局が写真を撮ってたら、通行中のアキバBOYSが
「ねえねえあれ何の人形？」
「なんだっけ、イエローマジックなんとか？」
 [...]]]></description>
			<content:encoded><![CDATA[<p>秋葉原のまんだらけに増殖中。</p>
<p>お値段<strong><span style="color: #ff0000;">ひゃく ごまん えん</span></strong>！！</p>
<p><a href="http://www.ahiru.org/wp-content/r0013262.jpg"><img class="size-medium wp-image-221 alignleft" title="増殖" src="http://www.ahiru.org/wp-content/r0013262-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>アキバの民は特に興味が無い様子。<br />
当局が写真を撮ってたら、通行中のアキバBOYSが</p>
<p>「ねえねえあれ何の人形？」</p>
<p>「なんだっけ、イエローマジックなんとか？」</p>
<p>…マジカイヤ。<br clear="all"/></p>
<p><a href="http://www.ahiru.org/wp-content/r00132632.jpg"><img class="alignnone size-medium wp-image-225" title="ユキヒロ" src="http://www.ahiru.org/wp-content/r00132632-225x300.jpg" alt="" width="180" height="240" /></a><a href="http://www.ahiru.org/wp-content/r0013264.jpg"><img class="alignnone size-medium wp-image-226" title="ジャバザハット" src="http://www.ahiru.org/wp-content/r0013264-225x300.jpg" alt="" width="180" height="240" /></a><a href="http://www.ahiru.org/wp-content/r0013265.jpg"><img class="size-medium title=" src="http://www.ahiru.org/wp-content/r0013265-225x300.jpg" alt="" width="180" height="240" /></a></p>
<p><a href="http://www.ahiru.org/wp-content/r0013265.jpg"></a>ホンモノだってさ！</p>
<p>福田興業先生、情報ありがとうございます！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahiru.org/archives/222/feed</wfw:commentRss>
		</item>
		<item>
		<title>LightwaveからColladaファイルを書き出すよ</title>
		<link>http://www.ahiru.org/archives/135</link>
		<comments>http://www.ahiru.org/archives/135#comments</comments>
		<pubDate>Sun, 22 Mar 2009 16:03:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Actionscript]]></category>

		<category><![CDATA[Papervision3D]]></category>

		<category><![CDATA[Lightwave3D]]></category>

		<guid isPermaLink="false">http://www.ahiru.org/?p=135</guid>
		<description><![CDATA[おまっとさんでございます。
こんなニッチなエントリーに興味を持ってくれる方人が居るようなので、書き出し方法を説明するよ！
大雑把に説明すると、Lightwave → DirectX形式 → Unwrap3D → Coll [...]]]></description>
			<content:encoded><![CDATA[<p>おまっとさんでございます。<br />
こんなニッチなエントリーに興味を持ってくれる方人が居るようなので、書き出し方法を説明するよ！</p>
<p>大雑把に説明すると、Lightwave → DirectX形式 → Unwrap3D → Collada形式　という手順で行います。</p>
<p><span id="more-135"></span><br />
<br clear="all"><br />
Lightwave3Dの9.6にはColladaExportが追加されていて、これで書き出せる！と思っていたら無理でした。</p>
<p>正確に言うと、アニメーションしないデータならUVテクスチャ付きで書き出せます。というか、Lightwave上のアニメーションの有無に関係なく、アニメに関するデータが書き出されていません。用途にもよりますが、アニメなしのデータを構造体にすれば、まあロボットみたいなものなら表示できるんでしょうが、キャラクターなどのボーンが入った入ったモデルならば、そもそもの頂点データがどう変化したかを書き出せないと意味がありません。</p>
<p>というわけで、車のボディとか家とかを書き出せばいいやって人は、Lightwaveの9.6を使うとイイネ！<br />
<br clear="all"><br />
<strong>その１．準備しよう</strong></p>
<p>作成に使ったのはLightwave3Dの7.5です。DirectXのエクスポーターさえ動けば、ほかのバージョンでもなんとかなるでしょう。</p>
<p>それ以外に必要なものは以下のような感じ。</p>
<ul>
<li>Lightwave形式でアニメーションしてるデータ</li>
<li>Lightwave3Dの<a title="DirectX Exporter" href="http://www.dstorm.co.jp/products/plugin_j/object.htm#DirectX2" target="_blank">DirectX Exporter</a></li>
<li><a title="Unwrap3D" href="http://www.unwrap3d.com/" target="_blank">Ultimate Unwrap 3D</a><br />
(UV編集とかするソフト。いろんなデータを読み書きできて5000円くらい。SE版でイイヨ)</li>
</ul>
<p>一番最後の「<a title="Unwrap3D" href="http://www.unwrap3d.com/" target="_blank">Unwrap3D</a>」はキーの発行に1~2日くらいかかるので、すごく急いでいる人はご注意を。</p>
<p>※コレにたどり着くまで、結構いろいろなコンバーターを試してみましたけど、概ねぜんぜんダメだったので、これから他のソフトで人柱になろうという人はご連絡ください。試したことがあるやつかもしれません。<br />
<br clear="all"><br />
<strong>その２．モデルデータを整理しよう</strong></p>
<p>まずはモデルの準備から。</p>
<p>なんでもいいので、ボーンが埋まってて動くデータをご準備ください。サンプルは昔作った何か。</p>
<p><a href="http://www.ahiru.org/wp-content/textureview.jpg"><img class="alignnone size-medium wp-image-140" title="モデル" src="http://www.ahiru.org/wp-content/textureview-300x99.jpg" alt="" width="300" height="99" /></a></p>
<p>モデル作成で注意するところは、</p>
<ul>
<li>ウェイトの合計が100%を超えないように作ること<br />
(DirectXのデータとしてはNGぽい。ColladaならOKかも)</li>
<li>三角ポリゴンにしておくこと(サブパッチ不可)</li>
</ul>
<p>これくらいです。UVMapはちゃんと引き継がれるみたいです。三角ポリゴン化については、DirectXのプラグイン設定でも出来るんですが、Papervisionで使うような低ポリゴンのモデルは分割位置がモロに形に影響しますので、自分で割っておくのがよろしい。</p>
<p>テキトーなアニメーションを付けてレンダリングしたのは<a title="Render" href="http://www.ahiru.org/works/pv3d/colladaExport/sampleMovie/" target="_blank">こんな感じ</a>。<br />
<br clear="all"><br />
<strong>その３．DirectX形式のデータを書き出そう</strong></p>
<p>作ったデータをプラグインを使って書き出します。このとき、<strong>シーンデータは必ず複製</strong>しておいてください。DirectXのプラグインでIKの動作を出力したい場合、全フレームにキーフレームを作ってしまうので、オリジナルのデータをブチ壊します。危険なのでよろしくどうぞ。</p>
<p>書き出し設定はこんな感じ。</p>
<p><a href="http://www.ahiru.org/wp-content/setting1.jpg" target="_blank"><img class="alignleft size-thumbnail wp-image-146" title="setting1" src="http://www.ahiru.org/wp-content/setting1-150x150.jpg" alt="Exportタブ" width="150" height="150" /></a></p>
<p>「Export」タブはほぼチェックで。<br />
DirectX8で、Text形式で書き出します。(生データを見てチェックする事があるかもしれません故）<br />
<br clear="all"><br />
<a href="http://www.ahiru.org/wp-content/setting2.jpg" target="_blank"><img class="alignleft size-thumbnail wp-image-148" title="Meshタブ" src="http://www.ahiru.org/wp-content/setting2-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://www.ahiru.org/wp-content/setting3.jpg" target="_blank"><img class="alignleft alignnone size-thumbnail wp-image-151" title="Materialタブ" src="http://www.ahiru.org/wp-content/setting3-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>このへんは適当に。<br />
<br clear="all"><br />
<a href="http://www.ahiru.org/wp-content/setting3.jpg" target="_blank"></a><a href="http://www.ahiru.org/wp-content/setting4.jpg"><img class="alignleft alignnone size-thumbnail wp-image-152" title="Textureタブ" src="http://www.ahiru.org/wp-content/setting4-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>TextureタブでFlashに読める画像形式に変換しましょう。オリジナルが既にJpegとかで、そのまま使える場合にはここは不要。(絵がボケたら困る場合は、モデル作る段階でやっておくこと)<br />
<br clear="all"><br />
<a href="http://www.ahiru.org/wp-content/setting5.jpg" target="_blank"><img class="alignleft alignnone size-thumbnail wp-image-153" title="Animationタブ" src="http://www.ahiru.org/wp-content/setting5-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Animationタブは、カメラとライトは要らないのでチェック外します。IK使ってる場合はボーンにキーフレームを埋め込まないと動かないので、一番下をチェック。</p>
<p>設定できたらExportしましょう。<br />
ポイントが飛び出したりしてうまくいかない場合は、頂点のウェイトが100％以外に設定されているポイントがないか調べてみるといいかも。<br />
<br clear="all"><br />
<strong>その４．Unwrap3Dで変換</strong></p>
<p>ここまで出来たらあとは簡単。Unwrap3Dに読み込んでやります。</p>
<p><a href="http://www.ahiru.org/wp-content/unwrap.jpg" target="_blank"><img class="alignnone size-medium wp-image-155" title="Unwrap3D" src="http://www.ahiru.org/wp-content/unwrap-300x226.jpg" alt="" width="300" height="226" /></a></p>
<p>ここから、File &gt; Save as&#8230; で Collada File(*.dae)を選んで書き出すだけ！<br />
たぶんUV編集とかも出来るんじゃろうね。<br />
<br clear="all"><br />
<strong>その５．Papervisionに読み込んでみよう</strong></p>
<p>あとは読むだけなんですけど、これにも地味な問題が３つほど。</p>
<p>1つ目は、Lightwaveでの座標系と、Collada上の座標系とで単位の概念が違っていて、モデルがものすごく小さく表示されてしまうんですね。まあCGソフト使ってると昔はよくあった話。<br />
これはLightwave側であらかじめ大きくしておくか、Actionscriptでスケールしてやるかで解決。</p>
<p>2つ目は、ColladaのImageパスがうまく通らずにテクスチャが読み込めない場合。<br />
これはテキストエディタでColladaファイルを開いてあげて、Libraly_imagesってタグの中身をゴニョゴニョやると解決。</p>
<p>3つ目はPapervision自体のリビジョン。デバッガで覗いてみると分かるんですが、微妙に古いのを使ってると、UVマップの値が全部0と1になってしまっていて、テクスチャ画像の左上1ピクセルしか表示されないのですね。これは知らないと結構ハマる。<br />
Maxから書き出したオブジェクトは起こらない現象なので、たぶんオブジェクトの座標が小さすぎるのが原因じゃないかと。(主に推測)<br />
そんな時にはできるだけ新しいのをリポジトリから取ってきて使いましょう。ちなみに私が確認したのはリビジョン876です。これより新しければ多分大丈夫。</p>
<p>じゃ、さっくり読み込んでみよう！<br />
<a href="http://www.ahiru.org/works/pv3d/colladaExport/sampleSwf/" target="_blank"><img class="alignnone size-medium wp-image-185" title="View" src="http://www.ahiru.org/wp-content/view-300x261.jpg" alt="" width="300" height="261" /></a></p>
<p>コードはこんな感じです。</p>
<pre name="code" class="as3">

package {
import flash.events.Event;

import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.parsers.DAE;
import org.papervision3d.view.BasicView;

public class Lightwave2Collada extends BasicView
{
public var dae:DAE;
public var target:DisplayObject3D;

public function Lightwave2Collada()
{
//変換したオブジェクト
dae = new DAE(true,null,true);
dae.scale = 300;
dae.load(&quot;export.dae&quot;);
scene.addChild(dae);

//カメラのターゲット
target = new DisplayObject3D();
target.y = 400;
scene.addChild(target);

camera.y = 800;
camera.target = target;

stage.addEventListener(Event.ENTER_FRAME, _enterFrameHandler)
}

private function _enterFrameHandler(e:Event):void{
dae.rotationY += 1;
startRendering();
}
}
}
</pre>
<p>うまくいきましたカナ？<br />
「オレも出来た！」っていう人はお知らせ頂けるとうれしかったり。</p>
<p>当方、かれこれ15年くらいLightwave使ってるのでこんな面倒な手順踏んでますけど、普通にメインのツールがMaxの人は、ColladaMaxを使うと楽チンに書き出せるヨ！</p>
<p>ではでは。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahiru.org/archives/135/feed</wfw:commentRss>
		</item>
		<item>
		<title>Lightwave to Papervision3D</title>
		<link>http://www.ahiru.org/archives/124</link>
		<comments>http://www.ahiru.org/archives/124#comments</comments>
		<pubDate>Tue, 24 Feb 2009 16:35:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Actionscript]]></category>

		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.ahiru.org/?p=124</guid>
		<description><![CDATA[やっと出来た…アニメ付きのデータをLightwaveから出力。
ウレシー！！

Lightwave9.6に付いているCollada Exporterは、オブジェクト単体ならUVMapごと出力可能。でも、アニメのデータをち [...]]]></description>
			<content:encoded><![CDATA[<p>やっと出来た…<strong><span style="color: #ff0000;">アニメ付きのデータ</span></strong>をLightwaveから出力。<br />
ウレシー！！</p>
<p><a href="http://www.ahiru.org/works/pv3d/monster/" target="_blank"><img class="size-medium wp-image-125" title="lw2dae" src="http://www.ahiru.org/wp-content/lw2dae-300x238.jpg" alt="Lightwave to Papervision3D" width="300" height="238" /></a></p>
<p>Lightwave9.6に付いているCollada Exporterは、オブジェクト単体ならUVMapごと出力可能。でも、アニメのデータをちゃんと書き出せてないっぽい。テキストエディタで開いてみたら明らかにデータ少ないし。</p>
<p>唯一、MaxからのExportがまともに動くのは知ってたんだけど、いまさらMax覚える気にはならない＋たいして使わないソフトに50万出すのは無駄なので、意地になってLightwaveからの出力方法を探しましたよ…</p>
<p>でも力尽きたから説明は後日。<br />
ちゃんとしたモーションが付いたデータも後日。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahiru.org/archives/124/feed</wfw:commentRss>
		</item>
		<item>
		<title>タイムスタンプが1234567890になると聞いて</title>
		<link>http://www.ahiru.org/archives/112</link>
		<comments>http://www.ahiru.org/archives/112#comments</comments>
		<pubDate>Tue, 10 Feb 2009 00:54:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Actionscript]]></category>

		<category><![CDATA[Wonderfl]]></category>

		<guid isPermaLink="false">http://www.ahiru.org/?p=112</guid>
		<description><![CDATA[馴れ合い万歳
タイムスタンプが 1234567890 になると聞いて - wonderfl build flash online
]]></description>
			<content:encoded><![CDATA[<p>馴れ合い万歳</p>
<div style="text-align:center;width:465px;"><iframe title="タイムスタンプが 1234567890 になると聞いて - wonderfl build flash online" src="http://wonderfl.kayac.com/blogparts/5c44d914a3fea9896acbedfb73b81fced359f481" width="465" height="100" style="border:1px black solid;"></iframe><a href="http://wonderfl.kayac.com/code/5c44d914a3fea9896acbedfb73b81fced359f481" title="タイムスタンプが 1234567890 になると聞いて - wonderfl build flash online">タイムスタンプが 1234567890 になると聞いて - wonderfl build flash online</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ahiru.org/archives/112/feed</wfw:commentRss>
		</item>
		<item>
		<title>はじめてのWonderfl</title>
		<link>http://www.ahiru.org/archives/108</link>
		<comments>http://www.ahiru.org/archives/108#comments</comments>
		<pubDate>Tue, 13 Jan 2009 14:47:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Actionscript]]></category>

		<category><![CDATA[Wonderfl]]></category>

		<guid isPermaLink="false">http://www.ahiru.org/?p=108</guid>
		<description><![CDATA[あけましておめでとうも言わずに、いまさらWonderflデビュー。
「Wonderfl で LocalConnection」

うごいたよーん(あたりまえ)
]]></description>
			<content:encoded><![CDATA[<p>あけましておめでとうも言わずに、いまさらWonderflデビュー。<br />
「Wonderfl で LocalConnection」</p>
<p><iframe src="http://wonderfl.kayac.com/blogparts/6743952b116eb864364e8e822bd191b8e5647ef7" width="484" height="490" style="border:1px black solid;"></iframe></p>
<p>うごいたよーん(あたりまえ)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahiru.org/archives/108/feed</wfw:commentRss>
		</item>
		<item>
		<title>DAEクラスの動作</title>
		<link>http://www.ahiru.org/archives/92</link>
		<comments>http://www.ahiru.org/archives/92#comments</comments>
		<pubDate>Wed, 26 Nov 2008 15:04:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Actionscript]]></category>

		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://www.ahiru.org/?p=92</guid>
		<description><![CDATA[冬になるとどんどん冬眠モードになるヤマダです。
Papervision3D で Collada ファイルをロードする時には DAE クラスを使うんですが、これの挙動がイマイチよく分からないので調べてみた。



//イン [...]]]></description>
			<content:encoded><![CDATA[<p>冬になるとどんどん冬眠モードになるヤマダです。</p>
<p>Papervision3D で Collada ファイルをロードする時には DAE クラスを使うんですが、これの挙動がイマイチよく分からないので調べてみた。</p>
<p><span id="more-92"></span></p>
<pre name="code" class="as3">

//インスタンス化。
//false は初期化が終わったあとにアニメを再生するかどうかのフラグ
var dae:DAE = new DAE(false);

//Colladaファイルを読み込み開始
dae.load(asset);
</pre>
<p>この時、asset に String で URL を渡した場合は Colladaファイルのロードを行い、既にロード済みのCollada を XML として渡した場合は、直接Colladaのパースを行うっぽい。<br />
org.papervision3d.objects.parsers.DAE クラスの 314行目あたりで、</p>
<pre name="code" class="as3">

if(asset is XML)
{
	this.COLLADA = asset as XML;
	this.parser.loadDocument(asset);
}
else if(asset is ByteArray)
{
	this.COLLADA = new XML(ByteArray(asset));
	this.parser.loadDocument(asset);
}
else if(asset is String)
{
	this.filename = String(asset);
	this.parser.read(this.filename);
}
else
{
	throw new Error(&quot;load : unknown asset type!&quot;);
}
</pre>
<p>みたいな感じで型の判別をやってる。</p>
<p>で、何らかのソフトを使ってColladaを書き出すと、だいたいはDAEファイルに対するテクスチャのパスがいい加減で、そのままロードできない事が多々あるんですね。<br />
修正するのは簡単で、ColladaのXMLファイルを開くと、「library_images」 っていうノードがあるので、手書きで直す場合にはココを相対パスに書き換えてやればいい。</p>
<p>で、ですよ。<br />
これをAIRとかのアプリでリクエスタを立ち上げて画像を選択し、一箇所のフォルダにコピーする的なプログラムを書こうと思ったら、このDAEクラスの変な癖に衝突。<br />
　<br />
　<br />
脳内の妄想では、</p>
<p>Colladaを作業用フォルダにコピー<br />
↓<br />
XMLとしてロード<br />
　↓<br />
ノードを解析して画像のリストを取得<br />
　↓<br />
画像のノード毎にテクスチャのファイルを選択して作業フォルダにコピー<br />
　↓<br />
XMLのノードを動く内容に上書き<br />
　↓<br />
DAE.load(asset) で上書き済みのXMLを渡して表示<br />
　<br />
　<br />
みたいな事を考えてた訳です。<br />
しかーし…<br />
DAEクラスさん、どうも直接XMLを渡した時にはパスの解決をやってくれないらしいんです。</p>
<p>しかも、</p>
<pre name="code" class="as3">

public var baseUrl:String;
public var texturePath:String;
</pre>
<p>とか、解決用にあるっぽいパラメタを <strong>buildFileInfo() っていう関数が上書き</strong>しとるやん。filename = &#8220;./meshes/rawdata_dae&#8221; って何だよ。<br />
再生するSWFから相対的に見た meshes フォルダに入れとけよっていう事なんだろうけどもだ。作業フォルダから読みたいちゅう話やで。</p>
<p>これが原因で、内部的に buildImagePath() 関数で baseURLに対して勝手なパスを生成してしまうので、画像のロード先がどうやっても制御できなくなってしまうと。<br />
　<br />
　<br />
要するにこういうこと。</p>
<ul>
<li>URLを指定した場合(うまくいくケース)<br />
DAE をロード → URLに対してテクスチャの絶対パスを生成してテクスチャをロード</li>
<li>XMLを指定した場合(なんだかコケるケース)<br />
勝手に &#8220;./meshes/rawdata_dae&#8221; を基準にしたパスを生成</li>
</ul>
<p>　<br />
　<br />
仕方が無いので、DAEクラス を extend して、&#8221;./meshes/rawdata_dae&#8221; の部分を変数として扱えるようにしてみました。</p>
<pre name="code" class="as3">

//ここをインスタンスの外からコントロールできるようにした
public var fileNameDefault:String = &quot;./meshes/rawdata_dae&quot;;

/**
*
* @param	asset
* @return
*/

override protected function buildFileInfo( asset:* ):void
{
	this.filename = asset is String ? String(asset) : fileNameDefault;

	// make sure we&#039;ve got forward slashes!
	this.filename = this.filename.split(&quot;\\&quot;).join(&quot;/&quot;);

	if( this.filename.indexOf(&quot;/&quot;) != -1 )
	{
		// dae is located in a sub-directory of the swf.
		var parts:Array = this.filename.split(&quot;/&quot;);
		this.fileTitle = String( parts.pop() );
		this.baseUrl = parts.join(&quot;/&quot;);
	}
	else
	{
		// dae is located in root directory of swf.
		this.fileTitle = this.filename;
		this.baseUrl = &quot;&quot;;
	}
}
</pre>
<p>PV3D以外のライブラリではどんな感じなんだろ？<br />
時間ができたら試してみよう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahiru.org/archives/92/feed</wfw:commentRss>
		</item>
		<item>
		<title>CS4の新機能を見ていたら</title>
		<link>http://www.ahiru.org/archives/86</link>
		<comments>http://www.ahiru.org/archives/86#comments</comments>
		<pubDate>Mon, 17 Nov 2008 15:38:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Photoshop]]></category>

		<guid isPermaLink="false">http://www.ahiru.org/?p=86</guid>
		<description><![CDATA[Photoshop CS4 Extended で 3Dモデルを読み込んで、直接ペイントできるとか書いてあるし…

「Photoshop CS4 Extendedは一般的な3Dフォーマットを幅広くサポートしているので、OB [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adobe.com/jp/joc/pscs4/whatsnew/whatsnew_16.html" target="_blank">Photoshop CS4 Extended で 3Dモデルを読み込んで、直接ペイントできる</a>とか書いてあるし…</p>
<p><span id="more-86"></span></p>
<blockquote><p>「Photoshop CS4 Extendedは一般的な3Dフォーマットを幅広くサポートしているので、OBJ、U3D、KMZ、Colladaの各形式の読み込みと書き出し、および3DS形式の読み込みが行えます。」</p></blockquote>
<p>ということは、Papervision用のデータをここで修正して吐き出す、なんてことが普通に出来る訳ですかね？書き出し対応してるところを見ると大丈夫なんだろうけど。アニメ付きのデータはどうなるんだ？</p>
<p>なんだか3Dレンダリングエンジンが入ってるし、予想外だわこれ。またAdobe税だわこれ。レンダラは分離するのが定石なのに、いまさら感もあると言えばあるのだけれど…OpenGLで表示系を書き直した都合でいろいろ出来ちゃった、みたいな流れなのかもしれませんな。</p>
<p>でも、Photoshpに入れずに単独のアプリにしたほうが軽くて良かったのではと。バージョン上がる度にどんどんヘヴィになると、実務に皺が寄ってしまうのですよね。<br />
単純なお絵かきなら「<a href="http://systemax.jp/ja/sai/" target="_blank">Sai</a>」の方が軽くて使いやすいもんなあ…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahiru.org/archives/86/feed</wfw:commentRss>
		</item>
		<item>
		<title>Pixel Bender で2値化 して lineTo で描いた線のアンチエイリアスを切る</title>
		<link>http://www.ahiru.org/archives/58</link>
		<comments>http://www.ahiru.org/archives/58#comments</comments>
		<pubDate>Fri, 31 Oct 2008 19:13:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Actionscript]]></category>

		<category><![CDATA[Pixel Bender]]></category>

		<guid isPermaLink="false">http://www.ahiru.org/?p=58</guid>
		<description><![CDATA[Spark勉強会で gunyarapaint を発表していたグニャラくんが、lineToで描いた線のアンチエイリアスを切りたいと言ってたので諸々試してみたよ。


その１：PixelBender 使ってみる
速度を稼ぎたいので、試しにPixelBenderのフィルタを描いてみることにした。2値化すりゃいいんだから、グレースケールの値をroundしてやればええやんとか適当に考えてみたのだが…
…文法サッパリわかんねーーーナニコレ。
とりあえずグレーにするところは、Mike Chambers 殿のコレなどを参考に、こんなふうに書いてみた。丸めるには閾値を引数にして step っていうのを使うんやね。


&#60;languageVersion : 1.0;&#62;

kernel Digitize

{
    parameter float threshold&#60;
        minValue:       float(0.0);
        maxValue:       float(1.0);
        defaultValue: [...]]]></description>
			<content:encoded><![CDATA[<p>Spark勉強会で gunyarapaint を発表していた<a href="http://d.hatena.ne.jp/tasukuchan/" target="_blank">グニャラくん</a>が、lineToで描いた線のアンチエイリアスを切りたいと言ってたので諸々試してみたよ。<br />
<span id="more-58"></span><br />
<br />
<strong>その１：PixelBender 使ってみる</strong></p>
<p>速度を稼ぎたいので、試しにPixelBenderのフィルタを描いてみることにした。2値化すりゃいいんだから、グレースケールの値をroundしてやればええやんとか適当に考えてみたのだが…</p>
<p>…文法サッパリわかんねーーーナニコレ。</p>
<p>とりあえずグレーにするところは、Mike Chambers 殿の<a href="http://www.mikechambers.com/blog/2008/09/18/pixel-bender-grayscale-filter/" target="_blank"><strong>コレ</strong></a>などを参考に、こんなふうに書いてみた。丸めるには閾値を引数にして step っていうのを使うんやね。</p>
<pre name="code" class="c">

&lt;languageVersion : 1.0;&gt;

kernel Digitize

{
    parameter float threshold&lt;
        minValue:       float(0.0);
        maxValue:       float(1.0);
        defaultValue:   float(0.5);
        description:    &quot;threshold&quot;;
    &gt;;

    input image4 src;
    output pixel4 dst;

    void
    evaluatePixel()
    {
        dst = sampleNearest(src,outCoord());
        float avg = step(0.2125 * dst.r + 0.7154 * dst.g + 0.0721 * dst.b, threshold);
        dst = float4(avg, avg, avg, dst.a);
    }
}
</pre>
<p>なんかそれっぽい絵ができた。<br />
<a href="http://www.ahiru.org/wp-content/pb_view.jpg"><img src="http://www.ahiru.org/wp-content/pb_view-300x255.jpg" alt="" title="Pixel Bender Sample" width="300" height="255" class="alignnone size-medium wp-image-84" /></a><br />
600fpsてナニソレ…爆速。ASじゃ絶対にそんな素振り見せないくせに。<br />
　<br />
　<br />
<strong>その2：フィルタとして使ってみる</strong></p>
<p>じゃこれをAS3で読み込んでフィルタとして使う。<br />
Loader動かすのダルいので、直接埋めて使う事に。<br />
出来上がったのが<a href="http://www.ahiru.org/works/pixelBenderDrawing/" target="_blank"><strong>コレ</strong></a>。<br />
軽いやん。</p>
<pre name="code" class="as3">

package {
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Shader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.filters.ShaderFilter;
	import flash.utils.ByteArray;

	public class PixelBenderSample extends Sprite
	{
		//PixelBenderフィルタを埋め込み
		[Embed(&quot;Digitize.pbj&quot;, mimeType=&quot;application/octet-stream&quot;)]
		private var DigitizeFilter:Class;	

		//焼き込み用のビットマップ
		private var _bg:Bitmap;

		//線を描画するキャンバス
		private var _lineCanvas:Sprite;
		private var _tempBitmap:BitmapData;

		public function PixelBenderSample()
		{
			this.addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage);

			_tempBitmap = new BitmapData(500,500);
			_bg = new Bitmap(_tempBitmap);
			addChild(_bg);

			_lineCanvas = new Sprite();
			_lineCanvas.cacheAsBitmap = true;
			addChild(_lineCanvas);

			//Shaderを設定
			var shader:Shader = new Shader(new DigitizeFilter() as ByteArray);

			shader.data.threshold.value = [0.5];
			var filter:ShaderFilter = new ShaderFilter(shader);

			//フィルタをかける
			_bg.filters = [filter];

		}

		//マウスのイベント処理
		private function _onAddedToStage(e:Event):void{
			this.stage.addEventListener(MouseEvent.MOUSE_DOWN, _onMouseDown);
			this.stage.addEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
		}

		private function _onMouseDown(e:MouseEvent):void{
			_lineCanvas.graphics.lineStyle(5, 0);
			_lineCanvas.graphics.moveTo(this.mouseX, this.mouseY);
			this.stage.addEventListener(MouseEvent.MOUSE_MOVE, _onMouseMove);
		}

		private function _onMouseUp(e:MouseEvent):void{
			this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, _onMouseMove);
			_tempBitmap.draw(_lineCanvas);
			_lineCanvas.graphics.clear();
		}

		private function _onMouseMove(e:MouseEvent):void{
			_lineCanvas.graphics.lineTo(this.mouseX, this.mouseY);
		}
	}
}
</pre>
<p>塗りを簡単にするために試したものの、ちゃんとPixelBender使ってやれば、そっちで塗りの処理ができるような…(笑<br />
まあええか。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ahiru.org/archives/58/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
