
アニメーションⅠ・Ⅱ(アニメーションセットアップ)
■第7回目(後期)
●顔モデルの読み込み


「face」オブジェクトを選択して、削除する。

別の顔モデルを読み込む。


[ウィンドウ]>[一般エディタ]>[ネームスペースエディタ]を選択して、ノード名を整理する。


「head」ジョイントと、読み込んだデータの「faceSkin」「heftEye」「rightEye」を選択する。


[スキン]>[バインド]□(オプション)を選択する。「バインド対象」を「選択してジョイント」に設定する。
「スキンのバインド」を実行して、「head_con」コントローラを選択して回転する。
選択したジョイントのみバインドされるので、ウェイトは1になっている。
●眼球のテクスチャ
テクスチャの一部に抜け(マスク)を設定して、透明する方法は2つある。


①アルファチャンネルを設定して、白の部分はテクスチャ、黒の部分はアルファチャンネルで透明になる。


②レイヤーの透明部分を設定して、その部分は透明になる。

「サーフェスシェーダ」を作成して、眼球のオブジェクトに割り当てる。

【アトリビュートエディタ】

【プロパティエディタ】
アトリビュートエディタ、またはプロパティエディタの「出力カラー」のマップボタンをクリックする。

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

ランプテクスチャはグラデーションのテクスチャで初期設定は、黒から白の線形グラデーションになっている。

眼球オブジェクトの上下方向に黒から白のグラデーションが適用されている。

ハイパーシェードで、ランプテクスチャとサーフェスシェーダをコネクトすることもできる。


ランプテクスチャのアトリビュートとその後ろにコネクトされている2D配置アトリビュートを編集する。

眼球オブジェクトの中心から外側に向かって、白から黒のグラデーションになる。

ハイパーシェードで、「2Dテクスチャ」の「ファイル」を作成する。

「ファイル」テクスチャを「ランプテクスチャ」の代わりに、サーフェスシェーダにコネクトする。

【アトリビュートエディタ】

【プロパティエディタ】
アトリビュートエディタ、またはプロパティエディタの「イメージの名前」から画像テクスチャを選択する。


【pngファイルの場合】
【tifファイルの場合】
瞳の画像テクスチャが確認できる。


ハイパーシェードで、「その他のテクスチャ」から「レイヤテクスチャ」を作成する。
ファイルテクスチャとサーフェスシェーダのコネクトを切って、その間に「レイヤテクスチャ」を並べる。

レイヤテクスチャの「出力カラー」⇒サーフェスシェーダの「出力カラー」をコネクトする。


レイヤテクスチャは空レイヤになっているので、ビューでは空レイヤの緑色が表示される。


ランプテクスチャを中ボタンで、レイヤテクスチャアトリビュートにドラッグする。
(ドラッグするのは、プロパティエディタでもアトリビュートエディタどちらでも構わない)
※右ボタンクリックすると、プロパティエディタ、アトリビュートエディタは切り替わってしまう。
「ファイルテクスチャ」も同じように、レイヤテクスチャにドラッグする。


空レイヤは☒ボタンをクリックして削除する。レイヤの順番は、左側が上になる。右側が下になる。
中ボタンでドラッグすると順番(左右)を入れ替えることができる。
左側(上)をファイルテクスチャ、右側(下)をランプテクスチャに設定する。


ファイルテクスチャとランプテクスチャがミックスした状態になる。
●瞳のコントローラの設定



「rightEyeFrame」を選択して、チャンネルボックスで「可視性」以外のアトリビュートを[ロック/非表示]にする。



「rightEyeController」を選択して、チャンネルボックスで「移動X」「移動Y」「可視性」以外のアトリビュートを[ロック/非表示]にする。

「rightEyeController」を選択して、アトリビュートエディタの「制限情報」>「移動」を表示する。
「移動制限X」の「最小」「最大」と「移動Y」の「最小」「最大」を設定する。
※配布したデータには、設定されているが、各自の作業では自分で設定する。
●眼球のリギング

「rightEyeController」を上下(移動Xと移動Y)に移動したら、2Dテクスチャ配置アトリビュートの
「フレームの移動」と連動して、瞳が動くセットアップを設定する。ドリブンキーを使用する。



ドライバーに「rightEyeController」をロードして、ドリブンに「place2dTexture」ノードをロードする。
「place2dTexture」ノードは、ハイパーシェードで選択する。※ランプのplace2dTextureノードではない。
ドライバは「移動X」、ドリブンは「フレームの移動U」を選択する。


ドライバ「rightEyeController」の「移動X」→「0」
ドリブン「フレームの移動U」→「0.000」⇒キー①


ドライバ「rightEyeController」の「移動X」→「0.1」
ドリブン「フレームの移動U」→「0.1」⇒キー②


ドライバ「rightEyeController」の「移動X」→「-0.1」
ドリブン「フレームの移動U」→「-0.1」⇒キー③ ※チャンネルボックスで「フレームの移動X」を設定することもできる。

ドライバは「移動Y」、ドリブンは「フレームの移動V」を選択する。

ドライバ「rightEyeController」の「移動Y」→「0」
ドリブン「フレームの移動V」→「0.000」⇒キー①

ドライバ「rightEyeController」の「移動Y」→「0.1」
ドリブン「フレームの移動V」→「0.1」⇒キー②

ドライバ「rightEyeController」の「移動Y」→「-0.1」
ドリブン「フレームの移動V」→「-0.1」⇒キー③
●シェーダの複製
左目のセットアップは、新しくシェーダを作成して、同じ設定を行えばできるが、作業の効率化のために
ここでは、ドリブンキーが設定されたシェーダを複製して、右目のコントローラと接続する。


右目に割り当てているシェーダを選択して、ハイパーシェードの[編集]>[複製]>[シェーディングネットワーク]を選択する。
複製したシェーダを左目に割り当てる。

「グラフをクリア」ボタンをクリックして、ノードエディタをリセットする。

右目のシ ェーダと複製したシェーダを選択して、「入力接続」ボタンをクリックする。
2つのシェーダが展開表示される。

左目のコントローラ「leftEyeController」を選択して、「選択したノードをグラフに追加」ボタンをクリックする。

複製したコントローラと左目のコントローラのアトリビュートを展開表示する。

複製したコントローラと左目のコントローラの接続を入れ替える。
「移動X」の出力⇒「place2dTexture28_translateFrameV1」の入力に接続する。
「移動Y」の出力⇒「place2dTexture28_translateFrameU1」の入力に接続する。


複製したコントローラを削除する。
「leftEyeController」を移動して、瞳が動くが確認する。


「eyeController」⇒「rightEyeController」の順に選択して、[コンストレイント」>[ポイント]□(オプション)を選択する。

「オフセットの保持」をオンに設定する。
「eyeController」は移動Xと移動Yのみなので、「コンストレイント軸」を「X」と「Y」に設定して実行する。
「eyeController」⇒「leftController」の順に選択して実行する。

「eyeController」を移動すると、両目の瞳が動く。

左右の瞳を単独で動かす場合は、コントローラにキーを設定する。
キーを設定すると、「Blend Point」(ブレンドポイント)が追加される。


ブレンドポイントが「1」⇒十字のコントローラ(eyeController)が優先になる。
ブレンドポイントが「0」⇒左右独自のコントローラ(rightEyeControllerかleftEyeController)が優先になる。



「eyeController」は移動Xと移動Y以外は「ロック/非表示」に設定する。

左右のコントローラと同じく、「移動制限」を設定する。


瞳のコントローラを5つ選択して、最後に「head_con」コントローラを選択して、[P]キーでペアレントする。

「neck_con」や「head_con」などを回転すると、瞳のコントローラが追従する。