リンクをクリップボードにコピー
コピー完了
スクリプト初心者です。スクリプトの勉強をしていて、以下の通りトランスフォームの位置を選択するスクリプトをみつけました。
var selLayers = app.project.activeItem.selectedLayers[0];
var Prop = selLayers.property("Position");
Prop.selected = true;
<質問1>
位置を次元分割した場合、上記の「("Position")」の部分は、X、Y、Zそれぞれどのように指定すれば良いのでしょうか。
例えば回転の場合は「("Z Rotation")」で指定できるのに、位置は「("Z Position")」では指定できません(スクリプトが反応しません)。もしくは、このコードではできない場合、他のコードを教えていただけると助かります。
<質問2>
初歩的な質問で申し訳ないのですが、1行目の「selectedLayers[0];」の「[0]」は何を意味しているのでしょうか。調べ方もよくわからなくて、すみませんがご教示いただけると助かります。
リンクをクリップボードにコピー
コピー完了
2行目は、下記に書き換えてください。
var Prop = selLayers.property("トランスフォーム").property("X 位置"); //日本語版の場合
[0]は、選択したレイヤーの内、最初に選択したレイヤーになります。
2番目に選択したレイヤーは、[1] です。
リンクをクリップボードにコピー
コピー完了
ありがとうございます!できました!大変助かりました。
[0]の意味もありがとうございます。なるほど、だから複数レイヤーを選択しても1つ目のレイヤーしか反応しなかったのですね。知識不足で大変恐縮ですが、「選択したレイヤー全て」でプロパティを選択したい場合は、「[0]」をどのようにすればよいのでしょうか。試しに消してみたら反応しなくなってしまい、方法がよくわからずすみませんがご教示いただけると助かります。
リンクをクリップボードにコピー
コピー完了
numLayers で選択したレイヤーの総数を求めて、for文で作業を繰り返す方法になると思います。
After Effects スクリプトリファレンス - numLayers
After Effects 自動化の書籍が出版されているので、読んでみると勉強になると思います。
<追記>
すいません、
選択レイヤーの総数は、
selectedLayers.length
の間違いでした。
リンクをクリップボードにコピー
コピー完了
選択レイヤー全てのプロパティを選択する場合は、下記になります。
var myLayer = app.project.activeItem.selectedLayers.length;
for(i = 0; i < myLayer; i++){
var selLayers = app.project.activeItem.selectedLayers[i];
var Prop = selLayers.property("トランスフォーム").property("X 位置");
Prop.selected = true;
}
リンクをクリップボードにコピー
コピー完了
ありがとうございます!さっそく教えていただいた書籍を読みながらforで作っていた所、なかなか反応しなくてどうしようか悩んでいたところでしたので、大変助かりました。
不勉強で本当に申し訳ありませんでした。
最後に頂いたコードを適用した所、思ったとおりに動きました。本当に助かりました。
リンクをクリップボードにコピー
コピー完了
After Effects 自動化の事例集を読まれていると思いますが、スクリプトの基本を勉強するには、JavaScriptを学ぶと良いです。
スクリプトは、AdobeのExtendScriptで作成しますが、JavaScriptのECMAScript 3(1999)が基になっています。
なお、エクスプレッションは、ECMAScript 2018が基になっているので、ExtendScriptより新しい機能が使用できます。
但し、JavaScriptのwebページ関連の機能はAfter Effects やPhotoshopでは使用しないので、参考書の大半は読まないかもしれません。
After Effects 自動化の著者が、「ExtendScript Toolkit 基本編」も書いているので、初めてプログラムを作成するなら参考になると思います。
リンクをクリップボードにコピー
コピー完了
ご丁寧に勉強の仕方まで教えて頂きありがとうございます!承知しました。JavaScriptも参考にしてみます。
書籍のご紹介もありがとうございます。こちらも見てみます!