Offset Layer Start Time

粗編されてる方に電話したら作業中、、、明日朝もらって月曜朝までにフィニッシュ出来るかな?

さて、レイヤーのスタート時間をずらしたい、1″6’22fの2秒半後は何時?テンパって作業してると単純な計算さえままならないので、簡単なスクリプトを突貫で作りました。レイヤーをドラッグ中「情報」パレットに「Δ」として表示されるんですけどね。

hTAEUtilityPalette

レイヤーを選択(複数も可)してオフセット時間を入力してボタンを押すだけ。in点では無くってスタート時間がオフセットされます、キーフレームも一緒についてくるって事です。上では時間を正しくコロンで記述していますが、「2.15」としてもかまいません。

ホントは選択したキーだけオフセットもやりたいんですが、またおいおいね。スクリプトがエラそうな名前なのは以後ゴテゴテと機能追加してくためです。初めてUIを持ったスクリプトを作りましたけど、これでええんかなぁ。

ちなみに、「Shift+Alt+j」で時間指定の代わりに「+」をつければ現在時刻をその分だけ移動できます。

これやってからShift押しながらレイヤーをドラッグしてスナップかけても良いんですが、おかしなところにスナップしたりしますもんね。


Affter Effects & ESTK: レイヤープロパティの調査

選択したレイヤーのプロパティをリストしてみる。レイヤーを一つ選択して実行。そのレイヤに属したプロパティ名がずら~っとコンソールに出力されます。

ダウンロード→propertyInfo.jsx

何故再帰的に処理してない?って疑問はさておき、何が知りたかったかと言うと、プロパティのMatchNameと呼ばれるものが欲しかったんです。

例えば位置(x,y)プロパティの値にアクセスするには、

targetLayer.transform.position.value;
targetLayer.position.value;
targetLayer("position").value;
targetLayer("トランスフォーム")("位置").value;
targetLayer.property(6).property(2).value

などなど、方法がたくさんあります。もちろん位置を知るくらいなら1行目の「targetLayer.transform.position.value;」のようにattribute(アトリビュート)で指定するのが分かりやすい方法です。

そのほかにもMacthNameと呼ばれるもの(結果のカッコの部分)でアクセスする方法もあるようで、

targetLayer("ADBE Transform Group")("ADBE Position").value;

としても同じ結果を得られます。attributeが分かっているものなら必要ないですが、ローカライズされていない名前なので、特にエフェクトのプロパティにアクセスするスクリプトを配布したい場合(日本語版以外でも動くようにする)にはこれで指定した方がいいのかなと思い、MacthNameをリストアップしてみました。ただそれだけっす。

以下、実行結果。
続きを読む “Affter Effects & ESTK: レイヤープロパティの調査”


Affter Effect & ESTK Code Snippets

AffterEffects用のスクリプト作成の際の断片集。たま~に少~しぐらいは役に立つことも書きますよ。

AfterEffects8(CS3)と付属のExtendScript Toolkit 2でのお話です。

まずはESTK側で操作対象をAfterEffectsに設定。

linkToAfx
操作対象の取得
一番よく使うのが選択したレイヤに対しての操作なので。

targetLayers = app.project.activeItem.selectedLayers;

これで、配列「targetLayers」にレイヤオブジェクトを取得できます。選択したレイヤを一つだけ取得したいなら、

targetLayer = app.project.activeItem.selectedLayers[0];

前後しますが、現在作業中のコンポジションを得るには以下。

activeComp = app.project.activeItem;

続きを読む “Affter Effect & ESTK Code Snippets”