Thread(そうめん)× Away3D × Blenderで作成(僕がそうめんを使う理由的な)

August 22, 2008

Away3d
デモ表示

Away3DのColladaアニメーションと、先日参加した「そうめんワークショップ」のおさらいを兼ねて作成。

作る際に気がついたことなど次の順に書いときます。
1.Actionscript Thread Library(そうめん)
2.Away3D
3.Blender


Actionscript Thread Library(そうめん)
使ってみて感じたこと。

1.addEventListenerぜんぜん使わなくなった
具体的には1箇所だけ使った(スレッドの構成ちゃんとすればなくすこと可能)。

2.順序だててプログラミングできる
addEventListenerを使うと、ハンドラメソッドに飛んで、そこからつぎに飛んで、、、という感じにあっち行ってこっち行って、となり、そのうち頭もこんがらがっていく。
スレッド使うと、メインの処理にスレッドをだーっと並べておけば、それが処理の流れそのものになり、順序だててプログラミングするのが楽でした。

3.あとからソースをみたときにわかりやすい
2で述べたように処理の流れはスレッドの順序を見ればわかり、その内容は個々のスレッドクラスを見ればわかる。というわけで、わかりやすい。

4.わりととりかえしがつく
(遠い目をしながら)addEventListener時代はイベントの順序を変えたくなったときに、手間がかかった。
「そうめん」使えば、スレッドの順序をかえてやるだけでいい。
スレッドを順番に処理してくれるシリアルエグゼキュータ(SerialExecutor)を使っていれば、なお簡単。
次のソースだとaddThreadした順番に処理が行われるので、addThreadする順番を変えてやればいい。

var serialExec:SerialExecutor = new SerialExecutor();
serialExec.addThread(initThread);
serialExec.addThread(loaderThread);
serialExec.addThread(loadedThread);
serialExec.addThread(displayThread);
serialExec.addThread(away3dControlThread);
serialExec.start();

些細かもしれないけれど、おっ、これいいじゃんという使い道。

ローディング表示で、100%になったら「complete !」と出して、しばらくしてからそれを削除して、コンテンツを表示する場合。

次のように書くと、2秒たってからその次の処理に行く。そこでremoveChild。
これまではタイマー使ってとかしてました。

loading.gotoAndPlay("complete");
sleep(2 * 1000);

そうめんワークショップの懇親会で、Beintaractive !様とProgressionとの併用についてちらっと話したところ、「個々のページクラス内でスレッド使うといいかも」と言っていたけれど、確かに。


Away3Dの話
今回、rev.612で作成。
rev.613以降だとオブジェクトがそもそも表示されないという事態に(れいによってBlenderから書き出したdaeの問題だと思いますが)。

また、rev.612で次のようにColladaにマテリアルセットしたところ、うまく反映せず(前はうまくいった気がした)。

_loader = Collada.load("./dae/people.dae",{material:new MovieMaterial(material)});


Blenderの話
note.x様も書いている通り、アニメーション付きdaeを作成する際、注意することがある。

今回はそのうちのふたつを反映しています(時が解決してくれるのかな)。
1.ルートボーンを二つにする
2.ボーン名にドットが含まれないようにする(Arm.RならArm_Rにしとく)


それぞれ入手先
Actionscript Thread Library(そうめん)
Away3D
Blender


最後に
「そうめんワークショップ」行ってよかったと実感。
開発者の口から開発者の言葉で話を聞くことで、ドキュメントの裏側に触れられる気がする。
9月4日のProgressionイベントも行きたいところ。

さとなお.comに次の一文がある。
「社外の人間と飲め。社内の人間とばかり飲んでるヤツはバカと思え」
世に広めたい言葉だと思った。

僕はと言うと、今年後半戦、勉強会やワークショップは都合つく限り行きたい。

カテゴリー: 


タグ: 


Posted by scratchbrain at August 22, 2008 7:59 PM ブックマークに追加する

Trackback

Trackback URL for this entry:

Post a Comment


検索

このブログを検索

サイトコンセプト

レディオヘッド、Flash・ActionScript 3.0、Processing、アートに関すること。日記・雑感、読書感想など。
[SCRATCHBRAIN プロフィール]
[プロジェクト]
[Artwork 2002-2005]
[Twitter]

リンク

  • scratchbrain.netホーム
  • scratchbrainプロフィール
  • 洋楽ブックマーク
  • こんなライヴに行きました
  • レシピ紹介
  • バルセロナ観光ガイド

広告

おすすめ

最近のエントリー

カテゴリー

タグクラウド

全てのエントリー一覧

RSSフィード

月別アーカイブ

powered by Movable Type

hosted by