AE

今から20年くらい前、After Effectsのバージョン3.1から使い始めて、4.0や5.0へ進んでいく中、「After Effectsって、未来はどこまでバージョンがいくんだろうねえ。もしかして、バージョン20!‥‥なんてあったりして。うけけ。」と雑談しておりましたが、今やAfter Effectsはバージョン14。20もそう遠くない感じがしてきました。

 

アニメ業界では今でもCS5.5や6を使う会社も存在し、そのあたりもアニメ業界の今後の問題を象徴しています。実写作品のスタッフの方々と雑談をしていると、化石のようなバージョンを使い続けているアニメ制作現場の状況は、中々に忸怩たる思いに駆られます。

注)CS6はバージョン的には11ですが、年代的にはかなり前のバージョンで、私は職場や自宅では既にアンインストールして久しく、バージョンの内容も忘れております。CS6よりも古いCS5.5までになると、もはや霞むくらいにはるか昔の気がしますが、今でも使っている作品がある‥‥とは耳にしたことがあります。あまりにも古い機材を使い続けていると、機材更新の時に相当な物理的ショック(金‥‥ね)を受けると思います。恐ろしや。

 

After Effects自体にも、未来に生き抜くための課題は結構山積みのような感じです。今後はGPUなどを様々な処理に積極的に活用できて、とにかく速度向上を目指さないと、4K時代にAfter Effectsそのものが化石と呼ばれる日が来るかも知れません。ビデオプレビューなどの漠然と旧態依然とした、After Effectsの手つかずの旧式部分を、どんどん現在のニーズに合わせていく必要がありましょう。

 

一方で、After Effectsのスクリプト制御機能は、どんなに時代が進んでも、心強い味方です。

 

今どきのソフトウェアが、「こんだけ機能がミラクルになって、もはや、スクリプト制御なんて必要ないでしょ。だから、実装しないよ」とばかりにスクリプト制御機能を切っていくことが多い中、いざという時にスクリプトが使えるのと使えないのでは、状況への対応力が格段に変わってきます。

 

機能が豊富で未来的であることと、自動制御能力は、別腹です。

 

どんなに未来の映像を指向してても、やっぱりマウスとキーボードだけの手作業オンリーの選択肢しかないのは、制作体制の根本からドクトリンが変わってきます。手作業オンリーだったら、現場の生産計画や技術を低く見積もらなければなりません。可能を不可能と判断する愚行すら起こり得ます。

 

 

とはいうものの、スクリプトはやはり敷居が高く感じますし、実際に言語ガイドは英文オンリーで迷うことも多いです。

 

私の実感からして、After Effectsのスクリプトは、3つのポイントを踏まえれば、初心者でもイケそうに思います。

 

  • オブジェクトの継承(インヘリタンス)に気を使う
  • オブジェクトの階層構造に気を配る
  • オブジェクトとコレクションの扱いを理解する

 

‥‥の3つくらいかな‥‥と思います。あとは、普通のJavaScriptが展開されるだけです。

 

After Effectsの場合、様々なオブジェクトを扱います。レイヤーアイテム、コンプアイテム、AVアイテム、レンダーキューアイテム、アウトプットモジュール、etc...。

 

これらのオブジェクトの性質がどのような特徴を持つのか、把握しなければ扱いようがありません。また、どういう階層に存在するのかを把握しなければ、参照して情報を得ることすらできません。

 

そして意外に躓きやすいのが、After Effects独自のオブジェクトの扱いです。納得できれば、取り扱いに手を焼くこともないですが、特に初心の頃ですと、配列(単純な配列(Array)、ハッシュ、ディクショナリなど)の扱いそのものに手を焼くので、「コレクション」などという配列めいたオブジェクトに混乱するのです。

 

コレクションオブジェクトを理解できていないと、結構、色んなことができないですもんネ。

 

例えば、プロジェクト内の1番目のアイテムの名前を得るには、

 

app.project.item(1).name;

 

‥‥か、

 

app.project.items[1].name;

 

‥‥です。

 

アイテムを直に参照する場合は、[ ] ではなく ( ) を使い、なおかつ、インデックス番号が0ではなく1から始まるのも特徴です。

 

もし、配列を使った場合、このようになります。

 

var myArray = [app.project.item(1)];
myArray[0].name;

 

自分で生成したArrayの場合は、当然のことながら、JavaScriptのArrayを使うので、インデックス番号は0からスタートします。

 

これねえ‥‥、初心の頃だと、混同するんだよね‥‥。

 

 

でも、逆に言えば、そのくらいですかね、最初に気をつけておくべきことといえば。

 

あとは、レイヤーとして実体はあるものの、アイテムとしては存在しないテキストレイヤーとか、After Effectsの内部事情をおいおい理解していけば良いくらい‥‥ですかね。

 

 

ちなみに、After Effects流儀のインデックス番号に合わせて、ケアレスミスを防ぐには、Arrayの先頭にnullでも入れとけば、番号を揃えられます。ノウハウとも言えないくらいシンプルな方法ですが。

 

var i=1;

var myArray = [null, app.project.item(i)];
myArray[i].name;

 

 

After Effectsならではの基本的なことを踏まえておけば、After Effectsのスクリプト作りは大して難しい事でもないのです。

 

基本的なところを踏まえずに、唐突に始めて、すぐに壁にぶち当たって‥‥みたいな、「独り相撲で難しく」しなければ、案外、After Effectsの自動制御は理屈で覚えられると思うんですよ。

 

でもまあ、その「基本の理屈」を教えられる人材に乏しいのも、アニメ業界の現場の行き詰まりではあるのですけどネ。構造を理解していない人が、短期で得たノウハウだけでプログラムを教えようとしても、学習する側の人間が余計混乱する事態を招きますしね。

 

 

After Effectsは設計こそ少々古さを感じる昨今ではありますが、名実ともに日本のアニメ業界を支えるソフトウェアです。日本のほとんど全てのアニメは、CoreRETASではなく、NUKEでもなく、After Effectsがコンポジットしているのですから。

 

After Effectsはエレガントではないかも知れませんが、「映像のクラフトマンシップ」に応える質実剛健なソフトウェアです。

 

After Effectsがもしバージョン20までいったら、ぜひ「Anniversary V.20」のイベントでも開けるといいですネ。



calendar

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
30      
<< April 2017 >>

selected entries

  • AE (01/19)

categories

archives

links

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM