髪と裾の話
こんばんは!!先日のラクスの動画を見てくださったり、モデルをDLしてくださったりなどなど、ありがとうございました!!!自分のモデルの中でも物理面が特にうまくいった方だな〜と思ったんですが、他の方からもお褒めいただき、さらに秘訣をぜひ!とのことだったので、私も物理を完全に理解しているわけではないのですが、個人的に気をつけてるポイントなどを今回はメモ的に書いていこうと思います!多分、もっとプロ並みに上手い方のブログを参考にした方がいい気がするのと、私の環境が正規のMMDルートではないので、ふ〜んくらいの気持ちで見てくださるとありがたいです!!笑ということで、まずは自分のモデリングとMMDの環境を一応書いておきますね!PC:MacBook Proモデリングソフト:Blender 3.3 (+でmmd_tools というアドオンを入れております)テクスチャ用ペイントソフト:CLIP STUDIO PAINT PROMMD用ソフト:nanoem(MMDのmac版です)※準標準ボーンのみ、配布することも考えて古い死にかけのWindowsのノパソでPmxエディタにて追加しています(準標準ボーンに関しては追加後はノータッチです。特殊らしいので...)という感じです!これを踏まえた上で、正規のMMDとは挙動が違うかもしれないということを頭に入れながらご覧ください!また、前回作成した「温玉式ラクス・クライン」をベースに書いていきますので、イメージしづらい!という方はDLすると良いかもです!(宣伝ではないです笑)Pass:eternal温玉式ラクス・クライン - BowlRollもうふの作品です。bowlroll.netで、実際に作成に入る前に、個人的に大事だな〜と思ったのが、どんな動きをして欲しいかあらかじめイメージしておくことが大事だな〜と思いました!特に、自分の頭の中でイメージするだけよりも、何か参考にするモデルとかがあるとなおいいのかな!と思います!MMDのモデルでもいいですし、ゲーム内のモデルでもいいですし、目指したいモデルがあると、イメージしやすくていいと思います!!私は、「アイドルマスターシンデレラガールズスターライトステージ(長っ)」という、スマホの音ゲーのモデルの物理が理想なので、遊びつつつい物理の構造とか気にしちゃいます私自身、どんなモデルを作りたいのかという大前提がありまして、「なるべく点を少なく軽いモデル」を目指して作っています!というのも、もちろん点が多い方が滑らかで綺麗なモデルが作れるとは思うのですが、その分データが重くなって作業途中に突然アプリが落ちるのが怖いので、最低限の作りで作ることを意識しています!強いPCが欲しいなあ・・・物理の重さとしては、個人的な好みから重めに設定しています。デレステのモデルは、スマホで遊ぶアプリであることもあって、そこまで髪とかスカートとかが動かないんですね。ショートヘアーの子なんか特に毛先だけ揺れるとか、スカートは全体が一緒に動くとか、あんまり動きまくる感じではなくて、リボンとかの飾りもちょっとヒラっと動くくらいなんですね。だから参考にしております!!遊んでいただくのが一番ではあるのですが、布教しにきた訳ではないので軽ーくスクショを!ターンした直後なんですが、一番左の子の髪がちょっと動いているだけで、みんなそんなに動いてない印象です。ちなみに無料の全員分ある衣装の中で一番好きな衣装です(謎情報)一番右の人のスカート(?)もそんな全開には動かないです。腰位に近い部分が特に。こんなな感じで自然に調整できたら個人的に理想的ですねこれは振り返った時の様子なんですが、髪がわりと大きな毛束だったりします。という感じで、意外とそこまで動かないんです・・・でも気にならない凄さ!!・・・で、本題に入ると、「物理」と一口に言っても、そこに関わる工程やパーツは4つあるんですね... 1, 頂点グループ 2,ボーン 3, ウエイトペイント 4, 剛体 5, ジョイントですね。それぞれの内容に入る前に、気をつけておかないといけないのが、BlenderとMMD(nanoem)では軸がちょっと違うので注意しないとなんですよね・・・(MMDとnanoemでの違いもあるかも?)なんと、Y軸とZ軸が逆なだけでなく、プラスマイナスも逆なんです...要注意です!!!これを忘れてしまったまま作業してしまうと、いくらいい感じにやってそうでも一生良くはならないですでも毎回やらかします(おい)1, ではでは、まずはボーンなんですが、ここで動き方が大きく変わると言っても多分過言ではなくて、位置ももちろんなのですが、どの程度細かく動かすかと言ったことも、この段階でイメージしておく必要があります。この時点で、どんな形の剛体を配置するのかも考えながらやっておくと、より位置や数をイメージしやすいと思います!今回のラクスの上着の裾部分は、6段に分けて作っています。これは、私の思う、この長さの場合はこれくらいなら最低限綺麗に動かせるだろうという最小の数になります。なので、もっと細かくやる場合は増やすとより滑らかな挙動になると思います!!ボーンの位置は、剛体を配置するであろうポイントの真ん中あたりに配置しています。2, 次に頂点グループの作成なんですが、これもかなり大事な工程で、こいつはボーンにメッシュを対応させる役割もあります。もしかしたら自動で作れる方法もあるかもしれないんですが、いつも私は手動でやっているので、手動のものを説明しますね。と言っても、頂点グループ一覧のところに、新しく増やしたボーンの分だけボーンと同じ名前のものを作っていくだけです笑これですね。画像の左下の緑色の三角マークを押すと出てくる項目の中の、一番上のやつです。「Vertex Groups(頂点グループ)」。ここから、ペイントしたいボーン(に対応した頂点グループ)を切り替えることができます!この頂点グループは、次の工程のウエイトペイントの際に、頂点グループを切り替えながらペイントしていくので、欠けているとかなり困ることになります・・・(なんか前はアーマチュアのポーズモードで、ウエイトペイントしたいボーンを選んでウエイトペイントに戻ってくればよかった気がするんですが、変わったんだったかな・・・?)3, その次にウエイトペイントなんですが、骨が折れる上にモデルの挙動にかなり関わってくる工程なので、気は抜けません・・・大前提として、モデルの頂点は、全てのボーンに付与されているウエイトの合計数が「1」である必要があります。これを踏まえた上で、なるべく極端に数値の変わることのない気異例なグラデーションを目指して、ウエイトペイントしていきます。例えば、ラクスの上着の一部の「上着裾前12_L」というボーンに対するウエイトペイントは、うまくそれぞれの頂点のウエイトの合計が1になるように、かつ、そのボーンが関わる頂点グループ複数からもウエイトを設定することを心がけています。視覚で囲った部分の頂点が、ボーンに該当する頂点なのですが、右の頂点グループを見ながら見ると、うまくばらけさせていることがお分かりだと思います。でも正直なところ、うまいウエペの仕方は勉強中です笑で、手動でそれぞれの頂点にウエイトを塗り塗りしたら、「Smooth」をかけて、滑らかなグラデーションになるようにします。「Weights>Smooth」でできます!あとは、実際の動きは、ポーズモードでボーンを動かしてみたり、MMDで確認しながらやるとよりいいと思います!個人的に、他の部分にうっかり当たってしまってて、全然関係ないところが一緒に動いてしまう...というのをよくやらかします今回、実はラクスの中に着ている和服のタイトスカート状の裾がうまくいってないので、そこはどうにか克服して改善したいです...DLしてくださった皆様にとても申し訳ないです・・・色々試してみたんですが、パンツが貫通しないようにするのとの妥協点的なところでとりあえずは落ち着いた感じです...。4, 剛体は、位置とグループ分けが特に大事だと思います!物理演算の種類は、揺らす必要がなければ問答無用で「Bone(ボーン追従)」にするといいと思いますが、揺れる場合は、基本的には、「Physics+Bone(物理演算+ボーン追従)」にしています。というのも、物理演算にしてしまうと、貫通対策がしづらくなり、また、動いた時に引き伸ばされたような動きになってしまうことがあるからです。」また、メッシュに隙間なく敷き詰めるイメージがいいと思います!特に今回のような長いものでは!物理を敷き詰めておくことで、足の剛体に弾き返される時に足が入るポイントが減り、貫通を少しでも防ぐことができます!さらに、グループ分けなんですが、これは、どのボーンに対してこの剛体を含むボーンが当たった時に跳ね返して欲しいかなというのを設定します。私の場合は、太ももと裾は分けています。太ももに跳ね返してもらうように設定することで、足が食い込むことを防ぎます。あと、ここは他の物理演算がかかっているパーツが食い込まないようにしたい!という部分(胴体など)は、大きめに剛体を作るのがいいみたいです!以前、参考にさせていただいたサイトでもそのようなことが書いてあって、でもその時は今以上に物理をうまく扱えなかったので、とにかくプルプルしないようにしたくて小さめに作ってたんですが、今回作っててすごい大事だったんだな・・・と思いました(遅っ)例えば、今回のでは内側の和服的な裾に上着が食い込まないように頑張ったんですが、和服的な裾部分は足と一緒に動く部分なので、足に対応している物理の「右(左)もも1・2」を大きめに作りました!これによって、太もも周辺の上着の裾は余裕を持って跳ね返すことができ、食い込みづらくなります。わかりづらいかもですが、丸っこい剛体(右(左)もも1・2)を、メッシュよりもちょっと大きめに作っています。これはしょうめんですが、特にお尻の貫通が厄介です・・・正面の斜め下から見た図。一応隙間はちょっとあります。この隙間がないとプルプル震えやすくなります。5, ジョイント、こいつが一番厄介ですね・・・.ジョイントで、ボーンをどのくらい動かせるようにするのかという範囲を指定するんですが、これも頭痛くなってきますね・・・特に厄介なのが、長い髪や長い裾など、縦に連続してつながってるやつですね。単独のジョイントなら、どのくらい動くかの角度を考えるのはすごい楽なんですが、連なっているものの場合、下に増えていくたびに下のやつは上のものの角度に加えて動くので、上に連なっているものの角度を足しながら考える必要があるんですね・・・頭痛くなりますねどういうことかというと、ポニテ部分のX軸(前後の動き)で説明すると、一番上の「ポニテ1」は、頭に対して「ポニテ1」ボーンに該当する部分がどのくらい動くかだけ考えればいいので、これぐらい動いて欲しいな〜という「5°〜10°」を指定しているので、「ポニテ1」はこの範囲でのみ動きます。ちなみに、最小の数値の方をマイナスではなくプラスの数字にしているのは、体にポニテが食い込まないように、ちょっと必要以上にポニテが体に対して外側方向に動くようにするためです。上着の裾なども同様の考え方でこういう数値の設定にしているところもあります。ポニテ1のジョイントの数値これに対して、ポニテの末端である「ポニテ7」は、このジョイントそのものに指定している数値は「ポニテ1」と同様の「5°〜10°」ではあるものの、こいつの上に連なっている「ポニテ1〜6」の数値も足して考える必要があるので、実際にポニテ全体の根元である「頭」に対しては、「35°〜70°」(多分)の範囲で動くようなイメージになると思います。とはいえ、ラクスの「ポニテ7」の部分は「下半身」の剛体を大きくすることで貫通しづらいように設定しているので、実際はどうなのかちょっと微妙です...。なんか書いていて違う気がしてきたので、イメージとして捉えてくださると助かります!すみません...!!ポニテ7のジョイントの数値ちなみになんですが、軸を指定する欄が2段あると思うんですが、上のは移動用で、下のは回転用になります。移動のところは、0で多分いいとは思います。ここに普通に数値を入れてしまうと、勝手におかしな方法に動いて挙動が怪しくなると思います。なので、自然な動きにしてくれる回転用の数値だけとりあえず気にして設定しています!その下のバネ値は、ここはまだ若干よくわかってないんですが、右の数値はどれくらいぽよんぽよん跳ねて欲しいか設定するところっぽい気がします!!髪の毛は上下に割とポヨンポヨン動くものだと思うので設定していますが、服はそんなにはポヨンポヨン動かない気がするので0にしています。3Dモデルとして乗りそうというよりは、リアルの服と髪の動きを目指しています。イメージしやすいので!笑参考になるか微妙ですが、左が物理オフで、右が物理オンです。元の状態よりも髪が外側に動いています。このジョイントなんですが、自分が動きを考えやすいように向きを変えるとより良さそうな気がしました!元々、よく分からなすぎて向きは放置してたんですが、全部同じ向きのをそれぞれの場所に合うように数値を考えていくよりは、モデルの中心に向けてX軸を回転させるとマイナスの数値になるように向きを調整する...と言ったように変えると、考えやすくなる気がします!上着の裾の一番上の段のジョイント全部を見てみると、体の中心に向かってどう動かしたいか...というのをどの位置でも同じように考えられるように向きを調整しています。また、ジョイントは、今回のような長めの布系(長くなくてもつけた方がいいかも?)では「横ジョイント」という横方向にもつなげていくジョイントを使うことによって、縦にはつながっていた剛体をつなげて、一つの塊として裾全体を自然にゆらゆら動かすために必要な感じです。横ジョイントをつけないと、剛体だけで見ると長い帯をたくさんぶら下げている状態になってしまい、そこにいメッシュが無理やりついてくるようなメチャクチャの状態になってしまいます...実は今回、めんどくさくて最初作るつもりなかったんですが、ないとやっぱりとんでもないことになってしまったのでつけました考え方としては、メッシュがくっついている部分は隣り合う剛体を横ジョイントで繋げたほうがいいので、スカートは一周ぐるりとつなげる感じです。ラクスのはちょっと特殊な感じで、後ろに大きな切れ込みが入っているロングコートみたいな形をしているんですが、一番上の段のみメッシュがくっついているので、そこだけ横に一本につなげて、あとの段は後ろの真ん中で分けて2本ずつ作りました!と言った具合に、メッシュの形による部分だと思います!数値は、正直なところ横ジョイントに関してはあんまりよくわかってないので、以前参考にさせていただいたサイトで紹介されていた数値を参考にしているんですが(どこだったか忘れました...おそらく過去の記事のどこかに載せている気はします)、移動用の数値のみ参考にして、回転用の数値は、縦につなげたジョイントで結構設定しているので、横ジョイントは控えめに設定しました!横ジョイントも、ジョイントそのものの向きは、考えやすいように調整するのがおすすめです!上着の裾の一番上の段の右前部分の横ジョイントの数値。バネ値は設定していません。あと、Z方向に回転するとメッシュが汚くなるかな...と思ったので0にしています。ジョイントはこんなこんな感じですかね!物理はこいつの設定がかなり重要になります!!!いい感じになるまで何度もnanoemとBlenderを行き来ですね...最後に、個人的によくやらかすのが、左右で対象になっているものを「Symmetrize(左右対称)」で反対側にもコピーした時に、Blender上での情報(ボーン名など)はコピーされた方はちゃんとコピー元と逆の右左になっているんですが、MMDとしてのデータ情報を入力するところでは、左右逆になってくれてないんですが、そこを入力し直すのを忘れて挙動がおかしくなることがたまにあります例えば、「左ひじボーン」で説明すると、「mmd_tools」のアドオンを入れている場合、通常のBlender上での情報を入力する欄とは別に、「MMD Bone Tools」というMMDデータとしての情報を入力数る欄があるんですが、ここが「Symmetrize」では左右逆のものを入力してくれてないんですね・・・なんてこったい。という感じでした!!!思ったよりも長くなってしまって申し訳ないです...ここまで読んでくださってありがとうございました!!いつも死にかけの絵文字ばっか使っちゃうんですが、それくらい修行っぽくないですか!?モデリング!!いつもそこそこ辛いな〜と思いながら作っています笑でも、大変だからこそ、できた時の達成感はめちゃくちゃすごいんですよね!!あと、似てなさすぎて概念レベルかもしれないけど、動く推しはやっぱりいいですよね!!!これだからやめられねえ!!!ではでは!あと3日で種が20周年なんだと思うと恐ろしいのですが、企画で色んな方と作った動画が公開されるタイミングで、こちらでもちらっと告知しようと思います!!劇場版の告知とかくるのかな...ドキドキそのあとは、ずっとやってみたかったVroidをやろうかな〜と企んでおります!では!おやすみなさい!!!追記)カバー画像変更しました!なぜか最初に書いた時、カバー画像選ぶ画面が出てこなかったんですよね・・・デレステの宣伝がしたいわけではないので・・・笑