After Effects CC (15.0)

以下の原典からスクリプティングに関する項目を抄訳しています。原典:Expression and Scripting Improvements in After Effects CC (October 2017).pdf

Create Nulls From Paths scriptUI panel 

Create Nulls from Pathsは、マスクパスまたはベジェシェイプパス上の、各ポイントに対してヌルを作成するscriptUI Panelです。
これらのヌルは、パス上のポイントを制御するか、またはパス上のポイントによってコントロールされます。スクリプトはパスをトレースするヌルを作成することもできます。このスクリプトは、新しいエクスプレッションによるパス上のポイントへのアクセスを使用したヌルのリンクを自動生成するため、エクスプレッションをユーザー自身が記述する必要はありません。

このパネルを開くには、メニューの「ウィンドウ」-> 「Create Nulls From Paths.jsx」を選択します。

パス上のポイントに対してヌルを作成するには、最初にタイムラインパネルでマスクパスまたはベジェシェイプパスを選択し、パCreate Nulls From Paths panelから1つのボタンを選んでクリックします。

  • Points Follow Nullsはパス上のポイントの位置を制御するヌルを作成します。 
  • Nulls Follow Pointsは、パス上のポイントの位置によって制御されるヌルを作成します。
  • Trace Pathは、位置がパスの座標にリンクされた、単一のヌルを作成します。ヌルの回転は、パスに沿って自動方向付けにリンクされます。パスに沿ったヌルの進捗状況と、ループするかどうかは、ヌルに適用されるカスタムエフェクト(Trace Path)によって制御されます。デフォルトでは、キーフレームはパスを1秒でトレースするように設定されており、ループは有効です。

シェイプレイヤーの場合、このスクリプトとパスポイントへの新しいエクスプレッションのアクセスは、ベジェシェイプでのみ機能します。このスクリプトを使用するには、パラメトリックシェイプ(長方形、楕円、星など)をベジェシェイプに変換する必要があります。シェイプレイヤーのコンテンツを展開し、パラメトリックパス(例:Rectangle 1)を右クリックし、ベジェパス。

BezierシェイプパスまたはシェイプグループのTransformプロパティは、ヌルの位置が計算されるときにオフセットを発生させることに注意してください。特に、パラメトリックシェイプをベジェシェイプに変換すると、シェイプのPositionプロパティが調整され、そのようなオフセットが発生します。これを避けるには、ヌルを作成する前に、シェイプのTransformプロパティ(たとえば、Transform:Rectangle 1)の値を0に設定します。必要に応じて個々のシェイプパスまたはグループのTransformプロパティではなく、シェイプレイヤのTransformプロパティを調整して補正します。





スクリプトによるMotion Graphics templatesへのアクセス

以下のスクリプト方法を使用して、スクリプトによってEssential Graphics panelにプロパティを追加し、Motion Graphicsテンプレートを書き出すことができます。

Property canAddToMotionGraphicsTemplate() method

記述


app.project.item(index).layer(index).propertySpec.canAddToMotionGraphicsTemplate(comp)


概要

指定されたコンポジションのEssential Graphics panelにプロパティを追加できるかどうかをテストします。 プロパティが追加可能な場合はtrueを返します。それ以外の場合はfalseを返します。

プロパティが追加できない場合は、サポートされていないプロパティタイプか、またはプロパティが既にそのコンポジションに追加されているためです。 After Effectsは警告ダイアログを表示します。

サポートされるプロパティの種類は次のとおりです:
  • チェックボックス
  • カラー
  • 数値スライダ(不透明度やエクスプレッション制御のスライダー制御エフェクトなどの単一の値の数値プロパティ)
  • テキストソース


引数

 comp プロパティを追加するコンポジションのCompItem。必須


戻り値

Boolean(論理値) 



Property addToMotionGraphicsTemplate() method

記述


app.project.item(index).layer(index).propertySpec.addToMotionGraphicsTemplate(comp)


概要

指定されたコンポジションのEssential Graphics panelにプロパティを追加します。 プロパティーが正常に追加された場合はtrueを返し、それ以外ではfalseを返します。

プロパティが追加できない場合は、サポートされていないプロパティタイプか、またはプロパティが既にそのコンポジションに追加されているためです。 After Effectsは警告ダイアログを表示します。

プロパティがMotion Graphicsテンプレートに追加できるかどうかをテストするには、canAddToMotionGraphicsTemplate() methodを使用します。


引数

 comp プロパティを追加するコンポジションのCompItem。必須


戻り値

Boolean(論理値) 



CompItem motionGraphicsTemplateName attribute

記述


app.project.item(index).motionGraphicsTemplateName


概要

コンポジションのEssential Graphics panelのnameプロパティを読み書きします。

Essential Graphics panel内の名称は、エクスポートされたMotion Graphicsテンプレート(例:「My Template.mogrt」など)のファイル名に使用されます。

以下の例では、アクティブなコンポジションの名称を設定し、それをアラートとして返します。

app.project.activeItem.motionGraphicsTemplateName = "My Template";
alert(app.project.activeItem.motionGraphicsTemplateName);


タイプ

String(文字列) - 読み込み/書き込み



CompItem exportAsMotionGraphicsTemplate() method

記述


app.project.item(index).exportAsMotionGraphicsTemplate(doOverWriteFileIfExisting, file_path)


概要

コンポジションをMotion Graphicsテンプレートとしてエクスポートします。 Motion Graphicsテンプレートが正常にエクスポートされた場合はtrue、それ以外ではfalseを返します。

必要に応じて、Motion Graphicsテンプレートファイルが保存されるフォルダのパスを指定します。パスを指定しない場合、ファイルは現在のユーザーのEssential Graphicsフォルダに保存されます。

「Essential Graphics」パネルの名称は、Motion Graphicsテンプレート(例:「My Template.mogrt」など)のファイル名に使用されます。 motionGraphicsTemplateName attributeを使用して名前を設定します。


引数

 doOverWriteFileIfExisting 既存の同じ名称のァイルを上書きするかの設定。論理値。必須
 file_path ファイルが保存されるフォルダへのパス。オプション。


戻り値

Boolean(論理値) 




CompItem openInEssentialGraphics() method

記述


app.project.item(index).openInEssentialGraphics()

概要

Essential Graphics panelでコンポジションを開きます。


引数

なし

戻り値

なし




スクリプティングにおけるバグ修正

スクリプトに関する以下のバグは、After Effects CC(15.0)の2017年10月のリリースで修正されています。
  • スクリプトのドロップダウンメニューは、リストが非常に長い場合アイテムを表示できなくなりました。
  • スクリプトのドロップダウンメニューは、リストがコントロールの上に表示されている場合は、メニューコントロールのリストの最後の項目と重複しなくなりました。
  • After Effectsに含まれているScale Composition.jsxスクリプトは、合成されたレイヤーがロックされていても失敗しなくなりました。 ロックされたレイヤーはスクリプトによってロックが一時解除され、スケーリングされた後に再ロックされるようになりました。
  • コマンドラインレンダラー(aerender)を強制的に停止させると、子プロセスのaerendercoreも強制的に停止します。 以前は、aerendercoreプロセスは現在のレンダリングタスクを完了することができましたが、時としてaerendercoreが現在停止されたaerenderからのメッセージを待機していないことがありました。

Comments