LoginSignup
2
1

More than 5 years have passed since last update.

aftereffects スクリプトでレイヤースタイル(境界線)を適用する方法

Last updated at Posted at 2018-04-30

スクリプトではレイヤーに境界線を追加できない!?

作成したレイヤーにはレイヤースタイルは存在するのですが、デフォルトでは隠れている状態でプロパティが有効でない状態です。

プロパティが有効に出来るかは
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の番号が取れます

光彩などの名前がわからないという方は
rd_gimmepropinfoなどのスクリプトを使ったら簡単に名前が取れます。

2
1
0

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
  3. You can use dark theme
What you can do with signing up
2
1