
アニメーションⅠ・Ⅱ(アニメーションセットアップ)
■第9回目(後期)
●瞳のテクスチャ
眼球のテクスチャをMayaのプロシージャーテクスチャ(ランプとフラクタル)で作成する。


眼球のオブジェクトは外側と内側の二重構造になっている。
外側のオブジェクトはハイライト用、内側のオブジェクトは瞳用になる。
2つのオブジェクトはロケータにペアレント加されている。


オブジェクトに割り当てられているLambertシェーダのアトリビュートの
「カラー」マップボタンをクリックする。(自分でシェーダーを作成する場合も同じ)


[レンダーノードの作成]ウィンドウで、2Dテクスチャの「ランプ」テクスチャを作成する。


ランプテクスチャで、「補間」を「スムーズ」に変更する。
「白」と「黒」を上図のような位置に配置する。
さらにカラーを作成して、眼球の血管(ピンク~赤)に設定する。
※「選択した位置」は絶対ではない。

新たにランプカラーを作成して、眼球の中心部分に寄せる。「選択したカラー」のマップボタンをクリックする。

「レンダーノードの作成」ウィンドウで、2Dテクスチャから「フラクタル」を作成する。


さらにランプカラーを追加して、眼球の中心部分に寄せる。これが瞳孔になる。


「フラクタル」テクスチャの「比率」によって、虹彩部分の模様が表現される。

「フラクタル」テクスチャのカラーバランス「カラーゲイン」と「カラーオフセット」の色を設定する。

【カラーゲイン】
H:30
S:0.3
V:0.6

【カラーオフセット】
H:20
S:0.8
V:0.2
※キャラクター(人)によって虹彩は、いろいろな種類があるので、自分でカラーを設定して構わない。

「フラクタル」テクスチャの「place2dTexture」の「繰り返しUV」の「V」値を下げる。
これによって虹彩の筋が細かくなる。これが虹彩の内側の模様になる。


「フラクタル」テクスチャを選択して、ハイパーシェードの[編集]>[複製]>[ネットワークへの接続付き]を選択する。

「palce2dTexture」ノードを共通にしたフラクタルテクスチャが複製される。

複製したフラクタルテクスチャの「比率」「カラーゲイン」「カラーオフセット」を変更する。
これが虹彩の外側の模様になる。

【カラーゲイン】
H:15
S:0.6
V:0.4

【カラーオフセット】
H:10
S:0.9
V:0.1


ランプテクスチャでランプカラーを追加する。この「選択したカラー」に複製したフラクタルテクスチャをコネクトする。
マウスの中ボタンで、「フラクタル」⇒「選択したカラー」にドラッグする。
※クリックするとアトリビュートが切り替わってしまうでの注意すること。
●toeSwing_Lのドリブンキー


ランプテクスチャの「選択したカラー」の位置や、フラクタルテクスチャの「カラーゲイン」「カラーオフセット」の色に
よって眼球が設定される。「選択した位置」にキーフレームを設定して瞳孔の広がりをアニメーションすることもできる。
●セットアップ(バインド)


「headCtrl」や「neckCtrl」を動かすとジョイントしか動かない。まだジョイントとオブジェクトの関連付けがない。


オブジェクト「face_m」と「headジョイント」を選択して、[スキン]>[スキンのバインド]□を選択する。

バインドスキンのオプションで「バインド対象」を「選択したジョイント」に設定して、スキンのバインドを実行する。
この場合は、選択したオブジェクトにウェイト100%でバインドされる。

「headCtrl」を選択して動かすと、顔のオブジェクトは動くが、眼球などが動かない。


「headジョイント」⇒「head_partsグループ」の順に選択して、[コンストレイント]>[ペアレント]を実行する。

これで「headCtrl」を選択 して動かすと、顔、眼球、まつげが追従する。
●ブレンドシェイプの応用


「face_m」オブジェクトは、すでにバインドしている。チャンネルボックスの入力ノードで、
「skincluster」ノードが確認できる。

ターゲットオブジェクト⇒ベースオブジェクトの順に選択する。


[デフォーム]>[ブレンドシェイプ]□(オプション)を選択する。[編集]>[設定のリセット]を実行する。
「作成」ボタンをクリックして、ブレンドシェイプを実行する。

ベースオブジェクト(face_m)を選択して、入力ノードを確認する。
「skinCluster1」⇒「blendShape1」の順になっている場合は、「バインド」⇒「ブレンドシェイプ」の順に
実行したことになる。入力ノードは下から上に向かってヒストリが表示される。


この場合、「headCtrl」と「neckCtrl」を移動、回転してから、シェイプエディタでスライダを動かすと、
オブジェクトが動いしてしまう。この原因は、「バインド」⇒「ブレンドシェイプ」にある。

バインドしてから、ブレンドシェイプを設定する場合には、ブレンドシェイプのオプションで、
「詳細設定」タブの「変形順序」を「プリデフォメーション」に設定する必要がある。


「変形順序」を「プリデフォメーション」に設定して、ブレンドシェイプを実行する。
この場合には、入力ノードの順番は「blendShape1」⇒「skinCluster1」になる。
「ブレンドシェイプ」⇒「バインド」の順に実行したことになる。
「headCtrl」と「neckCtrl」を移動、回転してから、シェイプエディタでスライダを動かしても問題ない。

まつげのブレンドシェイプを作成する。
ターゲットオブジェクト「eyelashes_blink」「eyelashes_swing」⇒ベースオブジェクト「eyelashes」を選択する。
[デフォーム]>[ブレンドシェイプ]を実行する。※オプションは初期選定(設定のリセット)

別のブレンドシェイプノード(blendShape2)が作成される。
「eyelashes_blink」「eyelashes_swing」のスライダを動かすと、まつげが動く。
瞼のブレンドシェイプ「eye_blink」とまつげのブレンドシェイプ「eyelashes_blink」を合わせるのは面倒になる。
そこで、2つのブレンドシェイプを接続する。
※ドリブンキーで接続することも可能だが、ブレンドシェイプ同士で0⇒1の関係なので、ノードエディタを使用す る。

[ウィンドウ]>[ノードエディタ]を選択する。

ノードエディタのウィンドウの大きさは自由に変更することができる。
[Alt]キーとマウスボタンの組み合わせで、移動、拡大・縮小が可能である。
「グラフのクリア」ボタンをクリックする。

ブレンドシェイプのノードを選択するには、シェイプエディタの「blendShape1」をクリックして、右ボタンクリックする。
「ブレンドシェイプノードを選択」を選択する。

ノードエディタで、「選択してノードをグラフに追加します」ボタンをクリックして、ブレンドシェイプノードを表示する。

「blendShape2」ノードも追加する。「blendShape1」を左、「blendShape2」を右に配置する。
それぞれのモードボタンをクリックして、フルモードにする。(簡易⇒接続⇒フル)

それぞれの「ウェイト」を展開して、「eye_blink」のウェイト出力を「eyelashes_blink」のウェイト入力に接続する。

同様に「eye_swing」のウェイト出力を「eyelashes_swing」のウェイト入力に接続する。


シェイプエディタで「eye_blink」のスライダを動かすと、「eyelashes_blink」のスライダが連動する。
「eye_swing」のスライダを動かすと、「eyelashes_swing」のスライダも連動する。
●眼球の制御

bananaのオブジェクトを移動すると、眼球がその方向を向くように、エイムコンストレイントを設定する。


「banana」⇒「eye_R」の順に選択する。今回、眼球の2つのオブジェクトは、ロケータにペアレントされている。


[コンストレイント]>[エイム]□(オプション)を選択する。[編集]>[設定のリセット]を実行する。

bananaのオブジェクトは+Z方向にあるので、「エイムベクトル」は、XYZを0、0、1に設定する。
「ワールドアップタイプ」はデフォルトでは「ベクトル」に設定されている。

このまま実行した場合、bananaオブジェクトを移動するだけでは問題はない。
しかし、眼球を含む顔全体が傾く(回転)した場合の違いを別のテクスチャで説明する。

「ワールドアップタイプ」はデフォルトでは「ベクトル」の場合
「アップベクトル」が+Y方向に設定されているので、眼球は常に上向きになる。眼球が回転するように見える。


「ワールドアップタイプ」を「なし」に設定すると、顔全体が傾いても眼球は回転することはない。

これでbananaを移動すると、その方向を眼球が追う設定になった。
このままで問 題はないが、今回エイムコンストレイントのターゲットはbanana1つである。
そのため、眼球は少しだけ内側を向いて、寄り目になっている。


眼球のロケータ「R_eye」、「L_eye」を選択して、チャンネルボックスを確認すると、Y回転しているのが分かる。

正面を向かせたい場合には、ロケータにペアレントしている2つのオブジェクトを回転する。


2度~3度、外側(内側)に回転すると、正面を向くようになる。