‘Flash’ カテゴリーのアーカイブ

FaceTracker Sketch

2014.03.10 06:45 PM

daijima.jp | Profile

OpenCVを活用して人の顔を認識するFaceTrackerですが、今ではopenFrameworksやFlash/Adobe AIR、Javascript、pythonなど色んな言語・環境で使えるように移植されてきていますね。
今回はFlashで使用可能なライブラリ、Beyond Reality FACEを使って私個人のプロフィールページのプロフィール画像をインタラクティブにしてみました。Webカメラをお持ちの方はぜひ遊んでみてください。

FaceTracker
http://jsaragih.org/

・openFrameworksでFace Tracking
kylemcdonald / ofxFaceTracker

・Flash / Adobe AIRでFace Tracking
Tastenkunst / Beyond Reality FACE

・JavascriptでFace Tracking
auduno / clmtrackr

・pythonでFace Tracking
amitibo / pyfacetrackeraq

BVH File Sketch

2014.01.06 09:33 PM

daijima.jp Lab | BVH File Sketch

昨年のクリスマスに行ったPerfumeのドームコンサートと大晦日の紅白がすごく良かった。
この期に及んでPerfumeファンになったので、以前作ったドブえもんのPerfumeダンスを晒してみよう。
その名もDobume。
※骨格がありえない曲がり方をしたり、腕が体にめり込んだりするのはご愛敬。
※Dobumeはノッチのパートを踊っています。

少し古いネタですが「Perfume global site project #001」からモーションキャプチャーデータを拝借しました。
http://www.perfume-global.com

Stage3DコンテンツをAIR3.2で書き出す時に出るエラーの対処法

2012.11.20 07:16 PM

Stage3DコンテンツをAIR3.2で書き出す時にいくつかエラーが出たのでその対処法をメモっておく。

Errorその1

Error #2044: Unhandled ErrorEvent:. text=Error #3702: Context3D not available.

↓解決策
描画モードに direct を指定する

Errorその2

Error #3709: The depthAndStencil flag in the application descriptor must match the enableDepthAndStencil Boolean passed to configureBackBuffer on the Context3D object

↓解決策
深度バッファやステンシルバッファを使用するかどうかをdepthAndStencilタグで設定する。デフォルト値は false。2Dコンテンツでは、本当に必要な場合を除きfalseのままにしておくのがお勧めらしい。

以下のAdobe上条さんの記事が詳しいです。
AIR 3.2 でデバイス向け Stage3D コンテンツを作成するときの注意点

インバースキネマティクス

2011.09.20 02:57 PM

インバースキネマティクスの習作。

ドブえもんによるエクトプラズム曲芸。
こんな風に自分のエクトプラズムを自在に操って曲芸してみたい。
ボールをドラッグできますのでドブえもんのエクトプラズムと思う存分戯れてみてください!

Dobuemon’s Ectoplasm – wonderfl build flash online

Away3D3.6

2011.09.15 04:24 PM

Away3D4.0の開発が絶賛進んでるけど、FlashPlayer10対応のAway3D3.6を一足遅れていじってみた。

日本有数の心霊スポット、その名はドブえもんトンネル。
ずーーーっと見てると気分を悪くする場合がありますのでくれぐれもご注意ください。
当方では責任を負いかねます。

Dobuemon Tunnel – wonderfl build flash online

Blenderでモデリングしたデータにメッシュアニメーションをつけてみた。

2010.11.30 01:37 PM

以前作ったこれにメッシュアニメーションをつけてみた。せっかくなので音に合わせてダンスさせてみた。(ダンスというよりただの顔芸。)

Dancing Dobuemon – wonderfl build flash online

実装の流れは、メッシュアニメーション作成→メッシュデータをmd2形式で出力→md2をAway3DLiteで読み込んで表示。

Blenderでモデリング

2010.10.28 03:26 PM

Blenderでモデリングの練習。
Twiiterアイコンとして使わせてもらっているドブえもんを3D化してみた。

Dobuemon ~With Suneo’s Theme~ – wonderfl build flash online

わりとキモいです。ごめんなさい。
ついでにスネオのテーマを添えてみました。

3Dソフトの扱いはド素人かつ完全に我流。とはいえ、俺、モデリング下手くそ。
自分を戒めて今後頑張る意味で晒してみる。
モデリング自体はとても楽しい作業なので、三日坊主にせず、今後も時間を見つけて続けていきたい。なので、ざっくりとした目標をたててみる。半年後にこれを見て、クオリティのひどさに顔を赤らめるくらいのスキルアップはしたいところ。(現時点でも十分恥ずかしさはありますが。。)

あとは、メッシュをいじってフェイスアニメーションを入れたかったんだけど、ColladaにうまくExportできなかったので、あとでやる気が出たら、Pythonなどいじったりして頑張ってみる。

Google Maps API For Flash

2010.07.30 07:37 PM

先日、某案件でGoogle Maps API For Flashを使ってごにょごにょしたので、
自分なりに感じたことや注意点をメモっとく。

APIキーに関して

Google Maps APIを使用するには、ここでGoogle Maps API For Flashを使用するサイト(またはアプリ)のドメインを指定してAPIキーを取得する。
取得したAPIキーは、Flashで開発する場合は以下のようにASのコード内で指定する。

map.key = “取得したAPIキー”;

APIキーはSWFファイルにコンパイルされ、SWFファイルがホストされているドメインと一致する必要がある。
なので、開発環境、テスト環境、本番環境など、各環境でドメインが違う際には、予め各ドメインごとにAPIキーを取得しておいて、ドメイン判別してそれぞれにAPIキーを設定してあげる作りにしておくと良いかもしれない。

var _url:String = loaderInfo.url;
if(_url.indexOf(”honban.jp”) >= 0) map.key = “honban.jp用のAPIキー”;
else if(_url.indexOf(”test.com”) >= 0) map.key = “test.com用のAPIキー”;
else if(_url.indexOf(”dev.co.jp”) >= 0) map.key = “dev.co.jp用のAPIキー”;

(さらに…)

MacでFlex SDKを使用してswfをコンパイルする

2009.11.08 11:15 PM

MacでFlex SDKを使用してswfをコンパイルをすることは滅多にないけど、
いざやろうとする時、いつも忘れているので、一応メモっとく。

例えばHOMEディレクトリ/Works/にあるMain.asをコンパイルする場合。
1.ターミナルを起動。
2.ディレクトリをHOMEディレクトリ/Works/に移動 (cd ~/Works/と入力してreturn)。
3.mxmlcキーワードに続いてコンパイルしたいファイルを指定 (mxmlc Main.asと入力してreturn)。

以上。

Pixel Benderメモ

2009.10.05 10:05 PM

Flash Player 10でサポートされているカスタムフィルタ(ピクセルシェーダ)を作成できるツール、Pixel Bender Toolkitのメモ。

Pixel Benderは、Adobe Flash Player 10、Adobe After Effects等がサポートするグラフィックス処理エンジン。
Pixel Benderの言語は、3Dレンダリングピクセル描画処理の最適化に用いられる、フラグメントシェーダ言語(GLSL:OpenGL Shading Languageなど)に基づいて開発されているとのこと。Flash Playerでは、このPixel Benderのプログラムを利用してフィルタやブレンド、面または線の塗りを独自に作成することができる。

Pixel Bender Toolkitで新規Filterファイルを作成すると、以下のようなデフォルトのソースが生成される。

以下、ざっくりメモ。
・Parameterを定義すると、実行したときにツールの右側エリアにスライダーが表示されて動的にパラメータを変更できるようになる。
・inputは入力画像を宣言するキーワード。
・outputは出力するピクセル色を宣言するキーワード。
・実際のシェーダーの処理はevaluatePixelメソッド内に記述。このメソッドで指定した処理が、
描画領域の全ピクセルに対して実行される仕組みになっている。
・outCoordメソッド : 処理中のピクセルのグローバル座標を返す。
・sampleNearestメソッド : サンプリングメソッド。入力画像の所定の座標に最も近いピクセルのチャンネル値が含まれたベクトルを返す。戻り値はfloat4型で、それぞれrgbaにてアクセスできる。第一引数に入力画像、第二引数で位置を指定。戻ってきた値をoutput変数に割り当てるのが一般的な処理の流れ。
・distanceメソッド: 2点間の距離を算出。
・float3x3型は行列データ型。asのMatrixクラスみたいなもの。
・Flashで使用する場合、ループ処理、配列、カスタム関数は使用できない。
・浮動小数点数を記述する際には、必ず小数点まで記述しなければならない。
・Flashで使用するには、.pbjという形式のバイトコードデータとして書き出してFlashで読み込むもしくは埋め込む。
・どうやらFlash Player 10ではまだGPU機能が有効になってない模様。なんじゃそれって感じ。早く対応してほしい。

Flashでのクロスドメインに関して

2009.09.25 01:04 PM

久々にクロスドメインになりそうなFlash案件があったのだが、
そういえばFlash Player 10になって、セキュリティの扱いに変更があったことを思い出したので調べてみた。
いくつか有効な手段があった。ので備忘録的メモ。

Flash Player 10 におけるセキュリティ変更はakihiro kamijo: Flash Player 10 におけるセキュリティ変更を参照。

要は、クロスドメイン間のデータのやりとりをしたければ、
参照される側のサーバールートにポリシーファイル(crossdomain.xml)を設置し、
ポリシーファイル内で、メタポリシーを設定してくれっていう内容。

サーバーのルートに、ポリシーファイルの設置が可能であれば、特に問題はないのだが、
共有サーバーなどを使用しているケースでは、
基本的にはサーバーのルートにポリシーファイルを設置できないことが多い。
実際にこの問題に直面している記事があったので、以下参照。
RIAトピック: 【trick7】crossdomain.xml 格納場所を変更しても外部ドメインのルートからも呼び出そうとする問題

で、この問題の有効な対処法が以下。
FLASH-japan: サイトルートにポリシーファイルを置けない環境下でのクロスドメイン運用について

上記の記事はHTTPヘッダーを使って解決するという方法。

別ドメインからのアクセスを許可するファイルと同じ階層かそれ以上のディレクトリに、ポリシーファイルを設置。
Flash側では、loadPolicyFileメソッドで、設置したポリシーファイルを予め読み込んでおく。

Security.loadPolicyFile(“http://www.hoge.com/hoge/hoge/crossdomain.xml”);

さらに、ポリシーファイルと同じディレクトリにHTTPヘッダーを設定した.htaccessを設置。
こうすることでサーパーのルートにあるはずのポリシーファイルよりも、
.htaccessと同じディレクトリにあるポリシーファイルの読み込みが優先されるので、
サーパーのルートのポリシーファイルを読みにいかなくなり、セキュリティエラーが出なくなるということのようだ。
gaienboy様、ありがとうございます。

 

上記のようにサーバーにポリシーファイルが置ける場合はいいとして、
ポリシーファイルを絶対に設置できない場合はどう対処したらいいだろうか?
例えば外部のWebAPIサービスを利用する際などは、ポリシーファイルを設置していないサービスも多い。
こういったケースでは、Flashからの(ActionScriptからの)外部APIへのアクセスができない。

このケースでの有効な対処法がこれ↓
YOPPA BLOG: Flash(AS3)でcrossdomain.xml無しにクロスドメインにアクセスする

要は、PHPでProxyを設定して、Proxy経由で外部APIから情報を引っ張ってくるという方法。
この方法を用いれば、ポリシーファイルを設置していないサービスでも情報を引っ張ってこれる。
YOPPA BLOG様、あざーす!