Py淡

Python, Python, Python! In the spirit of "import antigravity"

BlenderとYABEEでPanda3d用にモデルを作る

Panda3d用のモデル製作にはMayaが一番相性がいいらしいが月額123ドル?。フリーのBlenderでは以前はChickenというかなり完成度の高いエクスポーターがあったが古くなり使われてなく、現在はYABEEというプラグインが使われている。

Blenderのバージョンとの相性

Blenderデベロッパーは頻繁にGUIや内部の仕様を変えるらしく、Chickenがメンテできなくなったのも多分そのため。なので、YABEEを使うときは組み合わせるBlenderのバージョンに注意する必要がある。 いまGithubにあるYABEE-master.zipPanda3dのフォーラムによるとリビジョン14(r14)に当たるらしいが、Readmeなどは面倒なので更新していなためr13.1と区別が付かないので注意。


一応Readmeには2.7もサポートとあり最新版の2.74でも一応使えたが、フォーラムを見て回ると、r13.1まではBlenderの2.68aと組み合わせて使う人が多いようなのでBlender公式サイトの過去のバージョンのページから2.68aをダウンロードして使うのが安心かもしれない。

YABEEのインストール

GithubのReadmeがまったく内容がないので、最初戸惑うがYABEE-master.zipに同梱されているYABEE_HowTo.pdfというちゃんとしたマニュアルがありインストール方法もある。マニュアルは多少古い。

お勧めはCtrl+Alt+UでBlenderのユーザープレファレンスをだして、Addonsタブを選び、Install from FileからYABEE-master.zipを指定し、eggにエクスポートするオプションにチェックする。ここでSave User settingsを押しておかないと次回起動にまたチェックすることになる。その場合、Addonsのタブの左CategoriesからImport-Exportを選ぶと探しやすい。

YABEE使い方

Blenderは手軽に美しいmaterialやテクスチャを生成できるCycles Renderが売りだと思うが、これで生成したゴージャスなmaterialやテクスチャはエクスポートできないようなのでデフォルトのBlender Renderですべて行う。悲しい。うまくBakeする方法があるのではないかと思うがBlender歴2週間なのでまだ良くわからない。

YABEEは残念ながらChickenに比べてエクスポートの機能は制限されるようだが、一応meshにイメージテクスチャをUVマッピングした状態でエクスポートできる。materialのエクスポートはかなり制限されるのでPandaの方でやり直しになる。ただし、materialが全くないとイメージテクスチャも無効になるのでデフォルトの materialくらいはつけておく。アニメーションもエクスポートできるようだけど今のところ必要ないので試していない。

エクスポートするときは対象のmeshを選択した状態でFileからeggのエクスポートを選択する。YABEEではライトはエクスポートされないのでPanda3dの方で適切に光を当てないと見え方が変わるので注意。私は、エクスポートする直前にSave asでBlenderファイルをコピーして、欲しい物以外すべて削除した状態でエクスポートを実行している。そうしないと要らないものもエクスポートされているような気がする。。。