blendshapeでフェイシャルアニメーションを作る
ブレンドシェイプを使ってキャラクターモデルに表情をつけます。
メニューセットは「アニメーション」に設定して作業します。
ブレンドシェイプの作成
ベースとなるオブジェクトを三つコピーし、それぞれ変形しておきます。
コピーしたオブジェクト3つ→ベースのオブジェクトの順に選択し、(アニメーションメニューセット)「デフォーム」→「ブレンドシェイプ」
初期設定のまま作成。
「ウィンドウ」→「アニメーションエディタ」→「シェイプエディタ」からベースオブジェクトのシェイプを設定できる。
各数値を調整することで、3つのオブジェクトの変形をベースのオブジェクトにブレンドすることができる。
実際にキャラクターのモデルでブレンドシェイプを作成するときは、制御しやすいローポリの段階で設定しておいた方が良い。表情の例↓
音声を読み込む
「ファイル」→「読み込み」から音声ファイルを読み込むことができる。
音声ファイルが不要になった場合はアウトライナから削除する。
音声ファイルをアウトライナに表示させるときはアウトライナタブの「ディスプレイ」→「DAGオブジェクトのみ」のチェックを外しておく。
アニメーションのキー挿入
シェイプエディタの一番右「キー」の列の丸をクリックする、または(シェイプエディタ内で)選択したシェイプ上で右クリック→「キー」を押すとキーが挿入される。
眼球のコントローラの作成
球ポリゴンを出してPhongシェーダを割り当て、カラーノードにランプを追加する。
グラデーションの設定を↓の様にしていい感じに設定
Z軸の正の方向に黒目が来るようにして、その延長線上にロケータを置く。
ロケータ(親)→眼球(子)の順に選択し、「コンストレイント」→「エイム□」
(今回念のためどちらもトランスフォームのフリーズをかけたのですが、いるかはわかりません)
眼球にはトランスフォームのフリーズをかけておいた方が良いようです。
初期設定にして、「オフセットの保持」にチェックを入れて追加。
眼球がロケータの方を向くようになりました。
さきほどのキャラクターにも同じようにコントローラを作成します。
真ん中にもう一つ大きなロケータを作っておいて、右目のロケータと左目のロケータの両方をペアレントコンストレイントしておきます。
視線が真ん中のロケータに追従するようになりました↓。
ちなみにカメラを作成しておいて、真ん中のロケータをポイントコンストレイントさせておくと、カメラに視線が追従するようになります(オフセットの保持にはチェックを入れておく)。
※以下補足
コンストレイントの違い
球のポリゴンに円柱のポリゴンをコンストレイントさせ、球(親)を拡大/回転/移動させた様子。
奥から 元のオブジェクトの配置 ポイントコンストレイント 方向コンストレイント エイムコンストレイント ペアレントコンストレイント で試しました。