AE/As3_ランダム画像組み合わせジェネレータ memo

2023年5月18日

Pythonでジェネレート画像とCSVの生成は出来た。これをどう使うのかはよく分かってない。

Animate(AS3)でもジェネレーターを作れるかもと思ってやってみたけど難しいな。

Animateで作った場合統合した画像の背景画像以外にドロップシャドウ等を追加したり出来る。UIも作れる。

画像を自動でダイアログを表示させずに保存させる事が出来ない。

100個位の生成ならチェックしながら保存するのは問題ないかな、ドロップシャドウや描画モード(スクリーン・乗算・オーバーレイ)を使いたいし。


「AS3でspriteをpngに変換し、自動でダイアログを表示させずに保存できますか?」とchatGPTに聞いたら「はい、できます」って言ってたけどな。

必要そうなボタンs

取り敢えず画像の読み込み、パーリンノイズ、ドロップシャドウは出来る、保存は1回1回だけど。自動でエンターキー入力はfocusがダイアログにあって無くて無理。

AS3では書き出しが面倒なので止め。After Effectsでジェネレートする事にしました。

外部にあるcsvから変数を所得 => その値を使用してレイヤー内のタイムリマップを変更 => PNGシーケンスで連番書き出し。

AEから書き出すので色々出来るようになります、エフェクト使用でのユニーク化。
なによりAdobe Illustratorからそのまま持ってきやすいのでPNG書き出したりしないでOK。
生成した(タイムライン)が残ってるのもきっと役に立つ。

あとはcsvの生成を生成するものを作る。AS3が楽だからAS3で多分、無理ならpythonのを画像書き出し部分だけコメントアウトして使う。
まずユニークな配列を生成する物、数値(AEで使う)と文字列(オブジェクト名/hat等)の2つ。


memo
Asset用のレイヤーは「タイムリマップを使用可能」にする。
ファイル / スクリプト / スクリプトを実行 から「Generator.jsx」を読み込み。
コンポジションのfpsは29.97から30に変更してある。
csvの数値はフレーム番号。
フル画質じゃないと変更がプレビューされない場合がある。

CSV書き出し用 完成

1万個生成程で重くなり10秒くらいかかる。特に確認用の関数が重い。

config用のjsonファイル。生成exeで読み込んで使う、無いと動かない。

配列の0番目にメタデータに書き込むアセット名、配列の1番目に出現数。

test:狂気のタイムライン

1000個テスト。JSXからの配置に1~2分。

書き出しはテキストのみで1分44秒。

フル画質にしないとレイヤー内のエクスプレッションが反映されない事がある(フル画質にするとOK)
本当に変更されてない事がある(コラップスにするとOK)

書き出し時の名前:name_[#].pngこれでname_0~name_999 [####]こうするとname_0000~name_0999。

AfterEffects

Posted by hipain