如何在Unity中的背景精灵中切出形状?

时间:2019-07-04 09:31:13

标签: c# unity3d

这是理想的效果:https://gyazo.com/1e98ca2709282d0163702b8ce829480d

圆圈必须能够在背景上移动并随其移除背景。

我找到了较旧的教程,但他们似乎使用了无法绕过头的着色器。我还尝试了模具着色器,但意识到它们不能满足我的要求。

有简单的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以编写一个简单的蒙版着色器。在线上有许多解决方案和示例。为了获得想要的效果,您可以使用这样的着色器:

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}
      }
   }
}

要移动蒙版,只需更改其偏移量即可。