ホームページ >ウェブフロントエンド >jsチュートリアル >スクリプト: After Effects プロジェクトとコンポジション

スクリプト: After Effects プロジェクトとコンポジション

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-08 16:31:10301ブラウズ

Scripting: After Effects Projects and Compositions

Contents
Introduction
Application
Project
Folders And Compositions
Example
Quick Tips
Conclusion

導入

この記事では、スクリプトを使用して After Effects プロジェクトとコンポジションを操作するための基本のいくつかを説明します。スクリプト ガイドの最も役立つ部分をいくつか参照し、それがどのように機能するかの実践的な例をいくつか紹介します。

始めましょう。


応用

app

app はアプリケーション After Effects 自体を参照します。 After Effects 内の何かを参照するには、スクリプトにアプリケーションを参照するように指示することから始める必要があります。

After Effects がインストールされている設定、ファイル、コンピューター システムを参照できますが (これらのオプションについては別の記事で説明します)、アプリケーションのインストール後に参照する必要がある主なオブジェクトである可能性が高くなります。は After Effects プロジェクトです。

app.newProject()

newProject() は、新しい空のプロジェクトを作成します。これが起こる前に、現在の作業を保存するかどうかを After Effects によって確認するメッセージが表示されます。

app.open(file)

open() を使用すると、既存のプロジェクトを開くことができます。括弧を空白のままにすると、[ファイル] > [プロジェクトを開く] ダイアログ ボックスが表示されます。 After Effects メニューの「プロジェクト...」を開きます。あるいは、括弧内のファイルを参照して特定のプロジェクトを開くこともできます。

project = new File ("...FilePath/AE Project.aep");
app.open(project);

スクリプト内からファイルを見つけるには、新しい File() を作成する必要があります。物事を整理しておくために、これを変数に保存することを好みます。繰り返しますが、ファイルを開く前に現在のプロジェクトを保存するように求められます。


プロジェクト

app.project

プロジェクトは、After Effects で開いている現在のプロジェクトを参照します。ここから、プロジェクト内のすべてのアイテムにアクセスし、新しいアイテムを作成し、レンダー キューにアクセスできます。

app.project.save([file])

save() はプロジェクトを保存します。ファイルのオプションを追加しない場合、またはプロジェクトが以前に保存されていない場合、このメソッドはユーザーがプロジェクトを保存するための保存ダイアログを表示します。覚えておいてください - このメソッドで参照する前に、プロジェクト内に新しいファイルを作成する必要があります。

app.project.importFile(importOptions)

importFile() は次のように動作します:

new ImportOptions().file = new File("...FilePath/My File.jpg");
app.project.importFile(file)

ファイルのインポートについては、別の記事で詳しく説明します。ただし、簡単に説明すると、この方法を使用してファイルをプロジェクトにインポートします。新しいファイルを作成するだけでなく、何をどのようにインポートするかを指定する新しい ImportOptions も作成する必要があります。これにより、画像シーケンスのインポート、ファイルのインポート、アルファベット順の強制などの操作が可能になります。

app.project.importFileWithDialog()
一方、

importFileWithDialog() は、エンド ユーザーがファイルを選択できるように、フッテージのインポート ダイアログ ボックスを開きます。

app

renderQueue を使用すると、レンダー キューへのアクセスが許可され、レンダー設定やレンダー コンポジションの設定も可能になります。これについては、別の記事で詳しく説明します。

app.newProject()

activeItem は、表示されている現在のアイテムを指します。通常は、コンポジション、フッテージ レイヤー、プレースホルダー、またはソリッドです。一度に 1 つの項目のみを参照し、複数の項目がアクティブな場合、またはアクティブな項目がない場合は null を返します。レイヤーを追加したり、ユーザーが現在作業している内容に何らかの形で影響を与えるスクリプトの場合、アクティブなコンポジションを参照すると便利です。これは項目が選択されているとは異なることに注意してください。

app.open(file)

選択とは、プロジェクト パネル内で現在選択されているすべての項目を指します。これは、アクティブな項目ではなく、選択された項目を参照するときに必要なものです。

project = new File ("...FilePath/AE Project.aep");
app.open(project);

item() は、コンポジション、ソリッドなど、プロジェクト内の 1 つのアイテムを具体的に指します。同様に:

app.project

インデックスは、プロジェクト ウィンドウ内の項目のインデックス番号を表すか、レイヤーの名前を参照することもできます。

app.project.save([file])
一方、

アイテムは、プロジェクト内のアイテムのコレクションを指​​します。新しいコンポジションとフォルダーを作成するために使用されます。


フォルダーとコンポジション

これで、フォルダーとコンポジションについてうまく説明できます。

app.project.importFile(importOptions)

addFolder() は、プロジェクト用の新しいフォルダーを作成します。 name 引数が文字列 (" " または ' ' 内) であることを確認してください。

ただし、

addComp() には考慮すべき引数がさらに多くあります。これは、新しいコンポジションを作成するために必要な情報がたくさんあるためです:

Argument Description
name The name of the composition. Needs to be a string (in " " or ' ')
width The width of your composition
height The height of your composition
pixelAspect The pixel aspect ratio. You are almost certainly looking to set this to Square Pixels, which you can do by setting the ratio to 1. Any other pixel aspect ratio can be set by entering the correct ratio (for example, Anamorphic 2:1 can be set by entering 2, and D1/DV PAL Widescreen can be set by entering 1.46).
duration The duration of the composition in seconds
frameRate The frame rate of the composition

次のように、代わりにフォルダーを参照することで、フォルダー内に新しいコンプを作成できます。

app

アイテムのparentFolder属性を設定することで、事後でもアイテムをフォルダーに移動できます:

app.newProject()

コンポジションを作成したら、openInViewer() を使用してアクティブなアイテムとして設定できます

app.open(file)

これまで説明したことを少し利用して、新しいプロジェクトを開いて 2 つのフォルダーと 2 つのコンポジションを作成し、1 つのコンプをもう 1 つのコンプにプリコンプとして追加できる短いスクリプトを次に示します。

project = new File ("...FilePath/AE Project.aep");
app.open(project);

簡単なヒント

このスクリプトを実行した後、After Effects で「元に戻す」を押した場合、各アクションは一度に 1 つずつしか元に戻されないことがわかります。ほとんどの場合、これは理想的ではありません。スクリプトでは多くのアクションが実行されることが多く、非常に時間がかかり、エンド ユーザーにとって煩わしいものになります。

app.project

そこで beginUndoGroup() と endUndoGroup() が登場します。これらを使用すると、スクリプトのアクションをグループ化して、1 つの動作で元に戻すことができます。 undoString は、After Effects の「元に戻す」オプションの横に表示されるものです。スクリプト内に beginUndoGroup() のインスタンスが 1 つしかない場合 (自動的に閉じるため)、必ずしも endUndoGroup() を追加する必要はありませんが、スクリプトの末尾に追加することをお勧めします。スクリプトはきちんとしています。


結論

この記事が、After Effects スクリプトを作成する際に After Effects プロジェクトやコンポジションを参照する方法を理解するのに少しでも役に立てば幸いです。次の記事では、ユーザーがスクリプトを操作するためのポップアップ ウィンドウの作成について説明します。

ご質問はありますか?ここで何か問題があるのか​​、それとも機能していないのでしょうか?コメント欄でお知らせください。

以上がスクリプト: After Effects プロジェクトとコンポジションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。