Sketch.app Advent Calender 2013 20日目の記事です。今回はマスクの使い方について解説をお届けします。
Sketchの基本。というSketch(Sketch 3)の基本操作にフォーカスした電子書籍をリリースしました。詳しくはこちらの「Sketchの基本。」のページをご覧ください。
この記事はSketch 2を元にした記事です。最新版の動作とは異なる可能性が高いため、参考程度にご覧ください。
マスクの作り方は2種類ありますので、下の画像のようにオブジェクトを準備して、これを元に解説していきます。あと、シェイプという言葉が出てきますが、パスのオブジェクトをシェイプとしています。
通常のマスク
マスクとするシェイプを選択し、[Edit]→[Use as Mask]を選択すると、塗りの範囲がマスクになります。ショートカットはCommand+Control+Mです。
基本的に、マスクとしたシェイプより上にあるオブジェクトがマスクされます。またマスクのシェイプは、塗りや線の設定やドロップシャドウ・ブラーなどのエフェクトを掛けることができます。エフェクトに関してはマスクのシェイプのみに適用されるため、マスクされたオブジェクトには影響しません。
画像のマスク
ビットマップオブジェクトとシェイプを1つずつ選択した状態で、[Edit]→[Mask with Selected Shape]を選択すると、グループ化された状態でマスクがかかります。シェイプがビットマップオブジェクトの上にあってもOKです。
メニューがグレーアウトしている場合は、シェイプがグループ化されていないか、余計なオブジェクトが選択されていないかを確認してください。
マスクの仕方は異なりますが、マスク後の扱い方は「Use as Mask」と同じです。
マスクの影響を無視する
マスクとしたシェイプより上にあるオブジェクトがマスクされるため、先の例では文字が見えなくなってしまいました。マスクの影響を無視して、文字を見えるようにします。これも2種類あります。
無効化したいオブジェクトを選択し、[Edit]→[Ignore Underlying Mask]を選択します。これにより、選択したオブジェクトから上にあるものがマスクから除外されます。
または、マスクはグループ化された外には影響しないため、必要なオブジェクトを選択しグループ化することでも、マスクの影響を限定できます。画像のマスクをした場合、グループ化されるのはこれが理由だと思います。
ただ、「Ignore Underlying Mask」をした場合、そのオブジェクトにマスクを無視するフラグが立てられるだけなので、フラグを立てたオブジェクトより上にあるオブジェクトをこれの下に入れると、マスクの影響を受けるようになります。従って手っ取り早く、グループ化した方がハンドリングしやすいと思います。
マスクの種類
マスクには「Outline Mask」と「Alpha Mask」の2種類があり、[Edit]→[Mask Mode]から選択できます。マスクを適用した後からでも変更できます。
「Outline Mask」はシェイプの塗りの範囲がマスクになります。塗りの色や不透明度などは、マスク自体に影響しません。
「Alpha Mask」は、塗りのアルファ値に応じて、マスクしたオブジェクトを透明化します。塗りの設定から、グラデーションを選択し、各ポイントでアルファ値を設定します。塗りの色は無視されるので、どんな色を使っていても構いません。
この場合は、アルファ値を線に設定すると、マスクを選択した際に表示されるバウンティボックスの範囲と線がかぶっている部分をマスクとして使うことができます。ただし、線のマスクに関しては色が有効になっているため、線の色を半透明にするとオブジェクトに影響します。また、マスクの範囲が特殊になるので、線の位置はInsideで使った方がよいでしょう。