レイヤー名をナンバリング

ProcreateからPhotoshopに持ち込むと、レイヤー名が文字化けする。

 

‥‥開発元にフィードバックすれば良いのかな。単純な文字コードの問題ですよネ。

 

私は今はもっぱら手短なスクリプトばかり作ってますが、昔はIDE(って、今でも言います? 統合開発環境)を使ってソフトウェアを(稚拙なりにも)作っていたので、文字コードの扱いは厄介でした。テキストストリームの時に文字コードをちゃんと指定しないと、必ずと言って良いほど文字化けしてました。MacOSとOSXの端境期でしたので、SJISとUTFが入り乱れていたのです。

 

昔話はともかく、今すぐにはProcreateは治るまい。

 

まあ、Procreateに限らず、「名称未設定1」,2,3,4,....を1発リネームしたいことはありますよネ。作業の合間にこまめにリネームすれば良いんでしょうけど、矢継ぎ早に頭の中のイメージを描きまくる時はレイヤー名など御構い無しにテンポを落としたくないこともあります。

 

レイヤーフォルダ内のレイヤーのうち、可視状態のものだけをリネームするスクリプトは、あればあったで使い道はありそうです。

 

なので、早速作る。凄く簡単なのを。

 

*注意* スクリプトを実行する場合は、テストファイルで実行して動作を確認してください。あくまで「自己責任」で。

 

alert(main());

 

function main(){
    var ls=app.activeDocument.activeLayer;
    if (ls.typename!="LayerSet"){return ls.name+"は処理対象ではありません";}
    
    var layerList=[];

    for(var i=0;i<ls.layers.length;i++){if(ls.layers[i].visible){layerList.push(ls.layers[i]);}}//処理するレイヤーをリストアップ
    var num=Math.pow(10,String(layerList.length).length);//リネームする総数に応じて桁数を設定
    for (var i=0;i<layerList.length;i++){layerList[i].name=ls.name+"-"+(String(num+layerList.length-i).slice(1));}
    
    return String(layerList.length)+"レイヤーを連番リネームしました";

}

 

 

これを実行すると、こんな状態のが‥‥

 

 

‥‥以下のように、連番で下からリネームされます。

 

 

 

 

処理対象は、レイヤーフォルダの直下にある「レイヤー」(=ArtLayerとLayerSetの見境なし)です。ゆえに、フラット化したレイヤーだけでなく、複数レイヤーをまとめたレイヤーフォルダもそのままリネームします。‥‥たぶん(=試していない)。

 

リネームの基準を、「セル名+4桁連番」に固定したい場合は、以下のようなスクリプトで。

 

4桁固定だと、総数をあらかじめ取得する必要がないので、スクリプトの趣向も変えています。

 

alert(main());

 

function main(){
    var ls=app.activeDocument.activeLayer;
    if (ls.typename!="LayerSet"){return ls.name+"は処理対象ではありません";}

 

    var num=10000;//桁数を4桁に固定
    for (var i=0;i<ls.layers.length;i++){
        var lyr=ls.layers[ls.layers.length-1-i];//下のレイヤーから順番に処理
        if(!lyr.visible){continue;}//処理対象外(不可視)の場合はスキップ
        num++;
        lyr.name=ls.name+""+(String(num).slice(1));
    }
    
    return String(Number(String(num).slice(1)))+"レイヤーを連番リネームしました";
}

 

 

結果は、以下の通りです。

 

 

 

 

visible=可視〜「目玉」のアイコンを消しておけば、連番の処理対象から外れるので、任意のレイヤーのみ連番リネームできます。

 

 

 

 

この作業を、手作業でキーボードで打ち変えていたら、大した内容ではないですが、面倒で地味に時間を消費します。

 

人手だと地味に手間がかかる雑事を、10行程度の命令文を書いてコンピュータで実行するだけで、コンピュータは何の文句も不平も言わずに、超高速で片付けます。まさにコンピュータを使っている「わかりやすい利点」です。

 

 

 

現場の改革の要素は、ビッグなものからスモールなものまで、色々あって悩ましいです。

 

たとえ、将来に作業環境と待遇が改善されても、自分たちが「今欲しい」スクリプトは誰も作ってはくれません。スクリプトを書く知識を得れば、PhotoshopやAfter Effects、macOSやWindowsなどの様々な雑事を自動化できます。

 

でもって、スクリプトが思い通りに動作して、自分の雑事が軽減されると、何とも「愉快」。

 

実はスクリプトやプログラムは、面白いんです。‥‥ピタゴラスイッチのようなものですからネ。

 

 


関連する記事

calendar

S M T W T F S
   1234
567891011
12131415161718
19202122232425
262728293031 
<< January 2020 >>

selected entries

categories

archives

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM