LightWaveでMMD用の表情モーフを作る
今回はLightWaveを使ってMMD用モーフを作っていきます。
表情の作成ですね。
ソフトによって呼び方がブレンドシェイプとも呼ばれますが同じようなものです。
初めての表情付けということで手探りで進めることになりそうですが、今までも何とかなっていたんで大丈夫でしょう。
また全ての標準モーフを入れ込もうとすると流石に大変なので、必要な分だけに絞って進めてみました。
MMD用表情モーフ
一覧表
目 | リップ | まゆ | その他 |
まばたき,blink | あ,a | 喜び,joy | 涙,tears |
びっくり,surprise | い,i | 喜び右,joy_R | 照れ,shyness |
ウインク右,wink_R | う,u | 喜び左,joy_L | 汗顔,sweat_face |
ウインク左,wink_L | え,e | 悲しい,sad | |
ウインク右2,wink2_R | お,o | 悲しい右,sad_R | |
ウインク左2,wink2_L | にやり,grin | 悲しい左,sad_L | |
じと目,scornful_eyes | への字,pout | 困る,worry | |
じと目右,scornful_eyes_R | べろ出し,tongue_out | 困る右,worry_R | |
じと目左,scornful_eyes_L | べろ尖り,tongue_sharp | 困る左,worry_L | |
怒り,anger | |||
怒り右,anger_R | |||
怒り左,anger_L | |||
まゆ上,eyebrows_up | |||
まゆ下,eyebrows_down |
まずは必要そうなモーフを一覧表に書き出してみました。
とりあえずこれくらいで。
あんまりあれこれ入れると流石に大変なので必要最小限です。
足りないと感じたらまた増やしていくという考えで行きます。
表情モーフを作成
目
最初にまばたきから作っていきます。
左目からですが流れを一部だけ動画に収めてみました。
全体としては以下の流れです。
- 触れたくない後頭部やまつ毛のトゲを非表示
- まつ毛とまぶたの上側を一緒にポイント選択
- 弧の字を描くように少しずつ下へ下げる
- 下まぶたは気持ち少しだけ上に移動
- まつ毛のトゲを再表示して調整
- 最後はまぶた周りを滑らかに調整
やってて分かったのが下まぶたはあまり上には動かないということです。
あとはふたえ部分も少し下げた方が自然に見えたので、ちょっとだけ動かしました。
反対側は “頂点マップの鏡面コピー" を実行するとできます。
これで “まばたき" が完成。
さくっとやりかたを簡単に書いていますが、実際は何回も作り直しで大変でした・・・w
自然なまばたきが作れる人・・・本当にすごいです。
- 新規モーフを作成
- モーフ適用で “まばたき" を100%で実行
- 変形前(ベース)に戻したいポイントを選択
- マップ消去を実行
右目・左目のモーフは上記の方法でいけます。
名前をwink_L・wink_Rとしました。
名称とかは必ず英語で。
そうしないと文字列が?◆?になったりしてバグります。
他の目のモーフも同じような手順で進めました。
眉
- 後頭部を非表示
- 眉毛ポイントを選択
- 弧を描くように変形
必要に応じて眉毛周辺のポイントも移動します。
眉毛の目尻側は思ったより動かないことが分かったので、あまり触れないようにしました。
口
- 対称モードをON
- LWBrushを起動
- 口元を調整
- 内部にある歯と舌の位置を調整
口に関してはLWBrushで調整しました。
LWBrushが無い場合はドラッグネットが代わりに使えそうです。
また口は複数のモーフを重ねると場合によっては口の中身が飛び出ちゃいます。
よくある調整方法はこの3つですかね。
- 手動で修正する
- 補正用のボーンを仕込む
- 補正用のモーフを用意する
LightWaveの場合はモデラーとレイアウトに分かれているので、一旦レイアウトに送って同期した状態で確認してみます。
例えば “あ" と “お" とか組み合わせてみるとか。
これでもし歯が見えちゃうようなら、モデラー側でもう少し位置や形状の調節を加えます。
不足パーツを作成
涙
次に足りていないパーツ分の新規レイヤーを作って、その中にパーツを作っていきます。
今回は3つ。
- tears – 涙
- shyness – 照れ
- sweat_face – 汗顔
他のモデルを参考にして、涙は簡単にボックスを2回細分化して作成しました。
照れ
照れは頬付近に複製して、ちょっとだけずらしておきます。
これでOK。
汗顔
汗は涙と同じようにボックスから球を作って顔に散りばめて、LWBrushで整えました。
ウェイトを転写
PaintWeightsを使用
先ほど追加した表情用パーツですが、新規で作ったものにはウェイトの転写が必要です。(複製した場合はウェイトも一緒に複製されるので転写不要)
ただLightWave標準ではウェイトの転写機能がありません。
一応ver2023あたりから “Transfer Maps" というものがProツール群の中にありますが、何故か激重で使えたものじゃないです。
なので3rdPowersさんのPaintWeightsの力を借ります。
転写先のオブジェクトを選択した状態でPaintWeightsを起動。
上部にある “編集" から “転写" を選びます。
転写元のオブジェクトに切り替えて “全てのウェイトマップ" にチェックを入れて実行。
すると新たに作ったオブジェクトにウェイトが転写されます。
追加分モーフの作成
隠しておきたいパーツ
涙や汗のような通常状態から見えないパーツのモーフを作っていきます。
方法は他のモデルを見てみると
- 透明度の調整を行う
- 本体の内部に押し込む
大体2パターンが見られました。
今回は内部に押し込みでいきます。
モーフ値の反転方法
モーフ適用で反転させる
他のソフトではどうかは分かりませんが、LightWaveには1クリックでモーフ値を0%から100%を反転させる機能がありません。
なので、 “モーフ適用" を使って反転してみます。
- ベースモデルを選ぶ
- “モーフを適用"を起動
- モーフマップを “反転させたいモーフ" にして強さ100%で実行
- 反転させたいモーフモデルを選ぶ
- “モーフを適用"を起動
- モーフマップを自身にして強さ-200%で実行
この手順でモーフ値の反転ができます。
イメージとしてはまずベースモデルにモーフ先のモーフを100%の強さで適用すると、モーフ先も内部的には一緒に動くので+100%で合計200%。
なのでモーフ先を-200%にしたら変形前(ベースモデル)と同じ形状になるので反転ができるといった感じです。
動作確認
修正前
念のためにボーンの動きに付いてくるか一旦テスト用に全てのオブジェクトとボーンを1レイヤーに入れて確認します。
レイアウトに飛ばしてオブジェクトを選択した状態でプロパティを開きます。
プリミティブタブにある “モディファイヤの追加" から “モーフミキサー" を選んで涙と汗を100%にした状態で動かします。
すると反応はあるもののなんか変な感じ・・・
なんか変形がずれてますね・・・特に汗とか(なんでだよ!!w)
修正後
しばらく悩んだ挙句、解決法が見つかりました。
やり方はオブジェクトプロパティ内のモディファイアにある “モーフミキサー" をボーンより上の位置にずらすというものです。
すると
ちょっと見にくいですが、今度はちゃんと動きに付いてきます。
モディファイアの順番が大事だったっぽいですね。
普段レイアウトをあまり使わないので気付きませんでした。
名称整理
モーフ名のチェックと変更
最後にモーフ名を確認します。
できる限り英単語にして英単語として存在しないものはローマ字にするようにしました。
これをやっておけば後の名称の一括編集がやりやすくなります。
確認して完成
動作確認
あとはFBX→Blender→PMX化まで進めてPMXEditor上でも正常に機能するか確認します。
LW→PMXEditorに持っていく方法は過去記事に簡単にですが載せてあります。
ただ今回はボーンだけでなくモーフも付けています。
どうやら標準のBlenderだとシェイプキーがある状態でモディファイアの適用ができないようです。
このままモディファイアの適用を実行すると “シェイプキーのあるメッシュには適用できない" と怒られます。
それを可能にするのがこちらのLazy Shapekeysというもの。
https://bookyakuno.gumroad.com/l/lazy-shapekeys
こちらのBlenderAddonを使わせて頂きました。(製作者さん ありがとうございます)
モディファイア適用後はボーンもAスタンスを保った状態にします。
- ボーン選択
- ポーズモード
- ポーズ内の “適用" を開く
- “レストポーズとして適応" を実行
順番が大事なようなので、モディファイア適用後にポーズの適用をしないと狙った結果になりませんでした。
PMXEditor上で確認してみるとちゃんとモーフが反映されていますね。
ウェイトも問題なさそう。
これで後は服とUV展開位となりました。
服はどんなものにするか悩んでいますが、なるべく簡単なものにしようと考えています。(フリルある系は今はやめておこうかな・・・w)
以上完了です。
お疲れさまでした。
使用したツール
- MP4:Bandicam
- GIF:Screen to GIF
- データ変換:Blender3.6.4LTS
- PMX編集:PMXEditor ver0.2.7.3
- モデリング:LightWave 2024.1.0