2009年08月18日

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

前回の記事で使ったオートデスク社提供のサンプルデータについて、首を曲げたりすると破綻するとのご指摘を戴いたのでさっそく検証してみたら、確かに酷い状態になった。

fig01

とんだグロシーンだな・・・。

さて、この原因だけど頬骨と唇のボーンにある。これらはポイントヘルパーに追従してボーンの長さや太さが変化するように、位置コンストレイントとルックアットコンストレイントを使って制御している。そのため、親のボーンの回転にこれらのボーンの回転が追従しないためだ。

例えば下の画像のように3つのポイントヘルパーを作って、2つのポイントヘルパーを残り1つのポイントにペアレントリンクしてある。これでその親のポイントヘルパーを回転させるとペアレントした子のポイントが追従して親のポイントを中心に回転する。そして、子のポイントの1つにボーンをペアレントリンクした。これでこのボーンは子のポイントに追従した動きになる。

fig04

これがその結果。右の親のポイントを回転させると構造が全て回転している。

fig02

次にポイントヘルパーのペアレント関係はそのままで、ボーンに位置コンストレイントを設定して、位置ターゲットをペアレントしていた子のポイントにし、さらにルックアットコンストレイントを設定し、ルックアットターゲットをもうひとつの子のポイントヘルパーに設定した。

fig05

この状態で前と同じように親のポイントを回転させたのが下の画像だ。

fig03

見ての通り、ボーンはポイントに追従して移動はするけどX軸回転はしないで平行移動している。

これが首を回したときに唇がめくれ上がった原理で、唇のボーンは首の回転に従ってX軸回転で追従しなくちゃならないのに、実際のボーンは平行移動していたために上を向いた顔面に対して相対的に回転して顔の表面を捲り上げていたわけだ。

そこでボーンのX軸回転をポイントの回転に追従させる方法として、ルックアットコンストレイントの「アップノードを選択」の項目で、ワールドのチェックを外して横のボタンをクリックして追従させたいオブジェクトを選択する。今回の場合は下の画像のPoint02だ。そしてアップノードコントロールは軸の位置合わせにしておく。どの軸を選択したオブジェクトと一致させるかはルックアットコンストレイントロールアウトの一番下に「アップノード軸に位置合わせ」という項目があってデフォルトでZになっているのでそのまま使う。

fig06

これで子のポイントの回転に追従するようになった。

fig07

そこで今度はこの事をサンプルシーンに適用してみる。下のGIFアニメは回転がわかり易いように唇と頬のボーンにフィンを出して表示したもので、首のボーンを回転させてみるとやはり位置は追従してもX軸回転は追従していない事がわかる。

fig08

そこでルックアットコンストレイントの「アップノードを選択」を設定して行く事になるわけだけど、これって結局ペアレントリンクで動いていた時は追従していた回転をルックアットの方向は損なわないで復元させようって事だから、回転を参照するのはそれぞれのペアレントリンクの親が最適なわけだ。

fig09

そこでスケマティックビューでリンク関係を確認して、

fig10

下の表のようにすることにした。

設定ノード アップノード
LipBot3Bone LipBot4Bone
LipBot4Bone PointLftLipCrnr
LipTop3Bone LipTop4Bone
LipTop4Bone PointLftLipCrnr
BoneLipBot2 LipBot1Bone
LipBot1Bone PointRtLipCrnr
LipTop1Bone LipTopBone
LipTopBone PointRtLipCrnr
CheekLFBone Head Bone05
CheekRTBone Head Bone05

唇のボーンの口先部分はその外側のボーンをアップノードにし、その外側のボーンは口角にあるポイントヘルパーをアップノードにし、頬骨のボーンは頭のボーンをアップノードに設定した。下の画像は頬骨(CheekLFBone)のアップノードをHead Bone05に設定をしているところ。

fig11

このように設定すると、ボーンが多少回転して初期位置が変化するから、ボーンがニュートラルな状態になるような位置にしてからスキンモディファイヤの「拡張パラメータ」ロールアウトの「常に変形」のチェックを解除して、もう一度チェックしなおして、歪みを解消する必要があるよ。

そして下のGIFアニメがその結果。今度は首の回転に追従して破綻無く動くようになった。

fig12

それではまた次回。

maxまとめページ



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

トラックバックURL

この記事にコメントする

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

Archives