
【3DCG】ロングワンピースの初音ミクさんにリフティングをしてほしい
こんにちは。ラワイルです。Marvelous Designer(MD: CLOとコアテクノロジーを同じくするソフト)でロング丈のフレアスカートの洋服を作ってAppearance Miku(あぴミク)に着せて遊んでいる人です。
今回はロングワンピースのあぴミクさんにサッカーのリフティングをしてもらいました。完成した動画がこちらです。
ロングワンピのあぴミクさんがリフティングをしてくれたよ#marvelousdesigner #CLO3D #b3d #blender https://t.co/IVfXa2YG6T pic.twitter.com/AEZZcMRqH1
— ラワイル (@La_Wile_0) March 14, 2024
要点
・法線転写を行ったことで青髭は改善したが、顔の可愛くないシャドウの対策は依然工夫したい。
・IKや付与はMMDとblenderの計算で解釈違いを起こしうる。調整ボーンとIKとDボーンについて、調整ボーン→無印ボーン、IK→無印ボーン→Dボーンの付与順になっている。A回転→B回転の付与はB回転*A回転の計算をすることで焼き込みを行うことができる。
方針
前回の記事で紹介したワークフローの改善に努めた。

1.デザイン
2023/05/04 木
MMD15周年オフ会にて、ご自身でリフティングをしながらリフティングのモーション作成もしている咲 枡さんにお会いし、ロング丈のフレアスカートを履いたミクさんにリフティングをしてもらうことができたらなんて良いだろうという話をしたところ、ありがたいことにモーション配布をしてくださった。
アラウンド・ザ・ワールドout(アウトアラ)。
— 咲 枡 (@3k0s_FSFbMMD) November 30, 2022
外に回してキャッチする技。
動きは前に作ったのを修正してます。 pic.twitter.com/UzqZOCp7RH
リフティングモーション配布してみます。
— 咲 枡 (@3k0s_FSFbMMD) May 24, 2023
「今の技術で行動するとどんな感じになるのかな」と思い、試しにやってみた次第でございます。
使い難い所があるのはご容赦ください!
key:ATWouthttps://t.co/cmHs7SmnBc
……すぐにでもミクに流し込んでクロスシミュをかけたかったが、リアルのタスクと服飾スクールの課題(スカート制作)があったため、時間があいたときにすることにした。
2023/07/07 金
シチュエーションは、夕方の人がいない学校の屋上か外階段の踊り場でリフティングを見せてくれるようなものを想定した。
2.MDにアニメーションを取り込む
1日目(2023/08/07 月)
まずあぴミクのpmxをよく観察し、モーフのうちノーマル目・髪飾り格納・素足補助4(靴)を1に設定した。
2日目(2023/08/18 金)
髪の細分化。準標準ボーン追加プラグインで足D(Directの略らしい)をつけた。モデル差によって生じる足首のグネりや腕と太もものめりこみを調整した。特に、クロスシミュを行う場合体のメッシュのめり込みは破綻に直結するため厳格なコントロールが必要となる。
3日目(2023/08/19 土)
ミクの全ての親をサッカーボールに合うようにオフセット。サッカーボールをBlenderに入れ、サイズがMMD用のサッカーボールに合うようにした。遠景に空色町、HDRIにsunset_fairwayを配置。初期姿勢までのバッファを60F用意。いったん髪や剛体を外してMDに入れたが、丈が長いためボールとふくらはぎの間にスカートが挟まれる形の破綻が生じた。IKの計算の違いにより、MMDではメッシュ間に余裕があってもblenderだと余裕がなくなるケースがある。
IKの互換性問題を回避すべく、MMDBridgeの焼き込みを工夫した。DIscordにてlessさんのご助言のもと、付与の構造はIK→無印→Dとなっているため、Dを削除したモデルでBridgeで焼き込み、もとのモーションはIKをOFFにしてDは残して足・ひざ・足首の無印を消してから焼き込んだモーションを放り込むと、足・ひざ・足首に正しいIKの姿勢が入り、Dはそのまま残るという作業をした。すると、blenderで無印→Dの付与計算の解釈違いを起こしたため、この部分の焼き込みの対処を明日行うことにした。
また、Discordにてmiuさんからスカートを摘まみ上げたら可愛いのではという提案をいただき、そうすればリアリティが増し破綻が起きづらくなり、なにより動きにくい服装ながらも懸命に技を決めようとスカートを摘まみ上げた結果清楚かつ官能的というとてもフェチい状況になることに気づいた。
4日目(2023/08/20 日)
回転付与についてmiuさんのご協力をいただくことができた。mlib(新MMD用基本ライブラリ)でIKを計算し、Dボーンの回転*FK回転*IK回転を行い、足を高く上げたところでIKを少しオーバー目に動かしたとのこと。
new_bf.rotation = d_rotation * fk_rotation * ik_rotation
IKと足表示枠(足関係とD関係)のキーフレをクリアしてから調整後のモーションを入れる。
スカートを摘まみ上げる仕草を参考にモーションを調整した。ボールが入ってくるモーションを打たないといけないその他の理由でやらなかったけれども、カーツィしてからそのままリフティングしてもかわいかったかもしれない。
5日目(2023/08/21 月)
調整ボーンを使ったら回転付与の互換性問題が発生したので、miuさんのご協力のもとAnacondaをインストールして仮想環境を作った。Dボーンの回転*FK回転*IK回転のプログラムを応用した。
焼き込み元→焼き込み先のボーンリストを変更した。いったんd_rotationを定義する行をコメントアウトして全打ちされていることを確認した。

d_rotationを定義する行でf"{bone_name}D"をf"{bone_name}調整"に変更した。
d_rotation = motion.bones[f"{bone_name}D"][fno].rotation
↓
d_rotation = motion.bones[f"{bone_name}調整"][fno].rotation
これで実行した結果、めり込みが発生していた。クオータニオンのかけ算は非可換である……カップリングみたいなものだ。かけ算順序を逆にした。
d_rotation * fk_rotation * ik_rotation
↓
fk_rotation * ik_rotation * d_rotation
Dは付与が無印→Dになっているが、調整ボーンは付与が調整→無印になっている。たぶん、かけ算は[付与先の回転]*[付与親の回転]にするべきであるのだろうな。
これで無事blenderとMDに読み込むことができた。
3.MDで服を物理演算(シミュレーション)する
6日目(2023/08/22 火)
スカートを摘まみ上げる位置を調整した。
4.blenderで物理をつけてレンダリングする
7日目(2023/08/23 水)
見えない剛体で髪が刺さらないようにした。リボンをクロスシミュした。シェーディング。スフィアのノードを組んだ。

8日目(2023/08/24 木)
俯いたら影(青髭)ができやすくて嫌だねえ。
9日目(2023/08/25 金)
今回はカメラをあまり煽っても美しくないかも。X3度煽りくらいが遠慮がちにミクと戯れるカメラという感じなので、絶対領域が見えない感じになった。すまん😅
10日目(2023/08/27 日)
背景シェーディングをいじった。バンプとか。ミクの青髭対策で球面顔の法線転写をしようとしたがかえって青髭が悪化した。
んー、球面転写したらかえって青髭悪化したから今回はパスで......球体顔とか平面顔とかで工夫した方がいいのかもしれないねえ pic.twitter.com/rgatFPOgy2
— ラワイル (@La_Wile_0) August 27, 2023
球が小さすぎるというか、位置と形状を頭に合わせすぎかも
— P.I.P (@lllovelll) August 27, 2023
真球にこだわる必要はないのでもうちょっと円筒に近い形にして見るとかそういうのも
— P.I.P (@lllovelll) August 27, 2023
~約半年、リアルのタスクと服飾スクールの課題をする日々~
11日目(2024/03/07 木)
blenderを4.0にアップデートした。法線転写をやってみた。
12日目(2024/03/11 月)
サブサーフェスの設定をそれっぽくした。なんか耳とかは法線転写がかからないように、首との境界はゆるやかになるように頂点グループのウエイトを塗った。

モデルを改めて見直してみた。
13日目(2024/03/12 火)
顔の左右の影がどうしても気になったのでキーライトを追加した。霧をかけようとしたけど背景の奥がやけに明るくなったのでやめた。コンポジットの設定。レンダリング。
14日目(2024/03/13 水)
既定のアプリ切り替えを失念しておりレンダリングをblender3.6でしていたので、4.0で再度コンポジットの設定を行ってレンダリングとエンコード。
15日目(2024/03/14 木)
投稿!
クレジット
アラウンド・ザ・ワールドout(アウトアラ)。
— 咲 枡 (@3k0s_FSFbMMD) November 30, 2022
外に回してキャッチする技。
動きは前に作ったのを修正してます。 pic.twitter.com/UzqZOCp7RH
あぴミク:ままま様、アラン・スミシー様、nakao様、ベ・ルル三錠様
ボール:cgmodel様
モーション:咲 枡様
空色町:SkyBlue様
HDRI:Poly Haven様
りぼん:MIT$U様
次回以降の課題

・顔の左右が暗くなるのが嫌で光を強く当てていた。問題の切り分けをしたうえで、テクスチャなどの補正を行う。
・長い尺の動画を作ることを考えると、髪の衝突判定はなんとかしたいので、blender用の物理をつけられるように、MMD toolsやblenderの勉強をする
・モーション修正が簡便になるようなリグまわりのワークフロー
・スケーリングについて理解したうえてミク用の原型を作る
・ロンスカ映えするモーション集を投稿
・MDで出すときに布に厚みをつける or Solidifyモディファイアを試してみる
ロンスカのかわいさ 広まれ広まれ👽