まずは以下のサンプルをご覧下さい。
サンプル.psd
![]()
このPSDファイルのレイヤー構造は次のようになっています。
サンプル.psd
![]()
「square」という名前のレイヤーセット※1の中に「0」と「1」というレイヤーが格納されています。
「0」というレイヤーが、画面上で「0」と付記されている青い四角、 「1」というレイヤーが、画面上で「1」と付記されている緑の四角です。
それでは、このPSDファイルに対して本スクリプトを実行してみましょう。
スクリプトを実行した結果、次のようにファイルが書き出されました。※2
※スクリプト実行結果
![]()
この例では、各レイヤーがピクセルの存在する範囲で自動的に切り抜かれています。また、ファイル名の先頭には親レイヤーセット名が自動的に追記されている事もわかります。
そして、これらのレイヤーが元々のPSDファイル内でどの位置に置かれていたかの情報がテキストファイルに自動的に書き出されます。
座標リスト[サンプル].txt(x:110, y:84) square_1 (x:38, y:25) square_0
「square_1」というファイル名で書き出されたレイヤーは元々はレイヤーセット「suquare」の中の「1」というレイヤーで、それが置かれていた座標(画像の左上端位置)は、「画面左端から横に110pixel」「画面上端から縦に84pixel」の地点であった事がわかります。
このように、本スクリプトではPSDファイル内のレイヤーを一定のルールで書き出す機能に特化しています。
これはウェブデザインやゲームグラフィック制作時のチップ素材の切り出しにおいて威力を発揮します。
従来のアクションによるバッチ処理では、このような細かな設定を反映させる事ができず、仕方なく大部分を手作業で行っていました。時間と精神を削りながらの不毛な作業です。
Photoshopのバージョンが上がり、スクリプトファイルによる柔軟な自動化に対応してくれたおかげで、ようやくそんな作業にもさよならを告げる事ができました。
このスクリプトは、実際の製作現場で発生する様々なニーズに対応できるよう、改良を重ねたものです。
同じような作業をされる方には、靴屋の小人さんのように、きっと嬉しい働きをしてくれる事でしょう。