こちらのサイトを見ましょう。
SatE-O
非常に詳しく問題点と解決方法が書かれてます。
喜ばしいことなのですが、openFrameWorksの検索が増えてるみたいです。
以前書いた内容がヒットしてるのかどうかは不明ですが、別サイトも作ったのでそちらにも導入方法などを書こうと思います。
MAC環境の方が多いみたいなので、私の環境を書いておきます。
windows7 32bits
VC++2008 EXP(無料版)
visual studio 2008 FAT release v0.061
今後 iMACを買うかも知れません。
openFrameWorksをコアに使っていく上ではMACが都合が良いようです、addonなどMACだと何も考えなくても動く場合が多いようなので。
openFrameWorksのofxBox2Dでちょっと遊んでみました、ペンギンを物理処理。
たくさんにするとPCの処理速度がものすごくあがってしまいます、CPU使用率80%ほど。
ノートだからかなぁ?
サンプルのままですが、簡単にこんな感じになりますよ^^
一部ソースコードをプチピィーズにあっぷしました、こちらだと狭いのででっかくしたい物はそっちへ移動ですが、本家で書いてプチで表示みたいにして行くつもりです。
Beyond Interaction ―メディアアートのためのopenFrameworksプログラミング入門 (書籍)もやっと届いたことだしopenFrameWorksのaddonsを試してみました。
書籍ではwindowsでの開発環境はどちらかというとメインではなく基本的に説明などはMACがメイン、書籍のコードはダウンロード可能ですが、プロジェクトが間違えていたりと色々と問題あります。
書籍のなかのofxBox2Dを動かしてみようと思ったら、サンプルには何の問題もないのだけれどaddonsがビルドエラー。
どうやら、VC系では出来ない書き方の配列の要素数に変数を指定できる部分がC2057エラー。
適当に定数を入れても、とりあえずビルドは通りますが、出来れば要素数に応じて newで動的に取得 してしまいましょう。
たとえば↓
Class* pAAA = new Class[要素数];
if( pAAA == NULL ) {
//メモリ取得に失敗しました
return false;
}
return時には削除は忘れるとメモリリークします。
return の前あたりに、 delete[] pAAA;
これでサンプルが動きました~。
プロジェクトも新規で作る方法なども今度書いてみます。(基本コピペで問題なしで、追加したaddonsだけ入れていく感じ、インクルードの設定も忘れてはいけません。)
とりあえず、ofxBox2DとofxSimpleGuiのサンプルを動かせました。ofxSimpleGuiは、登録するだけではビルドエラ-、今度は戻り値が指定されていない関数があるみたいだったけど、おそらく return *this; で良いのではーっと勝手に解釈して追加。一応動いてます@@;
ofxBox2Dはこんなのです^^
2Dでの物理演算をやってくれます、楽だ。
そのうちペンギンでやってみます^^(見た目を変更するだけという簡単なもの)
動画が小さくてごめんなさい、of unofficialのサンプルに貼ってあります。un official ofxBox2D
Mounds from Todd vanderlin on Vimeo.
書籍 openFrameworks jpabout download welcome Beyond Interaction ―メディ
アアートのためのopenFrameworksプログラミング入門の発売をきっかけに日本で
の普及と情報交換を目指してサイトopenFrameworks.jp がたちあがったようです。
wikiなどではないので自由に書き込めませんが、今後サンプルなどたくさん公開されそうな気配なので楽しみです。
それつながりで、ソフトウェア&バイオアートワークショップ (SBAW)に
openFreamworksの使い方などが、授業で使われているだけあってスライドがわか
りやすく、サンプルも余分な部分がないのでとても見やすいです。
いま色々といじっているので、楽しみです。
たまたま検索していたら出てきたので紹介しておきます。
といっても内容は全くの未定、目次も調べましたが内容については書かれていないのでどんな物なのかは不明です。
注文したので近いうちに詳細を書いてみます^^
Beyond Interaction ―メディアアートのためのopenFrameworksプログラミング入門
by G-Tools
追記:
書いている方だと思われるURLを参考までに。
入門書とのことなのでプログラミング言語C++の書き方などにはページを割いて欲しくないです、入門だから読みたい人もいるのかも知れませんが、openFreamWorksの本は少ないけれどC++の良本はたくさんあるのでそう思ってしまいます。
下記のリンクは推測ですので、違う人だったらごめんなさい。
目次からインタビューを受けている皆さんの紹介記事など
さらに追記:
目次が追加されていましたので書いておきます。
BNNの書籍紹介
目次を見た感じ、第4章 openFrameworksプログラミング実践編 が気になります。
目次は、BNNの書籍紹介ページから引用
目次:
はじめに
welcome:Zachary Lieberman
制作環境について/ダウンロードデータについて第1章 openFrameworks入門
1-1 openFrameworksについて
1-1-1 openFrameworksって何?
1-1-2 openFrameworks開発の歴史
1-1-3 「糊(glue)」としてのopenFrameworks
1-1-4 openFrameworksの特徴—既存のインタラクションを超えて
1-2 作例とコミュニティ
1-2-1 openFrameworksを使用した作品例
1-2-2 openFrameworks情報の入手
1-3 プログラムの入手とインストール
1-3-1 openFrameworks開発のための環境設定
1-3-2 openFrameworksのダウンロード
1-3-3 Xcodeテンプレートの入手
1-3-4 openFrameworksのファイル構成
1-4 サンプルプログラムの起動
1-4-1 サンプルプログラムを起動してみるInterview 01:The Graffiti Research Lab(G.R.L.)
第2章 openFrameworksプログラミング初級編
2-1 openFrameworksプログラミングを始めよう
2-1-1 この章の流れ
2-2 図形を描く
2-2-1 座標系について
2-2-2 新規プロジェクトを作成する
2-2-3 関数—処理をまとめる
2-2-4 直線を描く—ofLine
2-2-4 四角形を描く—ofRect
2-2-5 円、楕円を描く—ofCircle、ofEllipse
2-2-6 三角形を描く—ofTriangle
2-3 色の設定
2-3-1 コンピュータ上での色の表現
2-3-2 背景色と描画色
2-3-3 色を塗り分ける
2-3-4 透明度の付加
2-4 数値の記憶と計算
2-4-1 数値の計算
2-4-2 変数について
2-4-3 変数を使って図形を描く
2-4-4 画面の幅と高さを取得
2-5 たくさんの図形を一気に描く
2-5-1 繰り返し—for文
2-5-2 規則的に配置する—カウンタ変数を利用した演算
2-5-3 繰り返しを繰り返す
2-6 たくさんの値を記憶する—配列
2-6-1 配列の概念
2-6-2 繰り返しと配列の組み合わせ
2-6-3 乱数の使用
2-7 移動する—アニメーション
2-7-1 図形を移動する
2-7-2 アニメーションのプログラムの構造
2-7-3 物体を直線運動させる
2-8 条件分岐—「もし○○なら××せよ」
2-8-1 もし画面からはみ出たら反対から出現させよ
2-8-2 条件分岐の応用編—壁でバウンドさせる
2-9 たくさんの図形を移動する
2-9-1 たくさんの円を同時に動かす
2-9-2 配列を利用してたくさんの図形をまとめてコントロール
2-10 図形に触れる—インタラクション
2-10-1 インタラクションとは
2-10-2 マウスの位置の検知
2-10-3 マウスによるインタラクション
2-10-4 インタラクションとアニメーションを組み合わせる
2-11 より高度な表現へ
2-11-1 表現に現実味を持たせる
2-11-2 パーティクル—重力と摩擦力を導入
2-11-3 動きの軌跡をフェードInterview 02:真鍋 大度
第3章 openFrameworksプログラミング中級編
3-1 プロジェクトの構造をより深く理解する
3-1-1 openFrameworksのプロジェクト構造について
3-1-2 openFrameworksとC++の関係
3-1-3 オブジェクト指向プログラミングとは
3-1-4 オブジェクト=属性(プロパティ)+動作(メソッド)
3-1-5 クラス=オブジェクトの設計図
3-1-6 C++でのクラスの作成
3-1-7 ファイルを分割して管理する
3-1-8 UMLクラス図
3-1-9 クラスとしてtestAppを捉え直す
3-1-10 testAppはofBaseAppの子供
3-1-11 openFrameworksプロジェクト構造
3-2 いろいろなメディアを扱う
3-2-1 openFrameworksで扱うことのできるメディア
3-2-2 音を扱う:音とは何か
3-2-3 コンピュータで音を扱うには
3-2-4 波形の生成—ofSoundStream
3-2-5 サウンドの入力—ofSoundStream
3-2-6 サウンドファイルの再生—ofSoundPlayer
3-2-7 画像ファイルを扱う—ofImage
3-2-8 フォントデータを扱う—ofTrueTypeFont
3-2-9 動画の再生—ofVideoPlayer
3-2-10 動画のキャプチャ—ofVideoGrabber
3-3 OOOF:オブジェクト指向oFプログラミング
3-3-1 openFrameworksでオブジェクト指向プログラミング
3-3-2 新規クラスの生成
3-3-3 画面の中心に円を表示する—メソッドの追加 1
3-3-4 円の大きさと場所の初期値を指定する—コンストラクタの作成
3-3-5 円の大きさと場所の情報を取得、設定する—セッターとゲッター
3-3-6 円をアニメーションする—メソッドの追加 2
3-3-7 円が拡大縮小する動きを加える—メソッドの追加 3
3-3-8 画面をクリックすると、どんどん円が増殖する—複数のクラスの生成 1
3-3-9 円をクリックすると、細かな円に分裂する—複数のクラスの生成 2
3-4 アドオンの利用
3-4-1 アドオンとは
3-4-2 アドオンの使用 1—ofxBox2dを使う
3-4-3 アドオンの使用 2—ofxOpenCvを使用する
3-4-4 ofxBox2DとofxOpenCvを組み合せる
3-5 楽器を作る
3-5-1 ここまでの内容を統合する
3-5-2 楽器の構想
3-5-3 楽器の設計
3-5-4 プロジェクトの設計
3-5-5 実装
3-5-6 プロジェクト完成Interview 03:市川 創太
第4章 openFrameworksプログラミング実践編
4-1 プレイヤーの演奏にリアルタイムに反応するグラフィックス
4-2 被写体の軌跡をビジュアライズ
4-3 物理計算を使ったグラフィックス
4-4 モーフィングのような鏡像Text:計算によるデザイン(Design by Computations)—インタラクションを超えて
Appendix—Xcodeのテンプレートを使用せずにプロジェクトを作成する方法
Index
openFrameWorksで小さなオブジェ管理クラスを作成したので、早速遊んでみました。
本当は3Dにしたいところですが、openGLは初心者なのでとりあえずは2Dで色々図形をリアルタイムに書いてます。
動画にするソフトも良さそうなのを見つけたので、使ってみましたが、ノートPCだとスペックが足りないらしく19フレでしか録画できず;;
マウスカーソルがウィンドウの中を動いたら円が出ます、しばらくするとホワンと壊れていろんな形がでます、□+△○☆。
やばい、ここに動画をはるの向いてない^^
もっと大きく見たい人はクリックしてください。
大きく見られます。
Youtubeも初めて使ったのでちょっと手間取りましたね。
OpenFrameworks のセットアップです。
VC2008製品版をすでに持っていれば、殆ど問題なくいけるのですが、私はあいにくVC2005しかもってません、まもなく2010がリリース発表されるかも知れないのに、いまさらアップデートするのも悲しいので無料バージョンで行います。(機能比較したけれど私は製品でなくても十分だなって思いました、継続使用には登録は必要なのでユーザー登録だけしましょう)
VisualC++2008のwebインストールを選んで、ダウンロード&インストール
気が向いたらアマゾンで製品買おうと思います^^
OpenFrameworks そのものもダウンロード、
windowsのvisual studio 2008 FAT をダウンロードして解凍しましょう。
解凍するとフォルダ内に
apps\addonsExamples フォルダのopencvExampleを開いて、opencvExample.vcprojをダブルクリックしてビルドしましょう、これだけで動きます。
通常だとムービーでテストが行われちゃいますが、
testApp.hの#define _USE_LIVE_VIDEO をコメントアウトしてビルドすれば、WEBカメラモードになります。
ノートパソコンに内蔵されているカメラだと何もしなくても完全に動作しました、実は会社で外付けのカメラを使ったときは問題が出てしまいました、カメラを認識してるのに何も写らなかったので、ドライバかなとか色々やってみてもだめで、結局OpenFrameworksについているカメラのライブラリを更新すると直りました。
\libs\videoInput\のライブラリとヘッダを最新にしておくとカメラ関連のバグが直っていて、問題のあったカメラでも正常に動作するかも知れません。
New - videoInput0.1995 lib and src
念のためにダウンロードして、上書きしましょう。
解凍した\videoInput0.1995\compiledLib\compiledByVS2008
videoInput.libを
\libs\videoInput\libs内の同名のファイルに上書きして、同じくincludeフォルダも上書きでOK。
リビルドすれば良いです。
ちなみに、私が会社で使っていて問題のあったカメラは、Microsoft LifeCam NX-6000です、高いから楽できるとは限らない!から気をつけましょう^^;;そういえば、Processingでも同じ問題が出てた気がする?
昔だったら考えられない無料の環境で色々出来ちゃって幸せです。
ささ、簡単な遊びでもやってみよ。
簡単なプログラムですが、マウスカーソルの座標に円が広がるよくあるものです、こだわり出すときりがないというか^^シンプルなだけに表現するのが難しい、色をつけようか悩んだけど、それは後で。
なんかOpenFrameworks の綴り間違いがあったので修正しました。疲れてると駄目なのか英語が駄目なのか(笑)
日本語のリファレンスがありました、公式ではないようで少しバージョンも古いですが、問題ないかな。OpenFrameWorks 日本語のリファレンス