相机“清除标志”属性中“不清除”的使用

问题描述 投票:0回答:3

在 Unity 的 Camera 组件中,有一个属性 Clear Flags 允许从四个选项中进行选择:天空盒、纯色、仅深度和不清除。

正如文档所述:

不清楚

此模式不会清除颜色或深度缓冲区。这 结果是每一帧都绘制在下一帧上,从而产生 涂抹效果。这通常不会在游戏中使用,并且会 更有可能与自定义着色器一起使用。

请注意,在某些 GPU(主要是移动 GPU)上,不清除屏幕 可能会导致其内容在下一帧中未定义。 在某些系统上,屏幕可能包含前一帧图像、 纯黑屏幕,或随机彩色像素。


“这通常不会在游戏中使用,更可能与自定义着色器一起使用”

所以我的问题是:

如何在自定义shader中使用它,使用它可以达到什么效果?

有人用过它或者对基本概念有很好的解释吗?

谢谢

unity-game-engine shader
3个回答
4
投票

一个想法是《最终幻想》游戏中的敌人遭遇效果。查看此 gif 的顶部边缘,查看前一帧的涂抹效果。这可能与模糊/旋转相结合。

gif


3
投票

线程问题有点老了,但是我遇到了这个问题并解决了它。

我制作了一个屏幕图像效果来重现这种效果,你可以在这里看到它:

https://github.com/falconmick/ClearFlagsMobile

希望这有帮助!


0
投票

“画画!”

这是一个好问题,并且有一个可靠的答案!当你想画画时,你可以将

ClearFlags
设置为
Don’t clear
。这是它最常见的用法。

我创建了一个补间,我想展示它的缓动功能,我可以补间一个白点并将

ClearFlags
设置为
Don’t clear
来绘制它的绘图!您可以使用它进行调试并查看对象的轨迹!

在下图中,我沿着x方向移动一个点,它的y是x值的函数。

© www.soinside.com 2019 - 2024. All rights reserved.