「Illustratorのいろんなランダム」スクリプト
Adobe Community The Japan Lounge のワンライナースレに投稿したところ。返信をいただけて、ちょっと嬉しくてたまらないので記事を書きます。
皆様の工夫がされたワンライナーのスクリプトは下記リンクをご覧ください。
ランダム系はスクリプトとして単純ながら、非常に便利なのものです。
模様を作るときなどが主な使い方になりますが、配色に煮詰まったときに使うと気分を変えることができます!
パネルに登録しているものからのランダムなので、ある程度方向性を制御できるのが肝です。
2022/03/11
こんなに見てもらえるとは思わず。嬉しいやら面映ゆいやらです!
思ったよりランダムに需要がありそうなので、テキストに適用するスウォッチランダムを追加しました。
スウォッチの中からランダムで「パス」の塗りに適用
(「塗りなし」「レジストレーション」除外)
for (var i =0; i < app.activeDocument.selection.length; i++){
app.activeDocument.selection[i].fillColor = app.activeDocument.swatches[Math.floor(Math.random() * (app.activeDocument.swatches.length-2))+2].color;
}
作例 1 (にじみのある水玉)
1. スウォッチをグラデーションのみにする
2. パスを選択して上記スクリプトを実行
4. ぼかし
作例 2(パターン塗り)
スウォッチをパターンのみにしてスクリプト実行
スウォッチの中からランダムで「テキスト」の塗りに適用
(「塗りなし」「レジストレーション」除外)
for(var i=0;i<app.selection.length;i++){
activeDocument.selection[i].textRange.fillColor=activeDocument.swatches[Math.floor(Math.random()*(activeDocument.swatches.length-2))+2].color;
}
作例
スウォッチの中からランダムで「パス」の線に適用
for(var i=0;i<app.selection.length;i++){
activeDocument.selection[i].strokeColor=activeDocument.swatches[Math.floor(Math.random()*(activeDocument.swatches.length-2))+2].color;
}
作例
線を適当に並べる
パスを選択し線幅ランダム(後述)のスクリプト実行
スウォッチを使用する色だけにする
パスを選択しスクリプト実行
スウォッチの中からランダムで「テキスト」の線に適用
(「塗りなし」「レジストレーション」除外)
for(var i=0;i<app.selection.length;i++){
activeDocument.selection[i].textRange.strokeColor=activeDocument.swatches[Math.floor(Math.random()*(activeDocument.swatches.length-2))+2].color;
}
作例
グラフィックスタイルの中からランダムで適用
(「初期設定のグラフィックスタイル」除外)
for (var i =0; i < app.activeDocument.selection.length; i++){
app.activeDocument.graphicStyles[Math.floor(Math.random() * (app.activeDocument.graphicStyles.length-1))+1].applyTo( app.activeDocument.selection[i] );
}
作例 1
複雑なグラフィックスタイルをランダム適用(労力の割に汎用性が低いので、複雑な形はシンボルを使う方がお勧めです)
1. 長方形作成しパスの分割
2. グラフィックスタイルを作成する
3. パスを選択しスクリプト実行
作例 2
単純なグラフィックスタイルをランダムで適用して、スウォッチをランダム適用する方が汎用性が高いですね。
1. 長方形作成しパスの分割
2. グラフィックスタイルを作成する
3. スウォッチを使用する色だけにする
3. パスを選択しスクリプト実行
「シンボル」をランダムに置き換え
for (var i =0; i < app.activeDocument.selection.length; i++){
app.activeDocument.selection[i].symbol = app.activeDocument.symbols[Math.floor(Math.random() * app.activeDocument.symbols.length)];
}
作例
1. シンボルを作成する
2. シンボルを適当に配置する
(個別に変形を使い、ランダムに配置と大きさを調整する)
3. シンボルを選択しスクリプト実行
おまけ 線幅のランダム
ワンライナーのスクリプトではないですが、短いので置いておきます。
変数の「min」「max」を書き換えることで線幅のランダム範囲を指定できます。
(function (){
var min = 5; //← この値が最小の線幅
var max = 30; //← この値未満の線幅になる
var selObjs = app.activeDocument.selection;
for (var n = 0; n < selObjs.length; n++){
selObjs[n].strokeWidth = (Math.random() * (max-min)) + min;
}
})();
スクリプトについて
作成環境 Windows10 Illustrator 2022 (ver26.0.3)