Archive for 2015年7月

tong Adobe JavaScript


2015年7月25日 02:44 by tong

前回投稿のエロゲ用動画作成は進んではいるのですが、AEとPhotoshopの連携で自分がやろうとしている事が世間様的あるいは業界的には異端なせいなのか今一つ使い勝手がよろしくないんですよね。
当座困っている事が2つあって、一つはAEはコンポジションのデュレーション(動画の尺)や背景色を一括して変更する仕組みが見つからなかったので一つずつチマチマ直していたんですけど1プロジェクト内のコンポジション数が150超えたり、そんなプロジェクトが恐らく50くらいあるのでとても手作業では追いつかない。

と言う事でAdobe JavaScriptと言うものを使って自動処理させることにしました。
内容はシンプルなものでプロジェクト内のアイテムをForループで一つ一つ調べてコンポジションなら背景色とデュレーションを決められた値に書き換えると言うもの。
面倒なのでインターフェイスとかも作らず背景色の指定とかもハードコーディングと言う超手抜きですが、今まで30分掛かって居た事が5秒で終わる、すばらしい(笑

もう一つはAEにPSDファイルを読みこませるとグループなどのレイヤー構造をコンポジションとしてプロジェクトに登録してくれるのですがコンポジション名=グループ名なところ。
例えば以下のようなレイヤー構造のPSDがあったとします。

頭横向き(グループ)
├目(グループ)
│ ├目 怒り(レイヤー)
│ ├目 普通(レイヤー)
│ ├目 泣き(レイヤー)
│ └目 笑い(レイヤー)
├口(グループ)
│ ├口 怒り(レイヤー)
│ ├口 普通(レイヤー)
│ ├口 泣き(レイヤー)
│ └口 笑い(レイヤー)
└頭ベース(グループ)
├頭線画
└頭塗
頭正面(グループ)
├目(グループ)
│ ├目 怒り(レイヤー)
│ ├目 普通(レイヤー)
│ ├目 泣き(レイヤー)
│ └目 笑い(レイヤー)
├口(グループ)
│ ├口 怒り(レイヤー)
│ ├口 普通(レイヤー)
│ ├口 泣き(レイヤー)
│ └口 笑い(レイヤー)
└頭ベース(グループ)
├頭線画(レイヤー)
└頭塗(レイヤー)
体(グループ)
├腕(レイヤー)

表情や顔の向きなどの差分があるので同じレイヤー名やグループ名のものがたくさんあります。
で、これをAEに取り込むのですが、右側の「理想」のようになってくれれば良いのですがプロジェクトのコンポジションは左側の「現実」のようになります。(チッ)

現実 理想





頭ベース
頭ベース
頭横向き
頭正面

頭横向き
頭横向き 目
頭横向き 口
頭横向き 頭ベース
頭正面
頭正面 目
頭正面 口
頭正面 頭ベース


要するにAEのプロジェクト内のコンポジション名にはPhotoshopの「上位のレイヤー名が飛ぶ」のでコンポジション名だけを見たのでは親レイヤーが何だったのかが分からないのです。
これを防ぐにはPhotoshop側のレイヤー名やグループ名を「上位レイヤー名も含めた形にしておく」事しかないのですが、これがレイヤーが大量にあってまた大変なんですね。(1ファイル毎でレイヤーを統合してもレイヤー、グループ合わせて500位にはなってしまいます)
でも、このままだと一々上位のコンポジションが何なのかを調べながら動画を作らなければならないのですが、まぁ非常に効率が悪いですわな。

と言う事で、これまた調べてゆくとPhotoshopでもAdobe JavaScriptが使えてレイヤー名を変更出来るみたいなんですね。さすがPro用のツールって所でしょうか。
Photoshop用のスクリプトはこれから作るのですが、一段落したらこう言ったツールもここで公開出来たらよいかなとか思ったりしてます。
まぁ、現在進行中のエロゲの方が先なのですが・・・

5月25日追記:実際に作ってみたらレイヤーの選択が遅い遅い。
レイヤー、グループ合わせて500程度のPSDで20分以上かかると言う体たらく・・・
割高になったサブスクリプションを正当化するためにどうでも良いタブレット用のデッサンツールとかより、こう言う所やファーストリリースのバグを減らしてマトモにするとかもっと力を入れるところあるでしょ。って感じですわ