我需要如何使梯度顺利过渡,从白色透明的2D精灵通过一个URP着色图。
看起来我已经设置好了,一切都应该正常工作,但是由于某种原因,精灵从亮变成了黑,而不是透明的。为什么会发生这种情况?
https://drive.google.com/file/d/1S2ujMkqJ0r9ZB50QVB6OcBTEBp1BXzRZ/view?usp=share_link
https://drive.google.com/file/d/1xd9SMzaubjaQzG7mazYIkVvuuDkmdzJn/view?usp=share_link
2条答案
按热度按时间ne5o7dgx1#
BaseColor
只接受一个Vec3
,你有一个Vec4
。你的Alpha
输出被设置为1。结果是:你只看到你的颜色(RGB)的前三个成员的lerp,因为该值被隐式截断为Vec3(参见从粉红色到黄色的连接上的渐变)。如果还想查看lerp的alpha,则需要拆分输出(例如使用拆分节点)并将A值连接到
Alpha
输出。无关注解:从
RGBA(1,1,1,1)
到RGBA(0,0,0,0)
的线性化可能会留下不希望的灰色伪影。您可能希望在RGBA(1,1,1,1)
和RGBA(1,1,1,0)
之间线性化。或者只在0和1之间线性化alpha并使用单一颜色。q9rjltbz2#
我意识到我确实画错了。我为YouTube录制了一个关于如何为Unity制作透明渐变的教程。这里是链接:
https://www.youtube.com/watch?v=qKp1sWAEMUg&t=604s
此外,在视频的描述中有一个链接到下载图。