Beyond Interaction ―メディアアートのためのopenFrameworksプログラミング入門
2010/03/30 21:50 - Flash参考書
趣味の日曜スクリプターな私は、メディアアートもどきのプログラム作品を作っていきたいと考えています。
ぶっちゃけ道具は ActionScript でなくても良いんです。
今回のエントリーは、先般発売された C++ でメディアアート指向の作品を簡単に作るためのフレームワークである「openFrameworks」についての解説書「Beyond Interaction ―メディアアートのためのopenFrameworksプログラミング入門」をちょこっと試してみた雑感。
まずは苦言から。
ダウンロードしてきたサンプルプログラムがコンパイルできないって、一体どういうことですか?
この書籍は openFrameworks の日本で最初の書籍、つまりこれから日本で openFrameworks を普及させようという志の元に出版された伝道の第一歩なんじゃないんですか?
大切なキックオフイベントなら慎重の上にも慎重を期すべきであって、ユーザがダウンロードするサンプルがコードミスでコンパイルできない、なんて状況はあってはならないことですよ?
以下のサンプルがコンパイルできませんでした。
- 2-9_C 理由:testApp.cpp の末尾に余計な "," があるため
- 3-3_A 理由:ofBlob.h の #endif が抜けているため
- 3-4_D 理由:src フォルダに main.cpp しか存在しないため
- 3-4_E 理由:src フォルダに main.cpp しか存在しないため
2-9_C、3-3_A は単純なコードミス。
3-4_D、3-4_E は 3-4_F までの3つで一組のウェブカムを使ったサンプルで、前のコードに新たなコードをアペンドすることで徐々に複雑な処理をおこなうものだったので、おそらく 3-4_D → 3-4_E → 3-4_F の過程で testApp.h と testApp.cpp をコピーではなくて移動してしまったんじゃないかと推測します。
ただ、いずれの事例も最終チェックでコンパイルすれば発見されるミスなんじゃないでしょうかねー?
それ以外に ofxBox2D 絡みで以下の5つがコンパイルできませんでした。
3-4_A、3-4_B、3-4_C、3-4_H、3-5_A
本の記載どおり google code から ofxBox2D を svn で取得して addons フォルダに配置したんですが、コンパイルエラーが発生します。 これについては私の設定が悪いのかもしれないので、どなたかご教示いただけたら幸い。
なお、3-4_A は ofxBox2dExample.vcproj がありません。 あと 3-4_H では src\ofxcontouranalysis\triangle\triangle_impl.hpp がありません。 これらは制作者側のミスですよね。
先だって、Twitter で第4章のサンプルが軒並みコンパイルできない、と書きましたが、これは解決しました。 各プロジェクトのフォルダは、apps フォルダの2階層下に配置しないとダメなことが判明。
FlashDevelop で言えば以下のような感じでしょうか。
プロジェクトが複数あって、そのすべてのプロジェクトで同じ外部クラスを使う場合、すべてのプロジェクトファイルのフォルダに外部クラスをいちいちコピーするのではなく、外部クラスはどこか1箇所に置いといて、グローバルパスで設定する。 ただし、グローバルパスは FlashDevelop 自体の設定ファイルではなく、各プロジェクトの設定ファイルに記述される。
苦言はこの程度にして、openFrameworks をいじってみて感じたこと。
速いなー、実に速い。 さすがは C++、低レベル言語。ステキ。
常日頃 ActionScript で書いている人間としては、この処理速度はかなり魅力的。
あと、ActionScript だと面倒くさい、あるいは、(たぶん)できないことが、いとも簡単にできる、というのも心惹かれます。 音や動画の扱いがすっげー簡単。FP 10.1 でできるようになった波形とか、動画のシークとか。
またサンプルに面白いものがある。 一番最後のウェブカム使ったヤツ(「モーフィングのような鏡像」)は激萌え。こういうの作ってみたい! このサンプルだけでも買った甲斐ありマジで。
しかし ActionScript から openFrameworks(C++)に切り替えるかというと、その可能性はかなり低いですねー。
いきなりサンプルデータが不良品だったのはかなり大きな減点ポイントですが、そこは置いといて、一番大きな理由はコンパイルしてできるものが実行ファイルである、ということ。
Adobe FLASH PLATFORM CAMP Tokyo で fladdict さんがおっしゃっていたことを思い出してください。
iPhone アプリを作るうえで、他言語使用者に比べて、何が ActionScripter のアドバンテージになのか。
Flash ムービーはブラウザで閲覧ができる、つまり閲覧の敷居がとても低い。多くのユーザに触ってもらえる、それが強み、だと。
まぁ fladdict さんのコンテクストと私のコンテクストでは多少違うと思いますが、例えば openFrameworks で作品を作ったとして、それをどうやってネット上で発表したもんかと考えたとき。
EXE ファイルじゃダウンロードして実行してもらわなくちゃならないけど、それはセキュリティなどの理由でかなり敷居が高いことが容易に予想されます。
となると動画を撮ってそれを掲載することになるだろうと思うけど、そうするとインタラクティブが実体験できない。
そういうことを考えると、趣味でプログラムやってる人間としては、ブラウザ外を要求する環境は採用できないっす。
ブラウザ上で実行できる SWF は、気軽、手軽という意味では実に優れたフォーマットなんだなぁ、と改めて感じた次第。
で、とってつけたように結論。 今後のプログラムライフのインスピレーション元として良いとっかかりになったので(本だけじゃなくて oF のフォーラムとかも含めて)、この書籍を買って良かったと思います。