半眼訥々

3DCGモデリング全般に興味があります。HMDを用いたVRやARのことを訥々と。MMD関連の配布物置き場・進捗報告など。いつか自分で作った3DCG人物モデルと、のんびりてくてく山歩きしてみたいです。

動いて流れるモーフ基本編・汗を動かそう Metasequoia準備編

動いて流れるモーフって何?

 基本は 頂点モーフ+ボーンモーフ の組み合わせで、MMD上だとモーフスライダを一回スライドさせるワンアクションとなります。つまりグループモーフというものになります。

 一般的なMMDモデルさんだと「汗」や「涙」のモーフは頂点モーフで作られていることが多いです。「顔の内側にしまってある状態」から「顔の表面(外側)に表示させる」という頂点モーフで作られていることが多く、今までの自分のモデルも「汗」に関してはそういう手順でした。

 今回は複雑な「動いて流れる涙モーフ&モーション作り」の前に基本的な頂点モーフ+ボーンモーフのグループモーフ作りをしてみたいと思います。動かすものはズバリ汗です。ワークフローとしては

  1. 頂点モーフで流れる(動く)汗を作成する (Metasequoia)
  2. ボーンモーフで汗を表示/非表示にさせる(PmxEditor)

という作業で、決して特別なことでも難しいことでもありません。以前から「涙は動くのに汗は動かないのかー」とご指摘いただいていたこともありとりあえず基礎グループモーフ作りの説明として、おさらいがてら記事にしてみます。

頂点モーフ作成の基本

 まずはMetasequoia上で二つのオブジェクトを用意します。このとき大事なことは 頂点数が同じであること です。必ず守ってください。頂点モーフ作成の基本についてはこちらの記事をどうぞ。

yamabatoo.hatenablog.com

  あくまでMetasequoia上での頂点モーフのネーミング規則についての言及にとどまっていますが頂点モーフ作成の基本は頂点数を変えないということです。ここさえ守ればモーフ壊れるということはまずありません。心配でしたら命名規則守ってオブジェクトのネーミングしてからコマンドのモーフでターゲット指定して動作確認してみてください。この時点で頂点数に差異がある場合はすでにターゲット認識できないのでわかりやすいです!

 汗のオブジェクトと材質を設定する

まず汗の基本となる滴を作ります。今回キャプチャし忘れましたが、コマンドの基本図形から球を選択して分割数をタテヨコ5にしたものをポンと作成して移動・拡大縮小や回転コマンド使いながら顔にフィットする位置にだいたい合わせます。

汗材質の設定 その1

まずは不透明度1(透明じゃない)の状態で汗材質のテカらせ具合を調整します

f:id:yamabatoo:20180209220504j:plain

だいたいこんなカンジです。

汗材質の設定 その2

 次に不透明度を0.4ぐらいまで下げます。不透明度に関してはPmxE上であとで調整できるので、とりあえずMetasequoia上でモーフの確認するときに自分で確認しやすい数値でOKです。

f:id:yamabatoo:20180209220643j:plain

自分はこのぐらいに下げてました。鏡面反射とか少し数値入れてますがぶっちゃけMMD上だと差異はないです…

汗の基本オブジェクトを作る

汗の基本オブジェクトの成形

 前述冒頭でさくっと作成した分割数をタテヨコ5にした球に同じく前述末で新しく作った汗材質を割り当てたら、動いて流れているように見える汗の基本を作っていきます。

f:id:yamabatoo:20180211152304j:plain

 Sweat1が最初の形状です額から汗が浮き出る瞬間の形です。尚且つ後々顔の内部のシビアな位置に納めやすいように粒の形状にしています

 Sweat1-2はのちのちリネームしてSweat1の頂点モーフelem:●●●-Sweat1)となります。なので、Sweat1のオブジェクトを複製して頂点数は決して変えずに頂点のみ動かして滴が流れているような形に変形していきます。自分はここで材質で絞り込み選択しやすいようにとわかりやすくするため材質をわけていますが、せっかく汗の材質を細かく設定したので必ず複製したものを色だけ変えて再利用するようにしてください。

基本オブジェクトを複製&変形して配置する

 前述で作成した汗オブジェクトを複製して顔の様々な場所に配置していきます。標準モーフだと「汗」のみですが、今作っているキャラ(進撃ベルトルト)はよく汗を流しているキャラなので「汗1」と「汗2」のふたつ作ります。

f:id:yamabatoo:20180211154853j:plain

 ハイ!作りました。…ではあまりにもアレですね。汗オブジェクト(後にモーフとなるもの含む)配置のコツは顔の頂点モーフによる変形と衝突しない箇所を選んで配置することです。自分のモデルは口周りの可動に合わせて下顎や頬もがっつり変形するので、その衝突具合もMetasequoia上で確認しながら慎重に配置していきます。

f:id:yamabatoo:20180211155346j:plain このように確認していきます。ディフォルメルックのモデルさんで可動部分が少ない場合は気にしなくていいと思います。汗のオブジェクト配置のコツとしては「気持ち顔にのめりこみ気味」ぐらいのほうがいいかもしれません。

 あと、後の工程でPmxEで顔の内部に格納するのですがあまり口元ちかくにすると「格納した汗が口腔内にキラッと表示される」という事故もおきますので、あまり口の近くには汗かかせないようにした方がいいです。

頂点モーフにして動作確認する

 次にそれぞれ別々のオブジェクトとして作っていた汗から頂点モーフを作ります。頂点モーフ作成の基本は冒頭の記事をどうぞ…と言ってもけっこう自分でも忘れやすいのでさらっと記述しておきます。

頂点モーフとして命名する

 今回は「汗1」というモーフ名の頂点モーフとします

  • sweat1(丸いの) はベースターゲットなのでこのまま
  • sweat1-2(流れてるの) は elem:汗1-sweat1 とリネームします

ときどき余計な半角スペースが入ってたり、全角と半角の違い、:と;のミスなどで頂点モーフとして認識されない場合があります。あとは頂点数さえ変わっていなければまずエラーはでません。頂点数が変わっているとMetasequoiaのモーフコマンドで確認する時にちゃんと「同じ頂点数の~がありません(だったかな…)」とエラーがでますので大丈夫です。

頂点モーフの確認をする
  1. 右のオブジェクトでベースオブジェクト(ここではSweat1)を選択
  2. 左のコマンドタブから「モーフ」をぽちっと押す
  3. 出てきたモーフウィンドウ左上のターゲット設定をポチッとおす
  4. 出てきたウィンドウでelem:汗1-sweat1にチェックを入れる

こうすると初めて作った頂点モーフの確認が出来ます。ターゲット指定しないとモーフスライダでませんので、焦らずこの1~4をきちんとやってみてください。あとelem:汗1-sweat1の頂点モーフにしたオブジェクト選択した状態でやらないようにしましょう(けっこう間違えて焦ります)。

 ここで動作確認して問題ないようでしたら汗のオブジェクトのみを.pmd または .pmx(Keynoteがある場合)として別名保存してPmxEditorに持って行きます。

f:id:yamabatoo:20180211162315j:plain

 今回OpenSubdivの分割数2で作成したので曲面のフリーズをしてから別名で書きだしましょう。余談ですがフリーズ前とフリーズ後のデータは別々に保存しておいた方が後から修正しやすいのでクセにしたほうがいいと思います

 では次回はPmxEditor上でボーンモーフを組み込む作業に移りたいと思います。