難しくないプログラム

ソフトウェアを作るために、プログラムのコーディングをおこなう‥‥というと、いかにも難しそうに聞こえますが、まずは身近なところから着手すれば、さして難しいものではありません。何度も書きますが、「プログラムは頭の良い人だけが作れる、難しいもの」という「イメージに負けている」だけです。

 

もしAfter EffectsやPhotoshopを使っている人なら、ESTKで自動処理のスクリプトを作って実行してみるのが、余計なお金もかけず、気軽な気持ちで習得を開始できます。

 

ESTKを用いた、Adobeソフトウェア自動処理の一番簡単な実行方法は、

 

エディタでソースコードを書く

エディタ上で実行する

 

‥‥という2ステップです。

 

After Effectsを起動して、ESTKのエディタも起動して、実行した際の送信先を「Adobe After Effects CC....(自分の使用しているバージョン)」にすれば、おもむろにソースを書いて、おもむろに実行できます。

 

ESTKは「Adobe ExtendScript Toolkit CC」という名前のフォルダでアプリーケションフォルダの中にあります。ない場合は、インストールされていないので、Adobeから入手します。Adobe CCを使っている場合は、CCのマネージャーアプリケーションから入手できます。

 

 

 

 

簡単な例をば。

 

After Effectsで何らかのコンポジションを開いておいて(もしくは新規コンポジションを作成して)、タイムラインにフォーカスを入れておき、以下の1行スクリプトを実行すると、コンポジションの尺が12秒に変更されます。

 

app.project.activeItem.duration=12;

 

日本語にすると、

 

アプリケーションのプロジェクトの現在アクティブなアイテムのデュレーション(尺)を、12にする。

 

‥‥です。

 

ドット「.」は、日本語で言うところの「の」を表します。

 

「=」は「...を...にする」、つまり値をセットする役割を果たします。

 

 

app.project.activeItem.frameRate=24;

//アプリケーションのプロジェクトの現在アクティブなアイテムのフレームレートを、24にする。

 

app.project.activeItem.frameRate=23.976;

//アプリケーションのプロジェクトの現在アクティブなアイテムのフレームレートを、23.976にする。

 

 

構造は簡単ですよネ。

 

何かの値を変更したい時には、マウスとキーボードで直に操作するだけでなく、上述の通り、スクリプト文でも遠隔操作で実行できます。

 

では、今度は「メソッド」を使って、「何かを変更」ではなく、「新たに作成」してみましょう。

 

app.project.items.addComp("新規コンポジションの自動作成テスト",1920,1080,1,6,24);

//アプリケーションのプロジェクトのアイテムに、新規コンポジションを名前「新規コンポジションの自動作成テスト」横「1920px」縦「1080px」ピクセルレシオ「1.0」尺「6秒」フレームレート「24」の設定内容にて追加する

 

 

 

結果は上図の通り。新規コンポジションを自分の思う通りの設定内容にて自動作成できます。

 

もっとエスカレートして、新規コンポジションを作った中に、新規平面レイヤーを作成し、さらに1秒で2回転動くようにエクスプレッションを設定して、モーションブラーによる像の流れも付けてみましょう。

 

本文5行のスクリプトになりますが、文1行ずつの内容はシンプルなので、めんどくさがらずにじっくり読めば、読み解けるかと思います。

 

var myCompo=app.project.items.addComp("新規コンポジションの自動作成テスト2",1920,1080,1,3,24);

//アプリケーションのプロジェクトのアイテムに、新規コンポジションを名前「新規コンポジションの自動作成テスト」横「1920px」縦「1080px」ピクセルレシオ「1.0」尺「3秒」フレームレート「24」の設定内容にて追加し、その結果を変数「myCompo」にセットする


var mySolid=myCompo.layers.addSolid([0,0,1],"回転針",40,800,1,myCompo.duration);

//myCompo(新規作成したコンポジション)に、新規平面レイヤーを色「ブルー」名前「回転針」横「40px」縦「800px」ピクセルレシオ「1.0」、尺「myCompoの尺と同じ」の設定内容で追加し、その結果を変数「mySolid」にセットする


mySolid.rotation.expression="time*360*2;";

//mySolid(新規作成した平面レイヤー)の回転プロパティのエクスプレッションを「時間x360度x2回転」にセットする


myCompo.motionBlur=true;

//myCompoのモーションブラースイッチをオンにセットする


mySolid.motionBlur=true;

//mySolidのモーションブラースイッチをオンにセットする

 

 

日本語で読み砕いた文を付けるとゴテゴテとしますが、スクリプト本文はシンプルにまとまっています。以下のように。

 

var myCompo=app.project.items.addComp("新規コンポジションの自動作成テスト2",1920,1080,1,3,24);
var mySolid=myCompo.layers.addSolid([0,0,1],"回転針",40,800,1,myCompo.duration);
mySolid.rotation.expression="time*360*2;";
myCompo.motionBlur=true;
mySolid.motionBlur=true;

 

 

実際にAfter Effectsで実行してみると判りますが、一瞬でコンポジションが出来上がります。同じことを手作業でやると、手際よく操作しても30秒くらいかかるのではないでしょうか。コンピュータだと1秒以下です。

 

 

まあ実際は、回転する針を自動で作成するニーズなんて無いとは思います。これはあくまで「どんなことができるか」の軽いデモではありますが、これを発展させると、「背景とセルをテンプレートのAEPに読み込み作業コンポに配置し、セル素材にはタイムシートを適用し、素組みの状態を作って、然るべきカット名で保存する」なんていうこともできます。さらには、作業者のアカウント名と日時をデータベースに記録し、コンポジット作業情報を更新する‥‥なんていう「連続技」まで可能です。

 

自動でコンポジット作業準備が整えば、あとはまさに「人間の出番」です。

 

人間が、その美意識を最大限に発揮させて、かっこよく美しい映像を作り出すのです。コンピュータでもできるような準備などに時間を割くことなく、人間だけができることのみに人間のリソースを投入するわけです。

 

胸を打つシーンを想像できますか? 作風に応じた描線の駆け引きができますか? 美しい色を彩れますか? 刹那の空気感を表現できますか? 人の機微を汲み取りモチベーションや士気を鼓舞できますか? ‥‥コンピュータにはできないことばかりです。だから人間が必要なのです。

 

一方、コンピュータだけが可能な「正確さと速さ」があります。

 

カットの命名規則を決める、サーバのフォルダ構成を標準化する、データベースサーバを稼働する‥‥など、いろいろな下地作りは必要ですが、それがまさに作業現場のシステム化であり、IT=情報技術の足場にもなり、結果的に作業の効率化にも繋がります。

 

やろうと思うからできるのです。やらなければ、何も始まりません。

 

 

これから先の未来は、デジタル作画、紙作画、3DCG、コンピュータ作画が入り乱れる「大混戦」の作業現場へと移行していきます。現場のハンドリングが今まで以上に大変になるのは解りきっています。

 

我々のスタンスは2つに1つ。ごまかし続けてさらに苦境に陥るか、積極的に迎え撃って勝ちを取りに行くか、‥‥です。

 

大混乱を迎え撃つには、現場の「プログラム苦手癖」を徐々に当事者自らが解きほぐして、人間とコンピュータの人馬一体で臨むのが肝要と心得ます。

 

コンピュータによって混乱する状況を、コンピュータの活用術にて相殺する。‥‥なんとも皮肉で痛快なことですネ。

 

 

 


関連する記事

calendar

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      
<< December 2017 >>

selected entries

categories

archives

profile

search this site.

others

mobile

qrcode

powered

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