After Effects CS6 スクリプティング変更点

July 9, 2012
Adobe Blog 「After Effects region of interest」より、After Effects CS6のスクリプティング変更点が公開されたので、ざっと抄訳。例によって誤訳、誤字、脱字は大目に見てください。

尚、CS6ではScripting Guide自体がCS6用に刷新されています。詳しくは「 After Effects CS6 scripting guide」を参照してください。

特にフェザーマスクのあたりはこの訳文では非常にわかりにくくなっています。原文にも説明不足だったりする箇所も多いので、必ず使用する前にスクリプティングガイドを参照してください。


(原文)
After Effects region of interest - scripting changes in After Effects CS6, plus new scripting guide
http://blogs.adobe.com/toddkopriva/2012/06/scripting-changes-in-after-effects-cs6-plus-new-scripting-guide.html

After Effects CS6におけるCS5.5からの変更点の要約
  • Viewerオブジェクトが追加されました。Composition, Layer, Footageパネル(ビューワー)に相当します。
  • Property オブジェクトのcanSetExpression属性が、既にエクスプレッションに対応した任意のデータ(例えばレベルエフェクトのヒストグラムプロパティやカーブエフェクトのカーブプロパティなど)からtrueを返すようになりました。
  • ApplicationオブジェクトにactiveViewer属性が追加されました。現在フォーカスされているViewerオブジェクトあるいは最後にフォーカスされていたViewerオブジェクトを取得します。ビューワが開かれていない場合にはnullが返されます。
  • AVLayerオブジェクトにenvironmentLayer属性が追加されました。これはレイトレースの3Dコンポジション内におけるビデオまたは静止画フッテージの「環境レイヤー」ステータスに表します。論理演算子によって値の設定と取得が出来ます。trueに設定した場合、自動的に3Dレイヤーになります(threeDLayerの値がtrueになる)。
  • openInViewerメソッドがAVLayerオブジェトに追加されました。AVレイヤーをレイヤービューワーで開くことが可能で、ビューワーがフロントに表示されフォーカスされた状態になります。このメソッドはパラメータを受けとらず、Viewerオブジェクトを返すか、もし何らかの理由によってビューワーで開くことに失敗した場合はnullを返します(例:テキストやシェイプレイヤーなどレイヤービューワーで開けない場合)。
  • openInViewerメソッドがCompItemオブジェクトに追加されました。コンポジションをコンポジションビューワーで開くことが可能で、ビューワーがフロントに表示されフォーカスされた状態になります。このメソッドはパラメータを受けとらず、Viewerオブジェクトを返すか、もし何らかの理由によってビューワーで開くことに失敗した場合はnullを返します。
  • openInViewerメソッドがFootageItemオブジェクトに追加されました。フッテージをフッテージビューワーで開くことが可能で、ビューワーがフロントに表示されフォーカスされた状態になります。このメソッドでは不明なフッテージやプレースホルダーフッテージを開くことが可能ですが、手動は不可能だということに注意してください(例えば不明なフッテージやプレースホルダーをダブルクリックして代わりのフッテージファイルをユーザーに訊ねるといったこと)。このメソッドはパラメータを受けとらず、Viewerオブジェクトを返すか、もし何らかの理由によってビューワーで開くことに失敗した場合はnullを返します。
  • maskFeatherFalloff属性がMaskPropertyGroupオブジェクトに追加されました。これは「レイヤー」>「マスク」>「ぼかしのフォールオフ」に相当します。設定は以下の列挙型の値で行います。
MaskFeatherFalloff.FFO_LINEAR
MaskFeatherFalloff.FFO_SMOOTH

訳注:以下「マスクの境界のぼかしツール」のポイントを「フェザーポイント」としています。日本語版でなんというのかわかりません。

  • featherSegLocs属性がShapeオブジェクトに追加されました。これはマスクパスのセグメント(頂点間のマスクパスの接合部)を表します。セグメントの配列(0スタート)を設定あるいは取得できます。(訳注:原文ではわかりにくいのですが、スクリプティングガイドによれば「各フェザーポイントを含んだマスクのパスセグメント」の配列とのことです)
  • featherRelSegLocs属性がShapeオブジェクトに追加されました。これはマスクパスのセグメント上におけるフェザーポイントの相対的な位置(0〜1)を表します。配列の値の設定と取得が可能です。
  • featherRadii属性がShapeオブジェクトに追加されました。境界のぼかしの半径を表します。内側のフェザーポイントの場合には負の値になります。配列の値の設定と取得が可能です。
  • featherInterps 属性がShapeオブジェクトに追加されました。境界のぼかしの補間方法を表します(0なら「停止」を無効にし、1なら「停止」を有効にします)。注:配列の値はフェザーポイントが作成された順番で格納されます。(訳注:スクリプティングガイドによれば、この他のフェザーポイントに関する値もポイントが作成された順番で格納されているようです)
  • featherTensions属性がShapeオブジェクトに追加されました。これはぼかしの張力を表します(0〜1)。配列の値の設定と取得が可能です。
  • featherTypes属性がShapeオブジェクトに追加されました。これはフェザーポイントの方向を表します(0なら外側、1なら内側のフェザーポイントになります。配列の値の設定と取得が可能です。フェザーポイントがすでに作成されている場合には、方向を変更することはできません。
  • featherRelCornerAngles属性がShapeオブジェクトに追加されました。これはマスクパスのコーナー部分で曲がった外側ぼかし境界の、両端の2つの法線の相対的な角度を表します。ポイントがコーナーにない場合は値が0になります。配列の値の設定と取得が可能です。
ScriptUI変更点の要約
  • dropdownlistコントロールがウィンドウの境界を乗り越えて表示されます。
  • multiline edittextコントロールがEnter/Retuenキーで改行されます。これまではmultiline edittextコントロールでどのように改行するか明確にされていませんでした。現在では新しいwantReturnプロパティをtrueにすることで、このコントロールは新しい挙動をします。これまでの挙動には変化はありません。
myTextBox: EditText { text:'Enter & Return welcome here', properties:{ multiline:true, wantReturn:true }, preferredSize:[-1,80] },

注意: onChangeコールバックは コントロールがフォーカスを失った時点で呼び出されます。(例: edittextコントロールの外側をマウスクリックした時など)
  • multicolumn listboxコントロールで、listboxのcolumns属性にvisible配列が新たに追加され、それを用いてcolumn(列/カラム)表示または非表示を設定できます。
myListBox.columns.visible[1] = false; // hide the 2nd column
  • 外観の明るさ(brightness)の設定が組込み表示のウィンドウ (palette, dialog, window)タイプにも設定できるようになりました。既存の組込みパネルのサポートに加えて、より統合された外見となります。
  • 同様のサポートは、現在組み込みパネルおよび非組込みウィンドウ両方のコントロールの周囲のフォーカスリングのために利用可能です。
  • コントロールの外見はメインアプリケーションにもっと近くなるでしょう。これらには多少の差異が依然ありますが、以前のバージョンに比べて非常に少なくなっています。ScriptUIのVersion6はいくつかのマイナーアップデートされたデザインのボタンやスクロールバーになっています。


[関連記事]
After Effects スクリプティングメモ(古いバージョンの変更点はこちらから)
AfterEffects スクリプトリファレンス