yagi39のブログ

モデリングツールXISMOについて

XISMO機能解説講座Part13Pmx出力編

ここでは
・Pmx出力に必要なもの
・Pmx出力時のオプション
・不正なPmx
・xismoでできないこと
・XISMOでのモデルの見た目をMMDに合わせる
を解説します。
これらのうち、名前からその動作が分かりやすく、注意点のない機能は省略しています。

yagi39の推測による内容もあるのでご注意ください。
質問、要望、訂正すべき箇所などありましたらコメントやツイッターのリプ・DM、
質問箱(匿名)をご活用下さい。
なおyagi39が理解していない事項に関してはお答えできません。ご了承ください。
機能の動作等はバージョン199bで確認しています。

■Pmx出力に必要なもの
xismoでPmx出力するには、最低限以下のものが必要である。
・ルートボーン
・ボーン
ただし、これだけではMMDに読み込むとMMDが落ちる。
詳しくは後述の「不正なPmx>MMDで読み込めないPmx」を参照。

■Pmx出力時のオプション
●倍率
出力する際の大きさを変更する。
倍率1.000で書き出すと、xismoとMMD,PmxEditorで同じ座標になる。
ちなみに、MMDに付属している初音ミク.pmdはMMD,PmxEditorで身長が約20座標であり、
初音ミクの公式設定は身長158cmのため、
MMD,PmxEditorで1座標=8cmという対応がよく使われる。
よって、人型モデルはだいたいこの大きさで作ることになるが、
xismoで「MMD用ボーンを追加」コマンドで作られる人型のボーンは、
身長約200座標に合わせられている。
そのため、xismoではMMDでの大きさの10倍の大きさで制作(160cmなら200座標)し、
Pmx出力するときに倍率0.100にすることをお勧めする。

●モディファイアをフリーズ
モディファイアの効果を無視して出力する。
全てのモディファイアをオフにして出力した時と同じPmxになる。

●表示ノードのみ
ノードウィンドウで表示(可視設定がオン)のノードのみ出力する。
チェックを外すと非表示のノードも出力される。
ただし、チェックを外していても非表示のモディファイアの効果は無視される。

●環境アウトラインを反映
環境ウィンドウでの「アウトライン」の値を反映して出力する。
つまりセンタービューでの見た目のまま出力する。
チェックを外すと、環境ウィンドウでの「アウトライン」の値を使わず、
シェーダのプロパティのアウトラインのサイズで設定した値で書き出す。

●隠した面をスキップ
「選択面を隠す」で面を隠している場合、その面をPmxに出力しない。
つまり面を削除した場合と同じPmxになる。

●上書き確認をしない
既に存在するPmxと同じ名前で保存した場合に表示される
 (ファイル名).pmxは既に存在します。
 上書きしますか?
というダイアログを出さずにそのまま上書き出力する。

●既定のプログラムで開く
Pmx出力後、Pmxファイルに設定されているプログラムを起動しそのファイルを開く。

相対パス
使用しているテクスチャのパスを相対化して出力する。
MMDで使用するには相対化する必要があり、
絶対パスのままだとフォルダ名がPmxに保存されるので相対パス化することをお勧めする。

●ルートボーン
ここで選択したルートボーンに属するボーン群(ノードウィンドウで
ルートボーンを選択したときにボーンウィンドウに表示されるボーン群)で出力する。

■不正なPmx
xismoでPmx出力すると、MMDで読み込めない、あるいは
Pmxの状態検証でエラーが出るようなファイルが出力される場合がある。
MMDで読み込めないPmx
以下のいずれかに該当する場合はMMDに読み込めない、またはMMDが落ちる。
・表示枠にRootと表情がない

 このようにRootと表情の枠を作る必要がある。
 なお、Rootに登録するボーンは何でもよいが、全ての親に設定するのが一般的である。
・剛体に接続していないジョイントがある
・不正なウェイトがある
 ウェイトタグの正規化にチェックを付けると治る。PMXエディタ側で修正もできる。

MMDで読み込めるが、Pmxの状態検証でエラーが出るPmx
xismoから出力したPmxをPmxEditorで読み込み状態検証すると△や×が出ることがある。
よくあるのは以下の通り。
・頂点>不正法線数
 どのような理由で不正法線が生成されるのかは不明。
 PmxEditorで「編集>頂点>不正法線の編集」を実行すれば修正される。
・材質>テクスチャ無効材質
 xismoではテクスチャやトゥーンなどは絶対パスでも使用できるが、
 Pmxでは相対パスでなければならない。
 xismoで修正する場合は、テクスチャのプロパティで「相対パス化」をクリックするか、
 Pmx出力時に相対パス化にチェックを入れる。
・ボーン>系列順序確認
 一般的なボーン構造のモデルはボーンの変形階層を考慮する必要はないが、
 複雑なボーン構造のモデル(付与やIKを多用)ではPmx出力後、
 xismoが出力した変形階層のままだとMMDでボーンと頂点が移動したり
 状態検証でエラーが出ることがあるので変形階層をPmxEditorで設定しなければならない。
 具体的には、xismoで付与ボーンは変形階層2として出力され、
 その付与ボーンに付与ボーンでない子ボーンがある場合変形階層0で出力されるため、
 親子で変形階層が逆になるという問題が発生する。
 PmxEditorで付与ボーンの変形階層を0に変更すると解決する。
 (ボーン構造によっては解決しない場合もある)
 ちなみに、PmxEditorのボーンリストの上下順が
 「親→子、付与親→付与、IKLink→IKTarget→IK」
 を満たし、特殊な構造でない場合は変形階層全て0でよい。

■xismoでできないこと
xismoはMMDに特化したモデリングソフトというわけではないため、
MMDに独特の設定はできないことがある。
●ボーンのローカル軸と表示先の個別設定
xismoではボーンの向きとローカル軸は1対1対応している。
(ボーンの向いている方向がローカルZ軸、アップベクターの向いている方向がローカルY軸)
これらは個別に設定できない。
ほとんどのボーンはxismoでは向き優先で設定しPmxEditorでローカル軸を編集する。
全ての親やセンターなど、ワールド座標でX,Y,Zのいずれかの軸と向きが平行のボーンは
ローカル座標はワールド座標と一致させる傾向にあるため、
xismoではローカル座標としてボーンの向きを設定
(「ボーンを追加」で作成されるボーンと同じ向き)し、
PmxEditorで表示先を設定してもよい。

●ボーンの変形階層
xismoではボーンの変形階層を指定できないため、複雑な構造のモデルでは
PmxEditorのTransformView及びMMDで一部のボーンや頂点が移動するという
問題が起きる。これはPmxEditorで修正する必要がある。
詳しくは先述の「不正なPmx>MMDで読み込めるが、
Pmxの状態検証でエラーが出るPmx>ボーン>系列順序確認」を参照。

●材質モーフ・UVモーフ・ボーンモーフ・グループモーフ
xismoで設定できるモーフは頂点モーフのみであるため、
これらのモーフはPmxEditorで設定する必要がある。

■XISMOでのモデルの見た目をMMDに合わせる

追記

訂正:XISMOの照明は、110にする→XISMOの照明は、111にする

-------------------------------------------------------------------------

条件

  • PMDモデル、またはPMXモデルである
  • MMDの照明が154(初期値)

 

以上を満たすときは、

  • 拡散色は、表示したい色にする
  • 環境色は、拡散色の各成分 \dfrac{101}{205}倍の値にする
  • XISMOの照明は、110111にする(MMDの照明が154、環境色が拡散色の各成分 \dfrac{101}{255}倍の時)
  • XISMOの材質の陰影タイプをフラットにする

 

と設定すれば、XISMOとMMDでのモデルの見た目がほぼ一致します。

この時、拡散色に設定した色でXISMOやMMD上で表示されます。

ただし、RGB各成分で1/255程度の誤差は出ます。

-------------------------------------------------------------------------

追記ここまで

 

 

(この項のみXISMOver.225aを使用して解説しています。)
XISMOはモデリングソフトなので、初期設定ではMMDとはモデルの見た目が異なる。
以下の方法でXISMOでのモデルの見た目がMMDでの見た目とほぼ同じになる。
・視野角をMMDと同じ値にする。(MMDの初期設定は30、XISMOの初期設定は35。
 XISMOでは初期設定の場合マウスホイールまたは、Shift+ホイールドラッグで視野角を変えられる。)
・ツールウィンドウの「環境」で照明の設定のRGBを全て100にする。
(もしくはHSVを0,0,100でも同じ設定になる。)
・センタービュー上部のフィルタ設定で「テクスチャ」・「アウトライン」をオンに、
 「フラットテクスチャ」をオフにする。
・テクスチャを使用しているシェーダノードのプロパティで拡散色をRGBすべて255に、
 環境色をRGBすべて128に、発光色・反射色をRGBすべて0にする。
・モデルに使用しているシェーダノードのプロパティで陰影タイプを「フラット」にする。
(テクスチャを使用しているシェーダの場合は陰影タイプは何を選んでも同じ見た目になるので気にしなくてよい。)
・環境アウトライン(エッジ)について
 Pmx出力の際に表示されるダイアログで、「環境アウトラインを反映」にチェックを
 つけなかった場合、シェーダのプロパティの値でエッジが設定される。
 「環境アウトラインを反映」にチェックを入れた場合、ツールウィンドウの
 環境>アウトラインでの設定によってPmxに書き出されるエッジの太さが異なる。
 (一番左端に設定している場合はすべてのシェーダのエッジの太さが0に、
  中央に設定している場合はすべてのシェーダのエッジの太さが約2.5倍に、
  一番右端に設定している場合はすべてのシェーダのエッジの太さが4.99倍になる)


左がXISMO、右がMMD


他パートへのリンクを貼った目次代わりのPart1

XISMO機能解説講座Part1概要編 - yagi39のブログ