我正在尝试创建一个会在Y轴上耗尽的圆形健康栏。在具有图像类型填充和填充方法的普通图像上,此方法效果很好-垂直,但我希望对纹理进行动画处理。
我设法创建了一个对纹理进行动画处理的着色器,但是我无法弄清楚如何复制fill方法。我尝试使用Alpha切割阈值,但这不是所需的行为。有关如何执行此操作的任何想法?
注:我在Gamedev.stackexchange上问了这个问题,但似乎没有太多成员可以提供帮助。
用于alpha测试的基本方法是clip
,如果输入值小于0,则会丢弃像素。因此,通常我们通过输入alpha通道减去阈值来裁剪像素。
https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-clip
因此,在您的情况下,您需要以某种方式调节您的alpha值,使其低于阈值(0.6f)。例如,将其乘以纹理坐标的垂直轴减去填充值即可。详细信息取决于您想要的外观,请进行实验:)