はじめに
前回でモデルに「IK」の設定を済ませました。
今回の目的です。
- MMD Tools「エクスポート」を実行し.pmxファイルを書き出す
それと同時に、Blenderの「ボーンコンストレイント」は書き出したファイルにどのように反映されるのか、確かめます。
今回の学習テーマです。
- .pmxファイルに「ボーンコンストレイント」の反映はあるのか?
尚、記事の内容については正確性を保証致しません。「解説」ではなく、個人のメモ、備忘録のような情報としてお読みください。
また、以下の環境でモデルの作成を行っています。
ソフト、アドオン | 版 |
---|---|
Blnender | 2.83LTS |
MMD Tools | 2.4.0 |
PmxEditor | 0.2.5.7 |
各機能や設定についてハイライトで色を分けています。
- Blenderの機能・設定
- MMD Toolsの機能・設定
- MMD Toolsの機能で作成されたもの
2023/2/28:記事を更新
読みにくいと感じた箇所を修正しました。
Bone Constraint
MMD Toolsの「エクスポート」を実行する前に、「ボーンコンストレイント」について確認をします。
概要と問題
概要
「ボーンコンストレイント」はBlenderの「ポーズモード」で設定できる機能です。詳細は下記のBlender Manualで確認できます。
こちらの紹介にもあるように、関節が逆方向に曲がらないように「回転制限」を適用する、といったように、ボーンに様々な制約を設けることができます。
前回設定した「IK」は、Blenderではこの「ボーンコンストレイント」に含まれ、「トラッキング」の「インバースキネマティクス(IK)」に当たります。
以下のような「ボーンコンストレイント」が存在します。
問題
現段階で、以下の「ボーンコンストレイント」を使用してモデルを作成しています。
- 「mmd_additional_rotation」(「回転付与」)
- 「IK」
場合によっては「mmd_additional_location」(「移動付与」)を使用しているかもしれません。
問題となるのは、これら以外の「ボーンコンストレイント」を使用していた時、それらの「ボーンコンストレイント」は「エクスポート」した.pmxファイルに反映されるのか?という点です。
前回で確認済みですが、「IK」は反映されます。
そして「mmd_additional_rotation」、「mmd_additional_location」については元々が「回転付与」「移動付与」なので、これも反映されます。
次の章で「IK」「回転付与」「移動付与」以外の「ボーンコンストレイント」が「エクスポート」後どのようになるのか、確かめていきます。
実験:Bone Constraint
「ボーンコンストレイント」の、エクスポート後の反映について確認します。
実験の準備
まずは準備をします。
準備:ボーンコンストレイントを追加
モデルに以下の「ボーンコンストレイント」を追加しました。
BoneConstraint名 | 設定するボーン | 画像 |
---|---|---|
減衰トラック | 上半身 | A |
回転コピー | 上半身2 | B |
位置コピー | BoneConstraintSample_copy | C |
「位置コピー」を確認するため、事前に以下の作業を行いました。
- 『IK.spine』を『BoneConstraintSample』に名称変更
- 『BoneConstraintSample』から『BoneConstraintSample_copy』作成
「IK」を消去し役割がなくなった『IK.spine』を『BoneConstraintSample』に名称変更しました。
そして『BoneConstraintSample』を複製し『BoneConstraintSample_copy』を作成し、「位置コピー」を適用しました。
以下、各「ボーンコンストレイント」の画像です。
各ボーンコンストレイントについて
それぞれの「ボーンコンストレイント」の機能について簡単な参考動画を作成しました。
time | Bone Constraint |
---|---|
0:00~0:14 | 減衰トラック、位置コピー |
0:15~0:29 | 回転コピー |
「減衰トラック」について
ターゲットボーンの方向にテールが向くように設定されたボーンが回転します。
今回の場合、ターゲットボーンである『BoneConstraintSample』が操作され移動した時、そのヘッドの向きにテールが合うように、設定先の『上半身』が回転しています。
「減衰トラック」を使用したBlenderのリギングについて興味のある方は、mmCGチャンネルさんの動画がオススメです。
Blenderのキャラクターモデリングやウォーキングアニメーションを作成する際、お世話になっています。
「位置コピー」について
ターゲットボーンの位置を設定されたボーンが参照します。
今回の場合、『BoneConstraintSample』が操作され移動した時、設定先の『BoneConstraintSample_copy』のヘッドは『BoneConstraintSample』のヘッドと同じ位置に移動しています。
「回転コピー」について
ターゲットボーンの回転を設定されたボーンが参照します。
今回の場合、『BoneConstraintSample』が操作され回転した時、設定先の『上半身2』が同じ角度で回転しています。
尚、『BoneConstraintSample』のヘッドの位置は変らず移動はしていないため、『BoneConstraintSample_copy』は移動していません。
余談
Blender上であれば、これらの「ボーンコンストレイント」や「IK」を適用しアニメーションを作成することができます。
以前制作した歩行アニメーションです。
実験
実験に移ります。
反映を確認する
上記の「ボーンコンストレイント」を設定したモデルを「エクスポート」し、PmxEditorで各「ボーンコンストレイント」がどのようになるか見てみます。
「減衰トラック」
設定したボーンには特に反映は見られませんでした。
「位置コピー」
設定したボーンには特に反映は見られませんでした。
尚、『BoneConstraintSample_copy』は「エクスポート」前にMMD Toolsで日本語名を設定しなかったため、『IK.spine』という名称になっています。
「回転コピー」
以下同文です。
TransformViewで確認
TransformViewで『BoneConstraintSample』を操作してみました。
尚、こちらのボーンも日本語名を設定しなかったので名称は『IK.spine』です。
『BoneConstraintSample』と『(略)_copy』の位置は、PmxView、TransformView共に同じ位置にありました。「ポーズモード」の結果は反映されている、と言えるのかもしれません。
しかし、『BoneConstraintSample』の操作に『(略)_copy』は追従しないので、「位置コピー」が機能している、とは言えなそうです。
『上半身』『上半身2』は回転していません。「減衰トラック」「回転コピー」は働いていないようです。
「減衰トラック」「回転コピー」「位置コピー」の反映は見られないようです。
結論
「IK」「回転付与」「移動付与」以外の「ボーンコンストレイント」について、実験結果から結論を出しました。
- Bone Constraintは「エクスポート」時に消去される
今回実験したのは以下の「ボーンコンストレイント」でした。
- 減衰トラック
- 回転コピー
- 位置コピー
これらの「ボーンコンストレイント」については反映はなく、エクスポート時に消去されてしまうようです。
尚、現時点でわたしには.pmxに反映させることができていない「ボーンコンストレイント」とお考えください。
何か反映させる方法はあるのかもしれませんし、今回扱わなかったものについては反映されることがあるかもしれません。
今回のモデルは「IK」以外の「ボーンコンストレイント」は使用せず作成します。
尚、以下のMMD Toolsによる機能を使用しない、という意味ではありません。
- 「回転付与」の「mmd_additional_rotation」
- 「移動付与」の「mmd_additional_location」
エクスポート
作成したモデルを.pmxに変換し、エクスポートします。
状態確認とエクスポート
状態確認
今回は「モデルを作成」を使用し、追加された『New MMD Model_arm』を元にボーンを作成しました。
これまでの投稿#1~#3に沿ってモデルを作成した状態であれば、おそらく『New MMD Model』オブジェクトを選択した状態だと、下の画像のように「エクスポート」が選択可能(明るい灰色)であると思います。
試しに無関係の他のオブジェクトを選択してみます。すると下の画像のように「エクスポート」の背景色が暗くなり選択できなくなります。
『New MMD Model』を選択時にこの状態である場合、作成したモデルに何らかの問題があり、エクスポートできない、ということだと思います。
エクスポートの手順
『New MMD Model』オブジェクトを選択し、「エクスポート」が選択可能状態で「エクスポート」をクリックすると、ファイルを書き出すためのウィンドウが開きます。
保存したいフォルダを選択し、保存するファイル名を入力します。慣れ親しんだやり方だと思います。
右の各種設定項目については、画像でデフォルトの状態です。
今回はこのまま右下の「Export PMX File(.pmx)」をクリックし、エクスポートしました。
「ログファイルを作成」をチェックしておけば、より細かい点検が可能となりそうですね。今度試してみたいと思います。
「モデルを変換」使用の場合
「モデル制作」「モデルを作成」を使用せず、Blenderの機能のみでモデルを作成した場合、「モデルを変換」をしないと、エクスポートできないと思います。
状態確認
Blenderの機能からアーマチュアを作成したモデルを例に挙げます。
オブジェクトは無関係の照明を選択した状態です。
「エクスポート」は全て消灯、「モデルを変換」「メッシュを取付」も消灯し選択できません。
次に、モデルの、頭部のメッシュを選択した状態です。
このメッシュにはシェイプキーが設定してあります。「運動」「ポーズ」で「エクスポート」が可能なようです。
「モーフ」のデータがエクスポートができる、ということでしょうか?このエクスポートはまだ試したことがありません。
そして、モデルのアーマチュアを選択した状態です。
このアーマチュアを元に頂点グループを作成してあるため、メッシュは既に関係づけされています。
頭部のメッシュも含まれているためか、やはり「運動」「ポーズ」で「エクスポート」が可能なようです。
「モデルを変換」
アーマチュア選択時、「モデル制作」「モデルを変換」が点灯しています。
変換してみます。
何か設定できるようですが、とりあえずデフォルトのまま「OK」をクリックします。
『New MMD Model』というエンプティが作成されました。
アーマチュアが『New MMD Model』の下に移動しました。
「モデルを作成」から始めると、『New MMD Model_arm』というアーマチュアが作成されましたが、名称で問題は起きないようですね。
そして、「モデル」で「エクスポート」が可能となります。
モデル設定「New MMD Model」
今回のテーマとはあまり関係はないですが、備忘録として記します。
「モデルを変換」後でないと、サイドバーに「New MMD Model」という項目が表示されないようです。
「可視性」「組み立て」「IK切替え」等から構成されています。
可視性
青の点灯状態でアイコンに相当するオブジェクトがレイアウトに表示されます。消灯状態で非表示になります。
エクスポート時、この点灯状態がどうように影響するかは調べていません。
今回の場合、メッシュ・アーマチュア共に点灯状態でエクスポートしています。
組み立て
- ボーン
「組み立て」の「ボーン」をクリックすれば、Blender上で「回転付与」「移動付与」の効果を確認できます。
ここでクリックしないとエクスポート時に「回転付与」「移動付与」が反映されない、ということはないようですね。
- プロパティ
また、「プロパティ」についても同様です。
ドライバーが設定されていなくても、エクスポート時に「IK」が反映されない、ということはないようです。
IK切替え
青の点灯状態で、ポーズモードで「IK」の影響の確認ができます。消灯状態で「IK」の影響を切ることができます。
エクスポート時、この点灯状態がどうように影響するかは調べていません。
今回の場合、全ての「IK」が点灯状態でエクスポートしています。
メッシュ・マテリアル・その他
今回は特に使用していません。
実験:「組み立て」は必要か?
「組み立て」「すべて」の「ゴミ箱」をクリックします。
「プロパティ」が消灯し、「回転付与」に警告表示が出ます。
この状態でエクスポートしてみました。
結果としては、問題はないように思います。
PmxEditorで確認しましたが、設定した「回転付与」がなくなっているとか、「IK」がなくなっているとか、そういうことはなかったです。
「組み立て」はBlender上でPmxEditorの設定を確認するための機能、と考えて良いのかもしれません。
不安なので、一応「すべて」をクリックしてからエクスポートしていますが。
終わりに
次回はエクスポートしたモデルをPmxEditorで確認、編集します。
読んでくださった方、ありがとうございました。
著者名 | 書籍名 | 出版 | 発行年月日 | 参照頁 |
---|---|---|---|---|
緋子 | Blenderで作るキャラクターモデリング入門実践ガイド | マイナビ出版 | 初版:2021/5/24 | 1~360p |
サイト名 | ページタイトル | URL | 参考にした日付 |
---|---|---|---|
mmCGチャンネル animetic | https://www.youtube.com/channel/UCvC55dRRUwzHgkj1oiylDpg | 2022/12/12 | |
【Blender 2.9 Tutorial】キャラクターリギング解説 #3 | https://www.youtube.com/watch?v=aA3stiznPaY&t | 2022/12/22 | |
Blender | https://www.blender.org/ | 2022/12/11 | |
Blender 2.83 Manual | Bone Constrains Introduction | https://docs.blender.org/manual/ja/2.83/animation/armatures/posing/bone_constraints/introduction.html | 2023/2/28 |
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 |