2009年08月20日

サンプルシーンのフェイシャルリグをCATと組み合わせてみた その6 3ds max 2010

ボーンの伸縮コントロールとしてこの方法がmaxの標準的な方法なのかは不明だけど、あちこちで利用例が見られるので改めてまとめておくね。

まず下のようにボーンとエンドボーンを作成しておいて、

fig06

エンドボーンを移動させてみると、最初からIKが効いているのでエンドボーンに繋がるボーンがエンドボーンの動きにあわせて回転し、エンドボーンの方は親ボーンによって位置が拘束されて、親ボーンの基点を中心とした球の表面上しか移動できない。だから親ボーンの長さは一定に保たれる。

fig01

次にポイントヘルパーを1つ作成し、エンドボーンに位置コンストレイントを設定し、位置ターゲットをポイントヘルパーにする。

fig02

そしてポイントヘルパーを動かしてみると、エンドボーンはポイントに追従して移動し、その位置は親ボーンに拘束されなくなる。そして親ボーンの方はエンドボーンの動きに対して回転せず、長さだけが伸縮するようになる。これはおそらくボーンのモーションの処理が

エンドボーンの位置(IK)
→親ボーンの回転(IK)
→エンドボーンの位置(位置コンストレイント)
→親ボーンの長さ

の順に処理しているためだと思われる。親ボーンが回転しないのはIKによって親ボーンの回転角度が決定する時にはまだエンドボーンの位置コンストレイントは処理されていないためにエンドボーンの位置が初期位置のまま処理されるためじゃないかってわけだ(あくまで自分の想像なんだけどね)。

fig03

さて、そこで今度は親ボーンの回転にルックアットコンストレイントを設定して、ルックアットターゲットをポイントにする。これで処理の順番はこう変化する。

エンドボーンの位置(IK)
→親ボーンの回転(IK)
→エンドボーンの位置(位置コンストレイント)
→親ボーンの回転(ルックアットコンストレイント)
→親ボーンの長さ

これで位置コンストレイントで移動したエンドボーンに向けて親ボーンが回転した後親ボーンの長さが調整されるので、ポイントに追従する伸縮自在なボーンになるんだと思う。

fig04

これがその結果。ポイントの動きに従ってエンドボーンが親ボーンに拘束されることなく動き、それに追従して親ボーンが伸縮しながら回転するようになった。

fig05

さらに、メニューバーからアニメーション→ボーンツールを起動して、親ボーンのオブジェクトプロパティロールアウトでストレッチに「押し潰し」を設定すれば、

fig07

ボーンの伸縮にあわせて太さも変化させられるようになる。

fig08

サンプルファイルはこれらを設定して、唇や頬の伸縮や膨張なんかを制御していたわけだけど、ルックアップコンストレイントがボーンの回転をペアレントしている親のアイテムの回転から切り離してしまうために、X軸回転が追従しないで前回の話のように首を回転させると唇や頬が引きつるような現象が起きたわけだ。

そしてその解決にルックアットコンストレイントのアップノードを設定する方法をとったのが前回の話だ。アップノードの設定方法はルックアットと軸の位置合わせの2通りあって、ルックアットの場合は回転中心から指定したノードへの方向に指定軸を合わせるように回転させ、軸の位置合わせの場合は指定したノードのローカル軸の方向を参照して回転させる。ルックアットの場合はターゲットに設定したノードが回転中心と重なってしまった時に方向が定まらない欠点があるけど、ターゲットノードは自由な姿勢が採れる。軸の位置合わせの場合はターゲットに設定したノードの位置がどこにあっても構わないけど、そのローカル軸の方向がそのまま参照されるので、自由な姿勢で配置するわけにはいかない。

前回のオリジナルのサンプルリグの場合は、アップノードを特に向きを気にすることの無いポイントヘルパーにとったので、アップノードの方式は軸の位置合わせを採用した。

しかしCATボーンを使ったバージョンは、下の画像ように唇をコントロールするCATボーン自体の姿勢を崩したくないので、ルックアット方式を採用するのもひとつの手なのかも知れない。

fig09

そこで頬骨のボーンは前回の例と同じように頭のボーンをアップノードにして軸の位置あわせで対応するとして、唇のボーンは下の画像のようにコントロール用に入れたCATボーンにペアレントしたポイントヘルパーをアップノードとして、ルックアットで対応してみた。

fig10

結局ポイントヘルパーをボーンにペアレントして回転させているので、ポイントの姿勢さえ適切に採ればアップノードは軸の位置合わせモードでも同じだったかな?

これでCATボーンの回転によって唇のまくれ上がりも制御出来るようになったので、下のGIFアニメのような唇の動きが可能になった。でも唇を動かすのに8つのボーンは少ないかなぁ。

fig11

fig12

それではまた次回。

maxまとめページ



take_z_ultima at 11:30│Comments(0)TrackBack(0)3ds Max | CG

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 

Archives