終了

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

Community Beginner ,
Jul 29, 2022 Jul 29, 2022

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

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

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

  • シェイプレイヤー
    • コンテンツ
      • グループ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」を作らずに、パスが「コンテンツ」の子になるようにすると上手くいくのですが、理由はわかりませんでした。

キーワード
エラーまたは問題 , スクリプティング
899
翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines

correct answers 1 件の正解

Community Beginner , Aug 02, 2022 Aug 02, 2022

解決しました。

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

翻訳
Community Beginner ,
Aug 02, 2022 Aug 02, 2022
最新

解決しました。

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

翻訳
レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines