Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

プロパティが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