aftereffects スクリプトでレイヤースタイル(境界線)を適用する方法
スクリプトではレイヤーに境界線を追加できない!?
作成したレイヤーにはレイヤースタイルは存在するのですが、デフォルトでは隠れている状態でプロパティが有効でない状態です。
プロパティが有効に出来るかは
canSetEnabledで確認出来ます。
//例)
var check = app.project.activeItem.selectedLayers[0].property("ADBE Layer Styles").property("frameFX/enabled").canSetEnabled;
alert(check)
この場合falseが返ってきます。
普通に考えればaddProperty()を使って・・・
app.project.activeItem.selectedLayers[0].property("ADBE Layer Styles").addProperty("frameFX/enabled");
ですが、これを実行するとエラーが返ってきます。
エラーメッセージ
After Effects エラー
このpropertyGroupには「frameFX/enabled]***INDEXED_GROUPでもテキストアニメータープロパティグループでもありません。
解決方法はこちら
そこで私はコマンドIDを使用する方法を取りました。
レイヤーにレイヤースタイルの境界線を適用するコマンド。
app.executeCommand(9008);
//↓こんな感じで使います。
var commentLay = myComp.layers.addText("コメント");
commentLay.selected = true;
app.executeCommand(9008);
これで選択しているレイヤーに境界線が適応されます。
ただAEのバージョンが変わるとコマンドIDも変わるような記事を見たので、そこだけが不安です。
現状私が使っているAEのバージョン15.1.1(Build 12)では動いています。
IDがわからない。。。そんな時はこれ
var ID = app.findMenuCommandId("光彩 (外側)");
alert(ID);
これでIDの番号が取れます。
var ID = app.findMenuCommandId("光彩 (外側)");
alert(ID);
これでIDの番号が取れます。
光彩などの名前がわからないという方は
rd_gimmepropinfoなどのスクリプトを使ったら簡単に名前が取れます。
Author And Source
この問題について(aftereffects スクリプトでレイヤースタイル(境界線)を適用する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/TimeToEdit/items/0f4aa8dbc0b70abc9b8f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .