backyard

元工学系デザイナーが3DCGで奮闘するブログ

blendshapeでフェイシャルアニメーションを作る

ブレンドシェイプを使ってキャラクターモデルに表情をつけます。

メニューセットは「アニメーション」に設定して作業します。

 

ブレンドシェイプの作成

ベースとなるオブジェクトを三つコピーし、それぞれ変形しておきます。

コピーしたオブジェクト3つ→ベースのオブジェクトの順に選択し、(アニメーションメニューセット)「デフォーム」→「ブレンドシェイプ」

初期設定のまま作成。

f:id:pick_puckn13:20190619093529p:plain

f:id:pick_puckn13:20190619093812p:plain

「ウィンドウ」→「アニメーションエディタ」→「シェイプエディタ」からベースオブジェクトのシェイプを設定できる。

f:id:pick_puckn13:20190619093855p:plain

各数値を調整することで、3つのオブジェクトの変形をベースのオブジェクトにブレンドすることができる。

f:id:pick_puckn13:20190619094034p:plain

 

実際にキャラクターのモデルでブレンドシェイプを作成するときは、制御しやすいローポリの段階で設定しておいた方が良い。表情の例↓

f:id:pick_puckn13:20190619094343p:plain

 

 

音声を読み込む

「ファイル」→「読み込み」から音声ファイルを読み込むことができる。

f:id:pick_puckn13:20190619100203p:plain

音声ファイルが不要になった場合はアウトライナから削除する。

f:id:pick_puckn13:20190619100400p:plain

音声ファイルをアウトライナに表示させるときはアウトライナタブの「ディスプレイ」→「DAGオブジェクトのみ」のチェックを外しておく。

f:id:pick_puckn13:20190619100325p:plain

 

アニメーションのキー挿入

シェイプエディタの一番右「キー」の列の丸をクリックする、または(シェイプエディタ内で)選択したシェイプ上で右クリック→「キー」を押すとキーが挿入される。

f:id:pick_puckn13:20190619101149p:plain

 

眼球のコントローラの作成

球ポリゴンを出してPhongシェーダを割り当て、カラーノードにランプを追加する。

f:id:pick_puckn13:20190619110945p:plain

グラデーションの設定を↓の様にしていい感じに設定

f:id:pick_puckn13:20190619111128p:plain

Z軸の正の方向に黒目が来るようにして、その延長線上にロケータを置く。

ロケータ(親)→眼球(子)の順に選択し、「コンストレイント」→「エイム□」

(今回念のためどちらもトランスフォームのフリーズをかけたのですが、いるかはわかりません)

眼球にはトランスフォームのフリーズをかけておいた方が良いようです。

f:id:pick_puckn13:20190619110743p:plain

初期設定にして、「オフセットの保持」にチェックを入れて追加。

f:id:pick_puckn13:20190619110836p:plain

眼球がロケータの方を向くようになりました。

f:id:pick_puckn13:20190619111615p:plain

 

さきほどのキャラクターにも同じようにコントローラを作成します。

f:id:pick_puckn13:20190619113634p:plain

真ん中にもう一つ大きなロケータを作っておいて、右目のロケータと左目のロケータの両方をペアレントコンストレイントしておきます。

視線が真ん中のロケータに追従するようになりました↓。

f:id:pick_puckn13:20190619113952p:plain

 ちなみにカメラを作成しておいて、真ん中のロケータをポイントコンストレイントさせておくと、カメラに視線が追従するようになります(オフセットの保持にはチェックを入れておく)。

f:id:pick_puckn13:20190619114613p:plain

 

※以下補足

コンストレイントの違い

球のポリゴンに円柱のポリゴンをコンストレイントさせ、球(親)を拡大/回転/移動させた様子。

奥から 元のオブジェクトの配置 ポイントコンストレイント 方向コンストレイント エイムコンストレイント ペアレントコンストレイント で試しました。

 

  ポイント 方向 エイム アレント
移動 追従 ×
とにかくエイムする
追従
回転 × 同じ回転情報を適用 同じ回転情報を適用
スケール × × × ×

 f:id:pick_puckn13:20190619120937p:plain