1. [openframeworks] ofMeshをUnityにもっていく

    ofMeshのsaveメソッドを呼ぶと.plyで保存されるのですが、この形式だとUnityでインポートできません。

    変換ツールはいろいろありますが、meshlabが良さそう。

    http://meshlab.sourceforge.net/

    これで.objとか.daeとかに変換すればOKです。意外と簡単ですね。

  2. OpenGL ESのテクスチャサイズを2のべき乗に合わせないといけない理由

    http://stackoverflow.com/questions/214608/why-do-images-for-textures-on-the-iphone-need-to-have-power-of-two-dimensions/214636#214636

    ミップマッピングのためのようです。画像サイズをどんどん半分にしていったものをキャッシュしていくため、2のべき乗がちょうどよいと。最近のGPUでは2のべき乗以外のサイズもサポートしているものがあるけれども、そうでないものもまだいっぱいあるよとのこと。

    ofxSpriteSheetRendererを使おうとしたときにこれでハマりました。ちゃんとマニュアルを読めというはなし・・

  3. ofxBox2Dでクリック判定

    結構はまったのでメモ。

    b2FixtureにTestPointというメソッドがあるのでそれを使います。mousePressedとかの中でそれぞれのBox2Dオブジェクトに対してマウス座標を渡して判定するかんじです。

    for (b2Fixture* f = body->GetFixtureList(); f; f = f->GetNext())
    {
    if(f->TestPoint(p)){
    return true;
    }
    }

    ただし、TestPointに渡す座標は「Box2Dの」ワールド座標である必要があるので、それに変換してあげる必要があります。単純に、
    b2Vec2 p = b2Vec2(mouseX,mouseY);

    とかだとダメです。ofxBox2dUtils.hに「screenPtToWorldPt」というのを用意してくれてるのでそれを使ってみると、
    b2Vec2 p = screenPtToWorldPt(ofVec2f(mouseX,mouseY));

    というかんじで変換してくれます。これを渡すととれました。

  4. Kinect + openframeworks でモーションキャプチャ、Flash(Away3D)で再生する (3)

     

    1) kinect + openframeworks でキャプチャ、csv で保存・サーバに送信
    2) flashでcsvをダウンロード、再生

    3) openframeworks で再生

    3回目です。今回はAway3Dと同じようにopenframeworks上でも動かしてみます。
    やってることはほとんど同じです。


    続きを読む...

  5. Kinect + openframeworks でモーションキャプチャ、Flash(Away3D)で再生する (2)

      1) kinect + openframeworks でキャプチャ、csv で保存・サーバに送信 2) flashでcsvをダウンロード、再生 3) openframeworks で再生 2回目です。今回はキャプチャしたものをAway3Dで動かしてみます。 再掲。 http://clwkct.net/kinect/
    続きを読む...

  6. Kinect + openframeworks でモーションキャプチャ、Flash(Away3D)で再生する (1)

     

    3ヶ月くらい前にやってたのを思い出しつつ書いていきます。

    http://clwkct.net/kinect/
    こんなかんじのです。左側のリストから選択すると開始。


    続きを読む...

  7. ofxOpenNIがだいぶ変わってた

    openframeworksからkinectするときにお世話になるofxOpenNIですが、しばらく触らないうちに使い方が変わっていました。最新版では前のままのコードだと動きません。

    1.以前はbin/data/lib以下に各種ライブラリをコピーする必要がありましたが、最新のだとbin/data/configをコピーする必要があります。


    続きを読む...