Как вырезать фигуру в фоновом спрайте в Unity? - PullRequest
1 голос
/ 04 июля 2019

Это желаемый эффект: https://gyazo.com/1e98ca2709282d0163702b8ce829480d

Круг должен иметь возможность перемещаться по фону и по мере удаления убирать фон.

Я нашел старые уроки, но они показалисьиспользовать шейдеры, которые я не мог обернуть вокруг.Я также попробовал трафаретные шейдеры, но понял, что они не могут делать то, что я хотел.

Есть ли простой способ сделать это?

1 Ответ

0 голосов
/ 04 июля 2019

Вы можете написать простой шейдер маски. Есть много решений и примеров в Интернете. Для желаемого эффекта вы можете использовать шейдер, подобный этому:

Shader "MaskedTexture"
{
   Properties
   {
      _MainTex ("Base (RGB)", 2D) = "white" {}
      _Mask ("Culling Mask", 2D) = "white" {}
      _Cutoff ("Alpha cutoff", Range (0,1)) = 0.1
   }
   SubShader
   {
      Tags {"Queue"="Transparent"}
      Lighting Off
      ZWrite Off
      Blend SrcAlpha OneMinusSrcAlpha
      AlphaTest GEqual [_Cutoff]

      Pass
      {
         SetTexture [_Mask] {combine texture}
         SetTexture [_MainTex] {combine texture, previous}
      }
   }
}

А для перемещения маски просто измените ее смещение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...