とある紳士MMDerの3DCG関連wiki - 【Blender2.9】 mmd_tools 【Addon】
最新VerではUIなどが変わりました。
最新Ver対応版は【Blender 3.0】mmd_tools【UuuNyaa版】を御覧ください。
Blender2.9xであってもUuuNyaa版のmmd_toolsを利用する場合は上記ページを御覧ください。

The UI and other features have changed in the latest version.
Please see 【Blender 3.0】mmd_tools【UuuNyaa版】 for the latest version.
If you use UuuNyaa version of mmd_tools for Blender 2.9x, please refer to the above page.


Blenderでは標準で.pmxなどを読み込むことができないので、有志が開発したアドオンを導入する必要があります。
それが、mmd_toolsです。

元々は更新の止まったこちらの方が公開配布していたmmd_toolsを別の方がforkし、さらに他の方が開発を引き継ぎました。
つまり、同名のアドオンが3つある、というわけです。誤って古い本家や更新の止まった方を導入しないように気をつけましょう。

こちらにwiki(日本語訳)がありますので目を通しておきましょう。

211028:githubのリンク先等修正
210813:mmd_uuunyaa_toolsでUI日本語化
210726:MMDモデルが紫色になるケースの対処法を記載
210715:MMDデフォカメラと同じ設定にする方法を記載
210605:照明(ライト)のインポートを記載


Blenderへのインストール

githubのblender_mmd_toolsからアドオンをダウンロードします。


releasesページに飛び、Assets mmd_tools-v[Ver].zipをクリックしてダウンロードします。

BlenderへZIPファイルを読み込ませる


Blenderを起動させ、トップバーの編集プリファレンス...からBlenderプリファレンスウインドウを開き、左欄からアドオンを選択します。


上部中央右のインストール...ボタンからgithubからダウンロードしたZIPファイルを指定します。


正常に読み込まれれば選択したアドオンが表示されるのでアドオン名の左にあるmmd_toolsのチェックをオンにします。

これでアドオンのインストールは完了です。
Blenderプリファレンスウインドウを閉じましょう。

この方法でインストールしたアドオンはC:\Users\[User名]\AppData\Roaming\Blender Foundation\Blender\[Ver]\scripts\にインストールされます。

手動でインストールする

なんらかの要因でBlender上からは正常にアドオンをインストールできない事があります。
その際は手動でインストールする事になります。
※よくあるのがアーカイブのサブフォルダ内にアドオンファイルがあるケース

アドオンを解凍し、.pyファイルを含むフォルダをBlenderのインストール先のblender-[OS]\[ver]\scripts\addons以下へコピーします。
(例:blender-windows64\2.93\scripts\addons)

アドオンによってはパスに日本語が含まれていると正常に動作しない物もあります。
その場合はBlenderのインストール(解凍)場所をC:\直下などにしましょう。

mmd_tools Addonの設定


設定:Shared Toon Texture FolderにMikMikuDance_[version]/Dataを指定します。
※指定しないと、MMD本体付属のToonテクスチャを利用しているMMDをインポートした際にMMDモデルが紫色になります。

これでmmd_toolsのインストールは完了です。

モデルのインポート/エクスポート

インポート前にPmxEditorからファイル(F)PMXデータの状態検証(F)でモデルのエラーの修正をしておきます。
これをしておかないとBlenderが不定期に落ちます。

インポート


[N]キーを押してサイドバーを出し、MMDタブを選択してModel:下のInportボタンをクリックします。
または、トップバーからファイルインポートMikuMikuDance Model(.pmd, .pmx)を選択します。


左から場所を選び、中央でファイルの選択、右側にインポートする際のオプションです。

オプション:
  • Typesからメッシュ(材質)、アーマチュア(ボーン)、物理演算(剛体とJoint)、表示(表示枠)、Morphs(モーフ)とあり、インポートする物を選べます。
デフォルトですべて読み込みます。
ここの設定で例えばメッシュ(材質)、アーマチュア(ボーン)、表示(表示枠)、Morphs(モーフ)だけ読み込む(物理は読み込まない)という事ができます。

  • 拡大縮小
デフォルトで1.0です。
モデルを読み込んだ際の大きさを指定できます。

BlenderとMMDで身長を合わせるにはインポート時の拡大縮小に0.08を指定し、エクスポート時に12.5を指定します。

TIPS:
Blenderでレンダリングする場合、0.08にしてBlenderとMMDで単位をあわせないと、物理演算がおかしな挙動になります。
例えば1で読み込んだ場合だと剛体サイズが大きいのに剛体に設定された質量がそのままのため、軽くふわふわした感じになってしまいます。

  • Clean Model
デフォルトでチェックONです。
チェックを入れると不正な面や頂点をインポート前に修復します。
ただし、一部の頂点モーフや材質などに悪い影響(意図しない頂点や面が削除される)があるようです。
このため、インポート前にPmxEditorで修正しておいて、このオプションはOFFにする方が確実です。

  • Remove Doulbles
デフォルトでOFFです。
インポート時に重複頂点を削除します。
これも意図しない頂点が削除され、別材質で頂点が重なる場合に削除されてしまうなど、悪影響があるので必要な時のみチェックを入れます。
ただし、モーフに使用されている頂点はモーフが壊れないように対象外になるそうです。

  • Fix IK Links
デフォルトでOFFです。
IKリンクのボーンのテールが修正されます。
  • Apply Bone Fixed Axis
デフォルトでOFFです。
Blenderに適するようにボーンの固定軸を適用します。
ボーン固定軸を適用するそうですが、詳細はわかりませんでした。

  • Rename Bones-L/R Suffix
デフォルトでONです。
ボーン名をMMD標準の右/左の命名規約からBlenderで認識可能な形式(.L/.R)にリネームします。適切なミラーリングが可能になり、モディファイアーなどで利用できます。
エクスポート時には保存された名称に自動で戻ります。

  • Rename Bones-User Underscore
デフォルトでOFFです。
ボーン名を.L/.Rの代わりに_L/_Rにします。

  • Rename Bone To English
デフォルトで無効です。
選択した辞書を使用して日本語から英語にボーンの名前を翻訳します。

  • Use MIP maps for UV textures
デフォルトでONです。
チェックすると、mmd_toolsはモデルのメインテクスチャのミップマップを生成します。
ミップマップを生成する方法では、アーティファクトが発生する可能性があるため、無効にしたい場合があるでしょう。
  • Influence of .sph textures
  • Influence of .spa textures
デフォルトで1です。
スフィアテクスチャの影響を減らします。
影響を減らすと、除算スフィアを明るくし、加算スフィアを暗くします。
これはプロパティウィンドウの指定テクスチャの影響サブセクションでディフューズ色を減らすのと同じです。
インポートされたモデルのエクスポートには影響しません。
  • Log level
  • Create log file
デフォルトでOFFです。
チェックを入れるとログファイルがインポートされるモデルと同じディレクトリに [model file name].mmd_tools.import.log の形式で書き出されます。

エクスポート


親エンプティを選択し[N]キーを押してサイドバーを出してMMDタブを選択してModel:下のエクスポートボタンをクリックします。
または、トップバーからファイルエクスポートMikuMikuDance Model(.pmx)を選択します。

メモ:
モディファイアーなどがある場合、Blender上で適用しなくてもエクスポート時に自動的に適用されるようです。
(例えばミラーモディファイアーなど)


右側にエクスポート時のオプションがあります。

オプション:
  • 拡大縮小
デフォルトで1.0です。
モデルのエクスポート時の大きさを指定できます。

インポート時に0.08を指定した場合、エクスポート時に12.5を指定します。

  • Copy textures
デフォルトでチェックONです。
モデルから参照されるテクスチャ画像がエクスポートされたモデルに関連付けられて適切なディレクトリに書き込まれます。
すでに存在するファイルは上書きされます。 Base Texture Folderが指定されていてもテクスチャはそのフォルダには書き込まれません。
エクスポートパスに基づいてモデルの適切なディレクトリにのみ書き込まれます。

  • Sort Materials
デフォルトでチェックOFFです。
mmd_toolsは透過の問題を起こしにくい方法でマテリアルの並べ替えを試みます。
これは、頂点モーフや材質モーフを考慮してないので、Material Sorterで手動で順序を指定するよりも信頼性が低くなります。

  • Disable SPH/SPA
デフォルトでOFFです。
すべてのスペキュラマップテクスチャを無効にします。一部のMMEシェーダーに必要です。

  • Visible Meshes Only
デフォルトでOFFです。
チェックを入れると非表示のメッシュはエクスポートされません。

  • Sort Vertices
デフォルトでなしです。
デフォルトでは、mmd_toolsは、頂点の順序に注意を払わず、適当な順で頂点をエクスポートすることがあります。これは、MMEで使用される一部のエフェクトに影響することがあります。
インポートしたファイルからの元の順序で頂点を書き出すには、カスタムを、Blenderによってソートされた順で頂点を書き出すにはBlenderを選択します。

  • Log level
  • Create a log file
デフォルトでOFFです。
チェックを入れるとログファイルがインポートされるモデルと同じディレクトリに [model file name].mmd_tools.export.log の形式で書き出されます。

モーション(ポーズ)のインポート/エクスポート

先にMMDモデルをインポートしてから読み込ませます。
モーション(.vmd)、ポーズ(.vpd)のインポート/エクスポートに対応していますが、いくつかの制約があります。

インポート


ボーンモーション、表情モーフ共に読み込みたい場合はモデルの親エンプティを選択してからモーションを読み込ませます。

ボーンモーションのみ読み込ませたい場合は、モデルのアーマチュア(ボーン)を選択した状態でモーションをインポートします。
同様にモーフ(シェイプキー)のみ読み込ませたい場合はモデルのメッシュを選択した状態でインポートします。

表情がボーンモーフで作られている場合は、Morph Tool→▼→Bindでドライバを作ってからインポートします。

画像



[N]キーを押してサイドバーを出し、MMDタブを選択して運動:下のInportボタンをクリックします。
または、トップバーからファイルインポートMikuMikuDance Motion(.vmd)を選択します。


左から場所を選び、中央でファイルの選択、右側にインポートする際のオプションです。

オプション:
  • 拡大縮小
デフォルトで1.0です。
モーションの倍率です。
モデル/カメラモーションの修正ボーン位置角度補正のような物です。
通常はモデルのインポート時の倍率と同じ値が推奨されます

  • 余白
デフォルトで5です。
余白を指定した場合、その分インポートしたモーションの前に空のフレームが追加されます。
例えば物理演算は余白を含めてベイクし、レンダリング時は余白を含めずに出力することで服などの物理演算が最初に暴れるのを抑えます。

  • Bone Map
デフォルトでPMXです。
インポートするモーションのボーン名をどうマッピングするかの設定です。
Blenderでは、モーションのボーン名は、Blender上での実際のボーンの名称と照合します。
PMXでは、モーションのボーン名は、Blender上のボーン名ではなく、モデルに保存されているボーン名と照合されます。
Renamed Bonesでは、モーションのボーン名はRename Bonesを指定してモデルをインポートしたときと同じ方法でリネームされ、Blender上でのボーン名に基づいて適用されます。

  • Treat Current Pose as Rest Pose
デフォルトでOFFです。
現在のポーズをレストポーズとして扱うかどうかです。
チェックをONにした場合、現在のポーズがレストポーズとして扱われます。
TスタンスのモーションをAスタンスのモデルにインポートするのに使用します。

  • Mirror Motion
デフォルトでOFFです。
有効にすると、モーションはX軸で反転されます。

  • Update Scene Settings
デフォルトでONです。
有効にした場合、Blenderに30FPSを使うように指示します。フレーム範囲もインポートするすべてのモーションを含むのに必要なだけ拡張されます。

カメラモーションのインポート

Blenderのカメラオブジェクトを選択した状態でモーションのインポートの要領で.vmdカメラモーションをインポートします。
MMD_Cameraという親エンプティとその子になったCameraオブジェクトが生成されます。

未検証ですが、おそらくMMDモデルと同様にMMD_Cameraという名前のエンプティを作成してカメラオブジェクトと親子関係(エンプティが親)を作り、エンプティを選択すればエクスポートできると思います。

TIPS.1:
カメラモーションでない.vmdモーション(モデルモーション)を読み込むとMMDのデフォルトカメラと同様の焦点距離などになる。

TIPS.2:

Blenderのカメラオブジェクトの設定(焦点距離など)をMMDのデフォルトカメラと同様にするには、Blenderのカメラオブジェクトを選択した状態でオブジェクトプロパティからMMD Camera Tools変換をクリックする
※スケールはMMDモデルと同じ値にする

照明(ライト)のインポート


サンライトオブジェクトを[Shift]+[A]キーから追加して、サンライトオブジェクトを選択した状態でオブジェクトデータプロパティからMMD Lamp Tools変換を選択します。


スケールをモデル/モーションのインポート時と同じ値にしてOKを選択します。


サンライトに関連付けされたエンプティが作成され、MMD Lamp Tools項目から照明を操作できるようになりました。
サンライトに関連付けされたエンプティを選択した状態で.vmdカメラモーションファイルをインポートすると照明設定をインポートできます。

エクスポート

ボーンアニメーション、シェイプキー(モーフ)アニメーション、カメラアニメーションをエクスポートできます。

ボーンアニメーション、シェイプキー(モーフ)アニメーション共に出力したい場合はモデルの親エンプティを選択してエクスポートします。
同様に、カメラアニメーションをエクスポートする場合はMMD Cameraエンプティを選択してエクスポートします。

ボーンアニメーションのみ出力したい場合はアーマチュアを、シェイプキー(モーフ)アニメーションのみを出力したい場合はモデルのメッシュを選択してエクスポートします。

ただし、下記の点に注意が必要です。
  • ボーン名は15バイト(Unicode文字で約7文字)の制限がありますが、これに引っかかってもエラーメッセージはありません。
  • ボーンの回転の補完とカメラの回転は正しくないかもしれません。MMDはすべての回転成分(x, y, z, w)に対して同じ補完を使用するためです。
  • Fカーブ(MMDで言う補完曲線)は一部、キーフレームに置き換えらる事があります。このためBlender上では打っていないキーが出力された.vmdには登録されることもあります。
  • ドライバやNLAトラックはサポートされていません。完成したアニメーションを書き出したい場合は、新規アクションにベイクできます。

ベイク方法



エクスポート画面

オプション:
  • 拡大縮小
デフォルトで1.0です。
モーションの倍率です。
モデル(とモーション)を0.08でインポートした場合は12.5に指定する必要があります。(モデルのインポート/エクスポートと同じ)

  • Treat Current Pose as Rest Pose
デフォルトでOFFです。
おそらく、インポート時のオプション同様、モデルのモーションをTスタンスかAスタンスとして扱うかのオプションです。たぶん。

  • Use Frame Range
デフォルトでOFFです。
Export frames only in the frame range of context scene

サイドバー


3Dビュー上にマウスカーソルを持っていき[N]キーを押すとサイドバーが表示されます。
正常にインストールできていればサイドバーにMMDタブがあるはずです。

こちらからもモデルのインポート/エクスポートなどが行えますし、剛体やJointの設定などここからしかアクセスできない項目もあります。

MMDタブ


  • Create MMD Mode
MMDとして出力するのに必要な構造や階層(親エンプティとその子になっている全ての親ボーン)を作成します。
作成したメッシュを関連付けするにはAttach Meshes to Modelをクリックする必要があります。

※倍率は0.08でMMDのと単位が一致する。デフォルトの1で出力するとボーンが大きくなってしまう。
※すでにアーマチュアを作成している場合、エンプティを親とする(アーマチュアは子)親子関係を作れば良い。
  • Convert Model
既存のBlenderモデルをmmd_toolsで扱える形式に変換します。
ただし、実験的なオプションです。

  • Convert Materials for Cycles
選択中のMMD形式モデルの材質設定をCyclesで扱える形式に変換します。
レンダリングエンジンも自動的にCyclesに切り替わります。
Blender2.8以前のverの内部レンダリングエンジンから切り替える場合に使います。

クリックした後に3Dビューの左下に表示されるオプションでConvert to Principled BSDFを選択するとデフォルトのMMDShaderDevノードからプリンシプルBSDFノードに変換されますが、表情モーフ(材質モーフ)をbindしても材質モーフが機能しなくなります!ご注意ください!

  • Separate By Materials
インポート直後のモデルは一つのオブジェクトになっています。
Separate By Materialsで材質ごとにオブジェクトを分割できます。

  • Join Meshes
Separate By Materialsの逆の動作です。
モデルに属するどれかのオブジェクトを選択してJoin Meshesをクリックすると一つのオブジェクトに結合されます。

  • Attach Meshes to Model
MMD_toolsの形式でMMDモデルに属していないメッシュオブジェクトを選択中のモデルへ取り付けます。

  • Bone Constraints
MMDとBlenderは異なる方法でボーンによる動きを処理します。
これらの相互変換を行うために、適用でBlenderで扱えるようにボーンコンストレントを付加、またはCleanでMMDで扱えるように付加されたボーンコンストレントを解除します。エクスポート時には、自動で解除されます。

  • Physics
ボーンと同様に、物理演算もMMDとBlenderで異なります。
物理演算の情報をBlenderで扱える形式に変換するにはBuildを使用します。
またMMDで扱える形式に変換するにはCleanを使用します。剛体を構築して物理演算が行われるようになるとパフォーマンスはかなり低下します。
このため、剛体は必要な場合だけ構築することを推奨します。一般的には、レンダリングの直前に行います。

  • Edge Preview
ソリッド化モディファイアーを利用してモデルのtoonエッジをプレビューします。
モデル作成時にエッジの設定をプレビューするのに使います。
Display Panel
MMDの表示枠を設定できます。
上部ウインドウからカテゴリを、下部ウインドウからカテゴリ内のボーンやモーフを、右側の+ボタンから追加、削除などを行えます。
Morph Tools
Blenderではシェイプキー(頂点モーフ)しかサポートしていませんが、この項目の右側のからbindを選択する事で材質モーフやUVモーフ、ボーンモーフ、グループモーフを操作、編集できます。
マテリアルUVボーン頂点グループと別れており、それぞれ右側の+ボタンから新規モーフを作成できます。(-でモーフの削除)
Rigid Bodies
剛体リストを表示します。
右側の+ボタンから新規剛体を作成できます。
Joints
Jointリストを表示します。
接続したい2つの剛体を選択した状態で、右側の+ボタンをクリックすると新規Jointを作成できます。
Material Sorter
材質の順序を設定できます。
これはひとつのオブジェクト内の材質をソートするので、モデルを材質ごとに分割(Separate By Material)した場合は使用できなくなります。
Meshes Sorter
メッシュの並び方を設定できます。
モデルを材質ごとに分割(Separate by Material)したあとのMMDモデルのサブオブジェクトを素早く選択できます。 メッシュ順序の変更は、エクスポートやメッシュ統合(Join Meshes)を通して維持されます。
透過材質を含むオブジェクトは下にする、といった場合に使います。
Bone Order
ボーンリストです。
物理後に動くボーンの指定や、変形階層の指定ができます。

その他タブ


MMD display
メッシュやアーマチュア、リジッドボディ(剛体)、Jointの表示、非表示をここで切り替える事ができます。
  • Property Drivers
setup drivers for MMD property animation (Visibility and IK toggles)
MMDプロパティアニメーション用のセットアップドライバー(可視性とIKトグル)
  • IK
IKのon/offを切り替えれます。
MMD Shading
MMD Shadingでは、MMDモデルにふたつの代替シェーディングスタイルを選択できます。
GLSLは、BlenderのGLSLシェーディングと同じシステムを使用し、デフォルトのMMDライティングと近くなるように、半球状のライトをシーンに追加します。

Shadelessは、陰影を無視するスタイルで、Toonテクスチャでのみシェーディングされます。

ResetはシェーディングをデフォルトのBlenderシェーディングにリセットし、3D Viewのシェーディングをソリッドに戻します。

注意として、これらのシェーディングモードともに、テクスチャ画像がBlenderシェーディング下でも見つからない場合は、ピンク(紫)の警告になります。
MMD SDEF Driver
SDEF変形を行うドライバが追加されます。
SDEFが設定されたモデルをアニメーションさせる際に必要です。

オブジェクトプロパティ

MMD Model Informationからモデル名やコメントの編集ができます。

MMD Model Information

  • 名前:
モデルの日本語名です。

  • Name(English):
モデルの英語名です。

  • コメント:
(日本語の)コメントとして利用するテキストを指定します。

  • Comment(English):
英語版のコメントとして利用するテキストを指定します。

TIPS:

エディタータイプをテキストエディターに変更し、新規から新たにテキストを作るか、開くから.txtファイルを指定できます。
ただし、Blenderのテキストエディターでは日本語が入力できません。コピペするか、日本語入力をできるようにするアドオンを導入する必要があります。

  • Change MMD IK Loop Factor
Blenderの全てのIKボーンの反複数に、指定された値で乗数を適用します。
足や腕IK、特に補助IKボーンの反複数が少ないと、動かした際に腕や足が切断されかのようになってしまいますので、そういった場合に使います。
Blenderでアニメーションをする際にのみ使います。

実例としてBlenderへインポートしたMMDモデルの足などを動かすとおかしくなる際の対処方法をご覧下さい。

  • Recalculate bone roll
腕に関連するボーンのボーンロールを再計算します。

この操作は、既存のFカーブ/アクションを壊します。
[OK]をクリックして操作を実行します。

※この機能は古いVerのmmd_toolsとの互換性を保つためにあります。古いVerのmmd_toolsでインポートしたMMDモデルなどを最新のmmd_toolsで利用するケース以外ではおそらく使わないでしょう。

マテリアルプロパティ


マテリアル(材質)の設定項目です。

MMD Material

  • information:
マテリアルモーフの参照用ID

  • 名前:
材質名(日本語)

  • Name(Eng)):
材質名(英語)

  • コメント:
材質のコメント欄
カラー
  • ディフューズ色:
PMXEditorでいう拡散色

  • スペキュラーカラー:
PMXEditorでいう反射色

  • 周辺光の色:
PMXEditorでいう環境光


TIPS:
テクスチャを割り当てる場合、ディフューズ色を白(R1:G1:B1)にしてスペキュラーカラーを黒(R0:G0:B0)、周辺光の色を0.4(R0.4:G0.4:B0.4)か、ディフューズ色の半分の値にします。

  • アルファ
材質の透過度です。
PMXEditorでいう非透過度です。

  • 反射
材質の反射強度です。
Shadow:
  • Double Sided
PMXEditorでいう両面描画です。

  • Ground Shadow
PMXEditorでいう地面影です。

  • Self Shadow Map
PMXEditorでいうセルフ影マップです。

  • Self Shadow
PMXEditorでいうセルフ影です。

  • Toon Edge
エッジの有効/無効を切り替えます。

  • Edge Color:
エッジのカラーを指定します。カラー欄右側はエッジの透過度です。

  • Edge Weig
エッジのサイズです。

MMD Texture

  • テクスチャ:
テクスチャを割り当てる場合、ここで指定します。
絶対パスか、相対パスで記載します。

  • Sphere Texture:
スフィアテクスチャを割り当てる場合、ここで指定します。
絶対パスか、相対パスで記載します。
  • オフ / 乗算 / 追加 / SubTecture
スフィアテクスチャの種別を指定します。

  • Use Shared Toon Texture / Shared Toon Texture ”n”
MMDデフォルトの10種類のTonnテクスチャを使うかどうかを指定します。
Shared Toon Textureで共有Toonテクスチャの番号を指定します。

  • Toon Texture:
Use Shared Toon Textureにチェックを入れず、自身で用意したToonテクスチャを利用する際にパスを記載します。
絶対パスか、相対パスで記載します。

ボーンプロパティ


アーマチュア(ボーン)の設定項目です。

MMD Bone Tools

  • information:
ボーンモーフと回転+ /移動+の参照用ID
  • 名前:
ボーンの日本語名です。

  • Name(Eng):
ボーンの英語名です。

  • Transform Order
PMXEditorでいう変形階層です。

  • After Dynamics
PMXEditorでいう物理後です。

  • Controllable
PMXEditorでいう操作です。
MMD上で操作可能か指定します。

  • IK Angle (IKボーン名)
IKの単位角度
PMXEditorでいう単位角です。

  • Tip Bone
いわゆる、〜先ボーンか、どうかを指定します。

  • Fixed Axis
PMXEditorでいう軸制限です。

  • Local Axes
PMXEditorでいうローカル軸です。

  • Rotate+ / Move+ / 影響
PMXEditorでいう付与の回転+移動+です。
下のボーンリストからPMXEditorでいう付与親を選べます。

影響はPMXEditorでいう付与率です。

その他

モデル改造時の物理演算周り

Blenderへ剛体とJointのあるモデルをインポートし、エクスポートすると物理演算周りが変になる(剛体やJointの位置が微妙に変わるなど)ケースがあるようです。
実際、ボーンとメッシュ(材質)のみのモデルをインポート/エクスポートした場合はハッシュ値は変わりませんが、物理込みのモデルはBlenderで編集などしなくてもインポート/エクスポートするだけでハッシュ値が変わります。
モデルの改造などで物理周りはそのままでメッシュだけを編集したい場合、編集前(Blenderへ読み込ませる前)のモデルをPmxEditorで開いて材質のみすべて削除し、ボーンと剛体、Jointだけのファイルを作っておき、Blenderへのインポート時のオプションをメッシュとボーンだけにしてエクスポート後に先ほど作ったファイルをPmxEditorで開いてBlenderで編集したファイルを追加してマージする、という方法があります。

mmd_toolsでエクスポートができない場合

mmd_toolsで.pmxファイルにエクスポートできない場合、いくつかの理由が考えられます。

まず、エンプティやそのエンプティの子になっているアーマチュア(ボーン)があるか、ないかです。
なければ、MMDタブCreate MMD Modeを選択してエンプティとその子になっているアーマチュア(ボーン)を作りましょう。
さらに、MMDタブAttach Meshes to Modelをクリックしてメッシュオブジェクトと関連付けします。

mmd_toolsでは、エンプティを親としてその子にアーマチュアとメッシュオブジェクトがあれば、アーマチュア(ボーン)等がMMD以外の物でも出力できます。
逆を言えばエンプティが存在しない、親ではない、アーマチュア(ボーン)が存在しない、エンプティの子になっていない、という場合は出力できません。

また、意図しない動作を防ぐためにも親となっているエンプティを選択してエクスポートしましょう。

インポートしたMMDモデルが紫色になる場合

MMDモデルへ割り当てられたテクスチャを見失っているのが原因です。
一番多いのがインポートしたMMDモデルがMMD本体付属のToonテクスチャを使っていて、mmd_toolsアドオンの設定でMMD本体のToonフォルダを指定していないケースです。


mmd_toolsのアドオン設定からShared Toon Texture FolderにMikMikuDance_[version]/Dataを指定します。

次に多いのが中国語圏産MMDモデルの解凍時にフォルダ名やテクスチャ名が文字化けしたケースです。
これは中国語の文字コードに対応している解凍ソフトで解凍するか、解凍後に手動でテクスチャ名を変えて割り当てるしか対処方法はありません。

BlenderへインポートしたMMDモデルの足などを動かすとおかしくなる際の対処方法