「 illustrator 」一覧

inkscapeの半透明オブジェクト問題の検証

inkscapeで作られたデータは、SVG形式のままでは問題が発生する率が非常に高いため、基本的にPDF経由でIllustratorに読み込みます。この際に、半透明化の機能を使ったオブジェクトが消えてしまう場合があります。

まずはこの問題に対する有志による検証です。他にも発生しやすい問題がまとめられているので、inkscapeで折り図を描く(かつ投稿などをする)のであれば必読です。

https://sites.google.com/site/origamidiagramsstudygroup/guideline/inkscape

inkscapeでは、オブジェクトを半透明にする方法として、RGBA(赤緑青+透明度)のAの値を変更する方法と、不透明度の項目の値を変更する方法があります。このうち、不透明度を使った半透明オブジェクトがPDF読み込みの際に非表示の状態になってしまいます。ちなみにRGBAの方法であれば問題がなさそうですので、もし必要であればこちらを使うべきでしょう。

読み込んだデータを詳しく見てみると、不透明度を使ったオブジェクトは、色のついたオブジェクトに半透明のマスクをかけたような状態になっているようです。このマスク処理が読み込みの際に正確に反映されず、非表示もしくは完全に透明なマスクとして処理されているというのが原因だと考えられます。対してRGBAの方法を使ったデータの場合、オブジェクト自体に半透明の設定がされている状態になります。データの構造がシンプルな分、問題も発生しにくいのでしょう。

RGBA(アルファチャンネル)を使った半透明データをAIで読み込んだ場合の不透明度の状況。

ちなみに、強引な対処方法としては、正確に読み込めないオブジェクトを含むPDFを一旦別のアプリケーション(MacOS標準のプレビュー等)で開き保存し直すと、PDF自体が別エンジンで書き直されるのか読み込み可能な状態になります。ただしデータの構造等はひどい状態になり編集等に大きな支障が出る、また他の問題が発生している可能性もあるので、あくまで最後の手段とすべきでしょう。

そしてここからが新情報。今回の検証のため最新バージョンのinkscape(MacOS版1.2.1)で確認してみたところ、書き出したPDFが不透明度・RGBA共に半透明を維持した状態で読み込めることが分かりました。

PDFの情報を見比べてみると、書き出しに使われているcairoライブラリのバージョンが上がっていました。また、読み込んだデータを見てみると、オブジェクト+半透明マスクという構造自体は変わらないものの、この二つを含むグループに対して不透明度の設定がされていました。恐らく書き出されたPDFデータの構造などが改善されて、読み込みの精度が上がっているようです。

最新版inkscapeで書き出した不透明度を使ったデータをAIで読み込んだ場合。クリッピングで階層が増えていて、グループに対して透明度の設定がされている。

ということで雑にまとめると、

  • inkscapeのバージョンによって発生する問題は変わる。基本的に改善されているのでなるべく最新版を使うとよい。
  • 改善はされたものの、グループ状態の変化等で半透明化が解除されてしまう可能性もあるので、引き続きRGBA側の機能を使う方を奨励。

となります。

最後になりますが大前提として。異なるソフトウェア間でのデータの完全な再現は非常に難しく、発生した問題を発見し一つずつ検証・解決する必要があります。たとえ同じソフトウェアでも、バージョンやWin-Mac間の差でレイアウト等が再現されない場合もあります。精度の高いデータの変換・読み込みには、データを用意する側とそれを読み込む側の、双方の理解と準備・対策が必要になるのです。


折り図tips:共通のアピアランスを選択

Illustratorには、共通のアピアランス(塗りや線等の設定)のオブジェクトを選択する機能があります。

メニューの「選択」→「共通」→「アピアランス」にあります。

共通の「塗りと線」の場合、山折り線・谷折り線などの鎖線が区別されず選択されてしまいますが、「アピアランス」であれば同じ設定の鎖線等が選択できます。必要に応じて使い分けるとよいでしょう。


折り図tips:テキストの接続と分割スクリプト

Illustratorで使えるテキスト処理のスクリプト2種。折り図描きというよりは折り図編集に便利なもの。

joinTextFrames

複数行などに分かれたテキストを1つにまとめるスクリプト。PDFなど他の形式から読み込んだ際の手直しに使える。縦方向の行だけではなく、文字詰め等でバラバラになりやすい横方向にも繋げてくれるのが非常に便利。

http://www.wundes.com/JS4AI/

テキストばらし

こちらは逆に複数行のテキストを1行ごとにバラバラにするスクリプト。作品のタイトル等、スプレッドシートからコピペしたリストなどを分けるのに便利。

http://d-p.2-d.jp/ai-js/pages/01_scripts/text/index.html#10_split_text_line


折り図tips、 自由変形ツールがわりと便利

Illustratorには、「自由変形ツール」という機能があります。各種変形ツールを一つにまとめたような感じの、それなりに便利な機能です。 キーボードショートカットは”E”。単体キーです。「バウンディングボックス」と似ていますが(非常に紛らわしい)、こちらのほうが出来ることが多いです。Adobeももう少し機能を整理すればいいのに。

本題。普通に変形ツールとして使ってもいいのですが、特に拡大縮小とシアーを同時に使用する動かし方が折り図では便利です。

  • 変形させたいオブジェクトを選択
  • 自由変形ツールに切り替え
  • 四角く囲まれたバウンディングボックス的な枠の、カドと辺の中央に操作ポイントがありますが、今回は辺の中央の操作ポイントをドラッグ。
  • 自由に動かして、シアー等の変形ができます。(古いバージョンや操作手順によっては、コマンドキー(⌘)を押す必要があります)

フチを折る観音折りや、簡単な立体図のようなケースで使えます。


折り図を描く際に設定しているアクション

AIには、「アクション」という一連の作業を記録・実行する機能があります。

具体的には、よく使う機能や定型の一連の作業、数値の入力が必要なものなどを登録しておくとよいでしょう。また、ショートカットを設定できるので、よく使うものは割り振っておくとより便利です。

利点は、ツールの持ち替えや、ポインタの移動、数値の入力等を省略できることで、一つ一つにかかる時間は数秒程度でも、何百回と繰り返すことを考えれば大きな差になります。また、数値の入力や同じ作業の繰り返しでは、ミスを防ぐ効果も期待できます。

折り図を描く際に、実際に使っているものをいくつか紹介します。

・水平方向に反転、垂直方向に反転

変形パネルのメニュー等もあるけれど、わりと使用頻度が高いのでマウスを動かさずに呼び出せるのは便利。

・45度、-45度、22.5度、-22.5度の回転

45度はともかく、22.5度については変形パネルへの数値入力が割と面倒。 変形・回転ツールは22.5度の回転は使いにくいし。作品によっては30度や15度なども用意しておくと便利。

・拡大、縮小

それぞれ変更率を決めておく場合は数値入力が必須なので、アクション・ショートカット化は有効。

過去記事より:折り図tips:拡大・縮小は率を決めておくとよい

・各種グラフィックスタイルの設定

グラフィックスタイルパネルからスタイルを選び選択するより、ショートカットの方が早い。 ちなみに直接線幅等を変えていないのは、グラフィックスタイルを入れ替える場合の汎用性のため。同じ名前にしておけば、スタイルを入れ替えることができます。

表面、裏面、折り筋、山折り線、谷折り線などは、よく使うのでおすすめ。私の場合はこれに加えて矢印用の線、白い記号用、点線(太)、点線(細)を登録しています。

・特定のメモのあるオブジェクトを選択

AIでは、属性パネルに「メモ」というテキスト情報を持たせられる項目があります。あまり使われていないっぽい機能のですが、実はアクションからであれば検索キーとして使うことが可能です。 例えば、複製して使う前提の回転・拡大等の記号などに「記号」というメモを加えておけば、アクション一発で選択状態にできるようになります。 それ以外だと手順の数字に専用のメモを振っておくのがおすすめ。

ちなみにメニュー等からの検索では利用できないようなので、アクションやスクリプトを使わないと活用は難しそう。せっかくオブジェクトごとに自由な情報を追加できるのに勿体ない。

・各種スクリプト

アクションではないですが、よく使うスクリプト等にもショートカットを設定しています。

過去記事より:Adobe Illustratorでスクリプトを動かすプログラマブルキーボードが便利だった。


Illustrator グループ化の限界関連の問題

グループ化の階層の限界関連で発生する問題について。たまたま該当するケースを扱っているので、備忘録も兼ねて。 バージョンはCS5。


・グループ化ができない

当たり前だけどできなくなる。わりと困る。


・クリッピングマスクが使えない

恐らくこれに限らず、階層が増える操作はできなくなる。


・ペーストできない

階層が増える結果になるペースト等のオブジェクト追加ができなくなる。


・オブジェクトのレイヤー間の移動になぜか問題が起こる。

選択オブジェクトを別レイヤーに移動したい場合、レイヤーパネルの右端の表示をドラッグすれば移動できる「はず」なのだけれど、階層限界オブジェクトの含まれるレイヤーにあるオブジェクトについては、これができなくなる。階層表示を展開して、オブジェクトを直接移動させるのは可能。 なお階層限界オブジェクトの含まれるレイヤーに移すのも可能。

とりあえず気がついたのはこんなところ。当然もっとあるかもしれない。 対策は、恐らくグループ階層を減らす以外に方法なし。


折り図tips:前面・背面にペースト

折り図を描く時の、紙や折り筋の重なりの調整方法には、「前面/背面にペースト」を使うと便利です。

選択されたオブジェクトのすぐ上、もしくは下にペーストする機能です。用紙面のすぐ上に折り筋を追加したい場合や、中割り折り等の場合に特定の隙間にオブジェクトを追加したい場合に使えます。それ以外にも修正や重なりの調整など、さまざまな場面で活用できる機能です。使おう。

重なりの順番を一つずつ入れ替えてもいいのですが、図が複雑になると非常に手間がかかります。また、グループ内への追加の場合には、更に手間がかかる場合もあります。状況に応じて使い分けるとよいでしょう。

FreeHandでは編集メニューのスペシャル項目(特殊なコピペ機能)内にあります。ショートカットを割り当てておくと使いやすいでしょう。私の場合はcmd+sft+Fとcmd+sft+Bを設定しています。(画像は割り当て済み)。

 

AIは編集メニューに項目があります。ショートカットはcmd+Fとcmd+Bです。

Inkscapeには、もしかして機能自体無いかも。ほとんど使っていないので詳しくは分からないけれど、使えないと大変そう。需要の高そうな機能なので、アドオンとかあるのかな?


折り図tips:パスの方向の反転

山折り線・谷折り線の終点が半端になってしまう場合の対処法です。

こんな感じに半端な長さの点線が残ってしまう場合です。山谷の折り筋は、起点となる点から外側に向けて直線を描くケースが多いと思いますので、実は結構発生しやすい問題です。これはパスの向きを反転させる事で問題を解決する事ができます。線の長さを調整してもいいのですが、拡大・縮小するとずれて調整し直しとなるのであまりお勧めしません。

FreeHandの場合、メニューの「修正」→「パスの操作」→「逆方向」でパスの向きを反転させる事ができます。よく使う機能なので、ツールバーに登録しておくと便利です。

 

結果、半端な部分は折り線の起点側になり、表示される部分はきれいな谷折り線になりました。

Illustrator(手元のCS5)の場合、探してみたのですがそれっぽい機能が見つけられませんでした。一応、

  1. パスを選択して複合パスを作成(cmd+8)
  2. 属性パネルの「パスの方向反転」オン、オフで切り替え
  3. 複合パスを解除(cmd+sft+opt+8)

という手順で反転自体はできるという情報は見つけたのですが、少々めんどくさい。直線であれば180度回転でもいいのですが、ポイントが多いオブジェクトの場合はちゃんと反転させるべきでしょう。

こういう時はスクリプトが便利です。絶対同じ事を考えた人がいるはずと思い探してみたところ、やはり作っている人がいました。

http://www.pictrix.jp/ai/ReversePath/

Illustratorでの作業では必須スクリプトとして愛用させて頂いております。この場を借りて一方的にお礼申し上げます。

これもショートカット割り当てのサポートアプリなどを利用して、呼び出しやすい状態にすると便利です。

最後にInkscapeの場合。せっかくなので確認したところ、Pathメニューにありました。

以上、鎖線の終点だけでなく、紙の重なりなどで山折り線(の短い線)が見辛い場合にも使えます。


塗りのある直線

  • 直線には塗りを設定しない方がよい
  • 画面に表示されなくても、面積ゼロの塗りオブジェクトが存在する
  • 環境によっては表示される場合もあり、不都合となる可能性もある

以下、詳しく。

ドローソフトでは、線などのオブジェクトに「線の色」と「塗りの色」を設定することができます。ほぼ全てのオブジェクトに対して色の設定自体は可能なので、必要のない部分にも塗りの色を設定する事が出来ます。

但し、例えば単純な直線のような、面積のないオブジェクトへ塗りを設定するのは意味がないので、相当特殊な理由がない限り避けるべきでしょう。

具体例として、谷折り線に塗りを設定した場合を見てみます。

まず、FreeHand MXでは、直線の塗りは描画されません。

折り図を描いていても、塗りがあること自体に気がつかないかもしれません。

さて、同じデータをIllustratorで開くとこうなります。

点線に設定された塗りが、細い線として描画されます。線が2重になっているようで紛らわしいですね。

さらに、PDFとしてAcrobatで開くと、AIと同様に線状に描画されます。前述のFHや、最近はInkscape製のデータで結構見かけます。

なお、同じPDFでも、MacOS標準のプレビューでは描画されません。

この例とは逆に、折り筋線のつもりで塗りのみのある直線をつかってしまうと、画面では見えるのに印刷では消えてしまう線になってしまう可能性があります。

表示が安定しない、無駄なデータを持つメリットはありません。面積のないオブジェクトには、塗りを設定しないように気をつけるとよいでしょう。


ドローソフトのグループ階層について

折り図tips:作業中のグループ化 https://www.folders.jp/uc/2018/431/で少し触れたグループ化階層の上限の件、せっかくなので確認してみた。

まずはIllustrator CS5、29回目でエラーメッセージが表示された。ということで、28回。

なお、どうもエラーメッセージを見る限り、回数だけでの制限ではないらしい。グループに長い名前をつけたりすると、条件が変わるのかもしれません(未検証)。

FreeHand MXは20回。さすがに古いソフトという事もありAIより少ない。

inkscapeは、もしかしたら制限が無いかもしれない。とりあえず50回までは確認した。svgファイルの<g>タグの階層が酷い事になるけれど、プログラム上での扱いは問題ないのかもしれません。

ちなみに私はこれまで折り図を描いていて、グループの階層の限界で困った事ありません。図ごとにグループ階層を増やすとかしない限り、現実的にはほぼ問題にはならないように思います。