IntegerQ GeoLog

メモ、覚え書き、もろもろ...

← 2008/7 →

1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
My Yahoo!に追加 RSS
Counter

2008/7/24 (木)

RAネタ、その8a「コンポジションの尺を変更」

今回はコンポジションの長さ/尺を変えるスクリプトです。‥‥が、簡単そうに見えて、実は結構厄介なのが、コンポジションの尺の変更です。何が厄介かと言うと、‥‥まあ、やってみれば解ります。

コンポジションの尺を変える事自体は、とても簡単です。

任意のコンポジション.duration=任意の秒数;

‥‥たった、これだけです。どこにも難しい点はありません。

プロジェクト内のコンポジションの尺を全変更するのも、for構文でパパパのチョイナ(ちょっと古すぎるか‥‥)です。
main();

function main(){
var fps=24;
var modDur=getSeconds(prompt("0+0書式で入力してください","","変更後の尺を入力"),fps);
if(!modDur){return;}

var p=app.project;

for(var i=1;i<=p.numItems;i++){

var itm=p.item(i);
if(itm instanceof CompItem){itm.duration=modDur;}

}

}


function getSeconds(str,fps){
if(!str){return false;}
var arr=str.split("+");
while(arr.length<3){arr.unshift("0");}
var res=(Number(arr[0])*60)+(Number(arr[1]))+(Number(arr[2])/fps);
if(!res){alert("入力した値が不正です\r[ "+str+" ]\r上記入力にてエラーが発生しました");}
return res;
}


全てのコンポジションに尺変更を適用するスクリプトを作り、これで「完成!」と喜びたいところですが、‥‥時期尚早です。何故、尚早かと言うと、このスクリプトには、大きく欠けている部分があるからです。

上記スクリプトでうまくいくのは、「尺を短くする時だけ」です。長くした場合は、寸足らずのレイヤーだらけになります。


変更前の尺は、10+0

10+0を9+18に変更

万事うまくいった‥‥ように見えますが‥‥

今度は10+18に変更

あれまあ、寸足らずのレイヤーだらけ



作業者が手作業で全てのコンポジションの尺を変更する場合、単に「コンポジション設定」の尺を変更するだけではなく、レイヤーの長さも適宜調整して作業を完結しています。上記スクリプトには、その「適宜調整」のルーチンがポッカリ欠落している‥‥と言う訳です。

つまり、コンポジションの尺を変更すると言う事は、暗黙のうちに「レイヤーの面倒も見る」と言う事なのです。

こうした状況を前にして、「スクリプトによる操作は、人が状況を判断して、臨機応変に対処するようにはいかない」‥‥と考えてしまうのだとしたら、それは単に「観察や認識の不足」からくる大雑把な物言い‥‥と言わざる得ません。

たしかにコンピュータは人間の持つ「直感」や「感情」などを持ち合わせていません。絵コンテを高解像度でスキャンする事は出来ても、熟読し演出意図を汲み取る事はできません。お話を作ったり、美しい絵を描いたりするのは、人間がやれば良いのです。

‥‥しかし、寸足らずのレイヤーを伸ばす作業に、直感・美意識がどれだけ必要でしょうか‥‥?

少なくとも私は、レイヤーの尺/長さを調整する際に、「どこからともなくインスピレーションが湧き出て」調整しているのではなく、単に「状況をいくつかのケースにあてはめて、そのケースごとの対処をしている」だけです。まさか、レイヤーの尺調整に「神頼み」する人など、居まい‥‥。

「状況をいくつかのケースにあてはめて、そのケースごとの対処をする」‥‥ごく普通に考えて、プログラム化できそうな内容ですネ。あくまで「いくつかのケース」であって、「何千、何万、何億種類の、混沌とした組み合わせ」ではないのですから。

そこで単純に、「そうか。つまり、レイヤーのout点をコンポジションのend点に合わせれば良いんだ。」と考えがちですが、‥‥そんな簡単な話ではありません。自分自身が手作業で修正する際に、そんな安易なルーチンで、レイヤーのout点を調整しているのか、自分の脳内のルーチンを観察すれば解ってきます。

この「コンポジションの尺を変更」の話題は、結構長引きそうですので、「その8b」に続けます。バイビー。

作成者 ezura