全ての親ボーンの追加


MMDの特徴の一つに「地に足が着いたモーション」があります。
これは、足のボーンがセンターボーンの影響を受けないIKによる設定がされているからで、「足IKの初期化」や「Y値0化」を利用することで、確実に地面に足が付いたモーションをさせることが出来ます。
一方、モデルの位置を変更させたり、向きを変更させたい場合には、センターの移動や回転だけでは定まらず、足の位置の再調整が必要となります。また、スキーやスノボ、スケートなどの表現や、回転する乗り物の上を想定したモーションの共有などが困難となっていました。

本ページではPMDエディタを使用して、これらを表現する上でとても便利な「全ての親ボーンの追加する方法」の基本的な手順を紹介します。

  • 【注意】
    • 本ページの内容は全ての親ボーン作成の基本的な手順を記載したものです。
      • 記載内容は作業手順を最適化したものではありません。あくまでも参考としてください。
    • 「全ての親ボーン」という表現・名称は一般的な3DCG用語ではありません。
    • 「全ての親ボーン」はとても便利なボーンですが、逆に宙に浮いたり滑ったりする感じになったり、他のモデルとのモーション共有が行えなくなる場合があります。
    • PMDエディタの基本的な使い方については、「PMDエディタの使い方」を参照してください。
    • なお、既に「全ての親ボーン」がセットされたモデルが配布されています。PMDエディタを使用しない場合はそちらをご利用下さい。(⇒ MMD付属モデル
    • 一部のユーザモデルについては、既に用意されている場合もあります。

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



全ての親ボーンとは


全ての親ボーン(およびダミーボーンの使用例)は、以下の動画で簡単に説明されています。


全ての親ボーンは、以下のような特徴を持ちます。

  • 全ての親ボーンの特徴
    • センター、足IK、その他全てのボーンの親として機能する。
    • 全ての親ボーンの位置を変更すれば、バイアス付加と同等の結果が得られる
    • 全ての親ボーンを回転させれば、モーションに寄らずに回転をさせられる
      • (当然だが)回転の中心は「全ての親ボーン」となる

ただし、全ての親ボーンを使用して位置調整などを行った場合、他のモデルとのモーション共有に支障が出る事があるため、基本的には演出上のボーン(機能)として扱うことをオススメします。

全ての親ボーンの使用例


AddBaseBorn02.png AddBaseBorn03.png AddBaseBorn01.png
移動や回転をする床の演出 輪に/対になって踊る
  • 上図左2枚は全ての親ボーンの回転がわかるようにアクセサリを設定しています。


全ての親ボーンの追加


PMDエディタ (0.0.2.4) から、「全ての親ボーンの追加」がメニューから選択・実行できるようになりました。以下にその手順を記します。

(1) モデルデータの読み込み
PMDエディタにベースとするモデルファイルを読み込みます。
特に気を使うところはありませんが、既に「全ての親ボーン」が組み込まれているモデルや、その設定内容によっては、正しく機能しない場合がありますので、ご注意下さい。
  • 取り込み後、「ボーン」タブでボーンの状態を確認することをオススメします。
AddBaseBorn04.png
PMDEditor:PMDデータの読み込み
  • 「全ての親ボーン」の多段化は次項で紹介します。

(2) 「全ての親ボーン」の追加
PMDエディタの「編集」メニューから「「全ての親」ボーンの追加」を選択します。確認のダイアログが表示されますので、「はい」で実行します。
AddBaseBorn05.png AddBaseBorn06.png
PMDEditor:「全ての親」ボーンの追加 PMDEditor:確認ダイアログ

(3) 「全ての親」ボーンの設定確認
(2)で追加した「全ての親」ボーンの設定を確認します。
特に「センター、右足IK、左足IK」など親ボーンが指定されていなかった独立したボーンについては、親子関係が変更されていますので、問題が無いか確認します。
AddBaseBorn07.png AddBaseBorn08.png
PMDEditor:全ての親ボーン設定 PMDEditor:センターボーン設定

(4) PMDViewでボーン構造の確認
作成された「全ての親」ボーンおよび、変更された「センター」ボーンの挙動をPMDView上で確認します。
※ 図、省略。

(5) 表示枠の変更
PMDエディタの「全ての親ボーン追加」の機能は、ボーン構造を変更してくれますが、表示枠は変更されません。ボーン編集を行う為の表示枠の変更を行います。
正確には、今まで「センター」だった部分が「全ての親」に変更されていますが、「センター」が未登録の状態になります。「センター」を任意の場所に設定してください。
AddBaseBorn09.png
PMDEditor:表示枠の変更
  • 今回の場合は「体(下)」に追加していますが、別の場所でも問題ありません。

(6) PMDデータとして保存
PMDデータとして保存します。 上書き保存には十分注意してください。
PMDエディタのモデル情報を書き換えておくことをオススメします。ボーン構造やモデルの形状等が変更されている場合、モーションの共有をする際に「モデル名」が重要な判断材料になります。
※ 図、省略

(7) MikuMikuDanceによる動作確認
PMDファイルとして保存した後、MikuMikuDanceに取り込んで確認します。
既存のモーションを取り込んで試すことも出来ますが、新しいボーンですので、見た目上何も変化はありません。全ての親ボーンを移動させたり、回転させることで、今までと異なる動きが可能なことが確認できます。
もし、登録内容に問題があることが確認された場合は、PMDエディタに戻って再度調整を行ってください。
AddBaseBorn10.png
MMD上での動作確認


全ての親ボーンの多段化


「全ての親」ボーンは多段化することが可能です。
2軸以上の移動や回転を演出したい場合などに利用できます。
具体的には遊園地の「コーヒーカップ」や「回転木馬」の動きを演出したい場合や、「クレーン」の動きに合わせた移動などを再現したい場合に利用できます。

(8) モデルデータの読み込み
既に「全ての親」ボーン作成済みのPMDデータを読み込みます。
※ 図、省略

(9) 「全ての親ボーン」の追加
PMDエディタの「編集」メニューから「「全ての親」ボーンの追加」を選択します。
メニューとしては(2)と同一ですが、異なる確認のダイアログが表示されますので、ご注意下さい。
※ 上記 (6)~(8) を飛ばして多段化を行うことも出来ます。
AddBaseBorn11.png AddBaseBorn12.png
PMDEditor:「全ての親」ボーンの追加 PMDEditor:確認ダイアログ

(10) 多段化された「全ての親」ボーンの設定確認
(9)で追加した「全ての親」ボーンの設定を確認します。
特に (2) で作成された「全ての親」ボーンと名称が同一で作成されますので、親子関係を確認の上、問題が無ければボーン名を変更するなど、MMD上で操作する上で間違いがないように設定を変更してください。
AddBaseBorn13.png
PMDEditor:全ての親ボーン設定

(11) PMDViewでボーン構造の確認
作成された多段化された「全ての親」ボーンの挙動をPMDView上で確認します。
通常の状態だと、作成済みの「全ての親」と多段化された「全ての親」ボーンの位置が(原点位置にて)重なっていますので、ボーン選択の際には間違えないようにしてください。
※ 図、省略。

(12) 表示枠の変更と保存
(5)と同様にボーン編集を行う為の表示枠の変更を行います。
特に問題が無ければ、 (6) と同様に PMDデータとして保存してください。
AddBaseBorn14.png
PMDEditor:表示枠の変更

(13) MikuMikuDanceによる動作確認
PMDファイルとして保存した後、MikuMikuDanceに取り込んで確認します。
(7) とボーン構造の違い、挙動の違いを確認してください。
AddBaseBorn15.png
MMD上での動作確認


おまけ


全ての親ボーンを利用した作品を紹介します。



関連情報(参考情報)





コメント

名前:
コメント:
  • 逆に全ての親を消してしまうには、削除するだけでも良いですか? -- 名無しさん (2009-09-14 10:16:44)