Mikotoの活用 STEP2

Mikotoにボーンを仕込んで動かそう、という方のためのチュウトリアルです。STEP2はレイヤー分割とかの話。
拳闘
テーマとか 備考
■長い髪の毛
STEP1では敢えてショートヘアにしましたが、ロングヘアをムリヤリSTEP1用ベエスモデルに仕込もうとすると
腕や背中に引っ張られるちょっとシュールな髪型になりがちです。
いや、髪の毛はもともと頭部から大きくはみ出しているので、専用のアンカーBOXにきちんと収めないと
ちゃんと動かせるわけはないのですよ。




そこで、髪の毛を独立させます。髪の毛用のアンカーBOXセットも追加する必要があります。命名規則(右欄参照)に従って名前を付けます。まあ、うちのアンカーBOXを使う分には髪の毛を分けてセットするだけですけど。






■Mikotoの命名規則
骨とアンカーBOXと中の人はレイヤー名で関連づけ
 ・骨       bone−ボデヒ
 ・中の人    sdef:なんたら
 ・アンカーBOX anchorしかじかなんたら

■今回みたいに分離する場合
 ・骨       bone−ボデヒ
 ・中の人1    sdef:なんたら
 ・中の人2    sdef:なんたら2
 ・アンカーBOX1 anchorしかじかなんたら
 ・アンカーBOX2 anchorしかじかBなんたら2

<レイヤー命名規則>

<マテリアル命名規則>


■説明に用いているデータ
髪の毛独立化デエタです。
■このアンカーセットの特徴
 ・骨は17本、アンカーBOXは19個に増加
 ・髪の毛をレイヤー分けして独立させた
 ・簡略化のため、鎖骨はナシ
 ・まだ読込は早い方
■不具合対処とか
実はこのTIPSを書いている最中に確認してしまったMikoto仕様の制限があります。
Mikotoは本来アンカーBOXで囲んだ部分が対応ボーンの動きに追従するのですが、時々動きが狂います。
本来の優先順位
 1.アンカーBOX内部の頂点はアンカーBOXと同じ材質の骨に紐付く
 2.一番近くにある骨に引き寄せられて紐付けられる
狂う場合
 1.一番近くにある骨に引き寄せられて紐付けられる
 2.アンカーBOX内部の頂点は遠いので無視される


対処方法
アンカーBOXの形状を変更したり、別のアンカーBOXを追加したりして何とかする


■おかしくなる理由(想像)
0.4eから実装されたアンカーBOX外の頂点処理が、
アンカーBOX内部の頂点を近隣ボーンに関連付けしていることがあるようです。
コレは通常は便利なのですが、時として操作性を著しく落とすので、この処理を無効にするオプションが欲しいところです。



■説明に用いているデータ
うまくいかない髪の毛独立化デエタです。
うまく解決したモノは、上の髪の毛独立化デエタ。




■このアンカーセットの特徴
 ・髪の毛が頭でなくの動きに追従する
 ・他は一緒

わたしの環境では、Mikoto0.4f、0.4c2のいづれでも再現します。
■長い髪の毛 前髪と横髪を揺らせるように
上のは後ろ髪が独立しただけですが、どうせなら前髪とかも動かしたいところ。


■説明に用いているデータ
前髪・横髪ちょっと可動デエタです。



■このアンカーセットの特徴
 ・骨は20本、アンカーBOXは22個に増加
 ・髪の毛の表現をちょっとだけ上げた
 ・他は一緒

改造すればツインテールにも対応できます。

コレとは別に、STEP3で沢近さんっぽいデエタを用意しますけど。
■腕や脚のアンカーBOXを分離する
作る側の作業性向上を目的として、ひとつのsdefに対するアンカーBOXセットを複数に分離します。入り組んだアンカーの微調整や、体型の違うキャラへの適用が楽になります。。

■説明に用いているデータ
腕・脚アンカーBOX分離デエタです。



■このアンカーセットの特徴
 ・骨とアンカーの数は同じ
 ・Mikoto操作性は全然変化なし
 ・アンカーBOXを分離し、作業性を向上させた

■服とスカートの分離
体にぴったりのタイトスカートならともかく、普通のプリーツやフレアの場合は、脚の動きとあんまり連動するのも変です。
また、服はボデヒラインとは異なる面割りになっており、ギリギリの位置にアンカーBOXを仕込む目的もあります。

しかしMikotoではアンカーが3こ重なると途端に変形が汚くなるため、上位ツウルのような布シミュレーションはできません。スカートらしく見えるあたりが落としどころ。

■説明に用いているデータ
服分離デエタです。
掲示板の質問のとき急遽作ったのをそのまま出します。
あしからづ。
ベエスになっているのは前からある公開デエタです。

■このアンカーセットの特徴
 ・骨は25本だが、アンカーBOXは2倍に増加
 ・何故か鎖骨とちちボーンとつま先あり
 ・読込はかなり重くなってきた
 ・スカート完全分離版と簡易版あり
 ・簡易版の方が綺麗に変形する

髪の毛やスカートを揺らす場合、あんまり多くを望まない
方が良いです。Mikoto仕様上の制限により、きめ細かで
入り組んだアンカーBOX設定が困難なので。
あと、骨組みが密集するとゴチャゴチャしすぎて、
うまくボーンを掴めなくなるってものあります。



服はMikotoで非表示を選ぶと消せます。いやーん。


■Mikotoの骨組みの基本ルール
Mikotoは骨とアンカーBOXと中の人をレイヤー名で関連づけています。
 ・骨       bone−ボデヒ
 ・中の人    sdef:なんたら
 ・アンカーBOX anchorしかじかなんたら

■今回みたいに分離する場合
 ・骨       bone−ボデヒ
 ・中の人1    sdef:なんたら
 ・中の人2    sdef:なんたら2
 ・アンカーBOX1 anchorしかじかなんたら
 ・アンカーBOX2 anchorしかじかBなんたら2

<レイヤー命名規則>


骨は片面表示の標準的な三角形ですが、辺の長さに意味があります。


ただの辺は浮動ボーンとゆー扱いになります。浮動ボーンはIKが効かず、FKのみの動作となります。IK・FKについては下記を参照されたし。

■用語
レイヤー:層
オブジェクト:物体、対象

■命名規則とか
命名規則に従ってきちんと名前を付けないと正常動作しません。
ボーン −sdef_1−アンカー_1a −アンカー_1b −sdef_2−アンカー_2 −sdef_3−アンカー_3a −アンカー_3b −アンカー_3c コレが面倒だから公開デエタを使うんですけどね。
■骨のツリー構造とかIKとかFKとか
骨には親子関係があります。

親(根っこ元側)を動かすと先端はそのまんま振り回されるのがFKで、先端側を動かすと根っこ側のボーンが
一斉に動くのがIKです。IKの方がさわっては面白いです。とゆーか、FKは素直すぎ。


しかしきちんとした動きを作りたい場合、IKが自動的に中間ポウヅを補完すると、円運動以外はダメダメになります。
例えばまっすぐ突きを打つ場合、本来は肘が脇の下をこするような軌道を描くのが理想的ですが
ゴールとスタートのポウヅだけ決めてIK補完に頼ると、肘が外側から回り込むフックパンチになってしまい、
意図した動きになりません。全部FKで一つ一つポウヅをつけるってのもアプローチとしては必要かと。

■用語
FK:フォワード・キネマティクス、前方に働く力学的挙動
IK:インバース・キネマティクス、逆方向に働く力学的挙動

何が逆方向なのかっちゅーと、ボーン変形の
内部計算処理が逆順になっているってとこかな。

通常は親から順に計算していくところを、子(ゴール)側から
遡って計算するみたいなので。
使う方にとっては先端をつまんで動かすと
いっぺんに動く
のがIKとゆー感じ。

■滑る滑るー
しかし、IK・FKのみで人体とかを制御するのはかなり無理があります。歩かせると足が滑ります。また、飛び込み正拳突きを打たせると軸足が滑ります。体捌きをさせると手が滑ります
コレは、軸足(=地面に固定される部分)や手の先(=相手の体に張り付ける部分)が位置を固定できないからです。
なお、腰を中心とした動きなら比較的自然なモノが作れます。下半身を固定したまま上半身だけ動かすなら、あんまり問題ないです。
■上位ツールとの差
Mikoto
ボーンの親子関係を動的に入れ替えたりできません。
大抵は腰のあたりを親の最上位に据え、IK・FKは最初から最後までココを起点として作用します。
足が滑るのは気迫の手付けモーションでカバーします。
3DS MAX
プラグインであるCAT(キャラクター・アニメーション・ツールキット)を使うことで、IK・FKの動的な入れ替えが楽に出来るため、足が滑るようなことはないそうです。
MAX本体+CATを合わせると、牛丼1000杯は軽く食べられる価格になりますが。
■メカとか固いモノを動かす場合
sdef変形は柔らかいモノを動かすのに向いていますが、金属ボデヒなメカメカを動かすのには向きません。そんな場合に使えることもあるbdef変形。 コレは、レイヤー分けされたパーツが一番近くの骨に紐付く方式で、パーツ自体は変形しません。固いまま。レイヤーが60個とか平気で増える他、密集していると望み通りの骨に紐付かないこともある、ちょっと謎仕様な機能です。
画像はまだないですすみません。
■用語
bdef:ボーンデフォーム、骨による変形
つぶれないsdefと分ける意味で別名になっている?
■命名規則とか
骨 → bone−ボデヒ
中の人 → パーツ毎にレイヤー分け(名前は何でもいい)
アンカーBOX → (なし)

■sdefだけで完結する方法

骨 → bone−ボデヒ
中の人 → sdef:なんたら
  パーツ毎にレイヤー分け
アンカーBOX → anchorしかじか|なんたら
  パーツ毎にレイヤー分け