Skip to main content
Participant
October 3, 2022
Answered

scriptでエフェクトのパラメータ変更について

  • October 3, 2022
  • 1 reply
  • 498 views

scriptの勉強をしていまして、質問したくポストさせていただきます。


新規に調整レイヤーを作成しエフェクト「ディスプレイスメントマップ」を追加し
パラメータの変更をしたく、私なりに調べ


AC = app.project.activeItem;
ACW = AC.width;
ACH = AC.height;
ACD = AC.duration;

AC.layers.addSolid([1, 1, 1], "調整", ACW, ACH, 1.0, ACD).adjustmentLayer = true;
AC.layer(1).property(5).addProperty("ディスプレイスメントマップ")["最大水平置き換え"].setValue(10);


の様に記述し数字のパラメータの変更はできるようになったのですが


「マップレイヤー」の「参照レイヤー」や「ソース」の変更や
「最大水平置き換えに使用」を「明度」へ変更など
プルダウンメニューの変更の仕方が分からず困っております。


ご教示いただけませんでしょうか

This topic has been closed for replies.
Correct answer Mukaida

参照レイヤーだけですが、下記を追加してレイヤー番号を変更すれば適用できます。

 

AC.layer(1).effect(1)("マップレイヤー").setValue(1);

 

<追記>
他のプロパティも数値で入力できます。

AC.layer(1).effect(1)(1).setValue(1); //マップレイヤー:レイヤー1を選択
AC.layer(1).effect(1)(2).setValue(7); //水平置き換えに使用:明度
AC.layer(1).effect(1)(8).setValue(0); //出力を拡張:無効。有効=1


エフェクトプロパティの番号は、上から順番通りですが、マップレイヤーの2番目のメニューを書き換える方法は分かりません。

 

1 reply

MukaidaCommunity ExpertCorrect answer
Community Expert
October 4, 2022

参照レイヤーだけですが、下記を追加してレイヤー番号を変更すれば適用できます。

 

AC.layer(1).effect(1)("マップレイヤー").setValue(1);

 

<追記>
他のプロパティも数値で入力できます。

AC.layer(1).effect(1)(1).setValue(1); //マップレイヤー:レイヤー1を選択
AC.layer(1).effect(1)(2).setValue(7); //水平置き換えに使用:明度
AC.layer(1).effect(1)(8).setValue(0); //出力を拡張:無効。有効=1


エフェクトプロパティの番号は、上から順番通りですが、マップレイヤーの2番目のメニューを書き換える方法は分かりません。

 

ROOAuthor
Participant
October 4, 2022

早速、ありがとうございます。

「AC.layer(1).effect(1)("垂直置き換えに使用").setValue(7);」
で「垂直置き換えに使用」を「明度」に変更できました。

「AC.layer(1).effect(1)("エッジ動作").setValue(1);」
で「エッジ動作」の「ピクセルをラップする」のチェックが入りました

「setValue」の意味を根本的に勘違いしていたようです・・・

また、省略する書き方も不勉強でしたので
上記のようにベタ打ちしておりました。
合わせて大変助けになりました。
ありがとうございます。

Community Expert
October 4, 2022

動作して良かったです。


エフェクト内のプロパティについてですが、"垂直置き換えに使用"のように日本語表記にすると英語版など日本語版以外ではエラーが出て動作しません。
エクスプレッションでも同じです。


番号に変えるか、Match Nameという共通の名前に変えてあれば、全ての言語で動作します。
なので、英語版のユーザーが作成したスクリプトやエクスプレッションが日本語版で動作しないことも起こります。


これを覚えておけば、エラーが出た時に問題の箇所を探すのに役立つと思います。