VRoidからのMMDモデル作成(3-2)

セットアップ

ベースモデルからの転送は終わったので、次はそれ以外の部分のウェイトを設定するところから始めます。ちゃんと動く部分が増えるごとに完成が近づいて、動作確認が楽しくなってくると思います。とりあえず踊ってくれるようになればモチベーションアップ!! なので頑張りましょう✨


3.ウェイト設定

今回もまずは簡単なところから。衣装作成の際に「エプロン上」としていた部分に、ワンピースのウェイトを転送しましょう。「選択材質の~」のプラグインで簡単です。次に、同様にエプロン本体もワンピースから…と思うんですが、エプロンは丸くするために端を細かく割っていますので、スカートのウェイトそのまま転写したのでは足りない部分がありますね。ということで、またハイポリ化プラグインにお世話になります。ハイポリ化プラグインは元材質の一部だけ選択しても使えますので、エプロンと被っている範囲のみ、一番細かい部分の頂点の配置と大体合うぐらいのサイズまでハイポリ化して転送元の材質を作りましょう。細かくなればなるほど重くはなるので、念のため事前に保存を忘れずに。
ハイポリ化が済んだら後はまた転写するだけです。この段階だと端が結構ガタガタなんですが、物理を入れればそれなりになるのでここはまあよしとしておきましょう。
エプロンも表裏分けていた場合は、片方の面からもう片方にも転写してウェイトを揃えておきます。更にフリルをつけた人は、エプロンの端=フリルとの接続部の頂点を選択してウェイト保存→フリル全体を選択→ウェイト読込でエプロンの端とフリルのウェイトを揃えておきましょう。これも後で物理を入れるので、エプロンとフリルがちゃんとくっついていればよいので。
一通り転送が終わって動作確認したら、ハイポリ化で増えた分の材質は削除してしまってOKです。

次は装飾パーツのウェイトです。
作業としては簡単なんですが、簡単にするために製作段階から意識しておくポイントがあります。キャラの背後に浮いているような、完全に離れているものを除けば、体の、あるいは服のどこかにくっついているはずですが、それはどこで、どの頂点のウェイトを持ってくるか?ということです。
今回の例で作ったものはブローチとニーソのリボン飾りで、サイズが小さく、固いものなので伸び縮みしません(正確にはリボンは布製なので柔らかいでしょうが、サイズ的に揺らすほどではないので)。

左:ブローチ 右:リボンと石の飾り

つまり、各パーツは固定した位置から動く必要がなく、体の動きに合わせて歪むこともほぼない=全体が同じウェイトでいい、ということです。しかし、だからといってくっついている場所自体が大きく動くところだと、半分浮いたり埋もれたりといったことが起きてしまいます。もちろんデザイン上絶対この位置しかないからしょうがない、ということもあるとは思いますが、違和感ない程度にほんのちょっとずらすだけで収まりがよくなるならその方がいいのではないでしょうか。
ニーソの方は、(前回のウェイト転送の際にも触れましたが)足ボーン100%の位置なのであまり考えなくていいのですが、問題はブローチです。

左:ブローチの位置 中:上半身3のウェイト 右:中心にする頂点

元になったイラスト的には大体あってる位置に置いているのですが、もうちょっと上でもよかったし、多少なら下でもデザイン的には許容範囲でしょう。しかし画像を見ればわかるように、もっと上だと首、もっと下だと胸(こっちは画像ではあまり見えないですが…)のウェイトが入ってきます。まあ胸は物理を入れて揺らさなければ動かないので埋もれはしないんですが、右と左と上半身3が影響するのでどのみち面倒ではあります。
そうなると、上半身3だけの影響で済む位置がよく、ブローチのサイズを考えると画像右の選択頂点を中心に置いてそこのウェイトを持ってくればよさそうです。これがもう一つ上なら上端ギリギリがちょっと首の範囲にかかってくるな…とか、鎖骨の凹凸に左右の端が埋もれるなーとか、そういうことをXISMOで配置する段階で考えて、画像左の位置になりました。
なので、デザイン上の理由だけで大体このへんでしょ!と適当に決めるのではなく、個々のパーツを作っているときからこれはどこにあって、どのボーンの影響を受けて、どういうウェイトになるのかを意識しておくとセットアップが楽になります。

ちょっと話がずれましたが、実際の作業としてはやはり簡単です。
先程の画像右の頂点からウェイトを転写すると決めたので、該当の頂点を選択し、ウェイト転送プラグインでウェイトを保存→ブローチ全体を選択してウェイト読込するだけです。このように「近傍頂点」ではなくピンポイントにここのウェイトだけをこのパーツ全部に!というのができるのは、任意の頂点のウェイトを保存できるウェイト転送プラグインの強みだと思います。

次はエプロンのリボンです。
ここも後で物理を入れますが、その前のベースになるウェイトの設定ですね。これもXISMOでの作業段階でどこからウェイトを持ってくるか決めていたので簡単です。

結び目のど真ん中、なのでこのへん。

これもまたウェイト保存→読込するだけです。これで、上半身・下半身の動きにちゃんとついてきてくれるようになりました。
まだ物理が何も入っていませんし、モーフも不完全(ベースモデルのものがあるので顔材質のみ動いてしまう状態)ですが、一応これで置き去りになるパーツはなくなったはずです。髪もスカートもカチカチですが、ひとまず踊れるようになりました。やったね!!


4.物理設定

やっと物理演算の設定に入ります。
今回の例で物理設定するのは、スカートとエプロンのリボンですね。エプロン本体はスカートの物理と一緒にまとめるので個別に設定はしません。
後は勿論髪があるんですが、私も髪のウェイトめっっっちゃくちゃ苦手で…正直人様に教えられるレベルではない&VRoid製ならではの要素は全くないので、普通にもっと上手な人の髪物理講座を見た方がいいよ、ということで飛ばします。まかり間違って私がやるとしても、今解説してるモデルの髪は初心者にはとても勧められないめんどくさい構造してるので…。
素直に「MMD 髪 物理」とかで検索した方がお役に立つことでしょう。
スカートとリボンもVRoid製関係ないのはないんですが、スカートはほぼプラグインの紹介だけなのと、リボンはご要望があったので軽くやります。

作業に入る前に、ウェイト転送の時と同じく必須プラグインの解説から。

◆曲面自動設定プラグイン
布もの物理を設定するのになくてはならない神プラグインです。スカートもコートもマントもできます。もう一つ、布系の設定ではこれと双璧をなす柔軟剤プラグインというものもありますが、私はちょっと使いこなせてないのでここでは使いません。基本的な使い方は、プラグインに親切なマニュアルがあるのでそれを熟読しましょう。

◆選択したボーンを分割する
闇鍋プラグインのBONEフォルダにあります。選択したボーンを指定した数に分割してくれます。髪や布以外の揺れものを設定する際に便利です。

◆選択した2剛体を接続するJointを作成
闇鍋プラグインのJOINTフォルダにあります。文字通りの機能で、手動で物理設定する際に死ぬほど使います。

以上です。
物理もウェイトと切り離せないものなので、ウェイト設定で使ったプラグインにも引き続きたくさんお世話になります。

さて、それではスカートからいきます。
これに限らず、物理関係は特に試行錯誤必至なので、必ず事前に保存しましょう。途中の段階でも細かく、別名で保存していくのをお勧めします。

スカートは曲面自動設定プラグインに全面的に頼りまくるので、マニュアル読んでその通りやれば大体なんでもできるんですが、とりあえず最初は物理を設定する頂点を選択するところからです。

こんな感じで選択。

「エプロン上」の部分は物理で動かさないので除き、それ以外のワンピースとエプロンをフリルも込みで表側のみ全て選択。選択できたら、選択範囲以外の頂点も表示させて(左下の緑色のアイコン)、選択漏れがないか確認します。オレンジの中に緑の点が混じってたらそこが漏れているので、追加で選択しましょう。きちんと選択できたら、選択オブジェクトを保存しておきます。
ここで曲面自動設定プラグインを起動する…前に、表示枠タブで「スカート」という枠を作っておくと、自動でスカート用ボーンを登録してくれるのでちょっと幸せになれます。忘れても、後でぽちぽち追加すればいいだけなので困りはしませんが。
プラグインを起動したら、最初の画面でまず「PMXモデル」に●を。それから、「選択頂点・モデル取得」ボタンを押します。後はプラグインのマニュアルに従って基本設定・制御点編集・パラメータ設定…と進むだけですが、最初はまあよくわかんないと思うので、とりあえず下の「基本・詳細設定適用」ボタンを押してみましょう。押したらなんか、PmxViewにボーンが増えたりしましたね。ジョイントも増えているので表示してみましょう。なんかぐるっと筒状になっているはずです。これをスカートの形に合わせたいので、次は「制御点編集開始」ボタンを押します。PmxViewでは一旦ボーンの表示を消し、ジョイントのみ表示にして、選択対象も同じくジョイントのみにします。

こんな感じになるはず。

で、このジョイントを、物理を設定したい範囲=スカートの形に沿うように配置していきます。

こうしてみました。

若干内側に寄っているのは、ひだがあるので外側で合わせると足が貫通しそうだからです。うまく前後左右と高さを合わせて、いい感じになるように配置してください。再調整はできますので、まずはなんとなくで大丈夫です。
ひとまずこれでよしとなったら、「制御点編集完了」ボタンを押します。押したら一気にジョイントが増えると思いますが、このままだとよくわからないのでそのまま「パラメータ設定適用」ボタンも押してしまいましょう。
そしてTransformViewにいってみると…

あら大変。

これ、別に物理がおかしくなったわけではありません。おかしいのはウェイトです。一応この状態でもスカートは揺れるようになってるんですが、気になりすぎるし仕上がりがよくわからん…ということで、ウェイトの正規化をしましょう。ウェイト転送でやった、編集→頂点→ウェイト正規化です。

はいOK。

たぶん元々のウェイトに物理のウェイトが追加されたことでどうにかなってるんだと思うんですが、私も詳しくないのでこれが原因だよ!とは断言できません。しかし曲面自動設定プラグインだとよほど極端な設定にしなければ物理そのものが壊れることってあまりないので、こういうのは大体は正規化すれば直ります。お試しあれ。
物理は表側しか入っていないので、絞込み表示で一度裏面を全て非表示にします。後はもう、TransformViewでぐるぐる回ったりモーション流し込んでみたりして挙動を見て、ボーン数変えたり制御点弄ったり、パラメータ変えてみたりして好みの動きを追求するだけです。なお、最初に出たら設定変えて適用するごとにさっきの黒いのが再発するので、面倒ですがそのたびに正規化してください。注意点は、色々弄ってる最中に「もしかして足の剛体太い?」とか思ったとき。手動で変更するの自体はいいんですが、変更後にプラグイン側の設定を変えて適用したらこちらも変更前に戻ってしまいます。簡単にやり直せる範囲ならちょっと手間が増えるだけですが、あんまり色々やると何をどうしたかわかんなくなっちゃうと思うのでご注意を。

大して参考にならないかもしれませんが、このスカート作ったときのパラメータ設定を置いておくので試してみたい人はどうぞ。
DL → お試し用物理(パスはotamesi_)
使い方は、物理設定の対象頂点を選択→選択頂点・モデル取得までやった状態で、ファイル→開くor一部のみ開くで設定ファイルを選択 です。
勿論スカートの形が違えば制御点の位置が変わってきますし、適切な分割数も変わるのでそのまま流用はできません。また、接続ボーンもボーン構成が変わっていればずれてくるようなので(今回の例だと接続ボーン・剛体ともに下半身で設定しています)、適宜モデルに合わせて設定してください。
実際のモデルでは、このパラメータを適用後にスカート最下段(スカート4_X系列)のみ移動減衰・回転減衰を0.99999に手動で変更しています。
※プラグインでこの数値にすると、切り上げされて1になってしまい挙動が変わるため

スカート本体の設定が固まったら、足や下半身の剛体を調整して、自然に動き、かつ貫通しないように微調整します。
衣装作成のときに「腰回りをあまりタイトな構造にしない方がいい」と書きましたが、ここで何をどうやっても貫通するよ~!!ってなった方はその意味をご理解いただけたかもしれない。体と布の間にある程度距離がある方が貫通はしにくいです。故に、体にぴったりしたコート系着てる男性モデルの方が難易度は高い。腰回りをふわっとさせて回避できないし、物理の分膨らむとお尻が大きく見えて女性っぽいラインになっちゃうので…。
タイトスカートのような構造なら物理以外で動かす方法も色々あるので、先人の知恵を頼って別のアプローチを考えた方がよいです。残念ながら私は詳しくないのであまりお役に立てませんが…。
一応、今回の例で対策するなら、「ほぼ見えないであろうウェスト~お尻の上部をこっそり絞る」という手はあります。パンチラ上等どんどん見せるぜ!という方針なら絞って隙間ができるとポリゴンの端っことかが見えちゃうかもですが、極力避ける方針ならスカートが真上までめくれ上がる・それをよく見えるように映す機会は少ないはずなので、ある程度動いても貫通しないぐらいにシェイプアップすると解決します。
やり方としては、衣装作成で辺を円状にループ選択してXZ軸のみ拡大縮小、というのを何度かやったのを思い出していただいて、同様のことを段階的にやればそこそこ自然にできると思います。

正直このへんは、(物理関連に限らずですが)試行錯誤してやってみないとわからない部分が多いです。この解説は既にセットアップ完了したモデルを振り返って再設定しつつ書いてるので手戻りがないですが、実際にはあれ~うまくいかない→ポリゴンから作り直し、となることが多々あります。何度かやって慣れてくると、これは貫通するだろうな、ここはこうしとくべきだろうな、というのがわかってくるので頑張ってください。詰まりがちな箇所のパターンがわかれば対策もしやすいです。

腰・足の貫通対策もできたらスカートは完成…の前に、一番上の部分のウェイトを調整します。

こんな感じで、物理を入れた一番上の頂点だけを選択。

この状態で、「エプロン上」からウェイトを転写すれば、物理の境目でワンピースが貫通しなくなります。
ここまできたら、非表示にしていた裏側材質にそれぞれの表側材質からウェイトを転写します。なぜ敢えて別々にするかというと、一緒に物理設定すると微妙~に表裏のウェイトが違っていて部分的に貫通することがあるので、ウェイトを揃えるためにこうしています。

スカートができたので、次はエプロンのリボンです。
こちらは曲面自動設定プラグインは使いません。
最初にリボン用のボーンを作り、ウェイトを塗っていきます。ボーンの親はどこにするか検討し、今回は上半身2にすることにしました。
絞込み表示で材質はリボンのみ表示、ボーンは全て非表示にして、PmxViewの選択対象はボーンにします。リボンは左右の上と下でそれぞれボーンを分けるので、まずは左の上側の結び目にボーンを一つ作ります。そしてその端にももう一つ作り、最初に作った方を左リボン上、次に作った方に左リボン上先と名前をつけます。上半身2→左リボン上→左リボン上先と親子関係にして、左リボン上の表示先が左リボン上先になるようにします。

ちょっと見づらいですが、こう。

このままでもいいんですが、ボーンが一本だとそんなに揺れないので、これを分割して2本にします。左リボン上を選択した状態で、「選択したボーンを分割する」のプラグインを起動、ボーンを取得して、2本に分割します。親子関係も維持したままボーンを分割してくれますので、名前だけ「左リボン上→左リボン上1」とし、増えた方のボーンを「左リボン上2」とでもしておきましょう。

各ボーンの位置をいい感じに整えました。

同じ要領で左の下側もボーンを作ります。下の方が長いので、こちらは三本に分割しました。

こちらも左リボン下1~3と左リボン下先の構成。

ボーンができたので、まずは上からウェイトを塗っていきます。絞込み表示でリボンの上側だけを表示し、ウェイト描画の「任意方向へグラデーション/ブレンド描画」と「円範囲を固定ウェイト値描画」を使って左リボン上1のウェイトを塗っていきます。

ボーンが切り替わるあたりで100%になるように。

できたら、今度は左リボン上2のウェイトをまたグラデーションになるように塗ります。

こんな感じ。

細かく見るとこれも色々粗があるんですが、位置的にそれほど目立つ場所ではない&なんとなく揺れてればいいや、ということで割と妥協しています。
ウェイトが塗れたらTransformViewで曲げてみて、塗り残しで置き去りの頂点がないことや、見るに堪えないほど捻れて破綻してたりしないことを確認してください。ボーンで動かすのと物理で動くのとは結構感じが違うので、ほどほどに滑らかに曲がっていればいいんじゃないでしょうか。

下も大体こんな感じで。

これもまた全然完璧ではない…んですがまあ…一応それなりには見えるのでよし!!ということで、こちらもとりあえずの動作確認ができたら次に行きましょう。
ボーンとウェイトができたので、次は剛体を入れます。基本的にはボーンを選択し、PmxViewの編集→選択ボーン→基礎剛体の作成から任意のものを選びます。

今は物理演算用なのでこっち。

するとボーンの長さに応じた剛体ができるので、それぞれサイズや位置を調整していきます。サイズに関しては、衝突時の厳密な当たり判定を求めるものはしっかり設定、揺らしたいだけで当たり判定は要らないものはそんなに気にしなくていいです。
今回のリボンは、上は大きくは揺れない設定にするのと、位置的にそれほど手や髪にぶつかることはないだろう…ということで割と適当、下は当初スカートとの衝突設定を入れるつもりだったのでそれなりの大きさにしています(結局下側も衝突設定は切ったので不要になりましたが)。

上は適当、下はそれなり。

で、これだけでは物理は完成しません。試しにTransformViewで物理ONにしてみると、リボンがびよーんと伸びて床まで垂れます。剛体が何にも繋がれていないので、全部落っこちてしまったからです。この剛体を落っこちないように繋ぎ止めてくれるのがジョイントなので、ジョイントを設置してあげましょう。
まずはリボンそのものを体にくっつけるため、上半身2の剛体を表示します(剛体の位置的には上半身でもいいような気もしますが、親ボーンが2なのでまあ2でいいかなと)。選択対象を剛体のみにして、上半身2の剛体と左リボン上1の剛体を二つ選択します。その状態で、「選択した2剛体を接続するJointを作成」のプラグインを起動、選択剛体取得のボタンを押します。次に「剛体の角度に合わせる」のチェックを外し、「Joint作成」のボタンを押せば、一つ目のジョイントができています。簡単!

入力欄がたくさんあることからもわかるように、ここで作成時に色々指定することができます。勿論作成してから調整することもできます。剛体とジョイントの設定は物理演算の肝というか、ものすごく奥深くて難しいので、正直私もまるでわかっていません。リアルな動きを求めるなら、先人の知恵を借りて色々お勉強してみましょう。
ひとまずここでは、「私が」「このモデルの」「このリボンで」それなりに動いたからいいや~と思った設定でそのまま進めるので、これが正しいとかスタンダードなやり方だとは思わずに、あくまで一例としてなんとなく見ていただければと思います。

二つ目は左リボン上1と左リボン上2を選択し、選択剛体を取得→Joint作成。残りもそれぞれボーンの親子順に繋がるように、上半身2 → 左リボン1 → 2 (→ 3)と上下それぞれ繋いでいってください。繋げたら、Jointタブでできたジョイントをまとめて選択し、右クリックのメニューから「Joint名を接続剛体Bから設定」を選択します。

これ。

名前がすっきりわかりやすくなりました。
これでとりあえず、TransformViewで物理をONにしても剛体は落っこちなくなったはずです。
しかしこのままだと、たぶんすごくぷるぷるしているし、変に動くし、スカートに沈んでいると思います。このへんをなんとかするのが剛体とジョイントの設定です。
まず、すごくぷるぷるしているのは剛体同士がぶつかっているからで、これはリボン関連の剛体を全て同じグループにし、そのグループ同士の衝突判定をなしにすることで解決します。作ったまま変更していなければリボン剛体はグループ1になっているはずですが、これだとVRoidのデフォルト設定の体幹部分とかぶっています。2と3も手足で使っていて、これも変更していなければ10がスカート、16は床の判定なのでそれ以外を割り当てましょう。私は髪関係に456をよく使うので、更にそれ以外…ということで9にしました。

グループと非衝突判定

1は体幹なので非衝突、2は足だから(当たらなそうではあるけど)一応衝突あり、3は腕なので当たると面倒だから非衝突、4は髪の下の方なので一応埋もれないでほしいから衝突あり…みたいな感じで決めましたが、このリボンは位置的にそんなに気にする必要はないので大体はスカートの設定に合わせた感じです。重要なのは同じリボンの9同士が非衝突なこと…と、スカートの10も非衝突なことです。
スカートとぶつからないならリボン埋もれちゃうじゃん、と思いますよね。しかしぶつかるとぶつかるでスカートの剛体と絡んで破綻の原因になったり、引っかかってそのまま出てこなくなったりするので、敢えて非衝突にしています。じゃあ埋もれっぱなしにするのか、という点は後でやるので一旦置いておきましょう。

他の剛体設定はこんな感じ。

一応これが剛体のパラメータですが、なんとなくやってるのでどういう理由で?と聞かれると困るやつです。数字は実際に色々弄って試してみるといいでしょう。破綻しなくて気に入った動き方をするならそれでいい…はず。

後はジョイントの設定なんですが、こっちは色々考えてはいる…ものの…説明が難しいので、詳しく知りたい人は「MMD 物理演算」とかで検索してみよう!! たぶんその方が絶対わかりやすいです。
ものすごく簡単に言ってしまうと、この方向に、これぐらい揺れてor移動してほしい、もしくは絶対動かないでほしい!を決めるのがジョイントの設定です。上下には大きく、左右にはちょっと揺れてほしいけど、縦に捻れると汚くなるからそれはやめてね、とか。

パラメータまとめました

解説とジョイント名がちょっと違いますが、数字を0始まりにしちゃったからなので適宜読み替えてください。
これも全く同じものを作るわけじゃない以上そのままは使えないとは思いますが、一応似たような形で同じ設定にすれば同じ感じで動くんじゃないかな、ということで。

さて、ここまでできたら左側は完成です。PmxViewでボーン・剛体・ジョイントを表示対象にし、選択対象も同じくその三つにしましょう。更に絞込み表示でボーン・剛体・ジョイントともにリボン関係のものだけ表示するようにして、全て選択→編集→選択オブジェクト→オブジェクトの鏡像作成。

これで物理関連が右側にコピーされます。

全部に「左」をつけていたので、全て「右リボン~」になっていると思います。あとは、選択対象を頂点だけにして、リボン右側の頂点を選択し、鏡像からウェイト設定します。

選択頂点を鏡像からウェイト設定

これで、無事に右側も揺れてくれるようになったはずです。

最後に、リボンがスカートに埋もれちゃう問題について。
これもジョイントで解決しています。リボン下側の一番下の剛体と、直近のスカートの剛体をジョイントで繋ぎ、回転制限を全て-180~180(どの方向にでも動ける状態)にして、移動制限をスカートから離れる方向のみ自由、近づく方向は0としました。これでスカートに埋まる方向には動けないので、中に埋もれることはありません。

左:ジョイントなし 右:ジョイントあり(どちらも物理ON)

これでも若干ぷるぷるはしますが、スカートに埋もれず、絡まないのでまあいいんじゃないかな~と思っています。

ここまでで、(飛ばした髪以外の)物理設定は完了です。
お疲れ様でした!

この物理設定の実際の動きがどんな感じか気になる方はこちらをどうぞ↓


次回はモーフの調整…なんですが、そのためには先にモーフを作らなきゃいけないのでちょっと時間がかかるかも。

NEXT(準備中)



この記事が気に入ったらサポートをしてみませんか?