このページでは、メッシュ状(網目状)の線に沿って縦横に色が変化していくメッシュグラデーションについてまとめていきます。

(2024.09.30更新)
メッシュグラデーションとは
メッシュグラデーションは、通常のグラデーションと異なり、グラデーションパスが網目状に張り巡らされているグラデーションです。
グラデーションパスの交わるところにグラデーションの分岐点があって、グラデーションパスのセグメント(分岐点から分岐点まで)に沿って色の変化が起こるので、複雑な色変化を設定することが可能です。

通常のグラデーションがグラデーションツールを選んでオブジェクトに設定するのに対し、メッシュグラデーションはメッシュツール(どういうわけかメッシュグラデーションツールではなく、メッシュツールと呼ぶらしいです)を選んでオブジェクトに設定します。

具体的な操作手順
具体的には、メッシュグラデーションを設定したいオブジェクトを選択して、フィル/ストロークダイアログのメッシュグラデーションボタンをクリックします。すると、メッシュツールにあらかじめ設定してある行数と列数のグラデーションパスが生成され(この時点では表示はされない)、その分岐点にはオブジェクトの既存の色が設定されます。
このとき全ての分岐点にはグラデーション設定対象のオブジェクトの色が設定されますが、1つおきの分岐点にはさらに不透明度「0」が自動的に設定されます。そのため、メッシュグラデーション設定直後は全体に色の濃いところと薄いところが繰り返される「まだら模様」のようになります。
ここでツールバーのメッシュツールを選択すると、そのデフォルトのグラデーションパスが表示され、その交点にはグラデーションの分岐点のノード(◇)が表示されます。
色を変えたい場合は、各分岐点のノードを選択して、ダイアログ上で色を設定します。分岐点に色を設定するという流れは通常のグラデーションと同じですが、通常のグラデーションと違い、ダイアログ上のグラデーションエディタは使えません(ダイアログのほうで色を設定したい分岐点を選択することはできない)。
(参考:通常のグラデーションを作る)
マウスをドラッグして複数のノードをまとめて選択し、それらに同じ色を設定することもできます。また、セグメントの上をクリックすると、その両端のノードを選択することもできます。このあたりは通常のパスオブジェクトと同じです。
また、ノードをドラッグすると、網目状のグラデーションパスを変形することができます。(詳しくは後述)
メッシュグラデーション設定直後のグラデーションパスがどんな形のものになるかは、設定対象のオブジェクトの形によるらしいです。矩形であれば縦横のマス目状になりますが、星形の場合は次のように真ん中に集まっているような形になります。
ツールコントロールバー
メッシュツールのツールコントロールバーは次のようになっています。
左の5つ(A~E)は、メッシュグラデーションが設定されていないオブジェクトにメッシュグラデーションを設定するときのパラメータです。グラデーションの種類、設定対象(フィルかストロークか)、網目の数を指定しますが、初めてメッシュグラデーションを設定するときしか有効ではありません。色の変更やグラデーションパスの変形とは違って、後から変更できません。
上記のAまたはBのボタンでグラデーションの種類を指定しますが少しややこしいです。実はメッシュグラデーションには2種類があり、「メッシュグラデーション」と「円錐グラデーション」と呼ばれます。「メッシュツールで設定するメッシュグラデーションの種類の1つはメッシュグラデーションである」ということなのですが、これでは日本語としてとても分かりにくいからか、メッシュツールで設定するメッシュグラデーション全般のことを単に「メッシュ」と呼ぶこともあります。
グラデーションパスの変形
ノードをドラッグすると、網目状のグラデーションパスを変形することができます。
また、各ノードのそばに表示されるノードハンドル(「〇」や「▽」で表示される)をドラッグすることでもグラデーションパスの各セグメントをベジエ曲線として変形させることができます。これも通常のパスに似ています。
なお、グラデーションパスの各セグメントは直線とベジエ曲線の2種類のどちらかです。直線のセグメントの場合はノードハンドルが表示されません。セグメントが一見してまっすぐであっても実はベジエ曲線である場合もあるので混乱しそうですが、ノードハンドルが表示されているかどうかで区別できます。
なお、デフォルトで設定されたメッシュのセグメントが直線である場合もあり(例えば星形シェイプのデフォルトメッシュは全部直線になる)、その場合はノードハンドルが表示されません。
直線のセグメントをノードハンドルで変形したい場合は、変形したいセグメントを選択(そのセグメントの両端のノードを選択)してから上記Fのボタンを押します。すると直線セグメントからベジエ曲線セグメントに変更されてノードハンドルが表示されるようになるので、それをドラッグします。
ノードハンドルは通常のパスでベジエ曲線を変形するときに使うものと機能は同じですが、ハンドルとノードを結ぶヒゲ状の線は描かれません。
なお、ノードを選択したり「〇」で表示されているノードハンドルを選択すると、上の例のように「〇」のノードハンドルが三角形のノードハンドル(「▽」)に変化します。この「▽」の先っぽのところにノードハンドルが位置していると思えばよいようです。
想像ですが、Inkscapeの開発者はメッシュグラデーションのノードハンドルにヒゲ状の線を描くとメッシュそれ自体の線とごっちゃになってしまうし、「〇」のノードハンドルも数が多くなるのでどのノードハンドルとノードが対応しているのかがごっちゃになってしまうことを心配したのかもしれません。選択したときだけ「▽」に変えることでそういう混乱を防げると考えたのでしょうか。
円錐グラデーション
グラデーションの種類として円錐グラデーションを選択した場合は、デフォルトのグラデーションパスは次のような同心円状になります。
ちなみにこのメッシュは、実はツールコントロールバーで指定した2行5列という大きさのマス目を同心円に見えるように自動的に丸め込んだものになっています。それを確認するには、同心円の中心にあたるノードをドラッグしてみればわかります。この中心には5列分のノードが1箇所に重なっているだけなので、ドラッグして少しずらしてみると、実は2行5列のマス目が変形しているにすぎないことがわかります。
ということで、円錐グラデーションは実は一周ぐるっと連続したものではないので、重なっているノードを移動するときは注意が必要です。色を設定しようとするときやノードをドラッグしようとするときは、ノードの選択をクリックではなく常にドラッグ選択を使って重なっているノード全部をまとめて選択するようにします。クリック選択を使うと、一番上に重なっているノードだけ選択した状態になってしまうので、移動してしまうと形がゆがみます。
別のケースとして、メッシュの切れ目とノードの重なり具合を意識しながら、ノードを一旦ちょっとだけずらして色を設定してから元の位置に戻す(これはスナップ機能を使えば簡単です)ことを繰り返すと、次のように重なっているノードのそれぞれに異なる色を設定できて、例えば次のように円錐っぽいグラデーションを作ることができます。
さらにいえば、星形シェイプに円錐グラデーションではない通常のメッシュグラデーションを設定した場合も、一見すると放射状にグラデーションパスが描かれていますが、実際はマス目状のメッシュを次のように丸めたものになっています。
平滑化方法
クーンズとバイキュービックという2つの方法がグラデーションの生成方法(平滑化方法)としてコントロールバーの上で選択可能になっていて、切り替えると少しグラデーションの色の変化のしかたが変化する(笑)のですが、どういう違いがあるのかはわかりません。それぞれの定義はネットを検索すると出てきますが、数学的に理解できない。ある解説コンテンツによれば、クーンズのほうがメジャーなメッシュグラデーションの手法らしいですが、バイキュービックに比べて少しグラデーションパスの周囲でなめらかなグラデーションになりにくく、境界線のように見えてしまうことがあるそうです。
スポイトツールの機能
メッシュグラデーションのツールコントロールバーにあるスポイトツールボタンは、通常のスポイトツールと違って、選択しているノードの位置ですぐ下に重なっている他のオブジェクトの色をそのノードの色として設定するものです。だからこのスポイトツールをクリックしてからキャンバス上をクリックしても何も起こりません。重なっているところの色ではなく離れた領域の色を設定したい場合はツールバーやフィル/ストロークダイアログの上にあるほうのスポイトツールを使います。
メッシュグラデーションのクセ
メッシュグラデーションはかなりクセの強い動作をするので、使いこなすのはそこそこ大変です。
ややこしいのは、メッシュグラデーションの場合、やり直せない操作があるということです。
グラデーションの種類、設定対象(フィルかストロークか)、網目の数は、初めてメッシュグラデーションを設定するときだけ有効で、一旦設定すると後から変更できなくなります。
例えば、フィルとストロークの両方を順番に設定対象にしてメッシュグラデーションを設定することができますが、後から設定した対象だけ修正(色の変更やノードの移動)が可能で、前に設定したほうを再度設定対象に戻すことができません。網目の大きさも一旦設定してしまうと変更できません。
どうしても修正したい場合は一旦メッシュグラデーションではなく単一色のフィルやストロークに変更して、もう一度メッシュグラデーションの新規設定からやり直す必要があるようです。
また、メッシュグラデーションも通常のグラデーションの設定と同じように、セグメント上をダブルクリックして、その位置にノードが追加することができますが、追加したノードを削除する機能はないようです。アンドゥ(やり直し)機能で元に戻すしかないです。