Export Morph [Blender → PmxEditor]


はじめに

前回はToonとSphereをモデルに設定し、見た目の変化をいろいろ試してみました。


今回の目的です。

  • モデルに表情をつける

アーマチュアで関節を動かす、物理演算で髪を揺らす、テクスチャで質感を出す、と進めてきました。
今回は「モーフで表情をつける」ことに取り組みます。

今回の学習テーマは以下になります。

  • Blenderで作成したモーフをPmxEditorにエクスポートする

MMD Toolsを用いてシェイプキーの設定をエクスポートし、PmxEditorで確認、MMDでモーションを読み込んで鑑賞する、ところまで進められれば、と思います。


尚、記事の内容については正確性を保証致しません。「解説」ではなく、個人のメモ、備忘録のような情報としてお読みください。
また、以下の環境でモデルの作成を行っています。

ソフト、アドオン
Blnender2.83LTS
MMD Tools2.4.0
PmxEditor0.2.5.7

各機能や設定についてハイライトで色を分けています。

  • Blenderの機能・設定
  • MMD Toolsの機能・設定
  • MMD Toolsの機能で作成されたもの

モデル制作者の皆様の作品からその設定等を参考にさせていただきました。参考にさせていただいた制作者様、モデル名は末尾に記載いたします。


今回の成果

お借りしているモーションは、『Lat式ミクVer2.3 White』を利用して作成している、とreadme.txtに記述があります。
PmxEditorで同モデルのモーフを確認し、とりあえず11種類のモーフを作成しました。

モーフの名称を同モデルに合わせる必要があると思います。日本語名の編集はPmxEditorで行いました。

モーフを組み合わせていろいろな表情を表現してみました。

「まばたき」
「笑い」等
「ぺろっ」等
「かなり困る」等

いつもお世話になっている『ねこみみスイッチ』で動きを確認してみました。

作品名製作者様URL
ねこみみスイッチdeniwellhttps://piapro.jp/daniwell
ねこみみスイッチモーションhinohttps://bowlroll.net/file/421
お借りした作品

まばたきがあるだけでもちょっと違って見える気がします。
口の開閉が分かりにくいので、もう少し大きく作った方が良いのかな?と思います。


以下の記事は作成の備忘録、感想等です。


Shape Key(Blender)

シェイプキー作成(Blender)

オブジェクトデータプロパティ」「シェイプキー」で作成します。

参考資料

mmCGさんの動画を参考にして作成しました。

今回は、ボーンを用いたシェイプキーは扱わず、動画の前半を参考にして、頂点の移動のみで表情を作りました。

作成過程は割愛します。プロポーショナル編集が大活躍でした。

重要なテクニック

動画を参照し作成を進める中で、下記3点がとても印象に残りました。

  • 対称にスナップ
  • LEFT、RIGHT頂点グループの作成
  • シェイプキーの結合
対称にスナップ

いつの間にか頂点の位置が左右でズレていることがあるので、「対称にスナップ」は大変便利な機能ですね。

対称にスナップ」を実行すると、既にペアになっている頂点数と、新たにペアを作成した頂点数が表示されます。結構な数の頂点がペアでなくなっていたことに驚きました。

余計なミスが出ないように定期的に実行するべき、と感じました。

LEFT、RIGHT頂点グループ

今回について言えば、結果的にはLEFT、RIGHT頂点グループの作成は必要がなかったのですが、目の動き等、左右それぞれ表情を操作したい時、これは必須だと思います。

左右でそれぞれモーフを作成してしまっても、PmxEditorでモーフの結合が可能なので、特に問題にはなりませんでした。

シェイプキーの結合
  • オブジェクトの結合時、同名のシェイプキーはひとつに結合される

とても重要な性質だと思います。

例えば、目、まつ毛、眉を同じオブジェクトにまとめた状態でシェイプキーを作成するのは、とても大変です。「その頂点を選びたいんじゃないんだ」というもどかしさを感じてしまいます。

いったん別のオブジェクトに分離し、それぞれシェイプキーを作った後、結合してひとつのシェイプキーにまとめる、というのは非常に作業効率が良いですね。

オブジェクトの分離、結合はちょっと操作するのが怖いところがあるのですが、慣れていきたいです。


Export

今回実行したエクスポートの手順です。
手順の確認のため、実験用オブジェクトを作成しました。

  1. メッシュでモンキーを作成
  2. MMD Toolsから「モデルを作成」実行
  3. モンキーに『New MMD Model_arm』で頂点グループ作成
  4. モンキーにシェイプキーを作成
アウトライナー
シェイプキー:Basis
シェイプキー:key 1
シェイプキー:key 2

モーフツール」にシェイプキーは存在せず、空欄です。

以下の手順でシェイプキーを含めたモデルのエクスポートは可能でした。

  1. Blenderの「オブジェクトデータプロパティ」でシェイプキーを作成
  2. MMD Toolsの「エクスポート」実行

特に「モーフツール」を使用する必要はないようです。


余談です。
このモデルにRigidbodyとJointを作成して、「物理演算」等「組み立て」のメニューを一度も使わず「エクスポート」を実行してみました。

結果として、特に問題はなく、TransformView上で物理演算は機能しているようでした。

video1:「組み立て」不使用で「エクスポート」したファイル

Morph Tool(MMD Tools)

MMD Toolsの「モーフツール」の使い方、及び「モーフツール」使用時のエクスポートの手順です。

概要

以下のいずれかの方法で「モーフツール」に「オブジェクトデータプロパティ」のシェイプキーを呼び出します。

  • 「Morph Menu」から「Create」または「Bind」を実行
  • 組み立て」の「モーフ」を実行

各モーフは左から「日本語名」「英語名」「パネル」の順に表示されています。

エクスポートへの影響

前章で試したように、「モーフツール」を使用しないとシェイプキーをエクスポートできない、ということはないようです。

モーフの名前を編集

英語名を編集

モーフツール」を使用すれば、Blender上でも各モーフの英語名を編集できる利点があります。
エクスポートしたファイルをPmxEditorで確認したところ、MMD Tools「モーフツール」で編集した英語名は反映されていました。

日本語名を編集

Blenderのシェイプキーの名称と「モーフツール」の日本語名は一方通行の同期が取られています。
モーフツール」の日本語名の編集はBlenderのシェイプキーの名称に同じ変更を加えます。しかし、Blenderのシェイプキーの名称の編集は「モーフツール」の日本語名に変更を加えません。


Morph Menu

オブジェクトデータプロパティ」でシェイプキーを作成した時点では、MMD Toolsの「モーフツール」にはモーフは表示されていません。同期を取る必要があります。

「同期」という表現が正しいのか分かりませんが、この記事ではそのように定義させていただきます。

Morph Menu – 選択肢による違い

BlenderとMMD Tools間でシェイプキーの同期を取ります。

モーフツール」のドロップダウンリストから「Morph Menu」を開くと、以下の選択肢が表示されます。

  • Create
  • Bind
  • Unbind
「モーフツール」ドロップダウンリスト展開時
項目ドライバーの設定スライダーの操作組み立て」ボタン
Create無し
Bind有り×モーフ
(Unbindはゴミ箱)

「Create」「Bind」のいずれがを実行すれば「モーフツール」にモーフが表示されるようになります。

「Bind」を実行した場合、各モーフ及びシェイプキーにドライバーが設定されます。これについては後の章で扱います。
「Bind」の実行は「組み立て」「モーフ」の実行と等しいようです。

「Unbind」は「Bind」で設定されたドライバーを消去する役割のようです。
「Unbind」の実行は「組み立て」「モーフゴミ箱」の実行と等しいようです。


実行例:「Create」

画像は「Create」で作成した時の様子です。

スライダーの操作は可能です。
オブジェクトデータプロパティ」、「モーフツール」どちらからでも操作可能であり、かつ、両スライダーは同期が取れています。

infoアイコンが表示されます。
再現できませんでしたが、内容を確認すると「Not Found」と表示されています。
アイコンが表示される意味は今のところ不明ですが、何か不都合が発生しているようには思いませんでした。


この状態で『New MMD Model』を選択し、MMD Toolsの「エクスポート」を実行すれば、モーフが実装された.pmxファイルを作成できました。
画像はPmxEditorでエクスポートしたモデルを開いた様子です。

Pmx編集:オフセット量等、データが継承されている

モーフの操作も可能でした。

TransformView:モーフの確認が可能

問題

シェイプキーにドライバーが設定されていると、エクスポート時、モーフの情報を正しく引き継ぐことができないようです。
具体的には「Bind」実行で「モーフツール」を利用する場合です。

実行例:「Bind」

「Bind」で作成した時の様子です。

スライダーを操作すると警告が出る

発生する問題

スライダーの「値」が紫色で表示されます。ドライバーが設定されていることを表しているようです。

スライダーによる表情の操作はできません。
「値」は変化しても、メッシュに変化は見られません。上の画像のように警告が表示されます。
おそらくは「値」の最小最大値が変更されているためだと思われます。

最小最大値が変更されている
ドライバー設定minmax
無し01
有り-1010

この状態でエクスポートした場合、モーフにデータの損失を与えるようです。
画像はその様子です。

発生する問題をまとめると、以下のようになります。

  • 「モーフツール」でスライダーの操作ができない
  • エクスポート後、オフセット等のデータが欠損している

解決方法

以下のどちらの手段でも解決できました。実行するとドライバーが消去されます。

  • 「Morph Menu」から「Unbind」を実行
  • 組み立て」「モーフごみ箱」を実行

ドライバー設定を解消した状態であれば、上記の問題は起こらないようです。

ドライバーを正しく扱う方法、そしてドライバーによる恩恵については、今のところ不明です。


余談

infoアイコンを付けない

infoアイコンが出ることに問題があるのか?それすらハッキリしませんが、アイコンを付けない方法を偶然見つけたので、一応記しておきます。

  1. New MMD Model_arm』を選択
  2. 「モデル製作」で「モデルを変換」実行
「モデルを変換」実行前

実行後、「モーフツール」から「Create」「Bind」を実行しなくても、自動で既存のシェイプキーが同期されます。
この方法だと、infoアイコンを付けずにモーフを作ることができるようです。

「モデルを変換」実行後

この方法でinfoアイコンが付かない理由は全く分かりません。
そして、今のところ、infoアイコンの有無によってエクスポートに違いは見られません。


ただし、以前からわからない点ですが、「モデルを変換」を行うとメッシュの色合いに変化が伴います。
「マテリアルプロパティ」「MMDマテリアル」で変換前後を比較すると、以下の違いが見られます。

モデルを変換スペキュラーカラー反射シャドウ:画面表示
変換前H:0 S:0 V:0.81250.00✓無し
変換後H:0 S:0 V:1.00011.90✓有り
変換前
変換後

モデルを変換」前と同じ値、✓状態に戻しても、やはり色合いが異なるように感じます。
「MMDマテリアル」の設定は、PmxEditorの「材質」タブ「材質色」、「描画」等で変更可能です。後で好みの色に変更すれば良いと考えれば、大した問題ではないのかもしれません。


終わりに

ひとまずはBlenderのシェイプキーをMMD、PmxEditorのモーフに変換することができて、安心しました。

Blnenderの操作についてより詳しくなる程、モデルの作成も上達するのでは、と感じました。効率が良い操作であれば、制作のアイデアが生まれたり、活かしたりする機会が増えるのではないかな、と思います。

今回は以上です。読んでくださった方、ありがとうございました。

サイト名ページタイトルURL参考にした日付
Blenderhttps://www.blender.org/2022/12/11
UuuNyaa/blender_mmd_toolshttps://github.com/UuuNyaa/blender_mmd_tools2022/12/11
とある工房https://kkhk22.seesaa.net/2022/12/11
Vocaloid Promotion Video Projecthttps://sites.google.com/view/vpvp/%E3%83%9B%E3%83%BC%E3%83%A02022/12/11

mmCGチャンネル animetic
https://www.youtube.com/@mmcganimetic2023/2/24
Blender 2.83 Tutorial】キャラクター表情の作り方・顔のリギング【シェイプキー×ドライバー】https://www.youtube.com/watch?v=o8FbhlkYIZA2023/2/24
参考URL

参考にさせていただいたモデル、お借りした作品について

readme、各サイトのガイドライン等を読み、禁止事項に当たらないよう注意し、今回の投稿をしております。

制作者の皆様には、この場を借りてお礼を申し上げます。
制作者の皆様、素晴らしい作品を参照・使用させていただき、ありがとうございます。

モデル名製作者様URL
Tda式初音ミク・アペンド_ver1.10Tdahttps://bowlroll.net/file/4576
YYB Hatsune Miku_10th_v1.02YYBhttps://bowlroll.net/file/146083
つみ式ミクさんv4つみだんごhttps://3d.nicovideo.jp/works/td56081
Lat式ミクVer2.31Lathttp://innoce.nobody.jp/
参考MMDモデル
作品名製作者様URL
ねこみみスイッチdeniwellhttps://piapro.jp/daniwell
ねこみみスイッチモーションhinohttps://bowlroll.net/file/421
お借りした作品

comment