こんにちは、イマジカデジタルスケープの伊藤和博です。
今週は、AfterEffects CC 2014から、画像やビデオ等からカラーを抽出し、他のレイヤーに適用するsampleImageメソッド(エクスプレッション)をご紹介します。
sampleImageメソッドは、指定したレイヤーの、指定した座標値・範囲にあるピクセルの平均値カラーを抽出するメソッドです。カラーが頻繁に変化するものに使用すると、そのカラーの移り変わりを他のレイヤーに適用することが可能になります。
抽出するカラーはRGBAで抽出しますので、RGBAに対応したカラーを適用するエフェクトに対して、エクスプレッションでコントロールする、という形になります。


●さっそくやってみよう!


まずは、カラー情報を持っているレイヤーを配置します。画像でもビデオでもかまいませんが、今回は、色の変化の激しい以下のビデオを使用します(音は鳴りません)。




激しくカラーが変化していますが、このビデオの中から特定のピクセル範囲を指定し、そのカラーの変化を他のレイヤーに適用します。
今回は、以下のように、ビデオの中心にあるサインボードからカラーを抽出することにします。




抽出してきたカラーは、何らかのレイヤーのエフェクトとして適用するため、今回は平面レイヤーを使用し、以下のようなざぶとんを作成します。後にこのレイヤーのカラーは変更するため、作成時の平面レイヤーのカラーは何色でもかまいません。




次に、RGBAでカラーを指定できるエフェクトを指定します。平面レイヤーを選択し、エフェクトメニュー>描画>塗り、を選択します。




エフェクトコントロールパネルから、カラーと不透明度を設定します。カラー・ホワイト、不透明度50%で以下のようになりますので、テキストを入れる場合は、この上に重ねると読みやすいですね。




次に、この「塗り」のエフェクトに使用したカラーを、sampleImageメソッドで塗り替えます。このレイヤーはホワイトで塗っていますが、エクスプレッションで塗り替えるため、「塗り」のエフェクトで使用する最初のカラーは特に何色でもかまいません。


●ビデオの特定の箇所からカラーを抽出する


まずは、カラーを抽出したい箇所にマウスカーソルを沿えて、情報パネルでピクセルの座標値を調べておきます。




次に、「塗り」のエフェクトを指定した平面レイヤーのカラーに、以下のエクスプレッションを追加します。




sampleImage()メソッドは、以下のように値を指定します。

thisComp.layer(2).sampleImage([922, 551], [2, 2])

【コンポジション名.レイヤー名.sampleImage([X座標値, Y座標値], [幅の半径, 高さの半径])】となり、意訳では「このコンポジションの、レイヤー2番の、X座標922・Y座標551から、幅高さ4px(エクスプレッションで指定してるのは半径であるため、範囲(直径)としては倍の4pxになる)の範囲内の平均カラー値」をサンプルする、になります。
取得できるカラー値は、RGBAを取得するため、同様にRGBAでカラーを指定する他のエフェクトにもこのエクスプレッションは有効です。
この状態でレンダリングすると以下のようになります。




ざぶとんのカラーが、サインボードから抽出したカラーと同じカラーに変化していきます。
ざぶとんの上にテキストを作成し、アルファマットで平面を抜いた後、ビデオにぼけ足付きのマスクで型抜きを行ったものが以下のビデオになります。テキストがビデオの中のカラーの変化と同じ変化をし、結果カラー変化のスピード感もビデオと一致することになります。
なお、今回のように後からテキストレイヤーなど、何らかのレイヤーを追加すると、エクスプレッションで指定したlayer(2)のレイヤー番号が変わってしまうため、レイヤーを追加した場合は、レイヤー番号も変更する必要がありますので、注意してください。





AfterEffects CC 2014の2014年12月リリース版までは、このsampleImageメソッドを使用した際、マルチプロセス機能(環境設定>メモリー&マルチプロセッサー>AfterEffectsマルチプロセッサー)が無効になっていましたが、AfterEffects CC 2014の2014年12月リリース版で改善していますので、アップデートがまだの方はぜひ12月リリース版にアップデート行った後に、このエクスプレッションを試してみてください。




AfterEffects CC 2014の使い方をもっと詳しく知りたい方は
AfterEffects CC 2014の使い方・実践トレーニング
JavaScriptの基礎知識の受講がオススメです!

▼AfterEffects CC 2014の使い方・実践トレーニング

▼JavaScriptの基礎知識




イトウ先生が、Twitterを始めました!
みなさんもぜひ、フォローしてくださいね!

http://twitter.com/itoh_sensei




■■イトウ先生のTipsNote(実践・新機能コンテンツ)アーカイブ■■


基本トレーニングの受講後に、さらに学習しておきたい内容やTips、新機能を、隔週1回(月2回)で公開しています。


●Macintosh基本操作編(意外と知らない操作も多い!?)
○入力モードや変換のショートカット
○デスクトップで使えるショートカット
○階層やファイルパスの把握に便利な機能

●Illustrator(AI)
○アウトライン化と孤立点の削除について
○データを軽く作る方法について
○シンボルの親子関係について・その1
○編集モード
○シンボルの親子関係について・その2
○カラーパネルの「使えるショートカット」
○カラー一括変換のグローバルスウォッチとは
○配置した画像のすばやい編集方法
○CS5新機能01:すべてのアートボードにペースト
○CS5新機能02:内側描画と背面描画
○CS5新機能03:Web・インタラクション用のデザイン
○CS5新機能04:遠近描画
○CS5新機能05:線パネルと線幅ツール
○AIのテキストのアピアランス
○SVGインタラクティビティ
○CS6の新機能:線へのグラデーションと不透明マスク・矩形以外のパターン図柄登録
○Illustrator CS6のCreative Cloudメンバー限定機能
○Illustrator CCの新機能
○Illustrator CCの新機能:CSSプロパティ
○IllustratorCC_R1での便利な新機能
○AI、PS、IDなどで使える音声入力
○SVGのレスポンシブ機能
○Illustrator CC 2014:連結ツール

●Photoshop(PS)
○消しゴムツールの活用
○ななめの画像をまっすぐにする方法
○自然な合成テクニック・角版
○自然な合成テクニック・切り抜き画像
○画像合成後の便利なショートカット
○調整レイヤー
○レイヤーパネルの不透明度と塗りについて
○不透明度のショートカット
○CS5新機能01:「コンテンツに応じる」機能
○CS5新機能02:絵筆ブラシと混合ブラシ
○CS5新機能03:人の記憶に近い画像・HDRについて
○CS5新機能04:パペットワープ
○CS5新機能05:3Dオブジェクトとアニメーション
○美しいモノクロ画像の作り方
○境界部分をきれいにカラー変更する方法
○Photoshop CS6 特集・その1(全3回)
○Photoshop CS6 特集・その2(全3回)
○Photoshop CS6 特集・その3(全3回)
○2つの画像の違いを調べる、差の絶対値
○Photoshop CS6だけで作るビデオ・その1
○Photoshop CS6だけで作るビデオ・その2
○Photoshop CS6だけで作るビデオ・その3
○CSSの読み込み(スウォッチカラー)と、 CSS書き出し(CSSをコピー)について
○条件付きアクション
○Photoshop CCの新機能
○Photoshop CCの新機能:Generator(ジェネレーター)
○PhotoshopをJavaScriptで操作するAdobe Extendscript Toolkit CC
○新しいスクリプトパターンと、リンクを配置について
○変数
○Photoshop CC 2014:「配置」と「パッケージ化」
○Photoshop CC 2014:焦点選択と測定ガイド
○Photoshop CC 2014:3Dプリント
○Photoshop CC 2014:CameraRaw 8.7

●FLASH(FL)
○Illustratorだけでできる、Flashアニメ
○CS5新機能01:IKボーンスプリングでバネアニメ
○CS5新機能02:コードスニペットパネルで簡単ActionScript3.0
○CS5新機能03:パターン描画ツール
○CS5.5新機能01
○CS6の新機能01:Toolkit for Create JS・その1
○CS6の新機能01:Toolkit for Create JS・その2
○Flash CC:Toolkit for CreateJSに代わる、新しいHTML5書き出し
○Flash CC:HTML5 Canvasでサポートされない機能
○Flash CC 2014:線幅ツールとSVG書き出し
○Flash CC 2014:アニメーションガイド

●InDesign(ID)
○CS5新機能01:マルチステートを使った、IDからFlashアニメの作り方
○CS5新機能02:アニメーションパネルとタイミングパネルを使った、IDのモーションプリセット
○CS5新機能03:キャプションの自動作成機能
○CS5新機能04:オブジェクトの間隔と配置
○CS5新機能05:画像一括貼り替え
○CS5.5新機能01:EPUB書き出し
○CS5.5新機能02:アンカー付きオブジェクト
○データ結合(メールマージ)
○CS6の新機能1:レイアウト・リキッドレイアウトと、ePub書き出し
○CS6の新機能2:コンテンツ収集ツール・コンテンツ配置ツール・リンクとして配置
○CS6の新機能3:「HTMLを挿入...」の機能からGoogleMapの読み込みについて
○InDesign CCの新機能:QRコードを生成
○InDesign CC :タグを割り当て
○InDesign CC :効率化されたハイパーリンク
○InDesign CC :スクリプト

●Dreamweaver(DW)
○CS5新機能01:新しいサイト定義と、CSSスターターレイアウト
○CS5新機能02:HTML5 Pack
○CS5新機能03:スマートフォン検証・CSS3のメディアクエリー
○CS5新機能04:ブラウザ検証便利ツール・Adobe BrowserLabについて
○CS6の新機能1:可変グリッドレイアウト
○CS6の新機能2:jQuery Mobile 1.0 と jQuery Mobile スウォッチ
○CS6の新機能3:CSSトランジション
○CS6の新機能4:HTML5ビデオ
○CS6の新機能5:Webfontsの使い方
○Dreamweaver CCの新機能:jQuery UI
○Dreamweaver CCとCS6での、CSSの作り方の違い
○Dreamweaver CC:新しいビヘイビア
○Dreamweaver CC 2014:新しいライブビューとエレメントクイックビュー

●Edge
○Adobe Edge(Preview版)
○Adobe Edge Code(プレビュー版)のご紹介
○Adobe Edge Reflow(プレビュー版)のご紹介

●AfterEffects(AE)
○CS5新機能01:ロトブラシ
○CS5新機能02:新しい便利なショートカット
○CS5 パペットアニメーションと、時間反転キーフレーム
○CS5 ビデオや画像の型抜きについて「トラックマットとステンシルアルファ」
○CS5 動画の動きを捕らえて、他のレイヤーに適用する「モーショントラック」
○CS5.5 ワープスタビライザー
○CS5.5 ブラー・互換・タイムコード
○CS5.5 「シャドウを落とす・受ける」機能
○CS5.5 エクスプレッション・その1
○CS5.5 エクスプレッション・その2
○CS5.5 エクスプレッション・その3
○CS6の新機能1:ベクトルレイヤーからシェイプを生成
○CS6の新機能2:3Dカメラトラック
○AfterEffects CCの新機能:ワープスタビライザーVFX
○AfterEffects CC・レンダリングの変更点
○AfterEffects CCの新機能:マスクをトラック
○AfterEffects CCの新機能:ピクセルモーションブラー
○AfterEffects CCエッジを調整ツール
○AfterEffects CC モーションスケッチ
○AfterEffects CC 2014:HTML5パネルSDK(その1)
○AfterEffects CC 2014:HTML5パネルSDK(その2)
○AfterEffects CC 2014:4KビデオのYouTubeへのアップロード
○AfterEffects CC 2014:相対的なプロパティリンクと一緒にコピー
○AfterEffects CC 2014:モーフィング
○AfterEffects CC 2014:画像やビデオ等からカラーを抽出し、他のレイヤーに適用するsampleImageメソッド

●FireWorks(FW)
○CS5新機能01:Device Centralと連携した、スマートフォンのプロトタイプ
○CS5新機能02:divのタイル背景の強化
○レイヤーパネル
○CS6の新機能:CSSプロパティパネル・CSSスプライト書き出し・jQuery Mobile テーマ

●その他
○CS5.5:Adobe Audition「サウンドのカットとフェードイン、フェードアウトの設定」
○CS5.5:Adobe Audition「マルチトラックを使ったサウンド操作」