2010年12月27日月曜日

etc - C79

C79ですが、運よく当選したので、

31日(3日目) モ-27b うにマック

に居ます。


まだ何もできてないですやばいしぬ。
運よく完成すれば、3Dモデルデータ1品 PMD形式 の予定です。
→完成しなかったのでMQO形式になりますすいません。
PMDエクスポータも結構本気で書いてるので、近々(できれば1月3までとかに)何とかPMD化すると思われるので、PMDが運良く完成した場合のDL用のパスワードをCDに添付しておきます。

.blend形式も需要ないけど入れておきます。



あと、

blekeiさん
blekei's WIP


と、Hさんのモデルデータ(MQO形式)が付きます。



---------------------------



残り、モーフとウェイト調整

2010年12月12日日曜日

blender - Blender2.5でKinect(4)

ライブラリをOpenNI(http://openni.org/)に変更。色はlibfreekinectのデモ風のを使いまわし。

見た目変わってないけど、モーションキャプチャ用のアルゴリズムが用意されているので、後は使うだけ状態。

折角論文読んで実装しようかと思ってたときに、完全に実装されている出来が良いライブラリをオープンソースで出されて、モヤモヤする。libfreekinect最初から飛びついてた人も結構モヤモヤしているのではないだろうか。

2010年12月11日土曜日

blender - Blender2.5のRNA(2)

ビューを1つ追加したが、ヘッダが出ない。
大体片っ端からTimelineのところを探してKinectに書き直して追加していったので、追加する箇所は全部あっていたんですが、どうしてもヘッダ出ない。(ここまでが前回)

そして苦戦の末





ついに出ました!

ここのUIは、Blender実行時に、
2.55/scripts/ui

以下のpythonスクリプトから、動的に作っているようです。
このpythonスクリプトのなかで、RNAで設定したプロパティやら、space_typeの定義やらが使えます。

つまりUIの追加は、既存のpanelとかspaceとかにボタン追加したりする程度なら、scripts/ui以下のファイルいじればOKですが、spaceとか親玉っぽいUIの追加は、非常にめんどくさいです。

現時点でいじったファイルは、こんな感じです。

2010年12月9日木曜日

blender - Blender2.5のRNA

目的
・UIのビューのヘッダ、せめてビューを切り替えるメニューのところが出したい


まだドキュメント読んでない上に、下のことをやっても、まだでない。


トライアンドエラーで分かったこと
1. RNA_access.h に、RNA_Space*** という記述があるが、
 ここに他と同じように追加
2. rna_space.cのコメントアウトされている中に、
 static void rna_def_*** 関数を追加。中身↓ 

StructRNA *srna;
PropertyRNA *prop;

srna= RNA_def_struct(brna, "SpaceKinectEditor", "Space");
RNA_def_struct_sdna(srna, "SpaceKinect");
RNA_def_struct_ui_text(srna, "Space Kinect Editor", "Kinect editor space data");


ここで、RNA_def_structの第二引数は、①で追加したものの、「Space***」という名前になっていないと駄目。

3. rna_space.cの一番したのほうにある、RNA_def_spaceに 2. で作った関数を追加

4. 2.のRNA_def_struct_sdnaの第二引数の名前の構造体を、DNA_space_type.hに追加する。

5. rna_space.cの一番上のほうにある、rna_Space_refineで4.の構造体のアドレスを返すようにする

6. ビルドするときは、ALL_BUILDをスタートアッププロジェクトにしてリビルドしたほうが良さそう。



ちなみにmakesrnaプロジェクトの出力である、makesrna.exeは、バイナリのあるディレクトリにhogeというフォルダを作り

makesrna.exe hoge/

とコマンドプロンプトで叩くと、hoge以下に、rna_gen_lamp.cなど、真ん中に "gen"が付いたcファイルがドバッと吐き出される。これがbf_rnaプロジェクトに入ってるものである。



やりたいことがいっぱいあり過ぎて時間無いけどメモっておきたい為、いつにもまして適当に書いてますしお

2010年12月7日火曜日

blender - Blender2.5でKinect(3)

深度。ここまではデモ通り。

あとはUI周りとイベント周りをもう少しマシにして、やっと製作開始できそう。



この時点では技術的には何もやっていないし、コンピュータビジョンとか知識ゼロだけど、
万が一、万が一なんか出来てしまったときのための、前準備。

2010年12月6日月曜日

blender - Blender2.5でKinect(2)

やっとカラーバッファ出た。逆だけど。



アニメ見たり、リンク通したり、プロジェクト作ったり、VSがビルド後イベントのxcopyでよく固まるので、やたら本質的では無い部分に時間を取られた。

よし寝よう

2010年12月5日日曜日

blender - Blender2.5で開発(1)



ビルドに成功したので早速開発していきたい。

CMakeで生成された、Blender.sln(ソリューションファイル)を開くと、100個近いプロジェクトが開かれる。
この大量のプロジェクトは、それぞれが.libとして出力され、blenderというプロジェクトを通じて、リンクされているようだ。

ここに2つほど、自作プロジェクトを加えてみた。
この辺触ろうと思う人なら大体何とかなると思うので、
引っかかった点だけ書いておく。

粒度の小さい他のプロジェクトをコピって名前を置換し、無事自作プロジェクトを作り、
外部ライブラリも他と同じ位置に設置し、プロジェクトの階層構造もばっちり、
後はコンパイル通してリンクで結合するだけ

の状態で、どこのCMakeFileを書き換えても、どうしてもblenderというプロジェクトの
追加のライブラリディレクトリと、追加の依存ファイルが変わらない状態になった。

blenderプロジェクトの追加のライブラリなどの変更は、

Blender/build_files/

以下にあるmacros.cmakeで変更するようだ…

1時間ハマった

2010年12月4日土曜日

blender - Blender2.5をvs2005でビルド(win)

自分含めて何となくみんな気づいていると思いますが、
最近やたらCMakeを採用しているオープンソースソフトウェアが多いです。
Blenderも例外ではなく、CMakeがサポートされていています。
Blenderは、scons、CMake、その他ビルド方法がありますが、VSならCMake一押しです。

CMakeを使うと、VSのプロジェクト/ソリューションファイルが生成され、それを普通にIDEで開いて、デバッグビルドできます。(ステップ実行とかも普通に出来ます)
さらに、多数のライブラリを使用しているBlenderですが、ライブラリのON/OFFを、かなり簡単に切り替えられます。

そんなわけで、CMakeを使って、VSのプロジェクトファイルを生成し、ビルドしてみました。



以下、超手抜き説明

1. CMakeで、プロジェクト/ソリューションファイルを生成するとこまで
http://blog.mikepan.com/build-blender-2-5-a-visual-guide/
ここのページの通りにやります。

2. VSでソリューションファイルを開き、ビルドします

3. includeできません、の場合は、ディレクトリ階層ミスって無いか確かめてください
間違っても、プロジェクトファイルに絶対パスで追記するなどやってはいけません

4. GHOST_SystemWin32.cppや、wm_operators.cなどでエラー

ファイルの頭に、ビルドしているPCのwindowsのバージョンをdefineして見てください。

// vistaの場合
#define WINVER 0x0600
#define _WIN32_WINNT 0x0600

// 7の場合
#define WINVER 0x0601
#define _WIN32_WINNT 0x0601

5. openexrでエラー
6. ~.libが破損しています

公式から落としてきてライブラリをビルドしなおせば多分直りますが、
openexrとtiff.libは、とりあえず開発中に使わないし、
libsamplerate.libとかいうのはオーディオ関係で使わないので、
無効にしました。特に後者はwin用にビルドするのはキツそうでした。


無効にする方法

無効にするときですが、

1. まず、ALL_BUILDプロジェクトに入っている、CMakeLists.txtを開きます

2. 上のほうにONとかOFFとか書いてあるので、エラー出てたライブラリを探し、OFFにします


OPTION(WITH_IMAGE_OPENEXR "Enable OpenEXR Support (http://www.openexr.com)" OFF)
OPTION(WITH_IMAGE_TIFF "Enable LibTIFF Support" OFF)
OPTION(WITH_SAMPLERATE "Enable samplerate conversion" OFF)


3. ビルドすると、外部でファイルが変更されたので再読み込みするか聞いてくるので、再読み込み

これで影響があったプロジェクトファイルが再生成され、再読み込みされます。たぶん。

4. ビルドすると、エラーが出るので、エラーが出たプロジェクトのプロパティの、プリプロセッサの、プリプロセッサの定義から、OFFにしたライブラリのスイッチ(WITH_TIFFだとか)を削除

5. ビルド

成功





所要時間としては、自分の場合、途中libsamplerateをビルドしようとしてたりしてハマってたので、
5時間くらいかかりましたorz

無事デバッグ/リリースビルド/実行できたので、あとはsvn updateのときにCMakeLists.txtに気をつけるくらいで何とかなると嬉しい