Skip to main content
Participating Frequently
June 6, 2025
Answered

パスに沿ってオブジェクトを整列(徐々に縮小+回転)させたい

  • June 6, 2025
  • 6 replies
  • 1739 views

宜しくお願いします。

Illustrator 29.5.1 win11で使用しています。

 

パスに沿ってオブジェクトを整列(徐々に縮小+回転)させたいです。オブジェクトが等間隔で並ぶのではなく、オブジェクト同士の隙間が縮小したサイズに応じて狭くなるようにしたいです。 縮小率と回転角度は任意で設定したいですが約80~90%、5~10°程度、パスは曲線・螺旋です。

試行錯誤していますがうまくいきません。良いアイデアやヒントがあればご教授いただけると幸いです。添付図もご参考ください。

 

↓失敗したやりかたです。

 これくらいしか思いつきませんでした。

①図形をシンボル化>ブレンド>ブレンド軸を置き換え

 →図形の向きがうまくコントロールできない

 (ブレンドオブジェクトを回転させると個々の中間オブジェクトの向きが画面内でくるくる回転してしまう、これがバグなのか分かりませんが、どういう現象なのでしょう?)

 →間隔もコントロールできず図形が重なったり広すぎたりする

②「移動コピー+縮小+回転」をアクション化して直列に配置>等間隔になるので手作業で配置を詰める>「パス上オブジェクト」>アタッチ>ターゲットパスをクリック

 →等間隔に配置されてしまう

 

②の「手作業で配置を詰める」は後から意味がないことに気付きました・・・

直線上に配置であればこの程度の手作業は可能なのですが、曲線(や螺旋)に配置となると流石に無理があるため自動化の方法を探しています。スクリプトは未経験ですがヒントがあれば学習して取り入れたいです。

Correct answer higuchiyasuyuki

残念ながら、現時点ではパス上オブジェクトは等間隔にならんでしまうので、元の図形を変えておくことで疑似的に奥にいくほど間隔を狭くすることができます。

❶ガイドになるボックスと少しずつ回転しながら小さくなる図形を作成、ボックスと図形はそれぞれ1つずつグループ化しておきます。

この家の図形はシンボルに登録してあります。シンボルに登録しておいてから、ブレンドで中間の角度を大きさを決めています(シンボルにすると図形が破綻しづらいため)

❷グループ化をたもったまま、図形の位置の間隔が右に行くほど狭くなるように、位置を変えます。この時に見た目上間隔が空いたように見えていれば大丈夫です。

(グループ編集モードを使用するとラクです)

❸上記の図形一式をパス上オブジェクトとして配置すると下のようになります。この状態でも編集が可能なので、ボックスの塗りと線を無しにします。

 

6 replies

mayanori
Participating Frequently
June 18, 2025

こんにちは。

楽しいディスカッションですね!見逃していました。

 

すでに正解が付いているディスカッションに失礼いたします。

私も一つ方法を持っているので、紹介させて下さい。

なにかの時に参考にしていただけたらと思います。

 

結論から。

モチーフの回転は最後に手動で付けています。

自由曲線上で気持ちよくモチーフを転がすにはやはり微妙な角度でないとと思うからです。

 

概要です。

 

散布ブラシを利用して、モチーフを配置します。

そのために、パス上に孤立点を作成します。

孤立点に散布ブラシを設定すると、

登録したモチーフが単体で配置されます。

散布ブラシは、線の扱いになります。

登録したモチーフの大きさが、1ポイントの【線】になります。

1cmのモチーフを登録したら、 1ポイントで1cmの大きさのモチーフになります。

2cmにしたかったら2ポイント、5mmにしたかったら0.5ポイント。

といったように線の指定だけで大きさの変更が簡単で、拡大・縮小の比率も管理できます。

 

モチーフの大きさに比例した距離には、テキストを使います。

黒丸●を打ち込んで、一文字ずつ決まったポイント数で小さく(大きく)していきます。

トラッキングで、好みの間隔にします。

 

ここまでが前準備、次から実際の作業です。

 

1:まず直線を描き、先に作った黒丸●をパス上文字にします。

2:ベースラインを変更してパスに乗せます。

3:本ちゃんのパスに移して全体を整えます。

4:パス上文字を分割・拡張、個別に変形の拡大・縮小で孤立点に変換。

5:散布ブラシでモチーフの配置、個々のポイントを指定。

6:アピアランスを分割、個々のモチーフを回転。

※元パスはテキストパスになっちゃうのでコピーして取り置きしてください。

※修正・変更のため、3・5の作業も取り置きしておくことをお勧めします。

4の分割拡張(古いか?)はアウトラインを作成でいいです。どちらも同じ結果です。

 

手順を画像にしました。

 

 

どうにかして孤立点さえ作れば、どうにかなる(する)!っていう方法でした。

 

 

Omachi
Legend
June 7, 2025

ご参考まで。

InDesignの場合はアンカー付きオブジェクト(インライングラフィック)が使えるので、パス上文字として図形を配置できます。(Illustratorにはアンカー付きオブジェクトがないので、パス上文字は生かせずにパス上オブジェクトになってしまうのです)

図は個々の図形の回転は行っていません。回転を加える場合は縮小するタイミングで行ってください。(なお、螺旋の図形はInDesignにはないので、Illustratorで作成したものをコピペしました)

Participating Frequently
June 8, 2025

これが先コメントの必殺技の部分ですね。

実例を示して頂きよく理解できました。

なるほどソフトによって得手不得手がありますね。さらに奥が深い・・・

深い情報を有難うございます。

Community Expert
June 6, 2025

すでに解決済みですが、参考までにAfter Effectsと連携した方法を動画で添付しています。


尚、IllustratorとAfter Effectsのベクター画像を相互に連携するサードパーティのエクステンション「Overload」も必要になります。


変形状態のパスをIllustratorに戻すために、通常の使用方法とはかなり違うことをしています。


スクリプト(エクスプレッション)を使用しているので、計算式次第で拡大率の増減をコントロールできます。
エクスプレッションは下記を使用しています。

 

「位置」

n = 10;		//個数
nn = n - 1
k = 2;		//2番目のキー時間(秒数)
t = (thisLayer.index - 1) / nn;
st = k * t * t;
valueAtTime(st)

 

「スケール」

n = 10;		//個数
nn = n - 1
k = 2;		//2番目のキー時間(秒数)
maxS = 100;		//拡大率
t = (thisLayer.index - 1) / nn;
s = maxS * t * t;
value + [s , s]

 

「回転」

n = 10;		//個数
nn = n - 1
k = 2;		//2番目のキー時間(秒数)
maxR = 270;		// 最大角度
t = (thisLayer.index - 1) / nn;
r = maxR * t * t;
value + r
Participating Frequently
June 7, 2025

動画まで有難うございます!AEからイラレへ書き出す事も出来るのですね。

Overload早速ググりました。AE初心者ですがハードルが下がった気がします。

今回は別手法で製作しますが頂いたアドバイスで試したいことが増え表現の幅が広がりそうです。

 

ところでイラレのスクリプトはこのような事には不向きなのでしょうか?

【任意のパスに沿って[1つのオブジェクト>オブジェクトサイズ*n倍、右に複製>回転>縮小]をm回繰り返す】というような事を妄想していました。
(スクリプトはまったくの素人です)

Omachi
Legend
June 7, 2025

スクリプトの話が出たので。一番難しいのは「配置する座標を決める」ということです。そのポイントは2点です。

・直線ではなく任意のパスであること(直線なら簡単)

・等間隔ではないこと(等間隔なら問題ない)

2番目については、Mukaidaさんは「間隔を広げていく」という手法を取っていますが、こちらが一般的な手法です。その方が「初期値の間隔および個数」を決定しやすいからです。「間隔を狭めていく」方法ですと、間隔の限度値(これ以上狭めることはできない)およびパスの長さから「初期値の間隔および個数」を計算しなければなりません。

直線ではない形状のパスで、端点から任意の長さで指定した位置の座標を計算するのは結構面倒です。ベジエ曲線上の任意の座標を取得しなければならないので、よほど好きな人・興味がある人でないとやらないし、できないでしょう。(これは実はInDesignの方が楽だったりします。パス上文字という必殺技があるので)

higuchiyasuyuki
Community Expert
higuchiyasuyukiCommunity ExpertCorrect answer
Community Expert
June 6, 2025

残念ながら、現時点ではパス上オブジェクトは等間隔にならんでしまうので、元の図形を変えておくことで疑似的に奥にいくほど間隔を狭くすることができます。

❶ガイドになるボックスと少しずつ回転しながら小さくなる図形を作成、ボックスと図形はそれぞれ1つずつグループ化しておきます。

この家の図形はシンボルに登録してあります。シンボルに登録しておいてから、ブレンドで中間の角度を大きさを決めています(シンボルにすると図形が破綻しづらいため)

❷グループ化をたもったまま、図形の位置の間隔が右に行くほど狭くなるように、位置を変えます。この時に見た目上間隔が空いたように見えていれば大丈夫です。

(グループ編集モードを使用するとラクです)

❸上記の図形一式をパス上オブジェクトとして配置すると下のようになります。この状態でも編集が可能なので、ボックスの塗りと線を無しにします。

 

Participating Frequently
June 6, 2025

有難うございます。

ダミーオブジェクトと一緒にグループ化する方法はこのようにすればよいのですね!私が思いついた方法ではうまくできずに諦めたのですが、このやり方だとうまくいきそうです。後から編集可能なのも作業性が高くて有難いです。①のシンボル化の理由(図形が破綻しづらい)については同様に感じていましたところで、同じ方法を採られていて安心しました。

おかげでパス上オブジェクトがより使えるコマンドになり活用の巾が拡がりそうです!

Yamonov
Legend
June 6, 2025

こう……ではなくもっと、でしょうか

 

あ、そうか、曲線への配置ですね……

ブラシに登録しちゃうとか……だめか……

--Yamonov
Participating Frequently
June 6, 2025

有難うございます!

作っていただいた画像を見るとイメージ近いです!

大→小まで並べた後にブラシ登録するのは思いつきませんでした。

パスの長さとブラシの長さを合わせておく必要がある、という理解であっていますか?

たくさんのパスを組み合わせてパターン図柄にも展開しようとしているので、パスの長さも何種類かあります。といってもおそらく10~20程度なので気合でブラシを20個つくるかどうか・・検討してみます!

Yamonov
Legend
June 6, 2025

パスの長さとブラシの長さを合わせておく必要がある、という理解であっていますか?

 

パターンブラシに登録しておけば、変形されずに線の太さでいろいろ調整可能な感じではあります。ただ種類が多いと結構面倒かもしれませんね。

--Yamonov
akatsuki_obana
Community Expert
Community Expert
June 6, 2025

ブレンドなどでオブジェクトを作成し(て拡張してから)、

「パス上オブジェクト」でパスに這わせるのはどうでしょう?

Participating Frequently
June 6, 2025

返信ありがとうございます。

そのやり方も試してみましたが、「パス上オブジェクト」を使うとオブジェクト同士が等間隔の配置になってしまうのです・・・ 元質問の添付画像の失敗例②です。

Omachi
Legend
June 6, 2025

等間隔に配置した後、[遠近グリッドツール]で遠近グリッドを表示して、その後[遠近図形選択ツール]で複製してみました。やりたいことはこのようなことなのかなと思うのですが、いかんせんコントロールが難しい(どんなふうに動かせばいいかよくわからん)。