Modoのウェイト対象化(PPToolkit)
前回のコメントにてmechpalaceさんよりPushing Points Toolkit v1.6なるフリープラグインを教えていただきました。
左右非対称のメッシュのミラー化やらチューブの変形等色んな機能が一個にまとまったツール群みたいです。
Modo de ウェイトの鏡面転写
要望:左右非対称モデルのウェイトを鏡面コピーしたい
例えば左半身ウェイト入れして、皺とかの割りが違う右半身へコピー みたいな。
現状:そもそもModoにウェイトの鏡面コピー無いっぽい
1:Mirror Weights — Matt Cox
ググってみたところこちらのMatt氏のプラグインがヒットした。
Modo601時代のプラグインだから動くか心配だったけど、動いた。
(ただし普通に導入しただけではmodo10では表示されなかった。これはindex.cfgの中にあったmodo601がなんやかんやのくだりを削除したら表示されるようになった。)
結果はこんな感じ。 無いよりはマシだけど実用に堪えるか っつったら…アウト風。
--------------------------------------------
2:メッシュを複製、左右反転して右へ転写
ウェイト転写、基本機能に無いのな…
Zで行こう!:ウェイトマップを別のメッシュに転写する modo 202 - livedoor Blog(ブログ)
プラグインはこちらをお借りしました。更に古くなってmodo202時代のですが、動きました。
テストで動かしてみたところ、転写元のウェイトが全部・そのウェイト名で転写先にコピーされる様子。
であるなら、左半身ウェイト付けたメッシュを転写元として複製→(元)のL_をR_にリネーム、転写しなくていいウェイトを削除→作業中メッシュである転写先へ転写って感じだろか?
で。
●メッシュを複製したらデフォーマーへの紐付けごと複製された。ちがう、そうじゃない。そこリンクしてたらウェイト名のリネームも要らないウェイトの削除もできない。
●新規シーン作ってメッシュだけ一時移動してみたら?
ウェイト名が__item_locatorXXXとなって、しかも何故かリネーム出来ない。
一応ウェイトをコピー→新規ウェイトで欲しい名前で作る、ウェイトをペーストで出来たけど。片腕だけで少なく見積もっても19あるウェイトを、一個一個どれがどれか確認しながらリネームするのは非効率的過ぎない?めんどくさい。
●fbxで出力したファイルをLightwaveで開いて、lwoをmodoに再移植
タイトル的にある意味禁じ手。
だけど、『左半身ウェイト付けたメッシュを転写元として複製→(元)のL_をR_にリネーム、転写しなくていいウェイトを削除』まではこれでクリアできる。
つーかウェイトのミラーもLWのプラグインで出来るわけだけど…いつまでLWとの連携に頼れるか判らないから、出来るだけmodoだけで出来るフローを探りたいんだよなぁ
まぁとりあえず転写元は出来たから、『作業中メッシュである転写先へ転写』やってみた。
ダメだった。
どうも骨と紐付いてる?特殊な?ウェイトのR_○○ウェイトに書き込もうとしてエラーが起きるらしい?多分?そのへんよくわかんね
ファッキュー
--------------------------------------------
●方針転換
『転写先のウェイト』がプラグインで編集できないのなら、『編集できる状態のウェイト』を最終的に使うウェイトにしてしまおう。
以前の検証で、デフォーマーのプロパティから使用するウェイトを指定できるのは判ってるから、lwoから開いたメッシュを起点に鏡面コピー からのウェイト指定でイケるはず。
とりあえず転写
まぁ…1よりかは良いか。転写の設定を調整すればもっと良い感じになりそう?
--------------------------------------------
その後でフォーマーの割当てウェイトを一個一個直すというめんどい作業後転写漏れてる部分を書き足し微調整して
やったぜ
------------------------------------
ちょっと続いた
UnityHumanoid用Rig Ver2
あたらしくHumanoid対応のRigをLightwaveで組んだ
Unity用RigテンプレVer2はとりあえずこんなもんで。 とりあえず入れたい機能は入れた…かな?多分 ボーンじゃなくてジョイントにしたことでModoとの連携も取りやすくなった…はず 多分 pic.twitter.com/3kLgwuBbuv
— FoR (@For_K_Est) 2017年1月10日
余計なBornを入れないのはUnityに持っていきやすくするため、いじるサブ骨が無い分、ハッカソンとかでモーションでっち上げるのが楽。
試しにFbx書き出して、Unityちゃん・社畜ちゃん・プロ生ちゃんにさっきの動きをセットしてみた。概ね問題なさげ。 pic.twitter.com/QiGKyRZoOj
— FoR (@For_K_Est) 2017年1月10日
Humanoidの設定で読み込めばこの通り、大体はOK。揺れ物等は物理任せになるけど、致し方無し。
前回からの改良点
・腰を動かせるように。
Mecanim Humanoid について | Unity Japan Official Blogにあるように、Rootは骨盤辺りのHip骨であることが前提になっているので。例えばウエストの辺りにRootを置いて、上にSpineを下にHipを伸ばすのはあまり良くないらしい。
でもそれでストレートに組むとHipの位置あっての上半身になり、”胸の位置は動かさず腰をちょっと動かす”みたいなのが面倒だった。
よって”Hip_Nullの子のWaist_Nullの回転でHipの位置と角度を、Spine・Chestはその影響をほとんど受けずにSpine_Nullで回転を操作”みたいな構造にしてみた。
・四肢毎のIKFKブレンド
以前は四肢の操作はIKオンリーだった。大体は困らないけど、やっぱり剣を振るとか弧を描く動きはFKのほうが良いなと思ったので、その辺のブレンド量を調整できるコントローラーを設置した。
・PlgIK縛り
LightwaveのPlg_IKというフリープラグインで今までやってた。
メリットは”挙動が素直”に尽きる。デフォのIKで起きる”一定角度になると関節がガクガクする”みたいなフリップ現象が起きない。
デメリットは ”一見フリップが起きないように見えるけど、骨の回転値が1フレームで大きく変わりフリップが起きない角度に調整している”様なので、FBXに書き出すと端数フレームで腕が一瞬360度回転する等なことが度々あった。デフォのIKだと多分起こらないはず。その代わり操作性はPlgIKには劣るけど…
ついでにそのプラグインLW8時代ぐらいのもので、もうずっと更新されていなかったのだけど、配布されていたサイトの@homepageが2016年11月10日でサービス終了で再DLもできなくなった様で、これは自分で基本機能で組めるようにならなイカンと思った次第。
ぺしぇさんによって大きい問題は解決した …けどこの、関節が伸びる前のIKゴールとくるぶしが離れる瞬間のようなふわっとした挙動は直らないか… ゴールを接着にチェック入れたら見た目は解決するからまだいいけど。気持ち悪くはある。 pic.twitter.com/LxmaS04tXT
— FoR (@For_K_Est) 2017年1月8日
あとはこの謎挙動さえどうにかなれば良いんだけど…足を伸ばして接地した状態から腰を落とすと少し埋まる瞬間があるって事になるから、これはなんとかしたい。
まぁそれは今後の課題かなぁ。
ちなみにGenomaは補助骨が鬼のように多いから無しで。
(1/21追記)
https://t.co/Gm9b20XLuA の時の関節が曲がり始めるまで間がある問題。回転の粘性を0にしたら緩和された。上が粘性0、下が初期値の1。そういうことだったのか?まぁまだちょっとIKゴールから離れるタイミングがあるけど… pic.twitter.com/4ICRGRN7DW
— FoR (@For_K_Est) 2017年1月21日
多少マシになった。IKの粘性0にしたことで操作性も上がったような気がしないでもない。
ただ何もかんも0にしたら良いってもんじゃないらしく。コントローラーのworld回転とか参照してるトコを0にしたらつ効果が無くなったので、そこの辺は1するのが良さげ。
----------------------
さて
骨のリファインに目処が付いた所で天龍Ver3への骨入れとスキニングに移ろうか。
今回はZBrush&Modo&SubstancePainter(&セットアップでLightwave予定)で行っています。
RigもModoに移植できたら良いんだけどなぁ。Modoでのリギングも調べないとな。
-----------------------------
お借りしたデータ
暮井 慧(プロ生ちゃん) MMD/Unity/FBX 公式データ
社畜ちゃんMMDモデル
この作品はユニティちゃんライセンス条項の元に提供されています
瞳に生命感を与えるスクリプト
事の発端はこちら
ランダムに瞳動かしてみたら、生きてる感すごい出た。 pic.twitter.com/LT5KxMeoIC
— いちか (@ichika292) 2016年10月25日
こういう瞳の微妙な動きのことを固視微動というらしいです。
これを瞳のテクスチャのUVオフセットを管理するスクリプトに組み込もうというのが今回の試み。
イメージとしては
・「EyeRandom.cs」で細かいトレモア振動とランダムフレームかけてランダム距離動くドリフト兼フリックの計算をさせて何処かのオブジェクトにアタッチ
・瞳をUVアニメさせるスクリプト「EyeOffset.cs」にEyeRandomから変数の値引っ張ってくる処理を追加して足し算。
結果こんな感じになった。
ええんやない?
ちなみに最初はEyeRandom.csに分けずに書いていたけど、いざ動かしてみたら右目と左目でバラバラの動きをし始めた。
さながら散眼、 ジッサイキモい。
モーキャプデータから繋ぎ・ブラッシュアップのフロー動画
PAYDAY2動画を漁ってたら先日追加されたJohnWickWeaponPackTrailerのモーキャプデータ→完成までのモーションメイキング見つけた。
・意外とぶつ切りで撮ってから繋いでるんだなー
・反動は 手付けで作ってるんだなー
と思った。
こっちが完成
映画ジョン・ウィック2は2017年2月10日に全米公開らしいです
日本はいつになるかな