生成AIでデザイナーでも自身でスクリプト生成ができる
アセット作成の際、書き出しやリネームなどの作業の自動化をされていることが多いと思います。
ただ、デザイナーの方が1からスクリプトやツール作成など行うにはコードの習熟などなかなか壁が高いと考えます。そういった場合、弊社ではChatGPTでスクリプト自体の生成行い、作業者各自に合った方法で時短を試みてきました。
今回はChatGPTでのスクリプト生成を用いた、アートボードのリネーム術をご紹介できればと思います。
使用ソフト
———————————————————————————————————-
Adobe Illustrator ChatGPT
———————————————————————————————————-
ChatGPTでのスクリプト生成
まず、ChatGPTに下記のメッセージを送信してください。
以下で指定するIllustratorのスクリプトを生成してください。
#内容
・アートボード名を上から順に一括でリネームするスクリプト
・ダイアログボックスを作成して、テキストエリアで名前リストを縦並びに入力できるようにしたい
・名前リストの入力は出来るだけ簡単にしたい
ChatGPTにテキストを送信すると、生成スクリプトと内容説明が記載されます。
スクリプトはウィンドウ右上の「コードをコピーする」でコピーされるので、txtデータにctrl+vでそのまま貼り付けを行います。
上記スクリプトを当てたところ、少し不具合があったためChatGPTへ修正依頼を何度か出しました。最終的には下記のスクリプトに落ち着いたので、こちらを参考にして下さい。
// Illustrator Script: Rename Artboards in Order with Specified Texts
// ダイアログウィンドウを作成
var dialog = new Window("dialog", "Enter Artboard Names");
dialog.orientation = "column";
dialog.alignChildren = ["fill", "top"];
// テキストエリアを作成
var inputField = dialog.add("edittext", [0, 0, 300, 200], "", { multiline: true });
// OKボタンを作成
var okButton = dialog.add("button", undefined, "OK", { name: "ok" });
// OKボタンの動作
okButton.onClick = function() {
dialog.close();
}
// ダイアログを表示
dialog.show();
// ユーザー入力を取得し、文字列として扱うためにキャスト
var nameString = String(inputField.text);
// 前後の空白を削除するカスタム関数
function trim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
// 入力が空の場合、スクリプトを終了
if (trim(nameString) === "") { // 空白文字も考慮してチェック
alert("No names entered. The script has been canceled.");
exit();
}
// 改行で区切られた文字列を配列に変換
var namesArray = nameString.split(/\r?\n/);
// 各名前の前後の空白を削除する
for (var i = 0; i < namesArray.length; i++) {
namesArray[i] = trim(namesArray[i]);
}
// アクティブなドキュメントを取得
var doc = app.activeDocument;
var artboards = doc.artboards;
// アートボードの数と指定された名前の数を比較し、必要なら警告を表示
if (namesArray.length < artboards.length) {
alert("Warning: There are fewer names than artboards. Some artboards will not be renamed.");
} else if (namesArray.length > artboards.length) {
alert("Warning: There are more names than artboards. Extra names will be ignored.");
}
// アートボードをリネーム
for (var i = 0; i < artboards.length; i++) {
if (namesArray[i]) { // 名前が提供されている場合のみ変更
artboards[i].name = namesArray[i]; // 各名前の前後の空白を除去
}
}
// 完了メッセージを表示
alert("Artboards have been renamed successfully.");
スクリプトを貼り付けたtxtデータの拡張子を「.jsx」に変えて保存。
今回はデータ名を仮で「script_ab-rename_illustrator」の形にしております。
(スクリプト名はご自身の任意で設定ください)
illustratorを開いてスクリプト実行
スクリプトが作成できましたら、アートボードをリネームしたいillustratorデータを開いてください。メニューバーの「ファイル > スクリプト > その他のスクリプト」から先ほど作成したjsxデータを開きます。
スクリプトを実行するとダイアログボックスが出るので
リネーム名をExcel等のリストから全選択して上から順になるように入力してください。
OKクリックでアートボードがリネームされ完了となります。
(※上から順番にアートボードに反映されます)
最後に
今回はillustratorでのChatGPTを利用したスクリプト生成にスポットを当ててきました。
上記以外にもスクリプト利用で時短できる部分は大いにありますので、こちらを参考にご自身のやりやすい形で工夫していただけると幸いです。
他のAdobeツールにも対応できると思いますので、ご興味があれば挑戦していただけると嬉しいです。
コメント