ボーンの追加によるモデル形状の変更


PMDエディタを使用して、モデルにボーンを新たに追加し、(モーション付けやモーフィングなどに利用するための)モデルの形状を変更させる方法を記載します。

ボーンの追加や変更については、他の3DCGツール(BlenderやMetasequoia、Lightwave3Dなど)を利用して組み込む方が汎用性の観点でも、機能的な面でも優位性は高いですが、本ページの説明はあくまでもPMDエディタのみで行う場合の内容となります。あらかじめご了承ください。
※ その為、他の3DCGツールにおいて一般的な作業の手順と大幅に異なる可能性があります。

なお、本ページ内では「簡単に説明」していますが、PMDエディタの機能的な意味でも PMDデータのデリケートな部分に触れるという意味でも、PMDエディタの操作およびPMDデータ、MMDの機能的な面での理解および慣れが必要です。作業を行う際には十分にご注意ください。

※ この方法はPMDエディタを使用したボーンの追加および各頂点に対する重み付けの方法の一例です。他の方法もありますのでいろいろお試しください。

【注意】
  • 設定するボーンおよび重み付けの内容によっては、過去のモーションデータを流用する際にモデルの形状が大きく破綻する可能性があります。
  • PMDエディタの機能を多数利用しますが、説明の要点を簡略化する為、個々の画面における詳細な操作の説明は割愛しております。

・各種データ(ユーザー自作モデルなど)の取扱いについては、著作権等の権利にご注意願います。
・モデルデータ作者および閲覧者が不快と感じる様な改造はお控えください。


ボーンの追加によるモデルの変形


※ PMDエディタの起動からモデルデータの読み込みまでは省略します。
※ 前述の「モデルへ個別パーツ追加」において追加した「ネコ耳(ボーン付き)」に対する追加作業とします。

(1) 形状変化用のボーン追加(Ctrl + P)
PMDエディタの「ボーン」タブを表示し、形状変化用のボーンを追加します。
ボーンリスト上で右クリックメニューを表示し、「追加(A)」→「最後尾に追加(P)」を実行します。ボーンリストの最後尾にボーンが新たに追加されますので、設定したいボーン名を入力してください。
  • モデルの左右に表示したい場合、ボーン名は先頭を必ず「右」または「左」で始めてください。
  • 今回の場合、形状変化を「回転」と想定していますので、「ボーンの種類」は変更不要です。
BornAdd_01.png BornAdd_02.png
PMDエディタ - 新規ボーンの追加(右図、追加後)

(2) ボーン位置の調整
ボーンを表示する位置を決定します。各ボーンの「ボーン座標」に値を入れてください。
  • ボーンの位置としては、既に設定済みの各頂点の値を参考とすることをオススメします。
  • 今回の場合、「ネコ耳」の最下段の頂点を参考にして設定します。
  • 左右にボーンがある場合、PMDView「頂点/ボーン編集」のメニュー「左右ボーン位置合わせ」を利用すると便利です。
BornAdd_03.png BornAdd_04.png
PMDエディタ - ボーン座標設定 PMDView - ボーン座標確認
  • 上図のPMDViewにおいて「ウェイト描画」のウィンドウが表示されていますが、この段階では特に使用しておりません。

(3) 回転方向確認用の子ボーン追加/位置調整
回転可能な各ボーンには「方向」を示すためのボーンが設定されています。
このボーンは設定しなくてもMMD上は動作しますが、視覚的に変化量が判らなくなるため、追加で登録・設定することをオススメします。追加の方法は通常のボーンの追加と同様です。
  • この子ボーンは操作不可とする為、「ボーンの種類」を「非表示」に設定してください。
  • 座標の位置についても、(2)と同様に他の頂点を参考にして設定してください。
BornAdd_05.png
PMDエディタ - 非表示ボーンの追加

(4) 操作用ボーンと確認用子ボーンの結合
上記 (1)~(3) までで作成した各ボーンを結合します。
親ボーンと子ボーンの関係を設定します。下記図の例を参考にして設定してください。
【重要】
  • 「親ボーン」に対し、さらに上位の親として「nekomimi」が設定されています。
  • 「nekomimi」ボーンは、「頭」ボーンからの位置変化情報を受け取っているボーンです。
  • 位置変化情報としては流入量が同一となるため、「頭」ボーン側を設定する事も可能です。
BornAdd_06.png BornAdd_07.png
PMDエディタ - 親ボーン設定例 PMDエディタ - 子ボーン設定例
BornAdd_08.png
PMDView - ボーン座標確認
  • 上図のPMDViewにおいて「ウェイト描画」のウィンドウが表示されていますが、この段階では特に使用しておりません。

(5) ウェイト値の設定 (Ctrl + M)
ボーンの影響を受ける各頂点に対し、ウェイト値の設定を行います。
  • 本ページにおいては既に「nekomimi」ボーンに設定されている頂点を「右ネコ耳」「左ネコ耳」の各ボーンに再設定する形となります。
※ 操作に当たっては、前述の「モデルへ個別パーツ追加」のページを参考としてください。
BornAdd_09.png BornAdd_10.png
PMDView - ウェイト値の設定 PMDエディタ - ウェイト値の確認

(6) PMDView上でのモデル変形確認 (Ctrl + T)
上記 (5) まででウェイト値の設定が済んだ場合、PMDView上で動作を確認できます。
PMDView上のメニュー「表示(V)」→「モデルの変形確認(T)」を選択して実行してください。PMDViewと見た目の近い別ウィンドウ(「形状変化」ウィンドウ)が表示されます。頂点を選択し、「回転」(場合によっては「移動」も)を軸ごとに指定して形状の変化を確認してください。
BornAdd_11.png
PMDView - モデルの変形確認
  • 前回使用時などの情報で表示される場合がありますので、表示がおかしいと感じた場合は、ボーンを選択して「リセット」を押下するようにしてください。(リセットはボーン単位で行われます)

(7) MMD表示用「ボーン枠」へのボーンの追加
MMD上でボーンを操作するに辺り、「ボーン枠」(MMD画面左側にあるモーション操作用のパネル)への追加が必要となります。PMDエディタの「ボーン枠」タブを開き、ボーンを任意の箇所に追加してください。
  • 本ページでは「頭」に付属する箇所となる為「表示枠:体(上)」に設定しています。
BornAdd_12.png
PMDエディタ - ボーン枠への登録

(8) MMD上で変更モデルの表示/操作を確認
作成したPMDファイルをMMD上に読み込み、表示を確認します。
BornAdd_13.png
MikuMikuDance - ボーン追加モデル表示
  • 上記までの手順の場合、全ての頂点が「ウェイト値100」で設定されている為、ボーンの回転に合わせてそのまま回転する動きになります。このため、大きく回転させたり後ろ側に回るとネコ耳が浮いてしまいます。
  • ウェイト付けによる変形については、次項で解説します。
  • kiyoP様の「リンで☆ゲッダン☆」で公開中のモーションをベースとさせて頂きました。


ウェイト値設定によるモデルの変形


上記「ボーンの追加によるモデルの変形」で行った操作の場合、ボーンに対するウェイト値を全て「100」とした為、ボーン位置を中心として全ての頂点が一様に回転する状態となっています。これを、ボーンの回転に対する追随度合い(影響度)を各頂点ごとに変更することで、モデルの形状変化にゆがみを生じさせ、より自然な変形が可能です。

本項ではウェイト値を変更・設定したモデルの変形に関する操作について説明します。

※ PMDエディタの起動からモデルデータの読み込みまでは省略します。
※ 前述の「モデルへ個別パーツ追加」において追加した「ネコ耳(ボーン付き)」および、前段の「ボーンの追加によるモデルの変形」に対する追加作業とします。

(9) 変形する頂点、しない頂点の位置確認
PMDView上でボーンの回転(移動)に対して影響を受ける頂点と受けない頂点を見極めます。
様々な角度から各頂点を確認して下さい。なお、PMDViewには「選択頂点の記憶」を6箇所設定することが可能です。影響度の度合い(レベルワケ)などを整理する際に、この機能を利用することも可能です。
※ 「選択頂点の記憶」の1~6のボタンは、「MS」(記憶:メモリストア)、「MR」(記憶の復活:メモリリストア)となっています。MS1~6を押すと、対応するMR1~6が使用可能となります。
BornAdd_14.png
PMDView - 変形頂点の位置確認

(10) 各頂点のウェイト描画
変形する頂点については、上記 (5) と同様に影響度を考慮した上でのウェイトを設定していきます。逆に、変形を行わない頂点についても、影響度0としてウェイトを設定していきます。
※ この作業は大変地味な作業となりますが、重要な作業ですので、慎重に行ってください。
BornAdd_15.png BornAdd_16.png
PMDView - 各頂点のウェイト描画(左図:0値、右図:80)
  • 下記 (11) のウェイトMAP表示状態での調整も可能です。広範囲な調整やスプレー機能を使う時などご自分の作業スタイルに合わせてご利用ください。

(11) 各頂点のウェイトMAP確認
PMDViewの「ボーンウェイトMAP」機能を使用することで、各ボーンに対する頂点の影響度を視覚的に確認することが出来ます。「表示設定」ウィンドウの「ボーンウェイトMAP」の各項目にチェックを付け、「頂点/ボーン編集」ウィンドウで「ボーン編集モード」に切り替えてから、確認したいボーンを選択します。影響度の高低で色分けされますので、未設定箇所などがないか、確認してください。
BornAdd_17.png BornAdd_18.png
PMDView - ボーンウェイトMAP機能

(12) 選択頂点の鏡像ウェイト設定
ボーンの設定が左右に存在する場合、反対側のウェイト値を鏡像化して値をセットすることが可能です。
PMDViewのメニューから「選択頂点を鏡像からウェイト設定(N)」を選んで実行します。事前にウェイト値を設定したい側の頂点を選択して下さい。実行後、上記 (11) と同様に、ウェイトMAPの確認をすることをオススメします。
※ 頂点の位置にズレがある場合も存在するため、「値のコピー」ではなく「補正」となります。
BornAdd_19.png BornAdd_20.png
PMDView - 鏡像頂点からのウェイト設定
  • 選択頂点数および補正に使用する頂点数の内容によっては、処理に時間を要する場合があります。

(13) PMDView上でのモデル変形確認 (Ctrl + T)
上記 (10) の作業において、ウェイト値の設定が済んだ場合、PMDView上で動作を確認します。
変形の仕方に違和感がある場合や、設定漏れがあった場合など、再び (10) に戻って作業を繰り返してください。
BornAdd_21.png BornAdd_22.png
PMDView - モデルの変形確認 【参考】ウェイト未調整時
  • 上図において、ネコ耳の根元部分(頭髪に近い部分)が離れず追従しているのが確認できます。

(14) MMD上で変更モデルの表示を確認
作成したPMDファイルをMMD上に読み込み、表示を確認します。
BornAdd_23.png
MikuMikuDance - ウェイト設定モデル表示


PMDエディタとは / 使用上の注意 / パーツの色替え / 分割・材質変更 / 一部消去 / サイズ変更 / パーツ追加 / ボーン追加 / 鏡像化モデルの作成 / 透明化モデルの作成

コメント

名前:
コメント:
  • 上書き保存しようとしたら、保存できませんでしたと出ます
    どうすれば良いのでしょうか? -- 名無 (2012-10-03 20:44:56)
  • 腕や手を足みたいにIKボーンにしたい場合はどうしたらいのでしょうか?
    -- 名無しさん (2011-10-19 00:35:10)
  • ウェイト描画で間違った頂点を選択してしまった場合
    どうやってキャンセルすればよいのでしょうか? --   (2010-12-26 15:59:06)