《70本の動画で解説!》AfterEffects全エクスプレッションまとめ

Adobe AfterEffectsでは、エクスプレッションというJavascriptエンジンのプログラミング言語を使えます。

エクスプレッションの説明は、Adobe公式の「エクスプレッション言語リファレンス」に記載してありますが、実際の動作を見ないと理解するのはなかなか難しいです。

そこで、動作を直感的に理解できるように、約80本の動画にエクスプレッションの動作をまとめてみましたのでご紹介します。

・「Ae全エクスプレッション」動画は、「Layer>Sub-objects」「Layer>Space Transforms」「Project properties」など、現時点で対象外のものがあります。
・「Aeエクスプレッション」動画も、現時点で制作していないものもありますのでご了承ください。
目次

動画の活用方法

カテゴリ毎の全エクスプレッションをまとめた「Ae全エクスプレッション」動画と、エクスプレッションのメソッド全引数を説明した「Aeエクスプレッション」動画に分けて制作しました。

動画の活用方法や、アイコンの意味などについては、以下の記事にまとめましたのでご覧ください。

関連記事

YouTube「COLOR CODE - AE」チャンネルで公開している、AfterEffectsのエクスプレッション動画を最大限に活用する方法についてご紹介したいと思います。 この記事を活用することで、エクスプレッションを「探す」[…]

Aeエクスプレッション動画完全活用ガイド

エクスプレッション動画

各エクスプレッションのリンクと説明を表にまとめてみました。説明はなるべくわかりやすく簡潔にまとめてみました。

※ リンクが無いメソッドは現時点で未制作のエフェクト動画です。
※ プロパティは「Ae全エクスプレッション」動画でご確認ください。
※ エクスプレッションの正確な説明はAdobe公式の「エクスプレッション言語リファレンス」をご確認ください。

Global

Global

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
comp(name)名前指定でコンポジション取得
footage(name)名前指定でフッテージ取得
thisCompコンポジション取得
thisLayerレイヤー取得
thisPropertyプロパティ取得
time時間(秒)取得
colorDepth色深度取得
posterizeTime(framesPerSecond)エクスプレッション更新頻度指定
value現在値取得

Time Conversion

Time Conversion

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
timeToFrames(t, fps, isDuration)時間(秒)をフレームに変換
framesToTime(frames, fps)フレームを時間(秒)に変換
timeToTimecode(t, timecodeBase, isDuration)時間(秒)をタイムコードに変換
timeToNTSCTimecode(t, ntscDropFrame, isDuration)時間(秒)をNTSCタイムコードに変換
timeToFeetAndFrames(t, fps, framesPerFoot, isDuration)時間(秒)をフィート数とフレーム数に変換
timeToCurrentFormat(t, fps, isDuration)時間(秒)を現在の表示形式に変換
※ 記述が長くなってしまうので、各引数の初期値は省略しています

Vector Math

Vector Math

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
add(vec1, vec2)ベクトルを加算
sub(vec1, vec2)ベクトルを減算
mul(vec, amount)ベクトルを乗算
div(vec, amount)ベクトルを除算
clamp(value, limit1, limit2)ベクトルの範囲制限
dot(vec1, vec2)ベクトルの内積
cross(vec1, vec2)ベクトルの外積
normalize(vec)ベクトルを正規化
length(vec)ベクトルの長さ
length(point1, point2)2点間の長さ
lookAt(fromPoint, atPoint)レイヤーの向きをコントロール

Random Numbers

Random Numbers

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
seedRandom(offset, timeless=false)乱数シード値設定
random()0~1の乱数
random(maxValOrArray)0~指定値の乱数
random(minValOrArray, maxValOrArray)指定値~指定値の乱数
gaussRandom()0~1の乱数(10%範囲外)
gaussRandom(maxValOrArray)0~指定値の乱数(10%範囲外)
gaussRandom(minValOrArray, maxValOrArray)指定値~指定値の乱数(10%範囲外)
noise(valOrArray)-1~1のパーリンノイズ

Interpolation

Interpolation

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
linear(t, value1, value2)tが0~1で値1~値2にリニア補間
linear(t, tMin, tMax, value1, value2)tがtMin~tMaxで値1~値2にリニア補間
ease(t, value1, value2)tが0~1で値1~値2にリニア補間(イーズイン、イーズアウト)
ease(t, tMin, tMax, value1, value2)tがtMin~tMaxで値1~値2にリニア補間(イーズイン、イーズアウト)
easeIn(t, value1, value2)tが0~1で値1~値2にリニア補間(イーズイン)
easeIn(t, tMin, tMax, value1, value2)tがtMin~tMaxで値1~値2にリニア補間(イーズイン)
easeOut(t, value1, value2)tが0~1で値1~値2にリニア補間(イーズアウト)
easeOut(t, tMin, tMax, value1, value2)tがtMin~tMaxで値1~値2にリニア補間(イーズアウト)

Color Conversion

Color Conversion

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
rgbToHsl(rgbaArray)色空間変換(RGBA→HSLA)
hslToRgb(hslaArray)色空間変換(HSLA→RGBA)

Other Math

Other Math

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
degreesToRadians(degrees)角度単位変換(度→ラジアン)
radiansToDegrees(radians)角度単位変換(ラジアン→度)

JavaScript Math

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
Math.cos(value)角度(ラジアン)から正弦 (サイン) を取得
Math.acos(value)逆余弦 (アークコサイン)を角度(ラジアン)で取得
Math.tan(value)角度(ラジアン)から正接(タンジェント)を取得
Math.atan(value)角度(ラジアン)から正接(タンジェント)を取得
Math.atan2(y,x)原点から点(x, y)までのベクトルとx軸(正)の角度 (ラジアン) を返す
Math.sin(value)角度(ラジアン)から正弦(サイン)を取得
Math.sqrt(value)平方根(ルート)を取得
Math.exp(value)自然対数の底のべき乗を取得
Math.pow(value, exponent)べき乗を取得(valueのexponent乗)
Math.log(value)数値の自然対数を取得
Math.abs(value)数値の絶対値を取得
Math.round(value)小数点以下を四捨五入
Math.ceil(value)小数点以下の値を切り上げ
Math.floor(value)小数点以下の値を切り捨て
Math.min(value1, value2)引数の中で最も小さい値を返す
Math.max(value1, value2)引数の中で最も大きい値を返す
Math.PI円周率を取得
Math.E自然対数の底を取得
Math.LOG2E2を底としたeの対数を取得
Math.LOG10E10を底としたeの対数を取得
Math.LN22の自然対数を取得
Math.LN1010の自然対数を取得
Math.SQRT22の平方根を取得
Math.SQRT1_21/2の平方根を取得

Comp

Comp

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
layer(index)レイヤー取得(レイヤー番号指定)
layer(name)レイヤー取得(レイヤー名指定)
layer(otherLayer, relIndex)レイヤー取得(他レイヤーからの位置指定)
marker.key(index)マーカー取得(番号指定)
marker.key(name)マーカー取得(名前指定)
marker.nearestKey(t)マーカー取得(t(秒)に最も近いマーカー)
marker.numKeysマーカーの数を取得
numLayersレイヤーの数を取得
activeCameraレンダリングするカメラを取得
widthコンポジションの幅を取得
heightコンポジションの高さを取得
durationコンポジションのデュレーション値(秒)を取得
ntscDropFrameドロップフレーム情報(Boolean)を取得
displayStartTimeコンポジションの開始時間(秒)を取得
frameDurationフレームのデュレーション(秒)を取得
shutterAngleコンポジションのシャッター角度(度数)を取得
shutterPhaseコンポジションのシャッターフェーズ(度数)を取得
bgColorコンポジションの背景色(配列)を取得
pixelAspectコンポジションのピクセル縦横比を取得
nameコンポジション名を取得

Footage

Footage

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
widthフッテージの幅を取得
heightフッテージの高さを取得
durationフッテージのデュレーション(秒)を取得
frameDurationフッテージのフレームデュレーション(秒)を取得
ntscDropFrameフッテージのドロップフレーム情報(Boolean)を取得
pixelAspectフッテージのピクセル縦横比を取得
nameフッテージ名を取得

Layer>Sub-objects

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
sourceレイヤーソース(Compまたは Footage)を取得
sourceTime(t = time)指定時刻のレイヤーソース取得
sourceRectAtTime(t = time, includeExtents = false)[top, left, width, height]形式のオブジェクト取得
effect(name)エフェクト取得(名前指定)
effect(index)エフェクト取得(上からの順番指定)
mask(name)マスク取得(名前指定)
mask(index)マスク取得(上からの順番指定)

Layer>General

Layer>General

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
widthレイヤーの幅を取得
heightレイヤーの高さを取得
indexレイヤー番号を取得
parent親レイヤーを取得
hasParent親レイヤーの有無(Boolean)を取得
inPointレイヤーのインポイント(秒)を取得
outPointレイヤーのアウトポイント(秒)を取得
startTimeレイヤーの開始時間(秒)を取得
hasVideoレイヤーのビデオ有無(Boolean)を取得
hasAudioレイヤーのオーディオ有無(Boolean)を取得
activeレイヤーのアクティブ状態(Boolean)を取得
enabledレイヤーの有効無効(Boolean)を取得
audioActiveレイヤーの音声アクティブ状態(Boolean)を取得
sampleImage(point, radius, postEffect, t)レイヤーの指定位置から色取得
※ sampleImageのみ、表記を短くするため引数の初期値は省略しています

Layer>Properties

Layer>Properties

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
anchorPointレイヤーのアンカーポイントを取得
positionレイヤーの位置を取得
scaleレイヤーのスケールを取得
rotationレイヤーの回転を取得
opacityレイヤーの不透明度を取得
audioLevelsレイヤーのオーディオレベル(デシベル)を取得
timeRemapレイヤーのタイムリマップ’(秒)を取得
marker.key(index)レイヤーマーカーを取得(番号指定)
marker.key(name)レイヤーマーカーを取得(名前指定)
marker.nearestKey(t)レイヤーマーカーを取得(t(秒)に最も近いマーカー)
marker.numKeysレイヤーマーカーの数を取得
nameレイヤーの名前を取得

Layer>3D

Layer>3D

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
orientation3Dレイヤーの3D方向(度数)を取得
rotationX3DレイヤーのX回転を取得
rotationY3DレイヤーのY回転を取得
rotationZ3DレイヤーのZ回転を取得
lightTransmission3Dレイヤーのライト透過を取得
castsShadows3Dレイヤーのシャドウを受ける(0 or 1)を取得
acceptsShadows3Dレイヤーのシャドウを落とす(0 or 1)を取得
acceptsLights3Dレイヤーのライトを受ける(0 or 1)を取得
ambient3Dレイヤーのアンビエントを取得
diffuse3Dレイヤーの拡散を取得
specular3Dレイヤーの鏡面を取得
shininess3Dレイヤーの光沢を取得
metal3Dレイヤーの金属を取得

Layer>Space Transforms

Ae全エクスプレッション

  • 未制作

Aeエクスプレッション

エクスプレッション名説明
toComp(point, t=time)座標変換(レイヤー空間→コンポジション空間)
fromComp(point, t=time)座標変換(コンポジション空間→レイヤー空間)
toWorld(point, t=time)座標変換(レイヤー空間→ワールド空間)
fromWorld(point, t=time)座標変換(ワールド空間→レイヤー空間)
toCompVec(vec, t=time)ベクトル変換(レイヤー空間→コンポジション空間)
fromCompVec(vec, t=time)ベクトル変換(コンポジション空間→レイヤー空間)
toWorldVec(vec, t=time)ベクトル変換(レイヤー空間→ワールド空間)
fromWorldVec(vec, t=time)ベクトル変換(ワールド空間→レイヤー空間)
fromCompToSurface(point, t=time)コンポジション空間からレイヤー表面へアクティブカメラ撮影方向に投影

Camera

Camera

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
pointOfInterestカメラの目標点(ワールド空間)を取得
zoomカメラのズーム値を取得
depthOfFieldカメラの被写界深度設定(0 or 1)を取得
focusDistanceカメラのフォーカス距離を取得
apertureカメラの絞りを取得
blurLevelカメラのブラーを取得
activeカメラのアクティブ状態(Boolean)を取得

Light

Light

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
pointOfInterestライトの目標点を取得
intensityライトの強度を取得
colorライトの色を取得
coneAngleライトの円錐頂角(度数)を取得
coneFeatherライトの円錐ぼかしを取得
shadowDarknessライトのシャドウの暗さを取得
shadowDiffusionライトのシャドウの拡散を取得

Effect

Effect

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
activeエフェクトのアクティブ状態(Boolean)を取得
param(name)エフェクトのパラメーターを取得(名前指定)
param(index)エフェクトのパラメーターを取得(上からの順番指定)
nameエフェクトの名前を取得

Mask

Mask

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
MaskOpacityマスクの不透明度を取得
MaskFeatherマスクの境界線のぼかしを取得
maskExpansionマスクの拡張を取得
invertマスクの反転状態(Boolean)を取得

Property

Property

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
value現在時刻のプロパティ値を取得
valueAtTime(t)指定時刻のプロパティ値を取得
velocity現在時刻の時間速度を取得
velocityAtTime(t)指定時刻の時間速度を取得
speed現在時刻の空間速度を取得
speedAtTime(t)指定時刻の空間速度を取得
wiggle(freq, amp, octaves, amp_mult, t)プロパティ値を不規則に変動
temporalWiggle(freq, amp, octaves, amp_mult, t)時間軸上を不規則に変動
smooth(width=.2, samples=5, t=time)時間範囲内でプロパティ値をなだらかに
loopIn(type=”cycle”, numKeyframes=0)最初のキーフレーム前をループ(キーフレーム数指定)
loopOut(type=”cycle”, numKeyframes=0)最後のキーフレーム後をループ(キーフレーム数指定)
loopInDuration(type=”cycle”, duration=0)最初のキーフレーム前をループ(時間(秒)指定)
loopOutDuration(type=”cycle”, duration=0)最後のキーフレーム後をループ(時間(秒)指定)
key(index)キーフレーム、又はマーカー取得(番号指定)
key(markerName)マーカー取得(名前指定)
nearestKey(t)キーフレーム、又はマーカー取得(t(秒)に最も近いもの)
numKeysキーフレームの数
propertyGroup(countUp = 1)関連するプロパティグループを取得
propertyIndexプロパティのインデックスを取得
nameプロパティ、又はプロパティグループの名前を取得
※ 表記を短くするため、wiggleとtemporalWiggleの引数の初期値は省略しています

Project properties

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
thisProjecプロジェクトオブジェクトを取得
thisProject.fullPathファイル名を含む絶対パスを取得
thisProject.bitsPerChannelプロジェクトの色深度(bpc)を取得
thisProject.linearBlending「ガンマ値 1.0 でカラーをブレンド」の設定を取得

Key

Key

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
valueキーフレームの値を取得
timeキーフレームの時間を取得
indexキーフレームのインデックスを取得

MarkerKey

MarkerKey

Ae全エクスプレッション

Aeエクスプレッション

エクスプレッション名説明
durationマーカーのデュレーション(秒)を取得
commentマーカーの「コメント」を取得
chapterマーカーの「チャプター」を取得
urlマーカーの「URL」を取得
frameTargetマーカーの「フレームターゲット」を取得
eventCuePointマーカーのキューポイントの種類(Boolean)を取得
cuePointNameマーカーの「名前」を取得
parametersマーカーの「パラメーター名」と「パラメーター値」を取得
※ 「」内は、マーカーダイアログボックスのフィールド名です。

まとめ

エクスプレッションには便利なものがたくさんあり、難しいことでも簡単に実現出来るなど、非常に大きなメリットがあります。

一方、デメリットは結果をイメージしにくいハードルの高さだと思います。

この記事では、難しくならないように、なるべく簡潔に説明を記載し、動画で動作結果も確認できるようにしました。

この記事でエクスプレッションのハードルが少しでも下がり、読んでいただいた方の映像制作がより快適になれば嬉しいです。

この記事の動画は全てYouTubeの「COLOR CODE – AE」チャンネルで公開しています。目的別にエクスプレッションを探せるようにもなっているので、チャンネル登録をお待ちしています。

AfterEffects全エクスプレッションまとめ
最新情報をチェックしよう!
>Aeをもっと便利に。「COLOR CODE - AE」

Aeをもっと便利に。「COLOR CODE - AE」

AfterEffectsをもっと便利に使う為のコンテンツを制作・発信しているブログです。YouTube「COLOR CODE - AE チャンネル」では、エフェクト、エクスプレッション、プリセット、プラグインのリファレンス動画を公開しています。チャンネル登録もお待ちしています!

CTR IMG