Skip to main content
Participant
July 29, 2022
Answered

スクリプトからシェイプレイヤーにプロパティを追加する方法がわからない

  • July 29, 2022
  • 1 reply
  • 927 views

現在スクリプトを学習中の者です。

以下のように、パスを含んだシェイプレイヤーをスクリプトから生成したいのですが、期待通りに動かず困っています。

作りたいレイヤーの構造は以下のとおりです。

  • シェイプレイヤー
    • コンテンツ
      • グループ1
        • パス
        • トランスフォーム:グループ1
    • トランスフォーム

 

このレイヤーを以下のスクリプトで生成しようとしています。

(function(){
    const comp = app.project.activeItem;
    if (comp instanceof CompItem){
        var trailLayer = comp.layers.addShape();
        var content = trailLayer.property("ADBE Root Vectors Group");
        var trailGroup = content.addProperty("ADBE Vector Group");
        trailGroup.addProperty("ADBE Vector Shape - Group");
    }
})();

実際にこのコードを実行すると以下のようなエラーメッセージが出ます。

 

Eval Error (#1): "After Effects エラー: この PropertyGroup には「ADBE Vector Shape - Group」という名前のプロパティを追加できません。

 

ドキュメントを繰り返し読んでも原因が分からず立ち往生しています。

なお、「グループ1」を作らずに、パスが「コンテンツ」の子になるようにすると上手くいくのですが、理由はわかりませんでした。

This topic has been closed for replies.
Correct answer Makoto25445218ffvm

解決しました。

プロパティの中にはエディタ上で表示されないものがあり、「グループ1」にも「コンテンツ」という見えない子プロパティがありました。本来であればその「コンテンツ」プロパティにパスを追加しなければいけないところを、「グループ1」に直接追加しようとしていたのが原因でした。

1 reply

Makoto25445218ffvmAuthorCorrect answer
Participant
August 2, 2022

解決しました。

プロパティの中にはエディタ上で表示されないものがあり、「グループ1」にも「コンテンツ」という見えない子プロパティがありました。本来であればその「コンテンツ」プロパティにパスを追加しなければいけないところを、「グループ1」に直接追加しようとしていたのが原因でした。