動画ワークフロー覚書2;ファイルやり取り編&バッチ処理万歳編

今回は本当に動画作らん人にはどうでもいい覚えです。RETAS用にどうやって連番画像を処理して、フォトショとRETASとイラスタでやり取りするかと言う覚え。結構これが面倒くさいんだ、一個一個やってると…
いやあ、バッチ処理ってありがたいもんですね。ぶっちゃけImageReady持ってたらかなり作業が軽減されるんですが、今時CS無印、2のImageReady持ってる人も少ないだろうし汎用で役に立つようにフォトショのアクションとスクリプトで何とかやれるように考えてみました。

 

 

Stylosに持っていくPNGにする

 さて、前回の記事の終わりでAVIからBMPを切り出したのですが、今回はそれに大きさ変更などのバッチ処理をかけて一括で操作したいと思います。そのためにどっかのフォルダに該当の画像だけを集めておきます。

Stylosで扱うにあたりやるべき事は

・PNG形式にする(透明度を扱えるようにする。PSDが使えないので)
・大きさを1280×960、解像度144dpiにする(ライトテーブルのデフォがこの解像度なのでこれにしないと大きさ調整とか要らん手間がかかるため。また大きさはこの、完成MADの2倍のサイズで作画するため)
・白部分を透明にする(これをしないと白部分が邪魔してオニオンスキンが見れない)

の3つです。私が使ってるフォトショはCSなんでちょっと古いのですがアクション周りはそうそう変わってないはず。この3つの処理をアクションに登録しましょう。

1)PNGにするアクション

まず適当に上のBMPから一個ファイルを開いて、アクションを新規作成します。そして記録を開始して「別名で保存」でPNGに保存。つける名前とか場所とかは気にしないでいいです。保存し終わったら記録停止。

2)サイズ・解像度を変更
また新しいアクションを作り、記録を開始して、解像度を(縦横比率のチェックを外して)1280px・960px・144dpiに変更します。終わったら記録を終了。

3)白を透明にする
Vector:White Eraser 2 (WindowsNT/2000/XP/Vista / 画像&サウンド) – ソフトの詳細
http://www.vector.co.jp/soft/winnt/art/se476044.html
ここからダウンロードしてきて適当なところに解凍し、アクションパレットのメニューの「アクションの読み込み」でパレットに取り込みます。この場合使うのは白を透明に(RGB)です

これをかけると、インデックスカラーだったのがRGBモードになり白い部分がアンチエイリアスのかかった透明になります。まあアンチエイリアスはAnimanateeの作業上かかってないはずですけど。

で、アクションを新規作成し、記録して「白を透明に」を実行し、記録停止します。するとセット”white Eraser 2.atn”の実行~という行ができるはず。そこに、上で作ったサイズ変更と保存の行をドラッグしてきてくっつけます。これでバッチ用のアクションが出来ました。適当に名前をアクションパレットのメニューの「アクションオプション」から変更しておきましょう。

メニューの「ファイル」>「自動処理」>「バッチ」から、以下のように設定

セットとアクションで、今纏めたアクションを指定します。ソースは、処理したいBMP群を突っ込んだフォルダを「選択」ボタンを押して指定。実行後は「保存して閉じる」ですが、重要なのは「別名で保存コマンドを省略」のチェックを入れること。チェックが外れていると、保存のアクションを作った時に保存したファイル名とディレクトリの場所に入ってしまいます。チェックを入れると、上の指定したフォルダに、処理したファイルの名前そのままで保存されます。この場合PNGで保存するので、BMPとは別に同じファイル名で拡張子がPNGのファイルが生成されていくことになります。

OKを押すと処理が始まります。一個一個開いて処理して閉じていくので少し時間がかかりますがのんびり待ちましょう。

 

RETASでの準備

RETASでこのファイルをブラッシュアップと撮影に使えるようにするための下準備をします。

まず、先の作業で出来たPNGをカットフォルダの中に放り込みます。カットフォルダはRETASで作業する際に、動画の1カット1カットごとに使う画像を入れておくためのものです。Stylosでは割り切ってタイムシートは作らないので、いきなり動画のフォルダ「Inbetween」の任意のアルファベットのフォルダに入れてしまいます。

でStylosの「ファイルブラウザ」で放り込んだフォルダを見るとこんな感じなんですが、

その中から最初のファイルを開くとこんな感じ。

そして、放り込んだものを全部Stylosの独自形式にするためにバッチ処理をかけます。

バッチパレット(開いてなかったらメニューのウィンドウから開きます)。セット名の横の新規作成ボタンを押すとアクションセットを新しく作ることが出来ます。ここでは新規セット3と言うのを新しく作りました。


すると2行からなるセットが新しく出来ます。一行目ではバッチ処理で読み込むファイルを指定します。選択肢は「ファイル(ファイルを個別に指定してリストに追加)」「フォルダ(任意のフォルダの中身の画像全て)」「手前のセルの連番ファイル」。今回はすでに処理したい連番の先頭の画像が開いているので連番ファイル処理にします。


2行目は書き出すオプション。保存は「新規保存」「複製保存」「オーバーライト」から選べますが今回は拡張子だけ変更して名前は変えたくないので複製保存を選び、保存場所に隣のBフォルダを選びました。で、全実行ボタンを押します。するとバッチ処理が進んで、.dgaファイルがBフォルダにずらっと生成されます。

 

終わったら、1回今開いているのを閉じてまた開きなおします。するとこんな感じで、Bフォルダの中身も更新されます。で、ここでやるべきはリストの整理です。
・末尾0(ゼロ)のファイルのセル番号が空白になっているので、100をとりあえず入力(0単独では入力できない)
・下の段のように順番が番号順じゃない場合は、セルをドラッグして並べなおす

 

これでStylosでライトテーブルもちゃんと順番どおり登録されるようになりますので、ファイルの下準備はこれで終わりです。あとはStylos、CoreRETASでこれらのファイルを使っての作業になります。

RETASでの実際の作業とブラッシュアップは.dgaを使います。Stylosのタイムシートを、Animanateeで作業していた(この場合フレームレート8なので3コマ落ちで)コマ数に合わせて入力していき、確認しながら作画を進めます。もちろん連番だけど絵の内容がかぶってるコマまで馬鹿正直に作画はしなくていいんですよ。その辺はセルを分割するなりタイムシートを打ち直すなりで調整しましょう。

同時に演出も考えたいので、.dgaの入ったBフォルダをCoreRETASでセルバンク登録し、同じようにタイムシートを入力し演出をつけていきます。

 

 

CoreRETASで確認

Stylosでセル番号をちゃんと入力しておけば、CoreRETASで画像をひっぱってきてセルバンク登録をする際にもそれぞれに設定した番号が持ち越せるので便利です。

とりあえず確認のために、一旦.dgaの入ったBフォルダの中身をセルバンク登録しましょう。

設定するセルバンクのパレットを開いて、開くボタンを押します。

登録する画像を選んで、選択ファイルのみ登録と、カット情報からセル番号を取得するにチェックを入れて開きます。するとStylos側で設定したセル番号が持ち越されます。

カット情報を保持しているのは、フォルダの中の.cf6という拡張子のファイルです。Stylosでセル番号などがぐっちゃぐっちゃになった場合もこのファイルを一旦削除して立ち上げなおせば、ファイルプレビューワーの該当フォルダの並びがリセットされます。真っ黒なセルが消えない!とか困ってる方は試してみてください。

で、そのセル番号をタイムシートに入力していくわけですね。Stylosでブラッシュアップして保存したら、セルバンクの更新ボタンを押すと登録画像が最新の状態にリフレッシュされます。

ちなみにステージはデフォルトでは黒ですが、環境設定で変更できます。黒だと画像の線画が見えないと思いますので適宜変更してください。

 

 

Stylos作画ファイルからイラスタ(PSD形式)へ

下絵が出来たら、ペン入れと彩色をイラスタでやりたいので(Paintmanは慣れてないし、やっぱり最終作画としてはイラスタが慣れてるので)下絵を全部書き出したいんですが、やり方としては2種類考えられます。

・CoreRETASからAVIに書き出して、またBMPに切り出す
・.dgaからまたバッチ処理でPNGに書き出し、それをPSDに纏める

上は、どっちみち下絵と割り切って分割されたセルも一緒くたに出力したい時(まあCoreRETASで個別のレイヤーで表示してAVIにそれぞれ書き出すってのもありなんですが)、下はそれぞれ作画したレイヤーを忠実にファイルに出力したい時に使えばいいでしょう。
どっちにしても連番画像一枚一枚をイラスタで開いて…ってのははなはだ面倒なので、できればバッチで連番ファイルをひとつのPSDに纏めてしまいたい。そこでもうひと手間バッチ処理をします。

今度はアクションとスクリプトを利用します。

1)Photoshopで表示レイヤーを結合し、レイヤー名をファイル名に変更する – 448.jp blog
http://448.jp/blog/article/837/

2)クリエイター手抜きプロジェクト (Photoshop編) 複数ファイル/PDFを1ファイルにまとめる
http://www.openspc2.org/projectX/Photoshop/0028/index.html

 1)のスクリプトを実行するバッチ用のアクションを作るには、まずPNGファイル(一連の作業の最初のほうで作った奴でいいです。AVIから切り出したままのBMPだと、インデックスカラーだからかなぜかうまく行かない)を一枚開いて、アクションを新規作成し記録を開始します。そして1)で配布されてるJSXファイルをメニューのファイル>スクリプト>参照から開きます。するとファイル名がレイヤー名にコピーされ閉じるので、記録終了。そのアクションで上記のようにバッチ処理すると、一括で同様の処理がなされます。
ただし、PNGファイルのままでレイヤー名を変更して保存しても、次に開くと反映されていません。PSDに変換する作業を付け加えないといけないようです。そこで、スクリプトの末尾
// 保存して閉じる
myDoc.close(SaveOptions.SAVECHANGES);
を削除してしまいます。そしてアクションの末尾にPSDで保存を付け加えます。(バッチ実行時には別名で保存を省略すること)

2)は、スクリプトで指定した形式のファイルを指定するフォルダから一気に読み込み、ひとつのファイルに強制的に纏めてしまうもの。メニューのファイル>スクリプト>参照で、sample.js(Javaスクリプトなので適宜書き換えが必要)を読み込めば発動します。やる前に、1280×960、144dpiの新規ドキュメントを作っておくこと。
1)の作業は、ここでレイヤーごとに元ファイル名の名前を放り込むためのものなのです。が、このスクリプトだけでは不十分なので、1)と2)のスクリプトと
Photoshop CS自動化作戦 with JavaScript
http://www.openspc2.org/book/PhotoshopCS/
を参照してちょっと手を加えてみました。

[js]
// フォルダを選択するダイアログ
folderObj = Folder.selectDialog("フォルダを選択してください");
// その中からPSDを抽出しリストを作成
fileList = folderObj.getFiles("*.psd");

// リストの終端まで以下の処理を繰り返す
for (i=0; i<fileList.length; i++)
{
 
 // ファイルをオープンし、全体選択しコピー
 fileObj = new File(fileList[i]);
 open(fileObj);
 activeDocument.selection.selectAll();
 activeDocument.selection.copy();
 
 
// フルパスを取得する
var fpFullPath = activeDocument.fullName.fsName.toString();
// パスを取得する
var fpPath = activeDocument.path.fsName.toString()  + "\\";
// 拡張子をカット
var targetName = fpFullPath.substring(0, fpFullPath.lastIndexOf("."));
// パスをカットし、レイヤー名を取得
targetName = targetName.replace(fpPath, "");
 // コピー元のドキュメントを閉じて、ベースドキュメントに移りペースト
 activeDocument.close(SaveOptions.DONOTSAVECHANGES);
 activeDocument.paste();
 // ペーストして出来たアクティブになっているレイヤーに、取得したレイヤー名を入れる
activeDocument.activeLayer.name = targetName;

}
[/js]

 このスクリプトなら、纏められたファイルの中のレイヤー名もそれぞれ元ファイルの名前になっています。…ん?ってことは1)のバッチは掛けなくていいのか?2)だけでいいのか…

 

イラスタ(PSD)からCoreRETAS(PSD)&アクションのまとめ

アクションを纏めるとこう。それぞれをバッチ処理で用います。実際には「レイヤー名を変更してPSD変換」はバッチ処理しなくていいでしょう、必要があれば適宜ってことで。

最後の「PSDレイヤーを切り出し」は、イラスタで作業して1フレーム1レイヤー(もしくは1レイヤーセット)にしたPSDに纏めたものを、フォトショで個別のファイルに切り出すためのスクリプトです。(レイヤーセットに入っている場合はひとつのレイヤーセットの中身まるまるがひとつのファイルになります)
切り出したいPSDを開いて、こちらで配布されてるスクリプトをかけます。

[フォトショップ] レイヤーごとにファイルを出力するスクリプト | 香川県でホームページ制作とシステム開発を行う社長のブログ
http://blog.aulta.net/2009/08/31/%E3%83%95%E3%82%A9%E3%83%88%E3%82%B7%E3%83%A7%E3%83%83%E3%83%97-%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E3%81%94%E3%81%A8%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%87%BA%E5%8A%9B/

最初に書き出し先を聞かれますが、エクスプローラかなんかで該当のフォルダのパスをそのままアドレス欄からコピーして貼り付ければOK。PSD、PNG、BMP、JPEGを連続して書き出すのですが、都度ダイアログが表示されますのでいらない形式の時はキャンセルを押せばいいです。フォトショ標準でついてくるレイヤーをファイルにするスクリプトだと、生成されるファイル名になんか変な命名規則があるので、レイヤー名そのまま書き出せるこっちを使用しています。

で、PSDかPNGで書き出して、CoreRETASでセルバンク登録し、撮影すればよいでしょう。

Copied title and URL