スカートのリグ-アタッチメント-

747-Skert_bone01

布地モデファイヤを使ってシュミレーションができたので、それをボーンに
変換してみる。
スカート用のボーンをコピーして管理しやすいように別のレイヤーに
入れておく。
コピーしたボーンにスプラインIKを組み込んでおく。
このボーン達はコピーしただけなので、このボーンはスカート自体の
変形には直接関係がありません。(スキンの中にいれなくていいんです)
アニメーションコン>ストレイント>アタッチメントコンストレイント
シュミレーション用のスカートを選択してコンストレイントする。

750-Skert_bone02

このコンストレイントは頂点に対してコンストレイントできるので、
最初はとんでもないところにくっいてしまうが、
アタッチメントパラメータ」の「位置を設定」で
好きな頂点を選択するとその位置でコンストレイントがかかります。
おそらく頂点でなくサーフェースにくっていている気がしますが・・・
全部のポイントヘルパーをコンストレイントすると、
布地になったスカートの動きにボーンがついてきます。

スカートのリグ-布地モデファイヤ-

753-Poly01

シュミレーション用のスカートと足を用意するのだが、すでにスキンの
設定とウエイトがついている場合は、
その上に「ポリゴン編集」のモデファイヤをのせ、
いらないポリゴンを削除。
ポリゴン編集モデファイヤをスキンモデファイヤの
下に移動させて「集約」する。
これで、ウエイトを壊さずにいらないポリゴンを削除できます。
同じようなオブジェクトがある場合は、
レイヤーで管理したほうがいい感じです。

754-Cloth01

スカートに「布地モデファイヤ」を適用する。
サブオブジェクトの「グループ」で変形させたくない頂点を選択して
「グループ作成」>「保存」
これで、選択した部分(腰)はシュミレーションから外れます。

755-Cloth02

オブジェクトプロパティで布の設定をプリセットから選び
「オブジェクトを追加」
で当たり判定(コリジョン)用の足の
オブジェクトを選択して、衝突オブジェクトに設定する(右図)。
一度「ローカルシュミレーション」で初期状態を計算させた後、
「シュミレーション」で計算
させて、完成です。

スプラインIKのつづき

756-Spline_IK15

スプラインIKはボーンをスプラインにコンストレイントしてくれる
機能なので、前回の記事のように先に描いたスプラインにボーンを
乗せる場合、スプラインと違う位置に描いてもコンストレイントで
位置がぴったりと合うが、
コンストレイントを解除した場合、もちろん元の位置に戻ってしまう。
後々モーションをプロットしたい場合などに備えて、ボーンの位置を
位置あわせなどで合わせておくか、描画の際にスナップを有効にして
描画するといいかもしれない。
上の図はボーンに合わせてスナップを使ってスプラインを描いています。

髪の毛のリグ

757-Spline_IK10

前回のスプラインIKを使った髪の毛のリグを作ってみる。
すでにモデルがある場合は、モデルのエッジからスプラインを
作成したほうが、簡単なのでエッジを選択して
「選択からシェイプを作成」でスプラインを作成する。

758-Spline_IK11

適当な位置にボーンを作成するのだが、この時スプラインの頂点数と
ボーンの数が同じでなくても大丈夫。
ただし、スプラインの頂点番号には注意しておくこと~
ボーンが逆になってしまいますので。
ボーンの根元になってほしい頂点の番号が1であることを確認し、
そうでない場合は「始点を選択」で変更する。

759-Spline_IK12

ボーンの親を選択した状態で
アニメーション>IKソルバ>スプラインIKソルバで先端のボーンを選択し、その後スプラインを選択。

760-Spline_IK13

IKとスプラインの頂点の位置にヘルパーが作成されるが、
IKを直接操作するのではなくヘルパーを移動させることで、
ボーンが変形する。
元になっているスプラインに「フレックス」モデファイヤを適用。
あとは、ボーンとヘルパーの親をリンクで頭のボーンの子供にすれば、
移動するとついてくるしフレックスで揺れることになる。

761-Spline_IK14

パラメータ
フレックス:伸びる割合
強度:バネの硬さ(数値が大きいと硬いバネ)
揺れ:元に戻るまでの揺れ方(少ないとなかなか戻らない)

Mayaの備忘録3 -スキン・ウエイト関係-

762-Maya_Skin00

スケルトンによる変形はジョイントからの距離に比例し、
その変形の程度をMayaではスキンウェイトと呼ぶ。
スキンウェイトはポリゴンでは頂点、
NURBSではCVに割り当てられている。
まずは、変形の確認のためにアニメーションをつける。
ジョイントを選択して回転させ「s」でキーを設定する。
変形の思わしくない頂点を選択し、
ウインド>一般エディタ>コンポーネントエディタ「スムーススキン」
タブを選択すると選択した頂点のウエイト情報が出る。
ウエイト情報とは頂点がどのスケルトン(ジョイント)にどれぐらいの
割合で変形するのか?数値で表したもので、
最大値は1(100%)数値入力して変更していく。

765-Maya_Skin02

スキン > スムース スキンの編集 > スキン ウェイト ペイント ツール
を実行すると、上図のように選ばれたオブジェクトがモノクロ表示に
変り、スキン ウェイト ペイント ツール 内の
「インフルエンスタブ」の「トランスフォーム」で選択されている
ジョイントの影響が強く受けている部分は白に近づいていく。

766-Maya_Skin03

ブラシの半径を変更しジョイントを選択しながら、
「加算」で塗ってウエイトを変更していく。
頭など、一気に他のジョイントの影響を切りたければ「置き換え」に
変えて塗る。

767-Maya_Skin04

ウエイトを保存したい場合は保存したいモデルを選択し、
仮のマテリアルに適用する。
片側にきれいにUVをシンメトリーしている場合など、
UVが重複している場合は
UVの編集>UVテクスチャエディタのポリゴン>空のUVセット作成
新たなUVセットを作成して、UV作成自動マッピングでUVを作成し少し
縮小しておく(はみでるとダメな為)

768-Maya_Skin05

スキンスムース>スキンの編集>スキンウエイトマップのエクスポートの
オプションでマップサイズを高めに設定して適用する。
スキンマップのインポートで読み込むことができる。
ウエイトの情報をUVのマップに書き込むというユニークな考え方で、
UVが違うとおそらく無理だと思われるw