ofxGuiの拡張addonをつくったよ(ofxParamEdit)

—————————————————————————
(追記 – 20121224)

アップデートによってGithubのバージョンとこの記事の内容とに差異があります。
Githubの方のREADMEを参照ください。
—————————————————————————

ofxGuiという、超便利なaddonがあります。

この動画の画面左のやつです。

Eden 1.2 + ofxComposer + ofxGui from Patricio Gonzalez Vivo on Vimeo.

スライダーやトグルボタンでグラフィカルに変数をコントロールできて、そのために書くコードの量もさほど多くないというスグレモノなんですが

  • int,float,bool としてしか使えない(charとかucharとか使いたいことあるじゃん)
  • 利用する変数の型が気持ち悪い(intが使いたいだけなのにofxIntSliderを持っとかなきゃいけないなんて!)
  • そのせいで利用時に処理が深い(ポインタ参照やら関数呼び出しが3回くらい?)
  • アプリの規模がでかくなった時にまとめて管理しづらい(お手軽に使える故なんですが。。。)

あたりがもうちょっと解消されればなあと思って作りました。こちらです。

ofxParamEdit on Github

良い特徴としては

  • char, uchar, short, ushort, int, uint, float, double, bool が使える(内部的にはint,float,boolなので値域のはみだすバグがあるかも)
  • intとかfloatとかの普通の変数を持ってれば使える(すでに作ったアプリに組み込むのも簡単!)
  • 利用時の処理コストなし(普通に変数を参照するのと同じ)
  • コントロール群をグループとして管理するので、複数箇所で使う際に分離がよい

悪い特徴としては

  • 値を編集したときの処理が増えてる
    →たかだか1フレームに1回のことなので問題にはならないでしょう
  • Guiを作るのにofxParamEditのインスタンスが必要
    →ofxParamEditを複数作れることに利点もあるのでまあ一長一短ってことで。。。
    アプリ側でシングルトンにする運用も可だと思います。

あと、プログラムのコメントにも書いてますが、ofEventのremoveの動作が怪しい(たぶん)ので、ofxGuiの一部ソースをコメントアウトして利用してください。

ofxSlider.cppとofxButton.cppとofxToggle.cppのofRegisterMouseEventsの行です。

Pull Request歓迎なんでプログラマの方よろしくお願いしまーす!

これ、ofxGuiの本家に組み込んでもらいたいなー。

グループ化の処理は置いといたとしても、Guiの機能を持ったクラスを利用側が保持しとく必要があるのはあんまり良くないと思うんだ。

フォーラムのどこで提案すればいいんだろう。

pull requestできるところまで作るには規模のでかい変更になるのでまずはお伺いをたてたいのだが。。。

展示会情報 – あのぱっくんガーデン~CO2ぱくぱく!~

新作です。

夏休み期間ずっと、福岡市少年科学文化会館に置かせていただいています。

今日早速見に行ったんですが、子供たちのエネルギーがすごい!!

製作者圧倒されてきました。。楽しそうに遊んでくれていたので大満足です。

もちろん科学好きなので他の展示物も見てきたんですが、やっぱりわくわくですね。

水素カーラジコンとかもうわっくわくどっきどきうっきうきですよ。

今日は時間がなくてじっくり見られなかったのでまた後日時間のあるときに行こうと思います。

2012/07/21~2012/08/30の期間中ずっと展示されていますのでぜひおいでくださいませー!

子供向けですが、大人でも楽しく遊べますよ。:)

合同企画展「FUKUOKA こども 地球防衛隊」~未来の地球を救うのはキミだ!~

夏休みに、九州大学の環境とエネルギーに関する研究(水素エネルギーやカーボン・ニュートラル・エネルギーなど)を生かし、児童・生徒が科学に対する興味や関心を高めるような合同企画展を実施します。今回は、「FUKUOKAこども地球防衛隊」というテーマで、、未来のFUKUOKAの環境を守るために、子ども達が環境やエネルギーについて学びながら活躍するというストーリーを展開する予定である。また、「水素カーラジコン」や「二酸化炭素に関する実験」「水素の利用」など様々なコーナーも設置する予定である。、様々なクラフト工作やぬり絵もできます。

Perfume Global Site Project #001 – Programmer’s Answer – by annolab

とんだモンスターを作ってしまいました。

とりあえずこちらをどうぞ。メイキングもあるよ。

Anno Perfume 養成ギプス

Perfumeのモーションデータと同じポーズの写真を全フレーム分撮って並べれば踊ってる動画が作れるじゃん、という工程を自動化してくれるツールです。

ものすごく大変でした・・・その大変さも含めてひとつまとまったコンテンツになったかなあと思います。

今後、ゲーセンに置くとか、商業施設に置くとかの発展が欲しいなあ、とぼんやり考えてます。

もっとカジュアルに楽しめて、かつ成果物のクオリティも維持できれば充分キャッチーになると思うんだよなあ・・・

今のところ弱点は、

  • 姿勢によってはポーズの検知がうまくできない
  • 動画ができるまでにかける時間が長い
  • お手本の姿勢が見て取りづらい

なところかなーと思っているので、

例えばカメラを増やして、フレームレートを落として(できればうまく補間して)、お手本にはちゃんと人っぽい3Dモデルを使って・・・とすればちゃんと楽しめるコンテンツになるんじゃないかなー。

あとは与太話ですが

いろんなコンセプトを無視して、ポーズ検出のシステムってことにすればもっと汎用性ありそう。

例えば脱出ゲームで扉を開ける鍵にするとか、それこそダンスの練習システムにするとか、観光地の記念写真撮影ブースに組み込むとかいろんな発展があるはず。

コントローラー持たなくていいJUST DANCEにもなるかも。

誰か一緒に(あるいは勝手に)やりませんか?

ご連絡はこちらまで。お待ちしてますよ:)

anno lab