今回は自作モデルの中に、MMD と同じような構成のボーンを組み込んでいきます

LightWave にはリグプリセットが用意されていますが、こちらは使わないです

ちょっと手間ですが、ゼロから手動で組み込んでいきます

作っているのが MMD 用のモデルなので、ボーン構成も MMD の仕様に合わせる必要があります

じゃっく

これもまた勉強じゃ

当たり前ですが、 LightWave と MMD のボーンの仕様は結構違います

親子付けとかボーンの構成とか・・・

なので、MMD と同じような仕様のボーン構成が作れるか不安でしたが、できることが分かりました

ちょっと面倒なだけです

ボーンは一度作ってしまえば基本的には使いまわせるので、作り方を残していきます

仕様

ボーンを組む前に、どんな仕様のボーン構成にするか考えておきます

top ボーンは付けるようにする

過去に top ボーン無しで組んだことがありますが、PMX Editor に持って行ったときにボーンの向きや長さが無茶苦茶になりました※おまけに追記あり

じゃっく

もうなんでやねんっ!

全体のボーンの数は当然増えます

top ボーンは動かさないので、ウェイト値を消す作業があって少し大変ですが、これは慣れていくことにしました

ボーンの名前は必ず英語で書く

本当なら流し込むモーションの関係から、日本語の方が良いです

これは配布されているモーションの大半が日本語だからです

ただ、LightWave では日本語を使うとバグる可能性があるので、モデルを作っている段階では英語を使います

じゃっく

海外製のソフトなので、基本的に日本語は使わない方が良いですよ

試しにボーンの名前を日本語にしてみたのですが、レイアウトまでは持ち込めることが分かりました

ただ、FBX 化したタイミングで、文字化けが発生しているっぽいです

Blender に読み込むと、「???」みたいな感じで日本語が吹っ飛びます

日本語への変換は PMX Editor の機能を使えば大丈夫

一括で置き換えらるので、心配いりません

MMD の標準的なボーン構成を確認する

※MMDに入っていたモデルから作った標準ボーン

こちらは MikuMikuDance に元々入っていたモデルから作ったボーンです

入っているモデルのファイル形式は PMD という古い規格

なので、新しい方の PMX と少し違いますが、こちらのボーン構成と同じような構成にします

ある程度同じ構成でないと、モーションを流し込んだ時に思いもしないような動きになるので注意が必要です

じゃっく

ボーンの構成に大きな修正が入ると面倒なので

後で必要になるボーンは、PMX Editor のプラグインなどで追加していきます

準備

新しいレイヤーを用意

準備といっても新しいレイヤーを追加するだけでOK

空いているレイヤーをダブルクリックして、好きな名前を設定します

じゃっく

ここでは簡単に bone としています

あとは背景レイヤーにローポリの体と頭を表示

ローポリで表示しているのは、こちらの方がゴチャついていなくて見やすいからです

手順

ボーンを入れていく手順ですが、こんな感じになっています

最初は下半身、上手足などの体の中心から作っていきます

そのあとは左側の手足を作ります

親子付けとバンク角度を調整は、Skelegon Editor を使用します

最後に鏡面コピーをして完成、といった流れです

胴中心のボーンを作る

STEP1
センターボーンを作る
センター
  • center
    • center_top

センターボーンは名前の通り中心に置くボーン

なので、ある程度の高い位置から原点に向かって真っすぐ真下に伸ばします

ショートカットキーの i で「ポイント情報パネル」が開くので、ここでポイントの細かい位置調整ができます

じゃっく

高さはキリの良い数値として 800mm に設定しました

top ボーンも忘れずに作成

以降のボーンにも top ボーンを付けるようにしていきます

長さはそれほど必要ないので、短めでOK

STEP2
下半身と上半身のボーンを作る
上半身と下半身
  • ①upper_body
    • upper_body2
      • neck
        • head
          • head_top
  • ②lower_body
    • lower_body_top

横画面から上半身と下半身のボーンを作っていきますが、ボーンは曲げたい方向に少しだけ曲げておきます

これは LightWave に限らずどのソフトでも共通です

じゃっく

あらぬ方向に曲がるのを防ぐためだそうな

上半身と下半身のポイントは結合します

「上半身2」は今ここで入れなくてもプラグインで追加できますが、今回は予め追加しておきます

STEP3
両目コントローラー用のボーンを作る
両目
  • eyes
    • eyes_top

両目をコントロールするためのボーンを用意

これは頭の上に設置します

じゃっく

選択しやすいようにボーンは大き目にしています

腕周りのボーンを作る

STEP1
肩~手首のボーンを作る
  • shoulder_L
    • arm_L
      • elbow_L
        • wrist_L
          • wrist_L_top

左側から作るので、名前の末尾に _L を付けておきます

じゃっく

_top という文字列は常に最後に来るようにします

肩は正面から見て、少し下がり気味にボーンを配置

実はこの肩ボーン、以前は配置角度を間違えていました

後工程で気付いたのですが、変形が少し不自然に感じました

じゃっく

ちょっと違ってたっぽい

鎖骨の角度に沿わせたのが、誤りだったようです

ひじは真上から見て、少しだけ曲げておきます

手首の関節位置は、手の平の中に入れるように配置

ここにも認識ずれがありました

以前はもっと手首側にボーンの関節を置いていましたが、これが良くなかったようです

後工程で動かしてみたところ、手の形が縦長に変形

じゃっく

思わず えぇ・・・って声が出ちゃった

思ったより関節は手の中にあることに気付きました

また、手首は小指側の方が大きく曲がるので、ちょっとだけ小指側に曲げておきます

STEP2
手のボーンを作る
  • ①thumb0_L
    • thumb1_L
      • thumb2_L
        • thumb_L_top
  • ②fore1_L
    • fore2_L
      • fore3_L
        • fore_L_top
  • ③middle1_L
    • middle2_L
      • middle3_L
        • middle_L_top
  • ④third1_L
    • third2_L
      • third3_L
        • third_L_top
  • ⑤little1_L
    • little2_L
      • little3_L
        • little_L_top

標準ボーンには thumb0 は付いていないのですが、必要だと思ったので予め付けています

指のボーンの名前については迷いました

じゃっく

人差し指を index と呼んだり、薬指を ring と呼んだり様々

ただ、今回は上記リストの名前でいくことにしました

足周りのボーンを作る

  • ①hip
    • hip_top
  • ②leg_L
    • knee_L
      • ankle_L
        • toe_L
          • toe_L_top
        • toe_IK_L
          • toe_IK_L_top
      • leg_IK_L
        • leg_IK_L_top

足も腕と同じように左から作るので、名前の末尾に _L と付けておきます

正面から見た足の根元は、だいたい股下から45°くらいの位置に配置しています

ここ最初は最適な位置がよく分かりませんでした

なので、簡単にウェイトを付けて動かして確認

試して分かったのですが、肉の中心にボーンがあると良いみたいです

じゃっく

軽くテストしてみることも大事ですね

尻ボーンは、足ボーンの根元から伸ばします

この尻ボーンは補助ボーンと呼ばれるもので、変形を補助するものです

これが無いと、どうあがいても尻が潰れます

じゃっく

初めて見たときは、なぜ補助ボーンが必要なのかよく分かっていませんでした

標準には付いていないですが、補助ボーンはあった方がキレイに変形することが分かったので、入れるようにしました

ひざも腕と同じように軽く曲げておきます

IK 用のボーンも忘れずに設置して、ポイントは結合します

顔周りのボーンを作る

顔周り
  • ①eyeL
    • eye_L_top
  • ②tooth_upper
    • tooth_upper_top
  • ③tooth_lower
    • tooth_lower_top
  • ④tongue1
    • tongue2
      • tongue3
        • tongue_top

顔周りのボーンもどんどん作っていきます

目のボーンは斜めに配置

位置や角度が重要なので、別レイヤーにハイポリ化した頭を仮で用意

目とボーンを一緒に動かして、顔からはみ出ないかどうかを確認しながら進めます

歯と舌はパパっと簡単に作成

髪の毛のボーンを作る

STEP1
前髪のボーンを作る
前髪
  • ①hair_F1
    • hair_F2
      • hair_F_top
  • ②hair_F_A1_L
    • hair_F_A2_L
      • hair_F_A_L_top
  • ③hair_F_B1_L
    • hair_F_B2_L
      • hair_F_B_L_top

髪の毛は大きく動かすものじゃないので、こちらもひと房 3 本のボーンで簡単に作ります

名前に関してはなるべく短い方が良いかなと思って、だいぶ簡略化しています

じゃっく

F は Front 、S は Side 、B は Back といった感じですね

STEP2
横髪のボーンを作る
横髪
  • ①hair_S_A1_L
    • hair_S_A2_L
      • hair_S_A_L_top
  • ②hair_S_B1_L
    • hair_S_B2_L
      • hair_S_B1_L_top

横髪も同じような感じで組み込みます

じゃっく

小さい毛束は一緒に動かすので、ボーンは入れていません

STEP3
後髪のボーンを作る
後髪
  • ①hair_B_A1_L
    • hair_B_A2_L
      • hair_B_A_L_top
  • ②hair_B_B1_L
    • hair_B_B2_L
      • hair_B_B_L_top
  • ③hair_B_C1_L
    • hair_B_C2_L
      • hair_B_C_L_top
  • ④hair_B_D1_L
    • hair_B_D2_L
      • hair_B_D_L_top

後髪も三つのオブジェクトで構成されていますが、ひと房 3 本のボーンで組みます

じゃっく

一緒に動かすのでシンプルにしちゃいます

胸周りのボーンを作る

胸周り
  • bust_base_L
    • bust_L
      • bust_L_top

胸は三本で作ります

元々は bust_L → bust_L_top だけのシンプルな構成でした

ただ、こちらも後工程にて不具合発生

動かした時に違和感を感じました

じゃっく

なんか自然じゃない

体の表面を滑るように動かす方が自然かなと感じたので、三本構成に変更しました

どうせ動かすなら、こだわりたいところ

反対側のボーンを作る

STEP1
バンク角度を設定する

ここまでで左半分ができました

あとは鏡面コピーをして完成・・・

ですが、その前にバンクと親子付けを設定します

一応「スケルゴン回転」でもバンクの設定ができますが、ちょっと時間がかかります

Skelegon Editor なら複数同時に設定できるので、Skelegon Editor で設定していきます

バンクタブからバンク向きを変えたいボーンを選択して、「種類」から向きを指定します

STEP2
離れているボーンの親子付けをする

MMD のボーンは表向きでは離れていますが、内部的には親子付けされている仕様になっているので、それに合わせていきます

親子付けしたいボーンを選択して、鎖みたいなアイコンのチェックを解除

右クリックで「親スケルゴン」を設定すれば、浮いた状態の親子付けができます

以下は簡易的な親子付けの図になります

親子付け簡易図
  • センター
    • 上半身
      • 上半身2
            • 両目
            • ひじ
              • 手首
    • 下半身
        • すね
          • 足首
            • つま先

STEP3
鏡面コピーをする

あとは操作タブの「鏡面」から、必要項目を入力して実行

これで鏡面コピーができます

完成

全体ができたので、足りないボーンが無いか確認

大丈夫

多分足りてます

最後に Skelegon Reader で読み込み

ついでに動きも確認します

形ができたので完成です

じゃっく

で~きた~

完成した全体のボーン構成は、こんな感じになりました

ボーン構成
  • center
    • center_top
    • upper_body
      • upper_body2
        • neck
          • head
            • head_top
            • tooth_upper
              • tooth_upper_top
            • tooth_lower
              • tooth_lower_top
            • tongue1
              • tongue2
                • tongue3
                  • tongue_top
            • eyes
              • eyes_top
            • eye_L
              • eye_L_top
            • hair_F_1
              • hair_F_2
                • hair_F_top
            • hair_F_A1_L
              • hair_F_A2_L
                • hair_F_A_L_top
            • hair_F_B1_L
              • hair_F_B2_L
                • hair_F_B_L_top
            • hair_S_A1_L
              • hair_S_A2_L
                • hair_S_A_L_top
            • hair_S_B1_L
              • hair_S_B2_L
                • hair_S_B_L_top
            • hair_B_A1_L
              • hair_B_A2_L
                • hair_B_A_L_top
            • hair_B_B1_L
              • hair_B_B2_L
                • hair_B_B_L_top
            • hair_B_C1_L
              • hair_B_C2_L
                • hair_B_C_L_top
            • hair_B_D1_L
              • hair_B_D2_L
                • hair_B_D_L_top
            • eye_R
              • eye_R_top
            • hair_F_A1_R
              • hair_F_A2_R
                • hair_F_A_R_top
            • hair_F_B1_R
              • hair_F_B2_R
                • hair_F_B_R_top
            • hair_S_A1_R
              • hair_S_A2_R
                • hair_S_A_R_top
            • hair_S_B1_R
              • hair_S_B2_R
                • hair_S_B_R_top
            • hair_B_A1_R
              • hair_B_A2_R
                • hair_B_A_R_top
            • hair_B_B1_R
              • hair_B_B2_R
                • hair_B_B_R_top
            • hair_B_C1_R
              • hair_B_C2_R
                • hair_B_C_R_top
            • hair_B_D1_R
              • hair_B_D2_R
                • hair_B_D_R_top
        • bust_base_L
          • bust_L
            • bust_L_top
        • shoulder_L
          • arm_L
            • elbow_L
              • wrist_L
                • wrist_L_top
                • thumb0_L
                  • thumb1_L
                    • thumb2_L
                      • thumb_L_top
                • fore1_L
                  • fore2_L
                    • fore3_L
                      • fore_L_top
                • middle1_L
                  • middle2_L
                    • middle3_L
                      • middle_L_top
                • third1_L
                  • third2_L
                    • third3_L
                      • third_L_top
                • little1_L
                  • little2_L
                    • little3_L
                      • little_L_top
        • bust_base_R
          • bust_R
            • bust_R_top
        • shoulder_R
          • arm_R
            • elbow_R
              • wrist_R
                • wrist_R_top
                • thumb0_R
                  • thumb1_R
                    • thumb2_R
                      • thumb_R_top
                • fore1_R
                  • fore2_R
                    • fore3_R
                      • fore_R_top
                • middle1_R
                  • middle2_R
                    • middle3_R
                      • middle_R_top
                • third1_R
                  • third2_R
                    • third3_R
                      • third_R_top
                • little1_R
                  • little2_R
                    • little3_R
                      • little_R_top
    • lower_body
      • lower_body_top
      • hip_L
        • hip_L_top
      • leg_L
        • knee_L
          • ankle_L
            • toe_L
              • toe_L_top
            • toe_IK_L
              • toe_IK_L_top
          • leg_IK_L
            • leg_IK_L_top
      • hip_R
        • hip_R_top
      • leg_R
        • knee_R
          • ankle_R
            • toe_R
              • toe_R_top
            • toe_IK_R
              • toe_IK_R_top
          • leg_IK_R
            • leg_IK_R_top

ボーンの数は全部で152本になりました

まとめ

それでは今回のまとめです

まとめ
  • ボーンの名前は英語で書く
  • top ボーンは付けるようにする
  • 最適な位置が分からない場合はテスト
  • 標準的な MMD のボーンは確認しておく
  • 片側のボーンができたらバンク設定をする
  • 片側のボーンができたら親子付けもしておく
  • 片側のボーンの設定ができたら最後に鏡面コピー

今回は自作モデルに MMD と同じ構成のボーンを組んでみました

初めてボーンを組み始めたときは

  • 離れたボーンの親子付けってどうやるの
  • top ボーン入れるのちょっと面倒くさいな
  • 髪とか一本一本に入れないといけないのか

なんて思っていましたが、何も問題ないことが分かりました

じゃっく

難しく考える必要はなかった

ちょっと面倒なだけでした

そう ちょっとだけ

慣れていけばそう感じることも少なくなるはず

というわけで、慣れていきたいと思います

それでは、お疲れさまでした~

おまけ

top ボーンの必要性について

top ボーンの必要性についてもう少しだけ

こちらは Blender に読み込んだもの

左が top_bone 有り、右が top_bone 無しの画像です

見比べてみると top_bone 無しの方は、ボーンの長さがおかしいです

長かったり短かったりしています

じゃっく

最初見たとき「!?」ってなりましたわ

さらによく見ると頭と首のボーンのテールが外れています・・・

なぜ??

何度も入出力を繰り返しましたが、原因不明です

当時たまたま持っていた MAYA を通して試したこともあります

それもおかしかったような気が・・・

そもそも LightWave と Blender のボーンシステムが違うからこうなるのでは、と勝手に解釈しています

MMD モデルのボーンには決まって top ボーンが付いているので、後工程の労力を少なくするために今後は付けるようにしました

使用ツール

3DCG
  • Blender
  • PMX Editor
  • LightWave3D
動画
  • Bandicam
  • ScreenToGif