openFrameworksをはじめたい人

本記事の内容は「openFrameworksで創作したいけど導入方法が分からない」や「フォルダの中身や使い方が分からない」といった環境設定と導入の疑問に答える内容です。

環境/macOS Monterey Apple Silicon Mac

ーーーーー
本記事の内容
開発環境の設定
openFrameworks をダウンロード
openFrameworksのファイル構成と利用
openFrameworksでできること
新規プロジェクトを制作
Running on macOS for the first time? エラー
新規プロジェクファイルの内容
あとがき
ーーーー

openFrameworks とは。

openFrameworks は、C++で利用できるプログラムキットです。

プログラムで何かを作る際、1からコードを打っていくのはとても大変で時間と労力がかかります。

openFrameworks は、その名の通り「開かれたフレームワーク」として、汎用性のある再利用可能なプログラムを公開しており、それらを利用することで、自身が作りたいものに専念しプログラミングを行うことができます。

開発環境の設定

開発環境ではそれぞれのOSに合わせた“IDE”を利用します。

IDE(統合開発環境)とは、テキストエディタ、コンパイラ、リンカ、デバッガなど開発に必要なソフトウェアをひとつにまとめた開発環境のことです。これを利用することにより、開発環境の効率化を図ることができます。

筆者のOSはMacなので、IDEはopenFrameworksがオススメしている“Xcode”を利用し進めています。Windowsの場合は、Microsoftが開発しているVisual Studioを利用する人が多いようです。(Visual Studioはとても使いやすく、Macでも利用することが可能です。)

Visual Studio ダウンロードサイトへ

openFrameworks をダウンロード

openFrameworks は、使用するOS環境によってのバージョンがあります。使っているパソコンに合うファイルをダウンロードします。本記事はMacバーションです。

openFrameworks ダウンロードサイトへ

執筆時(2022年5月)のバージョンは0.11.2、本記事更新時(2023年9月)のバージョンは0.12.0です。

頻繁に新しいバージョンが更新されるのでopenFrameworks のSNS をフォローしておくと情報を得るのに便利です。

X : https://twitter.com/openframeworks
Github : https://github.com/openframeworks/openFrameworks

zipファイル(of_v0.12.0_**.zip)をダウンロードしたら、バージョンを管理しやすい任意の場所へファイルを移動し解凍します。

私は書類フォルダに“openFrameworks”という名前のフォルダを制作し、アップデートされるたびに追加して管理しています。

openFrameworksのファイル構成と利用

zip解凍後、フォルダの中に複数のフォルダが入っています。リストは下記通り。

・addons/機能拡張
・apps/制作したものを保存する場所
・docs/ドキュメント(書類)
・examples/使用サンプル
・libs/openFrameworksの機能ライブラリー
・other/その他
・projectGenerator/新規で制作するためのジェネレータ
・script/スクリプト・テンプレート

利用方法は、projectGeneratorを使って新規でファイルを制作し、必要なライブラリー使いながらプログラムを制作します。保存は、appsフォルダにて管理します。

appsフォルダにmyApps/emptyExampleというサンプルフォルダがあります。後ほどでも良いので、プログラム制作を進めていく上で、どのファイルがどこに格納されているのか、その構造を確認しておくと良いと思います。

openFrameworksでできること

解凍したフォルダの中に“examplesフォルダ”があります、その中にopenFrameworksで利用できるライブラリーのサンプルが入っています。

examplesの中にはフォルダ名にある通り、3D・commuication(通信)・イベント(何らかのアクションを取り入れる)・グラフィック・イン/アウト・文字列(String)・Sound・Videoなど、汎用性のあるさまざまなプログラムの例が確認できます。気になるものを一通り開いて見て実行してみましょう。

新規プロジェクトを制作

新規プロジェクトを開始します。新規プロジェクトを制作するには“projectGenerator”アプリケーションを利用します。projectGeneratorは解凍したフォルダリストの中にprojectGeneratorというフォルダがありその中にprojectGeneratorアプリケーションが入っています。

projectGeneratorは、プログラム制作にて必要なファイルやアドオンをまとめる事ができます。

以前は利用するaddons(機能拡張)を手動で必要なフォルダに移動する必要がありましたが、projectGeneratorアプリケーションにて自動でフォルダに追加してくれます。

※ projectGeneratorをmacOSで開くと、セキュリテーの面から、first time?と聞かれるエラーが発生する場合があります。このエラー対処方法は後ほど記載しています。

projectGeneratorを開くとポップアップが表示されます。

各項目は以下の通りです。

Project name: →任意で制作するプロジェクト名を記載します。

Project path: →保存先を指定します。(デフォルトではapps/myApps内になります。)

Addons: →必要があれば選択して追加します。

最後に一番下の“Geneate”をクリック。Success! と表示されファイルが作成されるます。

Running on macOS for the first time? エラー

openFrameworksは、さまざまなファイルを組み合わせながら使用するのでファイルの位置関係はとても重要になっていきます。所謂、ファイルがどこにあるのかルートを教えるパスを通すことが重要です。

macOSの場合、projectGeneratorを初めて利用する時、projectGeneratorに先ほど解凍したaddons(アドオン)lib(ライブラリー)の場所を示すため、ひとつ上の階層フォルダ“of_v0.11.2_osx_release”へパスを通す必要があります。

このような、first time エラー だけでなくても、of_v0.11.2_osx_releaseのフォルダ位置を変えると、openFrameworks path is wrong とエラーが出るので、利用する際はなるべくファイル位置をしないようにしましょう。

【 pathエラー対処 】

一旦、projectGeneratorを閉じ、projectGeneratorアプリケーションを右クリックし、プルダウンメニューからパッケージ内容を表示を選択します。

Contents/Resources/app/とフォルダを開いていき、appフォルダ内の“settings.json”ファイルを開きます。

ファイルの中の“defaultOfPath”: “../”という箇所に“of_v0.11.2_osx_releaseのパス名”を指定し保存します。

パス名の取得方法は、of_v0.11.2_osx_releaseフォルダを右クリックしプルダウンメニューを表示させます。optionキーを押すと先ほどのプルダウンメニュー内容が少し変わり、“of_v0.11.2_osx_releaseのパス名をコピー”と表示されるので選択コピーし、先ほどの“defaultOfPath”: 以下の ” ” 内にペーストし保存します。

修正を終え、再度 projectGeneratorアプリケーションを開くと利用できます。

新規プロジェクファイルの内容

新規プロジェクトを制作するとさまざまなファイルが生成されますが、主にコードを書き進めていくのは、srcフォルダ内にあるmain.cppofApp.hofApp.cppの3つのファイルを利用します。

main.cpp / ウィンドウサイズやヘッダーなどを読み込みなど、プロジェクトファイル群の大枠を管理します。

ofApp.h /ofApp.cppで利用するファンクション(関数)やクラスなどをまとめて設定・管理します。

ofApp.cpp / setupやupdate,drawなどの中に主なプログラムを書き込んでいきます。

Recommends

openFrameworksのオススメ書籍には、

Beyond Interaction[改訂第3版]
クリエイティブ・コーディングのためのopenFrameworks実践ガイド

著者はyoppa orgの田所先生。本当に多くの方がお世話になっているではないかと思います。

beyond-interaction-image

ーーーーー
初版/ 2020.10.14
ページ数/280ページ
出版社/ビー・エヌ・エヌ新社
言語/日本語

ーーーーー

Recommends on Amazon

Amazonのbarbe_generative_diary ページにて、使用している道具や機材、本棚にあるアートに関連する本などをまとめています。