『 そろそろWebGLを・・・ 』

2012 年 1 月 19 日

そろそろWebGLでもやっておかないと食いっぱぐれるかなあ。
というわけで、

» WebGL Chaser (Google Chrome推奨)

マウスドラッグで視点切り替え、スペースキーでレンダリングモード切り替え。

WebGLといっても、mr.doob先生のThree.js経由です。ついでに、Three.jsを誰でも簡単に始められるようにテンプレートクラスを作っておきました。

» BasicView.js (GitHub)
» BasicView Example

今年は色々な技術や感性を磨きつつ、それらを自分自身へ落とし込めるように頑張りますわー。

『 C++でAS3ライクにイベントを記述する JPPEvent 公開 』

2012 年 1 月 13 日

最近 openFrameworks をやっていて、C++のリハビリもかねてJPPEventというアドオン作りました。このアドオンを使うと、oF上でActionScript3.0的なイベントドリブンモデルを実現できます。

» JPPEvent (GitHub)

JPPEvent/srcディレクトリにパスを通してJPPEvent.hをインクルードすればすぐに使えます。

JPPEventはAS3でいうところのEventDispatcherクラスとEventlクラスを備えていて、そのままでも使えるのですが、各クラスを適宜継承することでイベントを発行可能なカスタムクラスや、用途に応じたカスタムイベントを作ることができます。いくつかサンプルを用意したので詳しくはexampleディレクトリをご覧ください。

ちなみにアドオンのコードはoFに依存していないので、実はoFじゃなくても普通に使えます。結構久々にC++を書いているのでバグがあるかも知れませんが、そのときは報告してもらえれば頑張ります。

追記 12.01.15 サンプルコードを修正しました
addEventListener時に無意味なキャストをしていたのでシンプルに使えるよう修正しました。

『 Web Designing に掲載していただきました 』

2011 年 12 月 24 日

現在発売中のWeb Designing(2012年1月号)にて、僕のインタビュー記事を掲載していただいています。「10人の新世代クリエイター!」という特集で、10人のU-30枠の一人として取り上げられており、どうやら相当恐れ多いことになっています。

記事中では、仕事やデザインに対する考え方について、クライアントワークや個人制作の事例を交えながらお話しさせていただいています。インタラクションをつくるということに対して、何か少しでも持って帰ってもらえると嬉しいなあと思っています。僕自身も、同世代の他の方の記事にかなり刺激を受けました。みなさん本当にすごい人ばかりです。

機会があれば手にとっていただけるとうれしいです。

(声をかけてくださったマイナビの毛利さん、A4Aの齋藤あきこさん、どうもありがとうございました)

『 Autodesk 123D Catch がすごい 』

2011 年 12 月 16 日

対象物が写った複数の画像をアップロードすると、サーバサイドで対象物を三次元復元し、3Dモデルデータをダウンロードできるアプリ『Autodesk 123D Catch』がすごいわけです。とりあえず、出力されたfbxファイルの頂点データをFlashでパースして某PV風なサウンドビジュアライズを速攻で作ってみました。

» Vertices From Autodesk 123D Catch

Continue Reading »

『 AIRKinect Extension (AIR + ANE + Kinect)を動かす 』

2011 年 11 月 16 日

AIRKinectを使えば、ActionScript Native Extensions(通称ANE)を経由して、AIRアプリからMicrosoftのKinectドライバを簡単に叩けるらしい。

ということでやってみた。

Continue Reading »

『 FlashPlayer11のサウンド新機能を試してみる 2 』

2011 年 10 月 16 日

前回、Sound.LoadPCMFromByteArrayを試してみたんで、ついでにSound.LoadCompressedDataFromByteArrayについてもやってみました。このメソッドではPCMデータではなく圧縮済みのmp3データそのものをSoundインスタンスに変換することができます。

» サンプル(要FlashPlayer11)
» ソース

こちらはうまくいくようです。SoundCompleteイベントも呼ばれているようです。再生完了時に約20ミリ秒ほど再生ヘッダが最後まで進まずに止まりますが、普通にサウンドを再生したときも同様の現象が起こったので多分こんなもんなのでしょう。

『 FlashPlayer11のサウンド新機能を試してみる 』

2011 年 10 月 14 日

ブログを書くのが久しぶり過ぎて、世の中ではすでにFlashPlayer11の話題で持ちきりのようで。

アップデートの目玉であるStage3Dに関してはいろんな人が取り上げているので、ちょっと地味なSoundの新機能をちょちょいと試してます。Sound.LoadPCMFromByteArrayを使えば、ByteArrayに格納されたPCMデータからSoundインスタンスを生成できるようになります。ごにょごにょ加工したByteArrayをSoundインスタンスに変換しておくことで、SampleDataEventでサウンドを動的に生成し続けなくても、同じ音であれば低コストで繰り返し再生できるようになりますね。

以下、SoundインスタンスからByteArrayにデータを抽出して、再びSoundインスタンスに変換し直しただけのサンプルです。クリックで再生します。音量注意。

» サンプル(要FlashPlayer11)
» ソース

見てもらえれば分かりますが、再生終了時の挙動が変です(FlashPlayer11.0.1.152現在)。ちょうど、SampleDataEventでサウンドを動的生成する場合における、最後の方のサンプルデータをずっと入れ続けたような状態でしょうか。調べてみるとSound.lengthが取れておらず0のままで、SoundChannel.positionがずっと進み続けています。SoundCompleteイベントも発行されません。

・・・もうちょっと待てば改善されるかな。それともやり方間違ってるのかな。

『 第一回東京ひよこの会に参加してきました 』

2011 年 3 月 7 日

久しぶりのブログ更新です。生きてます。

東京ひよこの会」なる勉強会に参加してきまして、そのとき発表したデモをアップしました。


 

SpriteやMovieClipのhitAreaというプロパティ自体は前々から知っていたのですが、うまく扱えないためこれまで避けていました。

Spriteを親SpriteのhitAreaとして設定した場合、hitAreaの兄弟Spriteにもボタンが反応してしまっていたのですが(デモ起動直後のbtn4の状態)、このたび会場にいらしていた野中先生のおかげでこの問題を無事解決することができました。

ボタン自体のmouseChildrenをfalseにするだけでした。hitAreaに設定されたSpriteはマウスイベントに関する扱いが少し特殊で、mouseEnabledやmouseChildrenをfalseに設定しても、hitAreaとして設定されているSpriteやMovieClipのヒット領域としての仕事は全うできるようです。言葉での説明が難しいのでデモを見てもらえば分かると思います。

こんな感じで皆それぞれが「今できること + 本当はこんな風にしたい」を持ちより共有してみんなで考える、というスタイルは有意義で、新しい発見もありとても為になりました。自分にとって「てらこ」がエッジな技能を披露する場であるのに対して、ひよこは理解度とスキルのベースアップの場という棲み分けなのかなぁ、という感触です。

皆さんもどんどん参加すればいいと思います。

『 Flash + OpenCV 』

2010 年 8 月 10 日

AIR2.0の新機能でOpenCVと連携してみました。AIRアプリを起動してTwitterID入力 → Webカメラを選択すると、カメラ映像から顔領域を検出してアイコンが顔を隠します。TwitterIDを空欄にすると笑い男が出現します。俺の目を盗みやがったなという具合に。

» OpenCVFaceDetection
» ソース一式

・Iキー ・・・ アイコンの表示/非表示を切り替えます。
・Rキー ・・・ 検出された全顔領域の表示/非表示を切り替えます。
Continue Reading »

『 ひとつのWebカメラを複数のアプリケーションから同時に使う 』

2010 年 8 月 7 日

最近OpenCVとFlashの連携というものを研究していて、例えばFlashがWebカメラにアクセスしているときにOpenCVが同じWebカメラにアクセスしちゃうと、デバイスがロックされているためにアプリケーションが落ちたりして\(^o^)/になるんですけど、それを解決してくれるソフトウェアがありました。

» WebCam Splitter ($19.95)

Continue Reading »

Next »