PhotoshopCS2用 『表示レイヤーを特定形式で書き出す.jsx』

名前グループ

last update : 2006/10/28


名前グループ

本スクリプトは、グラフィック制作現場における様々なニーズに対応できるよう、柔軟に設計されています。大抵の用途でしたら「基本機能」の項で挙げた機能で十分間に合うでしょう。

しかしそれでもまだ不足するケースはあります。

複数のレイヤーの中から対応するものだけ組み合わせたい場合などもそのひとつです。

そのような要望に応えために用意されたものが、名前グループの機能です。


ちなみにこちらのページで解説する機能は、設定ダイアログから操作する種類のものではありません。

特殊な法則に従ってレイヤーを命名する事でレイヤー同士の組み合わせをコントロールするという、命名法の解説となっています。

同名の対象レイヤーは結合

表示形式」のページで、複数のレイヤーをまとめてひとつの画像ファイルとして書き出す機能をご紹介しました。

しかし本スクリプトには上記の機能以外にも、複数のレイヤーを組み合わせて書き出すための、実に単純な法則があります。


それは、「同じ名前の書き出し対象レイヤーは結合※1される」という法則です。


「レイヤー名が同一」ではなく、「書き出し対象レイヤー名が同一」である点にご注意下さい。対象レイヤーとして設定ダイアログの左パネルにリストアップされた名前が同じ場合に限ります。

アルファベットの大文字と小文字は区別されません。

例:

レイヤー構成:
Abc
│  ├xyz
│  └xyz
Xyz
│ └xyz
xyz
レイヤーセットも含める場合の書き出し名:
Abc
Xyz┬(同名なので結合される)
xyz
レイヤーセットを含めない場合の書き出し名:
Abc_xyz┬(同名なので結合される)
Abc_xyz
Xyz_xyz
xyz

これ自体は高度でもなんでもない機能なのですが、以下に登場する発展型の素地となっていますので、まずはこの法則をご理解下さい。


名前グループの法則

名前グループとは、特殊な法則でレイヤーを命名する事によって、そのレイヤーの書き出し名をコントロールするという機能です。


名前グループは、レイヤー名に「|」(半角パイプ)を混ぜる事で定義できます。

「|」を含んだレイヤー名は「|」を境に分割され、それぞれがグループ名となります。そして、先頭のグループ名とそれ以降のグループ名が順に組み合わされた名前として、差分グループの数だけ書き出し対象に登録されます。

例:

レイヤー名:Spade|_J|_Q|_K
書き出し対象レイヤー名:
Spade_J┬(中身は同じ)
Spade_Q
Spade_K

上記の例では、「Spade|_J|_Q|_K」という1枚のレイヤーを、中身はまったく変えずに、名前違いの3つの画像ファイルとして書き出します。

※上記例の書き出し結果
サンプル

「||」というふうに「|」が連続して書かれると空のグループ名になり、先頭の基本グループ名のみが書き出されます。

例:

レイヤー名:Spade||_J|_Q|_K
書き出し対象レイヤー名:
Spade┬(中身は同じ)
Spade_J
Spade_Q
Spade_K

これらの機能はレイヤーセットでも同じ効果になります。

そして、名前グループの設定がなされたレイヤーセットは、レイヤーセットを対象に含めない設定でも強制的に書き出し対象となります。※2


さて、名前グループを用いる事によって同じレイヤーを複数書き出せる事はわかりましたが、それだけでは殆ど使い道がありません。これを踏まえた上で、下で登場する発展型の用法があります。


名前グループと関連レイヤーの結合

名前グループは、先頭のグループ名と、それ以降のグループ名との組み合わせになります。

ここで、先頭のグループ名を「基本名」、後続グループ名を「差分名」と呼ぶ事にします。

「Spade|_J|_Q|_K」というレイヤー名なら、「Spade」が基本名、「_J」「_Q」「_K」がそれぞれ差分名です。


さて「同名の対象レイヤーは結合」でご紹介した機能は、対象レイヤー名が同一の場合のみ書き出し時に結合される、というものでした。

実はもうひとつ、他のレイヤーと結合する条件があります。

それは、対象レイヤー名が名前グループの差分名と同一の場合も、書き出し時に結合されるというものです。

例:

レイヤー構成:
//Rank
│  ├_J
│  └_Q
│  └_K
Spade|_J|_Q|_K
書き出し対象レイヤー名:
Spade_J(「Spade|_J|_Q|_K」+「_J」)
Spade_Q(「Spade|_J|_Q|_K」+「_Q」)
Spade_K(「Spade|_J|_Q|_K」+「_K」)
_J
_Q
_K
※上記の例の書き出し結果
サンプル

これを応用する事で、複数×複数のレイヤーの全組み合わせパターンを書き出す事も、容易に実現します。

例:

※「ランク:3種類」×「スーツ:4種類」の12通りの組み合わせ
※4種類のスーツのみ書き出した場合
サンプル
組み合わせ用レイヤー構成:
//Rank
│  ├_J
│  └_Q
│  └_K
//Suit
   └Spade|_J|_Q|_K
   └Heart|_J|_Q|_K
   └Dia|_J|_Q|_K
   └Club|_J|_Q|_K
書き出し対象レイヤー名:
Spade_J
Spade_Q
Spade_K
Heart_J
Heart_Q
Heart_K
Dia_J
Dia_Q
Dia_K
Club_J
Club_Q
Club_K
_J
_Q
_K
※上記の例の書き出し結果
サンプル

書き出し除外記号

レイヤー名の先頭に「*」(半角アステリスク)がある場合、書き出し対象としてリストアップされる際にはその「*」が取り除かれたものが対象レイヤー名となります。

そしてレイヤー名の先頭に「*」があった対象レイヤーは、実際にはファイルとして書き出されなくなります。


これは前述の「名前グループと関連レイヤーの結合」の機能を利用する上で、特定のレイヤーを組み合わせ専用レイヤーとして用いたい時に役立ちます。

例:

レイヤー構成:
//Rank
│  ├*_J
│  └*_Q
│  └*_K
Spade|_J|_Q|_K
(ファイルタイプ:PNG)
書き出し対象レイヤー名:
Spade_J(「Spade|_J|_Q|_K」+「_J」)
Spade_Q(「Spade|_J|_Q|_K」+「_Q」)
Spade_K(「Spade|_J|_Q|_K」+「_K」)
_J
_Q
_K
書き出されるファイル:
Spade_J.png
Spade_Q.png
Spade_K.png
※上記の例の書き出し結果
サンプル

これにより余分なファイルは書き出されなくなるので、実行結果がすっきりします。

表紙 |
http://www.re-sonance.com | webmasteratmarkre-sonance.com | Copyright 2006 Saitoh Kagura.