blender2pmxem

Blender2Pmxeとの違い

インポート・エクスポート

マテリアル

プリンシプルBSDFノード

  • 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

2.7のツールシェルフ 2.8のサイドバー

  • ツールシェルフからサイドバーに移動しました
  • 以下を削除しました
    • 輪郭線機能
    • Mat to tex
    • 「陰影なし」チェックボックス
    • 「裏面を非表示」チェックボックス

これらは、Blender 2.80 での仕様変更に伴う変更です。

位置に関しては、ツールシェルフが無くなったので、適切な場所に移動する必要があるのでサイドバーです。

「輪郭線機能」「Mat to Tex」に関しては、レンダー変更に伴い、単純なAPIの置換では実現出来なかったためです。実現性自体が判断できなかったため、機能ごと削除することにしました。

「陰影なし」は該当の機能が無くなったため削除しました。

「裏面を非表示」に関しては、APIの挙動が若干変わったため単純な置換ではUI的に若干誤解を招きやすくなったことと、同機能のチェックボックスがすぐ近くにあることから、便利機能として抱えておく意味があまり無いと判断したため、削除しました。

3Dビューのシェーディング