pmdファイルの作成
blenderからMikuMikuDance用のpmdファイルを作成する方法をざっくりと記載
ソフトウェアの準備
Blender2.49bをインストール
Python 2.6.6をインストール
http://u7.getuploader.com/Yjo_oi_Neg/
からBlender2pmd.zipをダウンロード
.blender/scripts以下に[import_2_pmd.py]・[export_2_pmd.py]・[pmd_2.py]の3ファイルをコピー
( japanese.xmlはバージョンアップで廃止されました)
入出力
ファイル>インポート>PMD file for MMD(.pmd)
・インポートするとxmlファイルがpmdと同じフォルダ内に生成される
・pmdデータ取り込みの際はblenderの仕様(1オブジェクト16マテリアル制限)があるため注意
(16マテリアル以上のモデルをインポートしてしまうと17番以降は0番のマテリアルに置き換わる)
・16マテリアル以上のモデルを取り込みたい場合はPMDEで16マテリアル以下のPMDに分割してからそれぞれをblenderにインポート
ファイル>エクスポート>PMD file for MMD(.pmd)
・エクスポートする際は同名のxmlと各種テクスチャを同じフォルダに配置(例:test.blend・test.xml・eye.bmp)
xmlはpmdをインポートした際に生成されたのをリネームして中身を編集したものを利用
ver3以降は剛体情報とかも入ってきちゃうので新しいモデルを作りたい場合はメモ帳なんかで項目を削除
・出力するオブジェクトの選択は出来ないため不要なオブジェクトは削除
・ver3からはマテリアル情報やボーンの順序などもXMLに記録されているためblenderデータに合わせて修正必要
モデルの作成の注意点など
基本的には取り込んだミクを参照して作成していけば問題ないのですが
私が作成の際に困ってスクリプト作成者様に確認した内容などです。
座標は「+Z→+Y」「+X→+X」 「−Y→+Z」 (ショートカット7で見た状態がMMD正面)
モデルサイズは1BU=0.2ミクセル(8cm)で出力される
・1ミクセルはMMDの1マスでミクの身長から1ミクセルは40cmと推測される
・アクセでDirectX Exporterを使いXファイルを出すと1BU=2ミクセルになるため注意
blender上では法線が裏返しでも見えるがMMD上では見えないため外向きになるように修正する
四角面はエクスポートすると三角面に変換されるため変に変換される箇所は先に三角にしておく
マテリアルは色(Col)→Diffuse、光沢(Spe)→Specular、鏡面(Mir)→Ambientの値になる。
画面上の色から取得する場合はPMDColorCalcなんかを使うと便利
(作者fooberさんのサイトでは公開されてない&にゃっぽん終了のため現在は直リンのみ→PMDColorCalc20100307.zip )
マテリアル設定のされていない個所が存在する場合、その部分は素材なし(透明)で取り込まれる。
テクスチャはTGAかBMPのみを使用しデータと同じフォルダに配置する
(MMDバージョンアップでJPGやPNGも利用できるようになったようです)
同名ファイルがある場合MMDロード時にMMDのModelフォルダのファイルが優先的に読み込まれるため
ミクモデルを元に作成した場合はテクスチャなどの名前が同じになっていないか注意する必要あり
ボーンなどを追加した場合xmlファイルを修正
ボーンは英語のままでもOK、ただし左右は「_L」「_R」で作成
日本語名のシェイプやボーン名は「boneの名前に日本語を入力する」を参照して入れるか
英語のまま作成して
XML内で置換する。
頂点に適応できる頂点グループ(ウエイト)は2個までで、それ以上設定すると最初に読み込まれた2個以外は出力されない。
そのため3個以上割り振られている頂点はblender上とMMD上で変化が異なってしまう。
こういった場合、各頂点を調べて頂点グループを2個にしていく必要があるが、簡単に行いたい場合は2 tailsのサイトにある(休止中?)
「BlenderのボーンウエイトをPMD互換にするツール」がお勧め
設定は出来ないがインポートした際に剛体とジョイントはXMLに保存されて出力時に一緒に出力される
MMDのボーン名は15バイト(半角15文字、全角7文字)まででそれ以上の場合は、
エクスポータでPMDが出来たとしても MMDで読み込んだ際にMMDが落ちる
|