数値でハンドルを操作するIllustrator用スクリプト
Illustratorのパスは「ハンドル」と呼ばれるUIを使ってセグメントの曲線を制御します。このハンドルは手動で操作するのが普通ですが、セグメントに対して左右のハンドルを均等にしたり、すべてのハンドルを同じ角度と長さにするのはなかなか大変だったりします。そこで、角度と長さを数値で指定しながら、複数のハンドルを一気に制御できるIllustrator用のスクリプトを作りました。手動では根気のいるような形でもすばやく作成できたりするので、意外と便利ではないかと思います。興味があればぜひ使ってみてください。
更新履歴など
GitHubのリポジトリをご確認ください
検証バージョン
Illustrator 2019〜2023
ダウンロード
インストール方法
ダウンロードしたファイルを解凍します。
所定の場所(後述)に「数値でハンドルを操作する.jsx」をコピーします。Windows版ではお使いのIllustratorの種類によって保存する場所が異なりますのでご注意ください。
Illustratorを再起動します。
ファイル > スクリプト > 数値でハンドルを操作すると表示されていればインストール成功です。
ファイルをコピーする場所
(ver)にはお使いのIllustratorのバージョンが入ります
本スクリプトは、2018以前では動作を検証しておりません
どのようなスクリプトか
選択したアンカーポイントやセグメントのハンドル(方向点/方向線)を数値で動かします。[角度]と[長さ]を数値で指定することで、手動では難しい正確な曲線を作成する助けになります。また、対象のハンドルすべてを連動して動かすことができるため、幾何学的な形を作ることも可能です。
使い方
対象となるパスオブジェクトやアンカーポイント、セグメントを選択します。(複数可)
ファイル > スクリプト > 数値でハンドルを操作するを選択します。
[角度]と[長さ]のスライダーでハンドルを操作します。
[実行]をクリックします。
角度について
基準となるアンカーポイントからハンドルの先(方向点)までの角度です。-180°〜180°までの360°を指定できます。
角度の基準
A. ハンドルを新しく作る場合
隣り合うアンカーポイント同士を直線でつないだラインを0°とした角度です。つまり、0°にすればセグメントは直線になります。
B. 既存のハンドルを使う場合
もともとのハンドルの角度を0°とします。つまり、0°にすればもとのハンドルと同じ角度になります。ただし、あとで説明する[既存のハンドルをすべて新規に置き換え]オプションがオンの場合、既存のハンドルはリセットされるため「A. ハンドルを新しく作る場合」と同じになります。
長さについて
基準となるアンカーポイントからハンドルの先(方向点)までの距離を相対的に表す値です。0%〜200%までを指定できます。
長さの基準
A. ハンドルを新しく作る場合
隣り合うアンカーポイント同士を直線でつないだラインを100%とした相対的な長さです。つまり、0%にすればハンドルはなくなり、100%にすれば隣り合うアンカーポイントまでの距離と等しくなります。
B. 既存のハンドルを使う場合
もともとのハンドルの長さを100%とします。つまり、0%にすればハンドルはなくなり、100%でもとのハンドルと同じ長さ、200%で2倍の長さになります。ただし、あとで説明する[既存のハンドルをすべて新規に置き換え]オプションがオンの場合、既存のハンドルはリセットされるため「A. ハンドルを新しく作る場合」と同じになります。
オプションについて
ハンドルの動き方や操作の対象となる範囲を調整するいくつかのオプションを利用できます。少しややこしいので、自分のイメージする操作ができるようにオンオフを切り替えつつ試してみてください。
[2023.07.30追記]
以下に動画付きでツイートしていますので、合わせてご覧ください
既存のハンドルをすべて新規に置き換え
もともとセグメントにハンドルが存在している場合、すべてのハンドルをリセットして新規に作成しなおします。もともとのハンドルの有無に関わらず、すべての角度と長さを連動させて同じにしたいときオンにします。逆に、もともとのハンドルを基準に操作したいときはオフにします。
既存のハンドルのみ操作
実行前に存在しているハンドルだけを対象に操作します。ハンドルが存在しないセグメントに新しくハンドルが追加されることはありません。
既存のハンドルを変更しない
実行前に存在しているハンドルは操作の対象から外します。[既存のハンドルのみ操作]がオフのときのみ有効です。
選択されたアンカーポイントのハンドルだけ操作
選択されたアンカーポイント(選択の表示が塗りつぶされたアンカーポイント)から出ているハンドルだけを操作の対象とします。特定のアンカーポイントのハンドルだけを狙って操作したいときオンにします。逆に、選択したセグメントを対象としたい場合はオフにするといいでしょう。
隣り合うハンドルの動きを反転
オフの場合は、隣り合うハンドルは鏡写しのように角度が反転されます。この動きを逆にしたいときオンにしましょう。
どのような使い方ができるか
開発中に事前にTwitterにてアップした動画があるので、参考までにご覧ください。いい使い方が思いついたら追加するかもです。
注意
実行前にドキュメントを保存しておくことをお勧めします
必要なオブジェクトが見つからないとき、選択が不適切な場合は処理を中断します
複合シェイプには対応していません
オブジェクトの種類や構造によって意図しない結果になる可能性もゼロではありません
免責事項
このスクリプトを使って起こったいかなる現象についても制作者は責任を負えません。すべて自己責任にてお使いください
OSのバージョンやその他の状況によって実行できないことがあるかもしれません。もし動かなかったらごめんなさい