4
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

After Effectsのスクリプトでプロパティがhiddenの時に値をセットできない問題の回避方法

プロパティがhiddenの時

After Effectsでは特定のプロパティがオンでないと現れないプロパティがあります。
例えば、カメラレイヤーの目標点は1ノードカメラでは現れません。
cameraAnchor.png

エフェクトにも同様に特定のプロパティがオンでないと現れないプロパティがあります。
一例を挙げると、Optical FlaresPosition ZプロパティはPositioning ModeSource Type3Dの場合でしか現れません。

of positionz.png

もちろん、内部的には存在しているのでアクセスはすることが出来ますが、値をセットしたい場合などは異なります。
AEのスクリプトでは基本的にsetValue()などで値を設定していきますが、その対象のプロパティをオンにした直後に、そのままオンの時にしか現れないプロパティを操作しようとしても、以下のエラーが出ることがあります

hiddenErr.png

困ったことに、このhiddenかどうかは標準のスクリプトで判別する方法がありません。

解決方法

この場合は、エラーが出る直前にコンポジションの現在時間を操作することによって解決することが可能です。

time.jsx
var actComp = app.project.activeItem;
// このコードでAEのUIを更新してエフェクトプロパティがhiddenで値が更新できないエラーを回避する
actComp.time = actComp.time;

一見無意味なコードのように見えますが、AE側ではUIが更新されてプロパティが現れるようになります。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
4
Help us understand the problem. What are the problem?