バージョン情報
ExpressionやScriptの変更点など (AfterFx 5.5以降)
Ver.10.5 CS5.5
CS5.5 Expression
- 前バージョン(CS5)のエクスプレッションはそのまま使うことが出来ます。
1)数値ではないプロパティ(グラフ等)にリンク可能になった。
例:「レベル」のヒストグラムや「トーンカーブ」の設定を複数のレイヤーで同期することもできるようになりました。
- thisComp.layer("blueSky").effect("レベル")("ヒストグラム")
- thisComp.layer("redBull").effect("トーンカーブ")("トーンカーブ")
2)エクスプレッション制御に「3Dポイント制御」(x,y,z)が追加された。
3)Layer Sub-objects に sourceTime(t = time) メソッドが追加された。
- 返却値はNumber。時間 t に対応するソースタイムを返します。
4)CompとFootageに ntscDropFram メソッドが追加された。
- 返却値はBoolean。NTSCドロップフレームの場合はtrueを返します。
5)timeToCurrentFormat( )の引数に ntscDropFram が追加された。
- デフォルトではntscDropFrame = thisComp.ntscDropFrame
Ver.10.0 CS5
エクスプレッションは前のバージョンと変更ありません。
ただし注意点があります。
CS5.0
カタカナ語の長音表記
以前のバージョンで作ったプロジェクトを開くと”スライダ”がありません。というエラーが表示される場合があります。これはカタカナ語の言語の末尾が–er、-or、-ar などで終わる場合に長音表記を付けることに変更されたからです。この場合以下のように変更する必要があります
記述
- 旧 : effect("スライダ制御")("スライダ")
- CS5 : effect("スライダー制御")("スライダー")
又はmatchNameを使って
- effect("ADBE Slider Control").param(1)
※スクリプトでも「フィルタ」が「フィルター」に変更、等あります。
制限
- 5.5 以前のバージョンで作成されたプロジェクトは開くことも読み込むこともできなくなりました。旧バージョンで変換しておく必要があります。
- 32bitOSにはインストールできません。
Ver.9.0 CS4
機能の追加による注意点があります。
位置

位置プロパティを次元に分割できるようになったので、エクスプレッションもそれに対応したものにする必要があります。分割した次元は当然1次元の記述に変更します。
プロパティの記述
- Y位置であれば transform.yPosition
- 以前からの position[1] という記述も可能です。
その他
- プロパティのコンテキストメニューに「エクスプレッションのみをコピー」が追加されました。
- エクスプレッション言語メニューのプロパティサブメニューに「name」が追加されました。
Ver.8.0 CS3
"マーカー"と"ランダム"に変更があります。メソッドが1つ加わりました。
変更
マーカー
- マーカー番号でコンポジションタイムマーカーにアクセスすることが出来なくなりました。番号の変わりにmarker.ket(name)を使う必要があります。旧バージョンのエクスプレッションを使用する場合には要注意です。
random( )の返却値
- random( ) を使用している旧バージョンのプロジェクトを CS3 でレンダリングすると、結果が異なる場合があるようです。
新メソッド
サンプルイメージ
レイヤーのカラーとアルファ値を、指定した範囲の平均値で返します。
sampleImage(point,raidus=[.5,.5],postEffect=true,t=time)
戻り値は Array[4]
詳しくはこちら→「サンプルイメージ」
Ver.7.0
一部、エフェクトのパラメータが変更されました。
変更
- パラメータインデックス参照を使用している場合、パラメータ名を使用するようにエクスプレッションを調整する必要があります。
- 例:Marker("name")
新オブジェクト
transform
- 今までは [ position ]などと記述していたトランスフォームが一つのオブジェクトとして扱われるようになりました。
- 例えば位置のプロパティにエクスプレッションを適用すると初期値として[ transform.position ]と表示されます。
- ただしこの[ transform ]は記述しなくても問題ありません。今までのエクスプレッションをそのまま使って問題ありません。※ユーザーガイドにもオブジェクトとしての記述がありません。
- テキストやカメラ、ライトなど[ transform ]以外のプロパティを持つ要素が増えた為に新作されたと思われます。
新機能
- エクスプレッションが関係しているレイヤーまたはプロパティ名を変更すると、新しい名前を使って自動的にエクスプレッションの更新が試みられます。ただし、状況が複雑で、自動的にエクスプレッションを更新できない場合はエラーメッセージが表示されます。この場合は手動で更新する必要があります。
表示
- 新しいグラフエディタ表示では、エクスプレッションフィールドはその下部にサイズ変更可能なテキストボックスとして表示されます。グラフエディタのエクスプレッションフィールドには、選択したプロパティのアクティブなエクスプレッションのみが表示されます。
Ver.6.5
Expression機能に大きな変更はありません。以前のものが問題無く使えます。
Copy&Paste
- レイヤーのCopy&Paateでエクスプレッションだけをコピーできる新しいコマンドが追加されました。こんな場合に便利!
- 複数のエクスプレッションを 1 つまたは複数の新しいレイヤーに同時にコピー&ペーストする場合
- 1 つのエクスプレッションを複数のレイヤーにコピー&ペーストする場合
- 編集メニューに[エクスプレッションのみをコピー]という項目が追加されています。
propertyGroup propertyIndex
- プロパティ階層で名前に依存しない関係を表すメソッドとプロパティが追加されました。
- エクスプレッションが含まれたプロパティを複製するときに特に便利!
時間単位変換
- 時間をさまざまなタイムコード形式に変換するグローバルメソッドが追加されました。Expressionで時間の単位は秒ですがこれをコマ数やビデオ・タイムコード、FilmのFeetに変換します。
- timeToCurrentFormat(t=time, fps=1.0, isDuration=false)
- timeToFrames(t=time, fps=1.0, isDuration=false)
- framesToTime(frames, fps=1.0)
- timeToTimecode(t=time, timecodeBase=30, isDuration=false)
- timeToNTSCTimecode(t=time, ntscDropFrame=false, isDuration=false)
- timeToFeetAndFrames(t=time, fps=1.0, framesPerFoot=16, isDuration=false)
active
- レイヤー、カメラ、エフェクトのステータスを示すブール値を返すプロパティが追加されました。
- ビデオスイッチ がONで、現在の時間がレイヤーのインポイントとアウトポイントの間にある場合に、active が true になります。
enable
- タイムラインウィンドウのビデオスイッチ またはエフェクトスイッチ に基づいてプロパティまたはレイヤーが有効かどうかを返すプロパティが追加されました。
Ver.6.0
Expression機能に大きな変更はありません。今までのものがほとんど問題無く使えます
新しい機能:"Script"が加わりました。これもJavaScriptで記述しますがAferFxの操作を自動化するコマンドです。使用目的がExpressionとは違います。
Syntax
- 重要:複合型の オブジェクト、メソッド、プロパティ名は「インターキャップ」型で記述するように推奨されました。
- 具体的には今まで使っていたアンダースコアーの代わりに2つ目の単語の頭を大文字にします。
例:旧 this_comp → 新:thisComp
- 旧スタイルを使うことも可能ですがピックウィップは新しい型で記述されるので統一を取るには新しい型に移行するほうが良いでしょう。
posterizeTime
- グローバルオブジェクトに新たに追加されたファンクションです。
- これを記述した以降のExpressionのフレームレートを指定します。つまりこのファンクションだけでは機能しません。なお Compoのフレームレートより早くすることは出来ません。
posterrizeTime(fr/sec)
- 引数 fr/secは1次元の数字で 戻り値はNumberです。
thisProperty
- グローバルオブジェクトに新たに追加されたプロパティです。
- Expressionを記述したプロパティを返します。
例:Expを書いたプロパティが何であってもそのフレームレートを12fr/secにします。
posterrizeTime(12);thisProperty
colorDepth
- これもグローバルオブジェクトに新たに追加されたプロパティです。
- プロジェクトのカラー深度を返します。8または16BITです。
Audio
- オーディオの振幅に関連したものは「モーション計算」を使う以外方法がありませんでしたが、「キーフレーム補助」に「オーディオをキーフレームに変換」が加わったので音量変化を使ったExpressionを書けるようになりました。
Text
- テキスト関係の機能がかなり強化されたので、文字を複雑にコントロールすることも出来るようになっています。
Paint
- Paintのエンジンも強力になったのでPaintToolをExpressionでコントロールして図やグラフを書くことも出来ます。
