Blender2Pmxeとの違い
インポート・エクスポート
マテリアル
- PMX形式の材質の設定は、BlenderのマテリアルのプリンシプルBSDFノードと対応させています
- 拡散色 → ベースカラー
- テクスチャファイル → ベースカラーの画像テクスチャノードのファイル
- 材質色、スフィアマップ設定は、モデル情報のXMLに保存・取得するようにしました
Blender 2.80での内部レンダー削除にともない、マテリアルも大きく変更が加わった影響です。
もともとエクスポート時に、材質色・テクスチャ画像ファイル・スフィア画像ファイルを取得していたパラメータがあったのですが、それが2.80で無くなってしまったため、取得する場所を変更しました。
Blender 2.80 のレンダーはどちらもPBRであることを踏まえ、PMX形式のパラメータに適切に変換できるものは無いと判断したため、材質色は基本的にXMLに保存することにしました。
一応、申し訳程度にベースカラーは拡散色に入れますが、XMLに情報がある場合は、そちらが優先されます。
基本的には、MMDモデルとしての色の調整は、PMXエディタとMikuMikuDanceで行ってください。
テクスチャ画像に関しては、Blender上で設定しないと編集が不便と思われることや、同じファイルをPMXエディタ上で再設定するのも二度手間ということから、Blender側の設定を読み出すようにしています。
XML
- ボーンの並び順をXMLの順番でエクスポートするようにしました
- constraints要素のbody_Aとbody_Bを剛体名に変更しました
こちらは、利便性や仕様の整合性のための修正です。
マテリアルの変更点も含め、XMLファイルにはBlender2Pmxeとの互換性が無いので、作り直してください。
状態検証
- インポート時にPMXの状態を検証し、処理できない場合にエラーになります。
- エクスポート時にXMLの状態を検証し、処理できない場合にエラーになります。
仕様上、PMXやXMLの状態によっては処理できない場合があります。例えば、ボーン名・剛体名が重複している場合など。
既知のものに関しては、処理前にチェックを行いエラーメッセージを表示します。
PMXエディタの「PMXデータの状態検証」を参考にしていますが完全に同じではありません。
ツールのUI
- ツールシェルフからサイドバーに移動しました
- 以下を削除しました
- 輪郭線機能
- Mat to tex
- 「陰影なし」チェックボックス
- 「裏面を非表示」チェックボックス
これらは、Blender 2.80 での仕様変更に伴う変更です。
位置に関しては、ツールシェルフが無くなったので、適切な場所に移動する必要があるのでサイドバーです。
「輪郭線機能」「Mat to Tex」に関しては、レンダー変更に伴い、単純なAPIの置換では実現出来なかったためです。実現性自体が判断できなかったため、機能ごと削除することにしました。
「陰影なし」は該当の機能が無くなったため削除しました。
「裏面を非表示」に関しては、APIの挙動が若干変わったため単純な置換ではUI的に若干誤解を招きやすくなったことと、同機能のチェックボックスがすぐ近くにあることから、便利機能として抱えておく意味があまり無いと判断したため、削除しました。