ちくちく日記

DTP系備忘録。真面目にやってます。

Illustratorのアピアランス設定は、設定をかける手順によって結果が変わる

先日、Twitterの方で、Illustratorアピアランス魔人たちが盛り上がっていた話題がありまして。
Illustratorのふち文字を作った時にできる隙間をアピアランスで埋められないか?」というお題。

きっかけはハム子さん(@hamko1114)のこの発言から。


ここから、皆さんがアピアランスであーでもないこーでもないと試行錯誤がはじまって色々なやり方がためされ、これが正解だ!みたいな解もだされたのですが、まぁその辺の流れはtoggetterのまとめ(イラレ魔神たちの穴埋め談義)をみていただくとして。


私がその中で気になったのは

「まったく同じ(と思われる)アピアランスを設定しているのに、結果が違ってしまう」というもの。


二つの結果が異なるオブジェクトが発生するのはなぜ?


下の画像で確認していただくと、上と下のテキストはアピアランスパレットではまったく同じ設定になっているのに結果が明らかに違っている。

▲こちらのアピアランス効果は期待通り

▲こちらのアピアランス効果は期待とは違う

この二つ、見ての通り適用しているアピアランスは同じなんだけど、その効果をかける手順を変更してかけたもの。
どうやら効果のアピアランスをかける手順などが変わると(アピアランスパレット上では同一にみえても)結果が変わってしまうらしい。
手順を変えたと言っても、この二つの作成手順の違いは「パスのアウトライン」を最初から線を選択してかけたか、最初は全体にかけた後アピアランスパレット上で動かして適用範囲を線だけにしたか、というちょっとした違い。
普通のオペレーション内でどちらもありえる手順だ。


オブジェクトを詳しく見てみよう

そこでこの二つのオブジェクトをIllustratorデバッグパネル(オブジェクトの構造などをのぞく事ができます)で比較してみることに。Illustratorでデバッグパネルを出す方法はこちら

違いの部分をハイライト表示してみた。

▲期待通りのアピアランスのオブジェクト情報

▲期待とは違ったアピアランスのオブジェクト情報

わかりにくいので、違いの部分を拡大。
ここ、オブジェクトのパス情報が表示されている(…と思う)のだけど、明らかにパスの構造が変わっている。

▲こっちはパスの数が少ない

▲こっちはパスの数が(入りきらないほどに)多い

多分この違いが結果的にオブジェクトの見た目(効果の適用結果)の違いになっていると思われる。


なぜこうなったのか?

理由が知りたくて、デバッグパネルでオブジェクトを確認しながら、それぞれの作成手順を繰り返してみた。
その過程を詳しく説明するのはやめておく(デバッグパネルの文字を延々と並べる事になるからw)けど、その過程でわかった事。

オブジェクトに対して、アピアランス効果をかけると、ユーザーからは元のままのオブジェクトにアピアランスパネルで効果の設定がかかっているだけに見える(見た目は変わるけど、元のオブジェクトに変化はない)ように見えるけど、オブジェクト自体は内部で効果をかけられた情報を隠し持っている。

つまり「アウトライン」という効果をかけると、ユーザーからはアウトラインパスは見えないけど、オブジェクト内部ではかけられた時点のオブジェクトのパスが発生する

▲見えないけど、オブジェクトの内部には「アウトライン」のパスが発生している(こういうイメージ)

かけ終わったアピアランスアピアランスパネル上で移動させると、アピアランスの適用範囲が変わったりするけど、それは一度かけたアピアランスの上(つまり一度発生したパスなどの情報の上)にかけられることになる

アピアランスの適用範囲が変わるがそれはあくまですでにかかった効果の上に実行される(これもイメージ)

アピアランスパネル上での効果の移動では、すでにかかっている効果の範囲が変わるという感じで、内部にもっている(すでに適用された)パス情報などと影響しあってオブジェクトが変化する場合がある。
効果のかかり方はその効果がどういう手順でかけられたかによって変化する。ある部分にかけた効果をアピアランスパネル上で動かすといったささいな動作が影響する

だからアピアランスパネルの情報だけでは、そのオブジェクトにかかっている効果を完全に調べることはできない(そのオブジェクトに対して効果を適用した順番、適用した場所などの情報が重要だから)

むしろ、アピアランスパネルっていうのはオブジェクトに対して現状かかっている表面上の効果などを表示しているだけのもの。参考程度にはなるけど、100%ではない。


多分おおざっぱにいうとこんな感じなんだ。
もちろんこれは素人の考察なので、実際はもっと複雑だし、違う部分も多いと思うのだけど、何が言いたいのかというと
アピアランスパネルの情報だけでは、適用されたアピアランスを解析できない。入稿されたデータを見て、アピアランスのオブジェクトを変更(や作り直し)する必要があったとする。アピアランスパネルの情報通りにオブジェクトを作っても、手順が違っていると同じ効果はつくれない可能性がある。

まぁ単純に作り直すだけなら、一旦そのアピアランスをオブジェクトスタイルに登録して再適用するというのがいいだろうね。
ただ、問題なのは出力トラブルなどでそのアピアランスに問題がありそうってなったときに、なかなか解析がむずかしそうだなーというとこ。
アピアランスを作成した手順に問題があってトラブルが発生する可能性があるわけで、そこらへんの原因究明は大変かもしれない。

あとアピアランスを作る側の人がどうやったらイメージ通り(かつできるだけ安全で問題のでない)アピアランスが作れるかってことだけど「そのオブジェクトをアピアランスを使わずに作るときの手順を再現するように、アピアランスを設定していく」のがいいみたい。

例えば「アウトラインかける」→「パスファインダで分割する」→「ナカマドにする」この手順、アピアランスパネルを使えばどの効果からでもかけられるんだけど、やっぱり実際の手順にそってかけていくのがよい。

アピアランスパネルを使うと、後からかけた効果の順番を入れ替えたり適用範囲を変えたりが簡単に出来るんだけど、そうやって試行錯誤していると、想定どおりの効果がでないことがあるかもしれない。
そういう時は、一度最初に戻って、そのオブジェクトを実際に作るときの手順を考えながら効果などをかけ直してみる。
ああ、あと「アピアランスの分割」を使って、実際のオブジェクトがどんな感じになってるか確かめるのもいいかもね。

特に最近はアピアランスを使ってものすごく複雑なオブジェクト効果を作る人も増えてきたから、注意注意。