李晨

特效美术:【性能优化】新增图形后置效果绘制范围设置的使用方法


我们发现在项目制作中很容易出现画面元素在绘制后置效果的时候出现绘制范围远远大于实际图像范围的情况,所以我们再近期的引擎版本更新中新加入了一个功能GPU Max Bounds,顾名思义我们现在对这个元素的绘制范围进行编辑和限制了。
一般的模型和动画方面很少出现这个问题,大部分的情况下都是在特效那一块容易出现绘制范围远远大于实际图像范围的情况,原因在于我们再制作表现效果的时候使用到了glow、outline或者phantomlayer。因为使用了这些效果需要做一次后置的全屏绘制,且不论实际需求的范围是多大都是全屏绘制,所以我们这次的优化是将这一次的后置全屏绘制更改为区域性的。当这些效果在屏幕中不是大范围出现的时候可以大量的减少性能消耗。

例如:
bounds006
这张图我们实际可以看到的范围只有这么大,但是实际游戏中他的渲染范围会扩大好几倍(毕竟使用到glow的部分是基于全屏的,屏幕分辨率越大,后置效果需要处理的像素就越多),
那么我们就需要使用GPU Max Bounds来限制一下 这个特效的后置效果绘制范围。先找到导致这个特效使用到glow的元素,并且通过GPU Max Bounds来限制一下他的渲染范围。

先查找需要更改设置的元素。
bounds001
可以发现选中的元素显示的红色边框远大于实际元素的大小。右边的属性栏中打开Bounds选项。
bounds003
发现当GPU Max Bounds使用默认值的时候红框范围过大。
接下来取消GPU Max Bounds的勾选,下面的参数变得可以编辑,根据需要进行设置。
bounds004
接下来我们对比一下设置前后的区别
bounds001
bounds002
红框的范围在更改后刚好包裹实际的元素大小,这样就可以最大限度的避免过量的性能消耗,从而让我们的GPU可以更多的从事有意义的工作。
PS:如果红框范围过小会导致超出范围的显示被裁减掉,所以需要保证红框可以完全包裹住元素的显示范围。

PS:

① 本文介绍的是新增优化图形绘制范围的新功能,以及使用方法和适用情况。
② 如果有疑问或者错误不足之处,请和TA组联系!欢迎交流,我们会及时补充纠正!