ドロップダウンメニュー制御を利用して、キャラクターの表情を変える - キャラクターの表情を簡単に変更したい - After Effects

After Effectsでドロップダウンメニュー制御を利用して、キャラクターの表情を変える設定手順について紹介します。

概要

キャラクターの画像や表情のパターンを用意して切り替えて、キャラクターの表情や動きをつけたい場合があります。 タイムラインで切り替える作りこみをすれば実現できますが、表情の切り替わるタイミングが多いと操作が煩雑で手間がかかります。
この記事では、ドロップダウンメニュー制御を利用して、簡単な設定で画像を切り替えてキャラクターの表情や動きをつける設定方法を紹介します。

事前準備:キャラクター画像の作成

キャラクターの画像を作成します。今回は、下図の画像を用意します。4パターンの表情の違う画像を用意しています。

手順

プロジェクトの作成

After Effectsを起動し、新しいプロジェクトを作成します。


コンポジションを作成します。


コンポジションに平面レイヤーを作成します。作成手順はこちらの記事を参照してください。
平面レイヤーのカラーを好みの色に設定します。今回は白にします。

プロジェクトの設定、画像の配置

作成した画像を読み込みます。画像の読み込み手順はこちらの記事を参照してください。


タイムラインパネルで右クリックします。ポップアップメニューが表示されますので、[新規]サブメニューの[ヌルオブジェクト]の 項目をクリックします。


ヌルオブジェクトが作成されます。


ヌルオブジェクトのサイズを大きくしておきます。


作成した4種類の画像を配置します。


タイムラインパネルで、画像のレイヤーを開きます。レイヤー内の[トランスフォーム]の項目を確認します。


トランスフォームの項目の右側にある[リセット]をクリックします。

クリックすると、画像が画面の中央に移動します。同じ手順を繰り返して、画面に配置した4つの画像のトランスフォームをリセットします。


4つの画像が中心に配置され、重なった状態になりました。

ヌルレイヤーの設定

続いて、先ほど作成したヌルレイヤーに4つの画像を子として設定します。設定せずに制作を進めることもできますが、 キャラクターが移動、拡大する際に4つの画像を重ねて変形する必要があるため、親にヌルオブジェクトのレイヤーを設定し、 親のヌルオブジェクトレイヤーに対して、移動や変形を加えます。
この設定により、4つの画像をまとめて操作でき管理が容易になりますので、あらかじめヌルレイヤーの子として設定します。

ヌルレイヤーの大きさを調整し、キャラクター画像を囲む程度の大きさにします。


タイムラインの画像のレイヤーの[渦巻]ボタンを押しながら、ヌルレイヤーにドラッグし、ドロップします。



ドロップすると、[親とリンク]の値が"なし"から[ヌル1]に変わります。


同じ手順を繰り返して、画像のレイヤーをヌルレイヤーの子レイヤーにします。




4つの画像をヌルレイヤーの子レイヤーに設定したのち、ヌルレイヤーの項目を開き、[トランスフォーム]内の[スケール]の値を変更します。


[スケール]の値の右側の数値部分を左右にドラッグすると数値の増加、減少ができます。数値を増加させ、画像を拡大します。


子レイヤーの4つの画像が同時に拡大されるため、重なったままであることが確認できます。


画質が荒いため、[連続ラスタライズ]のエリアをクリックして、チェックをオンにします。 詳細はこちらの記事を確認して下さい。


キャラクターが立っている感があまりないため、影を追加します。シェイプレイヤーを作成し、ヌルレイヤーの子レイヤーに設定します。 [楕円形ツール]を利用して、キャラクターの足元に灰色の楕円形を描画します。


足元に影が描画できました。

ドロップダウンメニュー制御の追加

ドロップダウンメニュー制御を追加します。タイムラインパネルの作成したヌルレイヤーをクリックして選択し、右クリックします。 [エフェクト]サブメニューの[エクスプレッション制御]の[ドロップダウンメニュー制御]の項目をクリックします。


ヌルレイヤー内に[エフェクト]の項目が追加され[ドロップダウンメニュー制御]の項目が追加されました。


ウィンドウ左上の[エフェクトコントロール]の[ドロップダウン制御]の項目の右側にある[編集]をクリックします。


クリックすると、下図の[ドロップダウンメニュー]ダイアログが表示されます。


今回、キャラクターに4つの表情がありますので、項目も4つ用意します。ダイアログ右上の[+]ボタンをクリックします。 クリックすると、項目が追加されます。


項目の名称を変更してわかりやすい名前に変えます。

コントロール名とレイヤー名の設定

エクスプレッションのコードを記述する際にわかりやすくするため、レイヤー名とドロップダウンメニュー制御の名称を変更します。


ドロップダウンメニュー制御の名称を変更します。
[ドロップダウン制御]の項目をクリックし選択し、右クリックします。 ポップアップメニューが表示されますので、[名前を変更]をクリックします。~


編集状態に変わりますので、変更したい名前を入力します。


今回は"DropDownMenu_01"とします。


続いて、ヌルレイヤーの名称を変更します。 タイムラインパネルで[ヌルレイヤー]の項目をクリックして選択し右クリックします。ポップアップメニューが表示されますので、 [名前を変更]をクリックします。


編集状態に変わりますので、変更したい名前を入力します。 今回は "null_01" を入力します。


ヌルレイヤーの名前も変更できました。

エクスプレッションの設定

タイムラインパネルで画像のレイヤーの項目を開きます。[トランスフォーム]内の[不透明度]の項目をクリックして選択します。


右クリックすると、下図のポップアップメニューが表示されますので、[エクスプレッションを編集]の項目をクリックします。

エクスプレッションが追加され、transform.opacity のコードが表示されています。


コードを編集します。以下のコードに変更します。
thisComp.layer("null_01").effect("DropDownMenu_01")("メニュー").value のコードにより、null_01 レイヤーの DropDownMenu_01 ドロップダウンメニュー制御の選択項目を取得できます。 値は[ドロップダウンメニュー]ダイアログの#のフィールドの数値になります。

以下のコードでは、ドロップダウンメニュー制御で "1:pose1 (通常)" が設定されている場合には、通常の透明度で表示します。それ以外の項目が、 ドロップダウンメニュー制御で選択されている場合は、透明度を0に設定し、非表示状態とします。
var val = thisComp.layer("null_01").effect("DropDownMenu_01")("メニュー").value;
if (val===1){
  transform.opacity
}else{
  [0]
}



設定を確定して、エクスプレッションの式(コード)にエラーが発生していいないことを確認します。

補足
値の判定の ===== でも動作します。
var val = thisComp.layer("null_01").effect("DropDownMenu_01")("メニュー").value;
if (val==1){
  transform.opacity
}else{
  [0]
}

ドロップダウンメニュー制御の設定

ヌルレイヤーのドロップダウンメニュー制御の項目を開きます。


[メニュー]の項目の左側にあるストップウォッチのアイコンボタンをクリックします。クリックするとストップウォッチのアイコンが青色に変わります。 また、[メニューの]右側の項目が、[pose1 (通常)]になっていることを確認します。


[現在の時間インジケーター]をドラッグして移動します。


[メニュー]の右側のドロップダウンリストを開きます。下図のドロップダウンリストが表示されます。 先ほど、[ドロップダウンメニュー]ダイアログで設定した項目が表示されます。


手前まで設定されていた、[pose1 (通常)]とは違う項目を選択します。今回は[pose2 (うひゃー)]を選択します。 選択するとタイムラインパネルの現在の時間インジゲーターの位置に青い四角のキーフレームが作成されます。

動作確認

[現在の時間インジケーター]をドラッグして先頭に移動します。


ドラッグして[現在の時間インジケーター]を移動します。


ドロップダウンメニュー制御の項目が[pose2 (うひゃー)]に変更したキーフレームより先に[現在の時間インジケーター] を移動させるとキャラクターの画像が非表示になります。


ドロップダウンメニュー制御の選択内容によりキャラクターの表示、非表示が切り替わることが確認できました。

他のレイヤーへのエクスプレッションの設定

他の画像レイヤーの府透明度にもエクスプレッションを設定します。
2つ目の画像レイヤーには以下のエクスプレッションのコードを記述します。
var val = thisComp.layer("null_01").effect("DropDownMenu_01")("メニュー").value;
if (val===2){
  transform.opacity
}else{
  [0]
}


3つ目の画像レイヤーのエクスプレッションのコードです。
var val = thisComp.layer("null_01").effect("DropDownMenu_01")("メニュー").value;
if (val===3){
  transform.opacity
}else{
  [0]
}


4つ目の画像レイヤーのエクスプレッションのコードです。
var val = thisComp.layer("null_01").effect("DropDownMenu_01")("メニュー").value;
if (val===4){
  transform.opacity
}else{
  [0]
}

ドロップダウンメニュー制御の設定

タイムラインパネルでヌルレイヤーを開き、ドロップダウンメニュー制御の項目の[メニュー]の項目をクリックして選択します。 キャラクターの表情を変えたい位置に[現在の時間インジケーター]を移動し、 ドロップダウンリストから変化させたい表情の項目を選択します。


選択するとキーフレームが作成されます。


[現在の時間インジケーター]を移動させるとキャラクターの表情が変化する様子が確認できます。




ドロップダウンメニュー制御の選択項目を変化させるだけで簡単に表情を変化できます。シーンやセリフに応じて項目を変更して キャラクターの表情を変えられます。


プレビューパネルで再生して動作を確認して完成です。

動画

作成した動画は以下です。

著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
最終更新日: 2024-02-11
作成日: 2022-07-25
iPentec all rights reserverd.