編集(管理者用) | 編集 | 差分 | 新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴
== o ==
ねこまたや web出張所
INDEX

トップページ
お知らせ
twitter
お道具箱
技術資料と雑談
ライブラリ
雑貨や(ダウンロード)
最近の更新
ねこまたやについて

twitter

ねこまたやのついった

企画モノ

psAxe情報ページ
自主制作アニメ
ぽこあぽこ られんたんど


あやかしあやし
エフェクトネタ帳



りまぴん
AE エクスプレッション
レンダー乙女とか
簡易版XPSリンカ
おまけギャラリ

BBS

ねこまたやBBS
開発室BBS

Language



開発室みたいなものでしたが
spamアクセスがはげしいのでページは凍結中です。
書き換えは管理人のみが可能です。
Nekomataya/2024

レイヤ並び替え - [[PS_Script]]


目次

PS_Script

Photoshopレイヤの並び替え

きっと誰かがすでに書いているだろうと思ったが、なんだか見当たらなかったので自分で書いてみたですよ。

PhotoshopCS版です。まだCS2では動作確認してません。

アクティブなファイルのアクティブなレイヤと同階層のレイヤをレイヤ名で逆順に並び替えます。

逆順…アニメのセルを下から順に並べるためなので「逆順デフォルト」

正順の並び替えが必要な方は、末尾の関数コールの引数を"true"とか"1" とかに変更してください。

Photoshopで、レイヤを並び替えするときに使います。

レイヤの並び替えをしたいファイルを開いて、スクリプトを呼びます。

レイヤの数が1以下の場合は当然ですが何もしません。

名前で並び替えですが、同名のレイヤが2つ以上あった場合警告のみ行って、一つ目のレイヤだけが操作対象になります。

2個目以降のレイヤは放置されて並び替えたレイヤの下側に残ります。 必要ならば手作業で配置してください。

「背景レイヤ」は無視します。背景レイヤも並び替えの仲間に入れる場合は、ダブルクリック等で通常レイヤにしといてください。

レイヤセットの中身は並び替えしません。(レイヤセット自体は名前順に並び替えます)

レイヤセットの中身のレイヤを並び替えたい場合は、レイヤセットの中のレイヤをどれか選択した状態でスクリプトを実行してください。この場合はレイヤセットの外側には手をつけません。

ソース

/*	汎用レイヤソート関数
		アクティブレイヤの含まれるレイヤコレクションをレイヤ名でソートする。
		引数にfalseを与えると、逆順ソート(アニメのセルなら逆順が望ましい)
		同名のレイヤがある場合は、警告を出して処理は続行
*/

layerSort= function(revFlag){
	if(! revFlag) revFlag=false;//
//	アクティブレイヤのトレーラーをターゲットにセットする
	var myTarget=activeDocument.activeLayer.parent.layers;
//	並び替え対称のレイヤが1つしかない場合は、並び替え不能なのでキャンセル
	if(myTarget.length<=1){return false;}
//	ソート用配列を作る
	var sortOrder=new Array();
	for (idx=0;idx<myTarget.length;idx++){
		if (myTarget[idx].isBackgroundLayer){
			continue;//レイヤが背景だったら無視
		}else{
			sortOrder.push(myTarget[idx].name);
		}
	}
		sortOrder.sort();//逆順並び替え
	if (revFlag){
		sortOrder.reverse();//正順並び替え
	}
//並び替えた配列から同名レイヤのチェック
	for (idx=1;idx<sortOrder.length;idx++){
		if(sortOrder[idx-1]==sortOrder[idx]){
			alert("同名のレイヤがあります。?n二つ目以降のレイヤは並び替えの対象になりません。");
			break;
		}
	}
	for (idx=0;idx<sortOrder.length;idx++){
		myTarget.getByName(sortOrder[idx]).move(myTarget[0],ElementPlacement.PLACEBEFORE);
	}
	return sortOrder;
}
//逆順でコール
layerSort(false);