スクリプト

なぜ?After Effectsの操作を「スクリプト」で効率化

スクリプトとは

Adobeソフト全般で、javaScriptベースの命令文を実行できる機能です。

検索すると多数の有用スクリプトが落ちています。既に使っている方はお分かりかと思いますが、拡張子が「.jsx」もしくは「.jsxbin」のファイルがスクリプトです。

「.jsx」はテキストエディタで開いて中のプログラムを見ることが出来、プログラムの書き方がかなり参考になります。

スクリプトを作る際は、通常はAdobeの「ExtendScript Toolkit」というプログラムエディタを使用します。After Effectsを同時に開いて、リンクした状態にすれば、書いているスクリプトをそのまま「ExtendScript Toolkit」から実行できます。

「.jsxbin」は、暗号化して中身を見られないように保存した「.jsx」です。スクリプト販売サイトなどで配布されている商用スクリプトは、容易に真似されないために暗号化でロックを掛けている状態です。

逆に自身が公開するスクリプトを真似されたくない場合は、「.jsx」を別に保存した上で、メニューから「バイナリ形式で保存」を選択すると、「.jsxbin」で保存できます。

.jsxbinをExtendScript Toolkitで開いたところ

「.jsxbin」は自分でも編集ができないようになってしまうので、編集可能なオリジナル「.jsx」は必ず別に保存しておいてください。

スクリプトで出来る範囲はマウスやキーボードで編集者が直接できる操作に限られます。「10個のレイヤーの位置を上から順にx=10ずつ増やしていく」などです。

手作業でもさほど難しいものではありませんが、さらに「隙間を広げて欲しい」という修正があった場合とても手間ではありませんか?

これを「選択したレイヤーの位置を上から順にxの位置をBずつ増やしていく」というエクスプレッションを仕込んでおけば大分楽にできますが、その仕込みがそもそも面倒という悩みがあります。

上記エクスプレッションを適用するスクリプトを作ってしまえば瞬時に対応が可能です。修正の際にはレイヤーを必要数だけ複製してからスクリプトを実行しBの数字を入力するだけです。レイヤーの位置を一つ一つ計算し、入力する必要がありません。

スクリプトはあくまで操作の自動化

逆に文字やオブジェクトを砕いて散らばらせるなど、エフェクトを使わなくてはいけない特殊効果は使えません。あくまで「ソフト操作の自動化」に限られますので、「シャターエフェクトを指定した数値で適用する」ことならできます

しかしAfterEffectsでは例えば「赤ラベルのレイヤーのみ全選択」や、「選択したレイヤーを等間隔で並べる」など、手作業では時間のかかる作業を簡単に、ミス無く行わせることができます。

コンピューターは複雑な計算を行うばかりではありません。単純な繰り返し作業をミス無く、素早く、長時間続けることができるのです。久しぶりの作業で忘れることもありません。

なぜ?スクリプトでの効率化

動画制作の作業の大半は修正、調整作業です。

これはクライアントからの修正指示に限りません。レイヤーのサイズをコンポジションに合うように変える、均等配置の距離を調整する、ちょうどいい不透明度に修正する。マウス操作でツールバーとタイムラインを行ったり来たり…キーボードショートカットを押したり…制作時間のほとんどを、この調整・修正作業に費やしているのです。

また、プロジェクトファイルが複雑になればなるほど、表現したいことは単純でも大量のレイヤーへの似た操作を余儀なくされる場面が多くあります。

これを自動化しようというのがスクリプトです。

ほぼ全てのメニューやボタンにアクセスできるよう、スクリプトで呼び出せる関数をあらかじめAfter Effects側で用意してくれているので、それを検索して自身の自動化したい操作をスクリプトとして組んでいくだけで制作作業を見る見る削っていけます。どうでしょう。ワクワクしてきますよね。


【基本的な使い方1】

基本的には

AfterEffectsがインストールされているフォルダ/Scripts/

の中にスクリプトファイル(.jsxファイル)を入れると、次回起動時から、Aeのメニュー>ファイル>スクリプトに表示され使用できます。

使用すると数値などの入力画面が表示されるもの、レイヤーを選択してから使用するものなど、アイディア次第で様々なスクリプトが生まれています。

【基本的な使い方2】

よく使うエクスプレッションや、何度も行う操作をスクリプトとして登録しておけば、それらの操作はスクリプトを実行するだけの時間で済みます。

当サイトで紹介したエクスプレッションはスクリプト化もしていきますので、気に入ったものがあれば是非普段の制作に取り入れて頂ければ幸いです。

【応用的な使い方】

パネル用に作られたスクリプトについては

AfterEffectsがインストールされているフォルダ/Scripts/ScriptUI Panels/

内にスクリプトファイルを入れると、次回起動時から、Aeのメニュー>ウィンドウに表示され、After Effectsのパネルとして表示させることができます。

パネルはAfter Effectsの他のパネルとドッキングできる点が異なり、自分が使いやすい配置でワークスペースとして保存しておくことができます。

常に表示しておくメリットはなにかというと、よく使うスクリプトを同じ位置にボタンとして表示しておけば、ペンツールを選ぶような感覚で、スクリプトを実行できてしまいます。

好きなスクリプトをまとめて表示してくれるものもあり、欲しい操作が全て手の届く範囲にある、スマートな作業環境を構築できます。熟練者ほどごちゃごちゃしたワークスペースを使っていますが、そう見えるだけで、長年の作業効率化の結果なのです。


初めは敷居が高く感じるスクリプトですが、私が実際に使ったもの、作ったもので導入のしやすいものから紹介していければと思います。

エクスプレッションの記事で作ったものもスクリプト化していき、解説のために作ったスクリプトも無料で公開しますので、是非スクリプトで出来ることの可能性を体験してみて下さい。

プログラムの考え方というものに触れて頂き、皆さんの「プログラム脳」を鍛え、アイデアやひらめきの一助となれば幸いです。

“面倒くさい”は最高のモチベーション

動画制作で私が実際に必要になった機能を、ある程度、スクリプトで実現してきました。当サイトの紹介記事で1つずつ解説・紹介していくので、自身の環境に合ったスクリプトが見つかれば是非勉強してみてください。

そして頻繁に行う操作があれば、スクリプトで自動化できないかと考えるのです。「この作業はプログラム化できる」と思えれば、あなたの脳は「プログラム脳」になってきています。

何の疑問も持たず手作業で行ってきた作業や、手作業ではとてもやってられない作業など、ひらめきは様々なところにあります。

スクリプトでのAfter Effects効率化は「面倒に気づく力」とも言えます。面倒くさがりの方ほど、プログラムは身に付きやすいと考えています。

「作業を効率化したい」というモチベーションがあるのですから、動画制作が好きで、面倒くさがりなら、After Effectsで動かすJavaScriptを勉強するいい機会かと思います。

次の記事から、実際に自分が頻繁に使うスクリプトや面白いアイディアがあれば紹介していきますので、あなたの動画制作に役立てば幸いです。

次回予告

次のスクリプト記事では、スクリプトでエクスプレッションを組み合わせたレイヤーを自動で生成する完動品を見て頂き、こんなことができるんだと漠然と把握してみます。

下記リンクから飛べます。

なぜ?After Effectsのレイヤーをエクスプレッションで効率化前のページ

メッセージアプリ風の画面出力スクリプト「faceLine.jsx」次のページ

ピックアップ記事

  1. なぜ?After Effectsのレイヤーをエクスプレッションで効率化
  2. amazonのスポンサー商品(広告)を非表示にするブックマークレット「amazO…
  3. なぜ?After Effectsの操作を「スクリプト」で効率化
  4. YouTubeで一時停止中のコントローラーを非表示にするブックマークレット
  5. フリーランスの開業届提出は開業freeeでとにかく簡単に

関連記事

  1. スクリプト

    使用フォント一覧をテキストファイル出力するスクリプト「exportFontName.jsx」

    実行すると、開いているaepファイルと同じフォルダに、使用フォント一…

  2. スクリプト

    裏面を非表示にするスクリプト「hideBackface.jsx」

    「3Dレイヤーの裏面を非表示にするエクスプレッション」をスクリプト化…

  3. スクリプト

    AEでも前方選択するスクリプト「selectForword.jsx」

    PremiereにはあるのにAfter Effectsにない標準ツー…

  4. スクリプト

    使用エフェクト一覧をテキストファイル出力するスクリプト「exportFxName.jsx」

    実行すると、開いているaepファイルと同じフォルダに、使用エフェクト…

  5. スクリプト

    2つのレイヤー間に他レイヤーを整列するスクリプト「alignBetween2Layer.jsx」

    root(はじめに選んだ)レイヤーとgoal(最後に選んだ)レイヤーを…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA