MMD Tools/マニュアル for v1

このページは、旧いバージョンのマニュアルです。
MMD Tools v2以降のMMD Tools/マニュアルをご覧ください。

#### Create Model / 新規モデルを作成

このボタンは、MMD形式のモデルを正常にエクスポートするのに必要な階層構造、MMDで必須となる全ての親ボーンを作成します。Import Model(下記)とともにこれはmmd\_toolsが認識できるMMD形式のモデルを作成する方法のひとつです。この機能ではメッシュは作成されません。この構造にメッシュを追加するには、Attach Meshes to Model(下記)を使用します。

#### Convert Model / モデル変換

mmd\_tools外で作られた既存のBlenderモデルをmmd\_toolsで扱える形式に変換します。（実験的）

(アーマチュアｰ>Create MMD Model以外の方法で作ったモデルに使用します。 モデルがこの方法で作られていない場合、エクスポートボタンが無効になっています。)

#### Convert Materials for Cycles / Cycles用にマテリアルを変換

Cyclesは、Blenderの内部レンダリングエンジンとは異なるマテリアルを扱える代替のレンダリングエンジンです。*Convert Materials for Cycles*ボタンは、選択中のMMD形式モデルの材質設定をCyclesで扱える形式に変換します。

訳注: 左下に表示されるオプションで`Convert to Principled BSDF`を選択するとUV,Texture,Principled BSDFのみの構成に変換されます（Blenderでレンダリングする場合や他の形式でエクスポートする場合などPMXにエクスポートする予定がない場合に使用します）。

#### Separate By Materials / 材質で分割

インポートされたモデルは、初期状態ではひとつのオブジェクトになっています。モデルの材質ごとにオブジェクトに分割するには、モデルを選択し*Separate By Materials*を実行します。 デフォルトでは、Blenderの頂点モーフデータが壊れる問題を防ぐために、シェイプキー（モーフ）は、シェイプキーの影響を受けなくなったメッシュからは削除されます。

#### Join Meshes / メッシュを統合

*Join Meshes*は*Separate By Materials*と逆の操作です。インポートされたモデルを構成するすべてのオブジェクトを再統合するには、モデルに属するどれかのオブジェクトを選択し、*Join Meshes*を実行します。 モデルに存在していたすべてのオブジェクトをひとつのオブジェクトに統合します。

#### Attach Meshes to Model / モデルにメッシュを取り付け

この機能は、MMD形式モデルに属していないメッシュを選択中のインポートされたモデルに最後尾の材質として追加します。この機能を使うには、任意のMMD形式モデルの任意の部分を選択して、*Attach Meshes to Model*します。取り付けたいメッシュを選択する必要はありません。メッシュがすでにMMD形式モデルのどれかに属している場合は、なにもしません。(例えば、ひとつのシーンにふたつの異なるインポートされたモデルが存在する場合)

メッシュを含むMMD形式モデルに取り付けたい場合は、取り付けたいオブジェクトと対象モデルのオブジェクトを順に選択し、オブジェクトを統合(ctrl-J)することも出来ます。

#### Apply and Clean Bone Constraints / ボーンコンストレイントの適用と解除

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

#### Build and Clean Rigid Body / 剛体の構築とクリーン

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

#### Import Model / モデルをインポート

MMD用に作成されたモデル(.pmxまたは.pmd)をBlenderにインポートします。

##### Mesh/Armature/Physics/Display/Morphs / メッシュ/アーマチュア/物理演算/表示/モーフ

これらのボタンを無効に設定することで、Blenderにインポートする要素を制限できます。デフォルトでは、全ての要素がインポートされます。

##### Scale / 拡大縮小

指定された拡大率をモデルの全ての要素に適用します(原点を中心)。小さな値を指定するとインポートされるモデルは小さくなります。デフォルト値は1.0です。

##### Clean Model / クリーンモデル

チェックすると、mmd\_toolsは、不正な面や頂点をインポート前に修復します。Blenderへのインポート前にモデルを検証し、必要に応じて修復することを推奨します。

##### Remove Doubles / 重複頂点の削除

チェックすると、同じ位置にある頂点がマージされ、重複した面が削除されます。

*(訳注: モーフに使用されている頂点はモーフが壊れないように対象外になります)*

##### Rename Bones / ボーンをリネーム

これはボーン名をMMD標準の右/左の命名規約からBlenderで認識可能な形式(.L/.R)にリネームします。適切なミラーリングが可能になります。(エクスポートスクリプトでは保存された名称に自動で戻します)

##### Use MIP maps for UV textures / UVテクスチャのミップマップを使う

チェックすると、mmd\_toolsはモデルのメインテクスチャのミップマップを生成します。ミップマップを生成する方法では、アーティファクトが発生する可能性があるため、無効にしたい場合があるでしょう。

##### Influence of .sph and .spa textures / .sph,spaテクスチャの影響

スフィアテクスチャの影響を減らします。影響を減らすと、除算スフィアを明るくし、加算スフィアを暗くします。これはプロパティウィンドウの指定テクスチャの影響サブセクションでディフューズ色を減らすのと同じです。インポートされたモデルのエクスポートには影響しません。

*(訳注: ここ動作確認できていません)*

##### Log level and create log file / ログレベルとログファイル作成

インポート時のフィードバックの詳細度を指定します。有効にすると、ログファイルがインポートされるモデルと同じディレクトリに *[model file name]*.mmd\_tools.import.log の形式で書き出されます。

#### Export Model / モデルをエスクポート

##### Scale / 拡大縮小

指定された拡大率をモデルの全ての要素に適用します(原点を中心)。小さな値を指定するとエクスポートされるモデルは小さくなります。デフォルト値は1.0です。

訳注: インポート時に1より小さな値で取り込んだ場合は、元のサイズでエクスポートするには大きな値を指定する必要があります。0.2でインポートした場合、エクスポートでは1/0.2を指定します。

##### Copy Textures / テクスチャをコピー

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

##### Sort Materials / 材質をソート

*Sort Materials*が有効な場合、mmd\_toolsは透過の問題を起こしにくい方法でマテリアルの並べ替えを試みます。 これは、頂点モーフや材質モーフを考慮してないので、*Material Sorter*(下記)で順序を指定するよりも信頼性が低くなります。

##### Sort Vertices / 頂点をソート

デフォルトでは、mmd\_toolsは、頂点の順序に注意を払わず、適当な順で頂点をエクスポートすることがあります。これは、MMEで使用される一部のエフェクトに影響することがあります。インポートしたファイルからの元の順序で頂点を書き出すには、*Custom*を有効にします。Blenerによってソートされた順で頂点を書き出すには*Blender*を有効にします。

##### Log Level / ログレベル

モデルをインポートする場合と同様です。有効にするとログファイルが出力ディレクトリに書き出されます。

##### IKのエクスポート

IKはMMDのIKの仕様上、チェーンの先(子)ボーンが必要なようです。エクスポートできなかった場合、ログファイルかコンソールにメッセージが出ています。

### Import Motion / モーションをインポート

**.vmd**ファイルを一連のアニメーションキーフレームとしてBlenderに読み込むことが出来ます。 アニメーションを読み込むには、まずにインポートされたモデルなど有効なMMDモデルをアウトライナーからベース親オブジェクトを選択する(下記)などで選択します。次に*Import Motion*をクリックし、適切な **.vmd**を選択します。

*(訳注: ボーンアニメーションはアーマチュアを選択してインポート、モーフはメッシュを選択してインポートできます。表情がボーンモーフで作られている場合は、Morph Tool→▼→Bindでドライバを作ってから、.placeholderを選択してインポートできます）*

##### Scale / 拡大縮小

*Scale*はポーンの移動量に適用されます。小さな値を指定すると動きが小さくなります。モデルをインポートしたときのScaleと同じ値を使用することを推奨します。

##### Margin / マージン

*Margin*を指定した場合、(*Margin*と同じ数の)空フレームがインポートしたキーフレームの前に追加されます。

##### Bone Map / ボーンマップ

*Bone Map*は、**.vmd**のボーンをどのようにアーマチュアにマッピングするかを決定します。 *Renamed Bones* では、モーションのボーン名は*Rename Bones*を指定してモデルをインポートしたとき(上記)と同じ方法でリネームされ、Blender上でのボーン名に基づいて適用されます。 *PMX*では、モーションのボーン名は、Blender上のボーン名ではなく、モデルに保存されているボーン名と照合されます\_(訳注: モデルに保存されているボーン名 = MMD Bone Tools / Name)\_。 *Blender*では、モーションのボーン名は、Blender上でのボーンの実際の名称と照合されます。

##### Treat Current Pose as Rest Pose / 現在のポーズをレストポーズとして扱う

有効にした場合、現在のポーズがレストポーズとして扱われます。TスタンスのモーションをAスタンスのモデルにインポートするのに便利です。

##### Update Scene Settings / シーン設定を更新

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

#### Export Motion / モーションをエクスポート

モーションをエクスポートする基本的な機能が利用可能になりました。現在は、ボーンアニメーション、シェイプキーアニメーション、カメラ/ランプアニメーションをエクスポートできますが、セルフシャドウやその他VMD固有のアニメーションはまだサポートされていません。また以下のノートと問題を念頭に置いてください。

* Fカーブのみサポートされます。ドライバやNLAトラックはサポートされていません。完成したアニメーションを書き出したい場合は、新規アクションにベイクできます。
* ボーンの回転の補完とカメラの回転は正しくないかもしれません。MMDはすべての回転成分(x, y, z, w)に対して同じ補完を使用するためです。
* Blender上で、モデルアニメーション(ボーンとシェイプキー)をエクスポートするにはルートのエンプティを選択、ボーンアニメーションのみをエクスポートするにはアーマチュアを選択、シェイプキーアニメーションのみをエクスポートするにはメッシュオブジェクトを選択、カメラアニメーションをエクスポートするにはMMD Cameraオブジェクトを選択。またアクティブなオブジェクトのアニメーションのみがエクスポートされます。
* ボーン名は15バイト(Unicode文字で約7文字)の制限がありますがエラーメッセージはありません。ボーン名を短くすることを忘れないでください。

### Display Items / 表示枠

*Display Items*は、MMDのアニメーション処理に必要な表示枠を編集できます。 上のパネルでは、表示枠のグループの選択または作成が可能で、選択、編集、順序変更、削除作成ができます。下のパネルには、そのグループの要素が表示され、同様に選択、編集ができます。

ボーンを選択して、そのタイプをモーフに変更するとMMDで問題が起きることに注意してください。

ボーンエントリを選択して、*Display Items*サブセクションの*Select*ボタンをクリックすると対応するボーンを素速く選択できます。

*(訳注: Display Items -> Display Panelに名称が変更されています)*

### Morph Tools / モーフツール

Morph Toolsでは、モーフのMMD固有のパラメータを編集できます。 Blenderは、シェイプキーの形式で頂点モーフのみを維持します。しかし、MMDモーフのパラメータはインポートエクスポートのサイクルで維持するべきで、このパネルで編集できます。

モーフがまだ表示枠に登録されていない場合は、*Morph Tools*の一番上のパネルのモーフの右に**i**アイコンが表示されます。

#### マテリアル、UV、ボーン、そしてグループモーフの使用

**バインド**は、Blenderで頂点モーフ以外のモーフを使用できるようにします。

**バインド**によって、`.placeholder`という名前のメッシュがモデルに追加されます。
`.placeholder`は、頂点モーフを含むあらゆる種類のモーフをシェイプキーとして持ちます。

### Rigid Bodies / 剛体

このサブセクションは、選択したモデルに含まれる剛体のリストを提供します。それらはこのパネルから素速く選択できます。

*(訳注: ドキュメント未ですがモデルに剛体を追加できます)*

### Joints / ジョイント

このサブセクションは、選択したモデルに含まれるジョイントのリストを提供します。それらはこのパネルから素速く選択できます。

### Material Sorter / 材質順序変更

材質の順序が重要な場合は（一般的に透過材質と関連しています）、材質の順序を指定できます。 これはひとつのオブジェクト内の材質をソートできます。なので、モデルを材質ごとに分割(**Separate By Material**)した場合は使用できなくなります。

### Meshes Sorter / メッシュ順序変更

*Meshes Sorter*では、モデルを材質ごとに分割(**Separate by Material**)したあとのMMDモデルのサブオブジェクトを素早く選択できます。 メッシュ順序の変更は、エクスポートやメッシュ統合(**Join Meshes**)を通して維持されます。

*(訳注: ここで指定する分割後のオブジェクトの順序が統合後の材質の順序に適用されます)*

## Properties Window / プロパティウィンドウ

### Materials / 材質

#### MMD Material / MMD材質

プロパティウィンドウのマテリアルタブ内の*MMD Material*サブセクションの情報を使用して、MMDで使用される材質のパラメータを変更できます。 注意として、このセクション内のいずれかのパラメータを変更すると、Blenderレンダーとエクスポートされたモデルの両方に影響しますが、Blender固有のパラメータを変更するとBlenderレンダーに影響しますが、エクスポートされるモデルには影響しません。例えば、*MMD Material*の*Specular Color*フィールドを変更するとBlenderのスペキュラー色（スペキュラーサブセクションのスペキュラー色フィールド）が変更されますが、Blenderのスペキュラー色を変更しても*MMD Material*の*Specular Color*は変更されません。 *Edge Line*は、mmd\_toolsによるBlenderレンダリングでは実装されていませんが、*MMD Material*サブセクションで行われたエッジ関連の変更は、エクスポートされたモデルに影響します。

訳注: エッジ(輪郭線)は、MMDタブのEdge preview > Createで確認できるようになっています。頂点ごとのエッジ倍率はmmd\_edge\_scale頂点グループを使用します。

#### MMD Texture / MMDテクスチャ

Materialsの*MMD Texture*サブセクションでは、MMDモデルのテクスチャに使用されるフィールドとフラグを指定できます。 上記の*MMD Material*設定と同じように、mmd\_toolsはこのサブセクションで行った変更をBlenderの他の要素に伝播しますが、その逆はありません。 つまり、*MMD Texture*の*Shere blend mode*を変更するとBlenderのレンダリングに影響しますが、テクスチャタブ/影響のブレンドモードを変更してBlenderのレンダリングを変更しても、*MMD Texture*設定やエクスポートされたモデルには影響しません。

訳注: Use shared Toon Textureは、MMDの標準Toonを使います。この画像はmmd\_toolsには含まれていないので、テクスチャなし(紫色)になる場合は、アドオン設定のShared Toon Texture Folderを設定して下さい。

### Object / オブジェクト

#### MMD Model Information / MMDモデル情報

MMDモデルで使用されるさまざまなモデル固有のフィールドを編集できます。

*Change MMD IK Loop Factor*は、BlenderのすべてのIKボーン(選択されたものだけではありません)の反復に乗数を適用します。ボーンまたはアーマチュアが選択されている場合にのみアクセスできます。 これは、エクスポートされるモデルではなく、Blenderのアニメーションにのみ影響します。

#### MMD Rigid Body / MMD剛体

Build済みまたは未Buildの剛体オブジェクトの情報が含まれます。 *MMD Materials*と同様に、このサブセクションの変更はBlenderの物理演算に影響しますが、Blenderの物理演算の変更はこのサブセクションには影響せず、モデルとともにエクスポートされません。

一部の変更は剛体がBuildされているかに関わらず有効ですが、変更されないものもあります。このサブセクションを変更した後は、剛体を再Buildすることをお勧めします。

訳注: 剛体コリジョンはBlenderとMMDで仕組みが異なります。Blenderでは衝突する剛体のグループ(Collision Group)を定義しますが、MMDでは衝突しない剛体のグループ(Collision Group Mask)を定義します。mmd\_toolsはMMDの剛体コリジョンをシミュレートするために剛体ごとにtemporary/ncc\*の剛体コンストレイントにより衝突の無効化を行います。この設定は剛体ごとに行われるため、通常のBlender上での剛体シミュレーションよりも処理が重くなります。この理由で剛体の距離がある程度離れていると非衝突処理を行わないようになっています。この距離は、アドオン設定の`Non-Collision Threshold`にあります。ここを適当に大きくして剛体Buildするとすべて処理されるようになります。PMXに出力する予定がある場合は、Blenderのコリジョングループは触らずに、MMD Rigid BodyのCollision Group Maskを変更してください。

#### MMD Joint / MMDジョイント

ジョイントオブジェクトの情報が含まれます。 *MMD Materials*と同様に、このサブセクションの変更はBlenderの物理演算に影響しますが、Blenderの物理演算の変更はこのサブセクションには影響せず、モデルとともにエクスポートされません。

### Modifiers and Vertex Groups / モディファイアと頂点グループ

#### mmd\_bone\_order\_override / ボーン順序再定義

BlenderとMMDのボーンの実装の違いを扱うために、ボーンの順序はBlenderではあまり重要ではありませんが、MMDではとても重要な可能性があります。 ボーンの順序をインポート/エクスポートのサイクルで維持するために、インポートされたモデルは*mmd\_bone\_order\_override*モディファイアを使用して生成されます。 このモディファイアがモデルに含まれるいずれかのオブジェクトに未適用で存在する場合は、mmd\_toolsはBlenderで行われた変更が許す範囲でボーンの順序を復元するために、これをエクスポート時に使用します。

モデルでボーンの順序が重要でない場合は、このモディファイアを安全に削除または適用することができます。

訳注: エクスポートされるボーンの順序は、Meshes Sorterの順でオブジェクトを順に見て最初に `mmd_bone_order_override`という名前のモディファイヤがあるオブジェクトの頂点グループの順になります。PMXでは、親のボーン順序が子より後になると問題があることがあるので、Blender頂点グループメニューの`ボーン階層でソート`で頂点グループをソートしておきます。またIKはターゲットより上にないと正しく動作しないので、例えば足IKの階層が下半身の階層より上になるようにソートします。頂点グループがないボーンは、ボーン順の一番下に追加されるのでエクスポートするボーンについては空ウェイトでも全て頂点グループを作ってソートしておかないとPMX Editorでの状態検証をパスできません。

#### mmd\_edge\_scale / 輪郭線(エッジ)サイズ

mmd\_toolsは、*mmd\_edge\_scale*頂点グループを使ってMMDモデルで使用されるエッジ(輪郭線)サイズの頂点属性を追跡します。 この頂点グループから頂点が削除された場合、または頂点グループ全体が削除された場合、mmd\_toolsはエクスポート時にデフォルトのエッジサイズとして1を設定します。 モデルが頂点ごとのエッジサイズを利用しない場合は、この頂点グループを安全に削除できます。

#### mmd\_vertex\_order / 頂点順序

mmd\_toolsは、*mmd\_vertex\_order*頂点グループを使ってMMDモデルで使用される頂点の順序を追跡します。 上記の*mmd\_edge\_scale*と同様に、頂点の順序に関心がなく、Blender内のウェイトの編集に与える影響を認識している場合は、この頂点グループは安全に削除することができます。

### Shape keys and morphs / シェイプキーとモーフ

MMDの頂点モーフは、Blenderではシェイプキーで表現されます。Blender内で作成された新しいシェイプキーは、頂点モーフとしてエクスポートされます。これらのモーフはモーフグループ4(右下)にエクスポートされます。 新しく作成されたシェイプキーは、MMD形式にエクスポートされてから再インポートされるまで、*Display Items*(上記)のような機能からモーフとしては使用できません。

.pmx形式に適切にエクスポートするには、すべてのモデルで**ベース**シェイプキーが必要です。メッシュにベースシェイプキーがない場合、メッシュを選択した状態で、プロパティウィンドウのデータタブのシェイプキーサブセクションから簡単に作成できます。+ボタンを押して新しいシェイプキーを作成します。ベースが存在しない場合、これはベースとして作成されます。 （これは、モディファイアを適用するためにシェイプキーが削除されたときに頻繁に必要になります）

mmd\_toolsがSDEF情報を保存するために作成する3つのシェイプキーが存在します\_(訳注: mmd\_sdef\_c,mmd\_sdef\_r0,mmd\_sdef\_r1)\_。 BlenderはSDEF変形には対応していませんが(訳注: 対応しました #sdef)、mmd\_toolsはこれらのシェイプキーを使用してインポート/エクスポートのサイクルを通してSDEF情報を維持します。 Blenderで移動したボーンはSDEF情報を更新しません。代わりにPMXEのようなアプリケーションでSDEFの重心を更新する必要があります。

現時点では、mmd\_toolsは他の種類のモーフ（ボーンモーフ、材質モーフなど）は、ツールバーの編集パネルでの使用のみサポートされています。これらのモーフはインポートされたモデルの適切なプロパティにリンクされず、インポートされたアニメーションでは頂点モーフ以外のモーフはキーフレームに登録しません。

## Outliner / アウトライナー

mmd\_toolsがモデルをインポートおよび作成する階層を理解することが重要になります。不適切な階層を持つモデルは、適切にエクスポートまたはアニメーションできません。

各モデルは、*[modelname]*\_arm、joints、rigidbodiesと、ときおりtemporaryを子に持つひとつのベース親オブジェクトとして構成されます。 jointsとrigidbodiesには、MMDと関連する(未構築の)データを保持する子要素が含まれます。 剛体をBuildする場合(上記)、メインの親とtemporaryの子要素には、物理演算が有効になったBlenderに適したオブジェクトが配置されます。 デフォルトでは、ジョイントと剛体のグループはプレビューに表示されません。 これらのオブジェクトは、アウトライナーパネルの右にある目アイコンをクリックすると表示できます。

*[Modelname]*\_armは、メッシュ、ボーン、モディファイアと頂点グループのデータを含みます。 デフォルトでは、*[modelname]*\_armは非表示になっていますが、子要素の\*[modelname]\*\_meshはプレビューに表示されます。

ボーンは、*[modelname]*\_armを非表示解除することで表示でき、*[modelname]*\_armのポーズのネストした階層に含まれます。 *[Modelname]*\_meshは、*[modelname]*\_armの別の子要素で、オブジェクトモディファイア、頂点グループとすべての材質をまとめたメッシュを含みます。 これらのメッシュは、*[modelname]*\_meshの子要素\*[modelname]\*にあります。各メッシュ(材質)はまたテクスチャ画像データを子要素に持っています。

## Properties Shelf / プロパティシェルフ

### MMD Display / MMD表示

MMD形式のモデルを選択すると、プロパティシェルフの*MMD Display*サブセクションで、メッシュ、アーマチュア、剛体、ジョイント(関節)、一時オブジェクト、および各名称表示を含む、モデルの要素をすばやく非表示または表示にすることができます。 Toonマップまたはスフィアマップのレンダリングも有効または無効にすることができます。これはモデルごとに行われ、選択されたMMD形式のモデルのみが影響を受けます。

### MMD Shading / MMDシェーディング

*MMD Shading*では、MMDモデルにふたつの代替シェーディングスタイルを選択できます。

*GLSL*は、BlenderのGLSLシェーディングと同じシステムを使用し、デフォルトのMMDライティングと近くなるように、半球状のライトをシーンに追加します。

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

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

*MMD Display*とは違い、*MMD Shading*オプションは選択されたモデルだけでなく、シーン全体に影響します。注意として、これらのシェーディングモードともに、テクスチャ画像がBlenderシェーディング下でも見つからない場合は、ピンク(紫)の警告になります。

## Add-on Preferences / アドオン環境設定

Blenderユーザー設定のアドオンタブにあるmmd\_toolsエントリの左の三角をクリックすると、バージョン情報と環境設定にアクセスできます。

### Shared Toon Texture Folder / 共通Toonマップフォルダ

共有Toonマップが格納されるフォルダを指定してBlenderによって適切にレンダリングされるようにできます。通常これはMikMikuDance\_*[version]*/Dataのようなフォルダにする必要があります。(`toon01.bmp` ~ `toon10.bmp`ファイルが含まれています)

### Base Texture Folder / ベーステクスチャフォルダ

*Base Texture Folder*を指定すると、mmd\_toolsは、これをエクスポートされるモデルのテクスチャの相対パスを決めるのに使用します(ベースフォルダ部分はパスから削除されます)。 例えば、C:\textureがベーステクスチャフォルダとして指定されている場合、C:\texture\sphere\starry.spaは、モデルとエクスポートディレクトリの相対パスとしてsphere\starry.spaにエクスポートされます。これにより、テクスチャのディレクトリレイアウトをカスタマイズできます。

### Dictionary Folder / 辞書フォルダ

内部辞書の代わりにカスタム辞書を使用して名称を変換できるようにCSV辞書があるフォルダを指定できます。

*(訳注: インポート時にボーンなどの名称を定義したルールで置換するのに使用します)*

### SDEF

メッシュを選択して3D Viewの右のプロパティシェルフにある`MMD SDEF Driver`から`バインド`をクリックすると、SDEF変形を行うドライバが追加されます。この機能を使うには`ユーザー設定>ファイル>Pythonスクリプトの自動実行`を有効にする必要があります。`バインド解除`をクリックとドライバは削除され元の状態に戻ります。

## Known Issues and Common Problems / 既知の問題と一般的な問題

### Texture Export / テクスチャのエスクポート

Blenderで生成またはインポートされたいくつかのオブジェクトは統合(パック)された画像を持ちます。 これらの画像は、常にMMDに適したファイル形式でエクスポートされるとは限りません。これにより、MMDやその他の編集アプリケーションで表示エラーが発生する可能性があります。

### Bones and Posing / ボーンとポージング

BlenderとMMDはときどきかなり異なる方法でボーンを扱います。ほとんどの基本的なボーン構造は、Blender上のmmd\_toolsで適切に扱えますが(すなわちMMDと同じ)、もっと複雑な構造ではそうではないかもしれません。

mmd\_toolsのデフォルトはポージング状態です。IKボーンがIKターゲットと同じデフォルトの位置に配置されていないか、またはBlenderのボーンの扱い方がデフォルトのポーズと一致しない場合、モデルは意図しない変形をする可能性があります。 この問題を回避し、メッシュが予期しない変形を起こさないようにするには、モデルをレスト位置に設定してください。 これを行うもっとも簡単な方法は、*[modelname]*\_armをクリックしてアウトライナーからアーマチュアを選択し、次にプロパティウィンドウのデータタブに切り替えます。 スケルトンサブセクションの下にあるレスト位置ボタンをクリックして、予期しないポーズを防止します。

### Custom Normals / カスタム法線

MMDモデルには、各頂点のカスタム法線データを含めることができます。 mmd\_toolsはBlenderのカスタム分割法線データを使ってこれを扱います。

残念なことに、Blenderのこのデータの扱いは、頂点がマージされたときに簡単には修正できないアーティファクトを発生させることにつながります。Blenderはそれらを平均化せずにひとつまたは他のカスタム法線を採択します。頂点をマージする前に、カスタム分割法線データをクリアすることをお勧めします。

### Precision and Mirroring / 精度とミラーリング

BlenderとMMDはデータに同じ精度を使用しません\_(訳注: 座標やサイズなどの数値型の精度のこと)\_。 これは位置のわずかなズレにつながる可能性があります。これらのズレは通常小さすぎて意味を持ちませんが、ミラーリング(対称性)を壊すのには十分です。

### Export as previewed / プレビューと同じようにエクスポート

一般に、mmd\_toolsはプレビューに表示されているままのモデルをエクスポートしようとします。 シェイプキーやモディファイアもです。それらは適用する必要はなく、エクスポートされるメッシュに影響します。 しかし、いくつかのケースでは、適用されてないモディファイアが適切にエクスポートされないことがあります。このケースに出会った場合は、モディファイアを適用する必要があります。 残念なことに、これには関連オブジェクトからすべてのシェイプキーを削除し、モディファイアを適用した後にベースシェイプキーを再作成してエクスポートできるようにする必要があります。

### Texture Seams / テクスチャシーム

mmd\_toolsは、シームに沿って配置された頂点を複製することで、UVシーム付きの材質をエクスポートします。 自動スムーズが有効な場合、Blenderは簡単にこれらの頂点の不適切な法線を生成します。 この問題が発生している場合は、自動スムーズを無効にするか、Blenderがそれらを切り裂くたびに頂点をマージします。 （マージされた）法線が維持されている場合は、mmd\_toolsはエクスポート時にそれらの分離処理をします。

*(訳注: エクスポート時にメッシュはシームで切られますが、オリジナルのメッシュは変更されないため、おそらく再インポートを繰り返すときの問題です。インポート時にRemove Doublesを指定するとモーフを壊さない方法でシームの切り目をマージして取り込めます)*

### Weight Painting and Vertex Groups / ウェイトペイントと頂点グループ

BlenderでMMDモデルを編集する主な利点のひとつは、BDEF4のウェイトを作成・編集するのが簡単なことです。しかし、注意すべきいくつかの落とし穴があります。

Blenderでは4つ以上のボーンに対してウェイトが塗られた頂点を作成するのは簡単ですが、MMDではBDEF4に制限されます。 mmd\_toolsが4つ以上のボーンにウェイトが塗られた頂点に遭遇すると、影響力の最も小さいものを落としてから再正規化しますが、この再正規化は問題につながる可能性があります。 エクスポートする前に、ウェイトペインティング/ツールバー/ツールタブのウェイトツールサブセクションから合計を制限を使用し、6つの頂点グループに限定することをお勧めします。 *mmd\_edge\_scale*と*mmd\_vertex\_order*の追加の頂点グループがあることを覚えておいてください。これらの頂点グループのデフォルトロックは、制限された合計数にカウントされないようにしなければなりません。 これらの頂点グループのひとつまたは両方を削除した場合は、その制限数を適切に調整します。

また、Blenderでは正規化されていないウェイトも簡単に作成できます。 頂点グループ数が適切に制限されていれば、mmd\_toolsはこれらの重みを適切に再正規化しますが、手動で正規化することをお勧めします。 残念なことに、*mmd\_edge\_scale*と*mmd\_vertex\_order*のデフォルトロックは、Blender 2.77のすべてを正規化ツール(ウェイトペイントツール/ツールタブ/ウェイトツールからアクセスできます）に加えて処理することを防ぎません。Blenderでウェイトを正規化する必要がある場合は、これらふたつの頂点グループを削除する必要があります。

### Rigid Body Animation / 剛体アニメーション

Blenderで生成された剛体は、インポートされたモーションに適応するのにいくらか時間が必要になることがあります。 これは、とりわけインポートされたモーションの原点がモーションがインポートされるモデルの原点と大きく異なる場合に当てはまります。 インポート時のパラメータ**Margin**を使用すると、メインのアニメーションが始まる前に剛体にゆとりを与えることが出来ます。

*(訳注: 物理演算がレスト位置から始まるため、全ての親ボーンを1フレーム目で動かすモーションなど、初期のポーズに大きな動きがあるモーションでは、初期ポーズになるまでの間に剛体が高速に動き過ぎて破綻します。Marginを広めにして初期ポーズまでゆっくり移動させると防げます)*

### Pasting Flipped Poses / ポーズの反転ペースト

Blenderでポーズを反転して貼り付けると、ボーンの名称が不適切にリネームされることにつながります。 今のところ、ポーズを反転して貼り付けるのは避けてください。 これが受け入れがたい場合は、Renamed Bonesをチェックしてモーションをインポートすると問題が解決されることがあります。

*(訳注: ここでのボーンの名称はBlenderのボーン名ではなくMMDボーン名です。mmd\_toolsはポーズボーンにこれらの情報を持っているためポーズを反転コピー(Shift+Ctrl+V)するとMMDボーンの情報が反対側へ移動して壊れます。モデルをエクスポートする予定がない場合は、気にせずモーションのインポート時にRenamed Bonesを使えば問題ありません)*

(訳注: 3DView下のヘッダーにある<=>ボタンをクリックすると、問題を起こさずにポーズの反転ができるようになりました)

### ボーンモーフに使用されているボーンのコピーとマテリアルモーフに使用されているマテリアルのコピー

ボーンモーフでは、mmd\_tools内部のIDでボーンが識別されています。すでにIDが割り当てられているボーンをBlender上でコピーするとIDもコピーされ重複します。IDが重複している場合、Morph ToolsのBone Offsetsでボーンが選択できなくなります。またMMD Bone ToolsのIDフィールドに警告アイコンが表示されます。

IDの重複を解消するにはMMD Bone Tools上でコピー側のボーンのIDを-1に設定して下さい。IDが-1の場合は、ボーンモーフ等で使用される際に重複しないIDが新たに割り当てられます。

またマテリアルモーフとマテリアルにも同様の問題があります。

### Lat models / Lat式モデル

Lat式モデルは、複数の透過レイヤーを使用して非常に漫画的な外観に設計されています。 デフォルト設定では、Blenderで正しく表示されません。 プロパティシェルフのシェーディングサブセクションで裏面の非表示を有効にし、プロパティシェルフの*MMD subsection*の*Shadeless*を有効にすることで、好ましい結果が得られました。

### Shared Toons / 共有Toonマップ

共有Toonマップ(典型的なMMDモデルでは、**Toon01.bmp**から**Toon09.bmp**)を適切にレンダリングするには、ユーザー設定を変更する必要があります。

*(訳注: 上記のアドオン環境設定を参照)*

### Improper display of Japanese language / 不適切な日本語表示

mmd\_toolsは現在、MMDモデルの各要素に日本語の名前を使用していますが、日本語の文字を適切に表示するには、Blenderの設定を変更する必要があります。 これを行うには、ユーザー設定ダイアログのシステムタブに移動し、国際フォント(ローカライズ)を有効にします。

### UV Morphs / UVモーフ

mmd\_toolsはUVモーフオフセットデータをUV\_[モーフ名][軸]の頂点グループに格納します。軸は{'+X', '-X', '+Y', '-Y', '+Z', '-Z', '+W', '-W'}のいずれかです。 mmd\_toolsで通常の方法でUVモーフを編集するには、チュートリアルモーフの作成と編集方法を参照してください。

### Rigify

mmd\_toolsは、Rigifyアドオンを使用してMetarigからリグを生成するときにエラーを引き起こす原因となるカスタムボーンプロパティを作成します。 エラーを防ぐには、mmd\_tools操作パネルでBone Constraintsの[適用]/[クリーン]をクリックするか、Rigifyを使用するたびにmmd\_toolsを無効にしてください。

### Registering frames for morphs other than vertex morphs / 頂点モーフ以外のモーフのキーフレーム登録

mmd\_toolsは、適切に名前が付けられたシェイプキーが存在する場合にのみ、インポートされたアニメーションからモーフをフレームに登録します。 あらゆる種類のモーフをフレームに登録したい場合で独自のドライバを作成する場合は、それらの登録を捕捉ために適切な名前のシェイプキー（おそらくベースシェイプキーのただのコピー）を作成することを検討してください。

他のプロパティのためにドライバのシェイプキー登録を使う方法については、https://blender.stackexchange.com/questions/42390/how-can-i-set-a-shape-key-value-to-be-a-drivers-variable を参照してください。

### いくつかのシェイプキー(頂点モーフ)がエクスポートされない

シェイプキーの値を0→1に変えたときにモディファイアの影響で頂点数が変わる場合にオリジナルのメッシュとの頂点数の不一致エラーによりエクスポートが失敗します。ベベルやサブディビジョンサーフェスなどによって頂点数が変わることは問題になりません。シェイプキーの状態によって頂点数が変わるという部分が問題になります。シェイプキーによる頂点の移動はモディファイアスタックよりも前に実行されるのでこの問題が発生することがあります。 例えば、ミラーモディファイアのマージオプションにチェックが付いている状態で中心の頂点がシェイプキーによって動くと、シェイプキーの値によって中心の頂点がマージされる場合とされない場合の2通りのメッシュが存在するなどです。 エクスポートに失敗したシェイプキーはログファイルで確認できます。

### 2.9系での剛体シミュレーション

2.9系では、リジッドボディワールドの設定が変更されたのが原因で、mmd\_toolsでインポートした剛体がうまく動かないことがあるようです。 `シーンプロパティ > リジッドボディワールド > サブステップ/フレーム`を1か2にすると、2.8系に近い動きになります。

（2.8系では、`サブステップ/秒`だった設定項目が2.9以降で`サブステップ/フレーム`に変更されています。またデフォルト値が`サブステップ/秒=FPS (サブステップ/フレーム=1)`から`サブステップ/フレーム=10`に変更されています。）

### mmd\_toolsで独自のシェーダーを使う（エクスポートにMMD Materialも使う）

独自のシェーダーをmmd\_toolsで使う方法としてmmd\_toolsがマテリアルに使用するMMDShaderDevとMMDTexUVグループノードを編集してスタートアップファイルに保存する方法とMMDShaderDevの出力をシェーダーミックスなどに接続してmmd\_toolsがマテリアル出力を切り替えるのを防ぐ方法があります。

#### MMDShaderDevを編集する

mmd\_toolsはMMDShaderDev、MMDTexUVという名前のグループノードがあれば新規に作成せずそれを使用します。 mmd\_toolsが使用するシェーダーの置き換えが出来ます。

まずMMDShaderDev、MMDTexUVを編集する用のプロジェクトを作りノードを編集します。

1. 新規作成
2. ノードの編集・確認に使うMMDモデルをインポート
3. シェーダーエディタを開きMMDShaderDev、MMDTexUVをタブキーで編集モードにして中身を編集
4. 保存

例としてMMDShaderDev内のディフューズBSDFを放射シェーダーに置き換えて、MMDTextUV内のマッピングノードの回転をY=-17 Z=37に置き換えました。

次にスタートアップファイルに作成したMMDShaderDevとMMDTextUVをアペンドとして上書き保存します。

1. 新規作成
2. ファイル > アペンド > 作成したプロジェクト > NodeTree > MMDShaderDevとMMDTextUVを選択してアペンド
3. ファイル > デフォルト > スタートアップファイルの保存

この後で新規に作成したプロジェクトでは変更したMMDShaderDevとMMDTextUVが使われるようになります。 制限は、グループノードの入出力をMMDShaderDevと同じに保つことですが、MMDを目的にすると同じになるのではと思います(入力を増やすのは問題ないと思います)。

戻したい場合は、アウトライナーで独立データを表示してノードグループを削除してからスタートアップファイルを再保存します。

#### MMDShaderDevの接続先を変える

MMD Materialを変更した時にMMDShaderDevの出力が他のノード(通常はマテリアル出力)に繋がっていなければマテリアル出力に再接続されますが、何らかのノードに繋がっていればマテリアル出力への接続は変更されません。 MMDShaderDevの出力をシェーダーミックスに接続し独自シェーダーとのスイッチに使うことでMMDShaderDevがマテリアル出力に再接続されるのを防げます。

この設定はマテリアル毎に行う必要があります。またBlender内でしか保持されないのでPMXするから再インポートするとデフォルトのノード構成に戻ります。