LoginSignup
4

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が更新されてプロパティが現れるようになります。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4