透明シェイプレイヤを全解除するスクリプト
知り合いの絵描きさんの助言(通常レイヤ最強論)とペイントツールのブレンド演算周りの調査により、
最終加工以外は特殊なブレンドレイヤを極力使わないようにしていましたが、
ちょっと通常以外のレイヤを多用しなくちゃいけない用事ができたので、
前回の絵で(厳密には2つ前の非公開絵で)その制限を解除しました。
おかげでやりたいことがかなり簡単にできるようになりました。
さて、制限を解除するのはいいものの、それをすると
SaiからPhotoshopにもっていった時に透明シェイプレイヤをちまちま解除する
手間な作業が必要になります。
毎回毎回これを手動でやるのはあまりにもなので、
Photoshopの透明シェイプレイヤを全解除するスクリプトを
さくさくっと作ってみました。
var doc = app.activeDocument; function main() { var allArtLayers = new Array; var allVisibleInfo = new Array; getAllArtLayers(doc, allArtLayers, allVisibleInfo); for (var i=0; i < allArtLayers.length; i++) { if(!allVisibleInfo[i]) continue; doc.activeLayer = allArtLayers[i]; var idsetd = charIDToTypeID( "setd" ); var desc0 = new ActionDescriptor(); var idnull = charIDToTypeID( "null" ); var ref2 = new ActionReference(); var idLyr = charIDToTypeID( "Lyr " ); var idOrdn = charIDToTypeID( "Ordn" ); var idTrgt = charIDToTypeID( "Trgt" ); ref2.putEnumerated( idLyr, idOrdn, idTrgt ); desc0.putReference( idnull, ref2 ); var idT = charIDToTypeID( "T " ); var desc1 = new ActionDescriptor(); var idtransparencyShapesLayer = stringIDToTypeID( "transparencyShapesLayer" ); desc1.putBoolean( idtransparencyShapesLayer, false ); var idLefx = charIDToTypeID( "Lefx" ); var desc2 = new ActionDescriptor(); var idScl = charIDToTypeID( "Scl " ); var idPrc = charIDToTypeID( "#Prc" ); desc2.putUnitDouble( idScl, idPrc, 100.000000 ); var idLefx = charIDToTypeID( "Lefx" ); desc1.putObject( idLefx, idLefx, desc2 ); var idLyr = charIDToTypeID( "Lyr " ); desc0.putObject( idT, idLyr, desc1 ); executeAction( idsetd, desc0, DialogModes.NO ); } } function getAllArtLayers(obj, layersArray, visibleArray) { for( var i = 0; i < obj.artLayers.length; i++) { layersArray.push(obj.artLayers[i]); visibleArray.push(obj.artLayers[i].visible); } for( var i = 0; i < obj.layerSets.length; i++) { getAllArtLayers(obj.layerSets[i], layersArray, visibleArray); } } main();
【注意点】
1.表示設定になっているレイヤが対象です。
(親のレイヤセットが非表示で表示されていない場合でも対象レイヤそのものが表示なら処理)
2.マスク+スタイルを使っている場合、透明シェイプレイヤを解除するとガッカリすることが多いです。
3.何があるかわかりません、スクリプト実行前に必ず保存してください。
4.レイヤ数が多いと処理に結構時間がかかります。
5.PhotoshopCS以上じゃないと多分動きません。
6.使う場合は、自己責任でお願いします。
もっと、SAIの色味をフォトショップで再現するには
不透明と塗りを反転するスクリプト
レポート
半年前のアンケートとかでスコアの高かったモノをまとめた
— りょうご (@Ryogo_PL) April 28, 2025
『ちびキャラ用 コスチューム素材プラグイン Vol.4』を
公開しておきましたhttps://t.co/Rm9dts90Gx pic.twitter.com/CgfbKVUhUg
昔描いた 東方イラスト をマイブームな画風で描き直してみたシリーズ pic.twitter.com/AV9PMOWa5c
— りょうご (@Ryogo_PL) July 9, 2022