Skip to main content
Known Participant
October 14, 2022
Question

スクリプトで次元分割した位置プロパティを選択したい

  • October 14, 2022
  • 1 reply
  • 881 views

スクリプト初心者です。スクリプトの勉強をしていて、以下の通りトランスフォームの位置を選択するスクリプトをみつけました。


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]」は何を意味しているのでしょうか。調べ方もよくわからなくて、すみませんがご教示いただけると助かります。

This topic has been closed for replies.

1 reply

Community Expert
October 15, 2022

2行目は、下記に書き換えてください。

 

var Prop = selLayers.property("トランスフォーム").property("X 位置");  //日本語版の場合

 

 

 [0]は、選択したレイヤーの内、最初に選択したレイヤーになります。

2番目に選択したレイヤーは、[1] です。

hoshi999Author
Known Participant
October 15, 2022

ありがとうございます!できました!大変助かりました。

[0]の意味もありがとうございます。なるほど、だから複数レイヤーを選択しても1つ目のレイヤーしか反応しなかったのですね。知識不足で大変恐縮ですが、「選択したレイヤー全て」でプロパティを選択したい場合は、「[0]」をどのようにすればよいのでしょうか。試しに消してみたら反応しなくなってしまい、方法がよくわからずすみませんがご教示いただけると助かります。

Community Expert
October 15, 2022

numLayers で選択したレイヤーの総数を求めて、for文で作業を繰り返す方法になると思います。
After Effects スクリプトリファレンス - numLayers 

 

After Effects 自動化の書籍が出版されているので、読んでみると勉強になると思います。

 

 

<追記>

すいません、

選択レイヤーの総数は、

selectedLayers.length

の間違いでした。