Hope is a Dream. Dream is a Hope.

非公開ブログは再開しました。

読みこんだスライドショー用画像フッテージをフォルダに格納する | AfterEffects Scripts UI

スライドショーを自動で作成するとなると、写真・画像データが沢山でてきます。整理しよう!自動で!

たとえば、結婚式のスライドショーでは写真を50枚ほど使うのですが、これを読み込んでいたら、プロジェクトのなかが画像だらけになってしまって、非常に汚いです。AfterEffectsにはフォルダをお使って読み込んだ画像や動画等のフッテージを管理できます。これがGUIであれば"新規フォルダ作成"してドラッグ&ドロップでおわりなのですが、スクリプトでこれをやるのはどうすればいいのか。。調べました。

f:id:hope_is_dream:20150211030908p:plain

/** フォルダリング!! **/

// 写真用フォルダの作成
var photoFolder = app.project.items.addFolder("Photo ("+ (PhotoList.length-1) +")");
// 各写真フッテージのリストの親フォルダを変更する
var fNum = PhotoList.length;
for (var i = 1; i <= fNum-1; i++) {
    PhotoList[i].parentFolder = photoFolder;
};

// スライドページコンポジション用フォルダ
var pageFolder = app.project.items.addFolder("PageComp ("+ (PageCompList.length-1) +")");
for (var i = 1; i <= PhotoList.length-1; i++){
    PageCompList[i].parentFolder = pageFolder;
};

// スライドページコンポジションをまとめたフォルダ
var SlideShowFolder = app.project.items.addFolder("SlidePageComp");
photoFolder.parentFolder = SlideShowFolder;
pageFolder.parentFolder = SlideShowFolder;

f:id:hope_is_dream:20150211030856p:plain

このようなカンジになります。上のコードでは、スライドショーでつかう写真・画像データを`PhotoList[i]'として配列で持たせています。(写真が50枚であればPhotoListの中身も50個となるわけですな)

そのPhotoList[]を取り合えずfor文ですべてをまわします。そのとき行っているのが、各PhotoListの親フォルダを、先ほど作ったフォルダに変更している。それだけ。簡単。

なんか遠回りな気がするので、もし他の良い方法があれば教えて欲しいです。