• 締切済み

AEスクリプトで既に在る「Null」や「平面」をレイヤーに追加したい

AfterEffectsのスクリプトでどうしても分からないものがあります。 プロジェクトに既に存在する「平面」や「Null」をコンポジションに追加するにはどう記述すればよろしいでしょうか? 「.addNull(index)」等のメソッドでは、for文で複数コンポに作成した場合、大量の「Null」が作成されてしまいます。 どなたかご教授願います。

みんなの回答

  • curry_egg
  • ベストアンサー率100% (1/1)
回答No.1

はじめまして。 既にあるアイテムをコンポに追加するには 対象のコンポ.layers.add(対象のアイテム); になります。 addNull() や addSolid() だと新規作成されるので増えちゃうのはそのせいですね^^; 以下は参考程度に。エラー処理を入れていないのであしからずです。 プロジェクトでコンポを選んだ状態で実行すると、既にある平面とヌルのアイテムを選択コンポに追加します。 var allItems = app.project.items; //全てのアイテムを取得 var cellItems = new Array(); var actComp = app.project.activeItem; //選択コンポを取得 ii = 0; for(var i=1;i<=allItems.length;i++){ //[平面]、[ヌル]の両方とも "[object SolidSource]" なので、これで判別します if(allItems[i].mainSource == "[object SolidSource]"){ cellItems[ii] = allItems[i]; //"[object SolidSource]" だったら取得 ii++; } } for(var i=0;i<cellItems.length;i++){ actComp.layers.add(cellItems[i]); //選択コンポに取得したアイテムを追加 } と、いうところでどうでしょうか。 一応、6.5とCS4で動作確認しています。

関連するQ&A