Version: Unity 6 Preview (6000.0)
Language : English
9-slicing Sprites
Sprite Atlas

Sprite Masks

Switch to Scripting

Sprite Masks are used to either hide or reveal parts of a SpriteA 2D graphic objects. If you are used to working in 3D, Sprites are essentially just standard textures but there are special techniques for combining and managing sprite textures for efficiency and convenience during development. More info
See in Glossary
or group of Sprites. The Sprite Mask only affects objects using the Sprite RendererA component that lets you display images as Sprites for use in both 2D and 3D scenes. More info
See in Glossary
Component.

Creating a Sprite Mask

To create a Sprite Mask select from the main menu GameObject > 2D Object > Sprite Mask.

Creating a Sprite Mask from the menu
Creating a Sprite Mask from the menu
A new Sprite Mask GameObject is created in the Scene
A new Sprite Mask GameObject is created in the Scene

Properties

Property Function
Sprite The sprite to be used as a mask.
Alpha Cutoff If the alpha contains a blend between transparent and opaque areas, you can manually determine the cutoff point for which areas will be shown. You change this cutoff by adjusting the Alpha Cutoff slider.
Range Start The Range Start is the Sorting Layer which the mask starts masking from.
Sorting Layer The Sorting Layer for the mask.
Order in Layer The order within the Sorting Layer.
Range End
Mask All By default the mask will affect all sorting layers behind it (lower sorting order).
Custom The range end can be set to a custom Sorting Layer and Order in Layer.

Using Sprite Masks

The Sprite to be used as a mask needs to be assigned to the Sprite Mask Component
The Sprite to be used as a mask needs to be assigned to the Sprite Mask Component

The Sprite Mask GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary
itself will not be visible in sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
, only the resulting interactions with Sprites. To view Sprite Masks in the scene, select the Sprite Mask option in the Scene Menu.

Scene view with Sprite Mask view turned on in the scene
Scene view with Sprite Mask view turned on in the scene

Sprite Masks are always in effect. Sprites to be affected by a Sprite Mask need to have their Mask Interaction set in the Sprite Renderer.

The character sprites Mask Interaction is set to Visible Under Mask thus only parts of the sprite that are in the mask area are visible
The character sprites Mask Interaction is set to Visible Under Mask thus only parts of the sprite that are in the mask area are visible

By default a Sprite Mask will affect any sprite in the scene that has their Mask Interaction set to Visible or Not Visible Under Mask. Quite often we want the mask to only affect a particular sprite or a group of sprites.

The character sprites are interacting with masks on both the cards
The character sprites are interacting with masks on both the cards

One method of ensuring the mask is interacting with particular sprites is to use a Sorting Group Component.

Sorting Group Component added to the Parent GameObject ensures the mask will affect only children of that Sorting Group
Sorting Group Component added to the Parent GameObject ensures the mask will affect only children of that Sorting Group

An alternative method of controlling the effect of the mask is to use the Custom Range Settings of a Sprite Mask.

A Sprite Mask with a Custom Range setting ensures the mask will affect only Sprites in the specified Sorting Layer or Order in Layer range
A Sprite Mask with a Custom Range setting ensures the mask will affect only Sprites in the specified Sorting Layer or Order in Layer range

The Range Start and Range End provides the ability to selectively mask sprites based on their Sorting Layer or Order in Layer.




  • 2017–05–26 Page published

  • New feature in Unity 2017.1 NewIn20171

SpriteMask

9-slicing Sprites
Sprite Atlas