はじめに
『BlenderでMMDをモデル作成 #4』の続きです。
前回でモデルのエクスポートを済ませました。
今回は作成したモデルをPmxEditorで修正・編集します。
尚、記事の内容については正確性を保証致しません。「解説」ではなく、個人のメモ、備忘録のような情報としてお読みください。
また、以下の環境でモデルの作成を行っています。
ソフト、アドオン | 版 |
---|---|
Blnender | 2.83LTS |
MMD Tools | 2.4.0 |
PmxEditor | 0.2.5.7 |
各機能や設定についてハイライトで色を分けています。
- Blenderの機能・設定
- MMD Toolsの機能・設定
- MMD Toolsの機能で作成されたもの
PmxEditor①
概観
エクスポートしたモデルの.pmxファイルをPmxEditorで開きます。
初期状態の確認
Blnderの編集内容によって、エクスポートされた初期状態には違いがあると思います。
下記はわたしが経験した例であり、常にこのような状態でエクスポートされる訳ではないと思います。
ボーン
Pmx編集ウィンドウで「ボーン」タブを選択し、ボーンの状態を確認します。
画像はエクスポートしたファイルを開き、未編集の状態です。
ボーン名
Blenderの「ボーンプロパティ」「MMDボーンツール」の「名前」でPmxEditor上のボーン名を設定できます。
ここで設定した日本語名は反映されています。『センター』や『上半身』等がそうです。
日本語名を未入力でエクスポートしたボーンは、Blender上のボーン名が表示されています。
エクスポート前に日本語名の入力が必須、ということではないようです。
Index
Blenderでの「MMDボーンツール」「情報:ID」が、PmxEditorでの「Index」に相当する、わけではないようです。
画像はPmxEditorでボーンの順序を整えた後、Blenderで「インポート」した状態です。
PmxEditor上でIndexは「17」ですが、Blender上ではID「-1」なので一致していないですね。
「MMDボーンツール」「情報:ID」が何を表しているのかは、現時点で不明のままです。
PmxEditorのIndexについて言えば、エクスポートしたままでもほぼ親子関係の順序で並んでいるようです。
所々おかしい箇所もあります。
画像Aを見ると、例えば『waist(腰)』は『グルーブ』の次に並ぶはずですが、『下半身』より下位になっています。
IK
「IK」であるはずのボーンが「IK」でなくなっている場合もあります。
例えば、Index9番の『IK.spine』は「IK」として作成しましたが、反映されていません。
多くの場合、正しく反映されます。
例えば、Index78番の『IK.hand.L』は正しく設定されています。
「性能:IK」が点灯し「IK」として設定されていると、Indexの左のアイコンがオレンジ色になります。
表示枠
「表示枠」タブを選択し、確認します。
概要
画像はエクスポートしたファイルを開き、未編集の状態です。
「Root」という枠に『全ての親』が入っています。
いずれかの枠に入っていないボーンは、MMDで開いた際に「ボーン・フレーム操作」欄に表示されません。
ボーンの操作ができない訳ではないようですが、不便ですね。
ボーンの位置が重なる場合等、ボーンの名前から選択できた方が楽な場合は多いのではないか、と思います。
また、「IK」や「D」等、ボーンの名前がその役割を表していることも多いと思いますので、操作できるボーンは枠に入れて表示させるべきではないか、と思います。
表情
今回作成したモデルではありませんが、Blenderで「シェイプキー」を登録してあれば、「1:[表情]」枠に組み込まれるようです。
MMDでは「表情操作」に表示されます。
今回は「モーフ」「表情操作」は扱いません。
PmxEditor②
編集
このままではMMDでの操作に不都合があるので、修正します。
状態検証
修正すべき問題点を確認します。「ファイル」「PMXデータの状態検証」を開きます。
全ての項目に「〇」が付くまで修正していきます。
系列順序確認
Indexで3、7、64、71番でエラーが出ていましたので、それぞれ解決していきます。
『3:上半身』と『7:下半身』
親の変形順序が子より後になります(ボーン順と変形順序を確認してください).
PMXデータの状態検証
問題となるボーンの「変形階層」の値は「0」で全て同じなので、この場合はボーン順が間違っている、ということでしょう。
『8:waist(腰)』は『3:上半身』と『7:下半身』の親に当たりますから、順序はこれらのボーンよりも上位になります。
『8:waist(腰)』のIndexを修正します。
「親ボーン」から警告表示が消えました。画像は『上半身』ですが、『下半身』も同様です。
『64:左足』と『71:右足』
『右足(leg1.R)』を例に挙げます。
この場合もボーン順の間違いですね。親である『右腰キャンセル(hip.cancel.R)』が子より後ろにあるのはおかしい、ということでしょう。
警告表示が出ている「親ボーン」の『hip.cancel.R』はIndex85番ですから、子である『leg1.R』より下位に配置されてしまっています。
左右ともに修正します。
警告表示が消えました。
修正した結果を確認
再度「PMXデータの状態検証」を開きます。
「系列順序確認」からは問題がなくなったようです。
付与親参照不正
Index27番のエラーを解決します。
『27:左中指2』
ボーンは付与親ボーン設定が正しくありません.
PMXデータの状態検証
『左中指2(c.002.L)』に「回転付与」が設定されています。しかし、その付与親もまた『左中指2(c.002.L)』です。
これは単なるイージーミスです。
「回転付与」は『左中指D2(c.D.002.L)』に設定するはずが、Blenderで設定する際ボーンの位置が重なっているので、選択を間違えたのだと思います。
他の指の「Dボーン」はアイコンが青色です。
この青は「回転付与」が設定されていることを示していると思うのですが、アイコンが緑色の『左中指D2(c.D.002.L)』はやはり「回転付与」が設定されていません。
ここを修正します。
『左中指2(c.002.L)』の「回転付与」を消去し、『左中指D2(c.D.002.L)』に『左中指2(c.002.L)』を付与親とした「回転付与」を設定します。
修正した結果を確認
再度「PMXデータの状態検証」を開きます。
「付与親参照不正」からは問題がなくなったようです。
未登録ボーン
MMDの「ボーン・フレーム操作」欄にボーンを表示できるように作業を進めます。
必要な表示枠
既存のMMDモデルを参考にさせていただき、今回のモデルに必要な表示枠をリストアップします。
尚、参考にさせていただいたモデルは記事の末尾に記載いたします。
- センター
- IK
- 体(上)
- 腕
- 指
- 体(下)
- 足
これらをPmxEditorの「表示枠」タブで作成します。
表示枠を作成
①「共通表示枠」の「+」ボタンをクリックし、新規の表示枠を追加
②枠名の欄を選択し、名称を変更
後は同じ作業の繰り返しです。
必要な表示枠を作成しました。
表示枠にボーンを追加
作成した表示枠に該当するボーンを追加します。
①任意の表示枠を選択し、「∨」をクリック
②展開されたリストからボーンを選択し、「+追加」をクリック
この手順で任意の表示枠に任意のボーンを追加できます。
「+追加」をクリックした後は、ボーンのリストから次のIDのボーンが選択された状態なので、「+追加」連打でどんどんボーンを追加できます。
ボーン順の整頓ができていれば、同じ表示枠に登録すべきボーンは概ね順に並んでいるはずなので、楽に追加できると思います。
後は同じ作業の繰り返しです。
ボーンのリストが空になるまで表示枠へ該当のボーンの追加を続けます。
全てのボーンを表示枠に追加しました。
表示枠からボーンを外す
尚、エクスポート後初期の状態では、表示枠「Root」に『全ての親』が配置されていたので、事前に「Root」枠からは外しておきました。
下記の手順で行いました。
①「共通表示枠」から任意の表示枠を選択
②「枠内要素」から外したいボーンを選択
③「枠内要素」の「×」ボタンをクリック
間違った枠にボーンを追加してしまった場合等も、こちらの手順でボーンの登録を外すことができます。
修正した結果を確認
再度「PMXデータの状態検証」を開きます。
「未登録ボーン」からは問題がなくなったようです。
これで「PMXデータの状態検証」で確認される問題は全てなくなりました。
ボーン属性を確認
「PMXデータの状態検証」で確認される問題は全てなくなりました。
ここからはそれぞれのボーンについて、「IK」の「Link」、「変形階層」、「回転付与」の「付与率」等、細かく確認をします。
アイコンの色・役割
ボーン属性がアイコンの色を分けて表示されているようです。
色 | 役割 | 備考 |
---|---|---|
■ | IK | 性能で「IK」が選択されている |
■ | Link | 「IK」の「Link」で指定されている |
■ | ||
■ | ||
■ | 回転付与 | |
■ | 回転付与 | |
■ | 性能で「非表示」が選択されている |
その色が表す役割までは正直よくわかりませんでした。
表は私の予測に過ぎません。また、他の色も存在するかもしれません。
今回の場合、以下の点に注意しました。
- 「IK」に設定したボーンのアイコンは「■」か
- 「Dボーン」のアイコンは「■」か
■IK
Blender上で「IK」として設定しましたが、PmxEditor上では「IK」が反映されていないボーンがいくつか存在しました。
修正例
試しに作成してみた『IK.b.L(左人指IK)』を例に挙げます。
「性能」で「IK」が選択されていませんし、Blender上で「チェーンの長さ」を指定しましたが「Link」に反映されていません。
ここを修正します。
①「性能:IK」をクリック
②「Target」を指定
③「Loop」の値を設定
④「Link」を指定
⑤「変形階層」を確認
修正した結果です。
- ①について
「性能:IK」を青色で点灯させ、アイコンを■色にします。
- ②について
『b.002.L』は末端のボーンであり、先にボーンが存在しないので「Target」には『b.002.L』を指定しました。
指の先端に「Target」用のボーンを作成するべきかもしれません。
- ③について
「Loop」の値が「0」だと「IKボーン」を移動させても「Link」ボーンは移動しないので、値の設定が必要です。
ここでは他の「IKボーン」に合わせて「500」に設定しました。
- ④について
Blender上で「チェーンの長さ」に相当するボーンをIndexコピーで指定します。
- ⑤について
「Dボーン」との関係に注意します。前々回の投稿で実験をしたところです。
修正後、「TransformView」で「IKボーン」を動かしてみました。
余談
この指の「IK」は操作性の点で難があり、実際には使用することはありませんでした。
あくまで修正の例としてお考えください。
■Dボーン
「Dボーン」の「変形階層」に注目します。
修正例
『arm1.D.L(左腕D)』を例に挙げます。
前々回の実験から、「IKボーン」の「変形階層」が値「1」である時、「Dボーン」のそれが「0」だと「Dボーン」は移動しませんでした。
ここを修正します。
アイコンの色が■から■に変化しました。
同様に他の「Dボーン」についても「変形階層」の値を確認し、問題があれば修正します。
余談
- 「回転付与」が設定され「変形階層」が「0」だとアイコンは■色に
- 「回転付与」が設定され「変形階層」が「1」以上だとそれは■色に
このような関係が見られます。
これは、今回の場合で言えば下記の関係に言い換えられます。
- 「Cボーン」の負の「回転付与」であればアイコンは■色に
- 「Dボーン」の正の「回転付与」であればアイコンは■色に
偶然なのか、意図されたものなのかはわかりませんが、個人的には区別がつきやすいので良いと思っています。
ボーン名の入力
.vmdに対応した日本語名を「ボーン名」に入力します。
半角文字と全角文字
全角アルファベットに注意して入力します。
例えば『IK』は要注意です。
「IK」の違いがわかりますでしょうか?正直「I」は全くわかりませんが、「K」はやや大きさが違いますよね。
16番は全角文字、22番は半角文字です。
半角と全角が違うだけでも、それは別の文字ですので、使用する.vmdに合わせる必要があります。
今回の場合、足・つま先の「IK」は使用されるので、全角文字で入力しました。
その他の「IK」については半角文字のままです。
振り付けのモーションに使用されることはないので修正する必要がなく、個人で動作確認するにはそれで問題ないからです。
日本語名にしなくてよいボーン
モーションで直接操作されることがないボーンは英語名のままで問題ないようです。
今回、試しに「IK」を腕に作成してみましたが、.vmdを読み込む際、この「IK」はOFFにします。
ですが、「IK」をOFFにしても、付与親に指定されていたボーンから「回転付与」されて「Dボーン」が動きメッシュが変形する、という仕組みに変わりはない、と思います。
「回転付与」の付与親 | Dボーン |
---|---|
左腕 | arm1.D.L |
左腕捩 | arm1.twist.D.L |
左ひじ | arm2.D.L |
左手捩 | arm2.twist.D.L |
このような「回転付与」された「Dボーン」がメッシュを変形させる、という構造がないモデルであれば、そもそも「Dボーン」を直接操作すること自体が在り得ないはずです。
『左腕』『左ひじ』等の、直接操作されるボーンが正しい日本語名であれば、間接的に操作される「Dボーン」の名称は英語であっても影響はないようです。
今回作成したモデルは、腕・手・指系統の「IKボーン」とそれに関係する「Dボーン」の名前は日本語名に変更していませんが、問題なく動作していると思います。
終わりに
次回はいよいよ.vmdを読み込んで作成したモデルをMMDで躍らせてみます。
読んでくださった方、ありがとうございました。
サイト名 | ページタイトル | URL | 参考にした日付 |
---|---|---|---|
Blender | https://www.blender.org/ | 2022/12/11 | |
UuuNyaa/blender_mmd_tools | https://github.com/UuuNyaa/blender_mmd_tools | 2022/12/11 | |
とある工房 | https://kkhk22.seesaa.net/ | 2022/12/11 | |
Vocaloid Promotion Video Project | https://sites.google.com/view/vpvp/%E3%83%9B%E3%83%BC%E3%83%A0 | 2022/12/11 | |
MMD用ボーンの作り方【技術書】 | https://booth.pm/ja/items/3422558 | 2022/12/11 |
参考にさせていただいたモデルについて
readme等を読み、禁止事項に当たらないよう注意し、今回の投稿をしております。
モデル制作者の皆様には、この場を借りてお礼を申し上げます。
制作者の皆様、素晴らしいモデルを使用させていただき、ありがとうございます。
モデル名 | 製作者様 | URL |
---|---|---|
Tda式初音ミク・アペンド_ver1.10 | Tda | https://bowlroll.net/file/4576 |
YYB Hatsune Miku_10th_v1.02 | YYB | https://bowlroll.net/file/146083 |
つみ式ミクさんv4 | つみだんご | https://3d.nicovideo.jp/works/td56081 |