UnityのuGUI ImageにAlphaMaskを適用するための実装です。
Unity標準のuGUI-Maskコンポーネントは、ステンシルを使って画像をクリップするため境目にジャギーが出てしまいます。 Unity-UI-Image-AlphaMaskは、マスク画像のアルファ値を使って画像をクリップすることで、境目のアルファフェードを実現し、ジャギーのないマスク表現を行うためのコンポーネントです。
Unity2017.3.1f1
- Assets/UI-AlphaMask/フォルダをプロジェクト内の任意の場所へコピーしてください。
- Mask画像をセットしたImageを作成して、UIImageAlphaMaskコンポーネントをアタッチしてください。
- 2.で作成したマスクオブジェクトの下に、マスクを適用したいImageを作成します。
このコンポーネントには、以下の制限があります。
- CanvasのRenderModeがScreenSpaceCamera/WorldSpaceであること
- CanvasのworldCameraがOtrhographicであること
- Maskの回転、タイリング、9スライスは使用できない
- Mask画像はWrapModeをClampに設定し、画像端の1ピクセルをアルファ0で描くこと
技術的な解説は、以下のブログで書いています。