レイヤーをランダムに操作するPhotoshopスクリプト

最終更新日
2017.07.23

選択したレイヤーセットの中にあるレイヤーをランダムに操作するスクリプトを作りました。

  • 位置
  • 透明度
  • サイズ
  • 回転

の4つが操作可能です。

位置以外は現在の数値から相対的でランダムになり、ジッター(振れ幅)が設定可能です。位置は、現在の位置からジッターを設定して移動させる事はできません。(特に位置に関してはもう少し精度を上げたいのであとで実装するかも)
完全にランダムな移動なので、特に位置に関しては目に見えて偏りが発生する場合があります。
一応これを回避するためグリッド分割して補正する機能を付けてみました。グリッドを設定するとある程度の偏りをおさえることができます。

使い方

レイヤーセット(フォルダ)を選択した状態でスクリプトを実行してください。
レイヤーセットの中の操作可能なレイヤー(レイヤーセットは除く)は全て操作されます。
操作したくないレイヤーがあれば「全てをロック」を掛けておいてください。

位置

  • ランダムに位置を移動させる
    位置の移動をする場合はチェックします(ジッターがないので)
  • グリッド分割
    ドキュメントの領域を縦横に分割して、それぞれのセルにある程度均等になるように配分します。
    4つレイヤーがあって、2:2で分割した場合、左上右上左下右下に分散されます。
    配分するセルのインデックスはランダムなので、一番上のレイヤーが常に左上とは限りません。
  • 領域割り込み
    0%だとグリッド内に配分されてグリッド上には配置されないことになります。
    50%だと隣接するセルの半分まで領域が割り込みます。
    セルの大きさよりもオブジェクトが大きい場合は勝手に割り込む場合があります。

不透明度

現在の不透明度から1%~100%まで設定できます。 0の場合実行しません。
例えば、現在の不透明度が50%でジッターが50(%)の場合は25%~75%の間の不透明度になります。

サイズ

現在のサイズから最小1%~100%(分縮小拡大)まで設定できます。0の場合実行しません。

回転

現在の角度から左右0~180度までを設定できます。180度にすると360度回転することになります。0の場合実行しません。

スナップショットを作成する

レイヤー数が多いとヒストリーログがたまって実行前に戻せなくなるので、なるべくチェックしておいてください。

その他

位置ランダムはグリッドを使用してもある程度偏りがでてきます。
ある程度ランダムにばらけさせたあと、選択モードを自動選択>レイヤーにして納得行く感じに微調整をおすすめします。
レイヤーセット内の各レイヤーにグループ化させているレイヤーもそれぞれ変形されます。予めスマートオブジェクト化などしておいてください。
CS5でしか試していないので他のバージョンで動かないかもしれません。(エラーの詳細を送ってくれれば対応できるかもしれません)

ダウンロード

GitHub(zip)