公開日:2018年1月28日
A4やA3のドキュメントを4分割して、そこからラフスケッチを始めてアセット書き出し→清書という流れでイラストを描くことが多いのですが、良い構図を探るため、枠に対してグリッド(2*2や、3*3のガイド)を作りたいことがあります。
ドキュメント全体に引くことはさほど面倒でもないんですが、「選択範囲に対して」となるとちょっと面倒です。この工程を簡略化したくて書いたスクリプトです。Photoshopなんだしエクステンションにすばいいじゃんとも思いますが現状の私の技術ではスクリプトが限度ということでひとつ…
1.選択範囲を作成した状態で、スクリプトを実行します。
2.ダイアログが表示されます。2*2グリッドまたは3*3グリッドを作ることができます。作例では3*3グリッドを選択し、OKボタンをクリックしています。
3.指定した種類のグリッドが作成されます。
//選択範囲のバウンディングボックスにガイド
//ガイド引くグリッド数を設定
uDlg = new Window('dialog','選択範囲にガイド',[0,0,140,220]);
uDlg.okBtn = uDlg.add("button",[15,80,100,100], "OK!", { name:"ok"});
uDlg.rBtn1 = uDlg.add("radiobutton",[15,10,275,10+30], "2×2グリッド");
uDlg.rBtn2 = uDlg.add("radiobutton",[15,40,275,30+30], "3×3グリッド");
uDlg.cBox = uDlg.add("checkbox",[10,130,275,30+25], "現在のガイドを削除");
uDlg.center();
uDlg.show();
//[現在のガイドを削除]ボックスにチェックがある場合、既存ガイド及びガイドレイヤーを削除
if(uDlg.cBox.value==true)
{
app.activeDocument.guides.removeAll();
}
try{
var sel=app.activeDocument.selection;
var selBounds=sel.bounds;
var gds=app.activeDocument.guides;
var selWidth=selBounds[2]-selBounds[0];
var selHeight=selBounds[3]-selBounds[1];
//2×2グリッド
if(uDlg.rBtn1.value==true){
gds.add(Direction.VERTICAL, selBounds[0]);
gds.add(Direction.HORIZONTAL, selBounds[1]);
gds.add(Direction.VERTICAL, selBounds[2]);
gds.add(Direction.HORIZONTAL, selBounds[3]);
gds.add(Direction.VERTICAL, selBounds[0]+selWidth/2);
gds.add(Direction.HORIZONTAL, selBounds[1]+selHeight/2);
}
//3×3グリッド
if(uDlg.rBtn2.value==true){
gds.add(Direction.VERTICAL, selBounds[0]);
gds.add(Direction.HORIZONTAL, selBounds[1]);
gds.add(Direction.VERTICAL, selBounds[2]);
gds.add(Direction.HORIZONTAL, selBounds[3]);
gds.add(Direction.VERTICAL, selBounds[0]+selWidth/3);
gds.add(Direction.VERTICAL, selBounds[0]+selWidth/1.5);
gds.add(Direction.HORIZONTAL, selBounds[1]+selHeight/3);
gds.add(Direction.HORIZONTAL, selBounds[1]+selHeight/1.5);
}
uDlg.destroy();
}catch(e){
};
【魔王とアン -まったりゆったり世界征服】アン201801 | skskSketch 〜スケスケスケッチ〜