Language:
Page Info
Engine Version:
Share
此中文页面内容对应的英文页面有后续更新,如需浏览最新文档可切换至英文页面浏览。

视觉效果和性能的平衡

预先考虑性能消耗

通常,创建您需要的特效最终归结为可以找到可以最好地展示关键元素的参考镜头片段或图像。使用参考样本将特效细分为这些关键元素可以在制作时节约大量的时间,并给你提供了以下信息。

  • 哪些是关键组成部分,及我应该怎样分配性能预算?

  • 实现这些关键元素需要哪些材质、贴图及资源?

  • 我需要多少个粒子来实现这个特效?

  • 怎样通过使用尽可能少的材质指令、Draw Call、发射器来创建这个特效?

  • 如何使用这个特效? 它是用于和玩家进行交互的关键信息?还是它只是个锦上添花的效果,当场景运行速度不够快时是否可以去除这个特效?

  • 这个场景中还有哪些效果、视图距离是多少、当前存在哪种半透明物体、场景运行效果如何、及有多少战斗正在进行?

对于这些中的每个问题,都有一个工具来获得信息,有时候要想获得较好的性能就是根据您需要很好地使用这些信息。

创建特效的可替换方法

有时候您需要创建的特效可能根本不是粒子特效,在很多这样的情况中,最好使用模型来创建特效而不是使用粒子系统。比如,战争前机器中有几个地方在远处有大量的烟雾和开炮效果。 如果使用粒子来渲染这些效果,我们会遇到几个问题。

  1. 更新和保持发射器不断更新的粒子系统所带来的游戏线程性能消耗。

  2. 渲染大量粒子、将粒子在彼此上描画来创建体积所带来的 GPU 性能消耗。

这也是适用于您需要创建流动的水流或任何可能需要大量粒子才能创建的浓密体积的情况。 放置静态网格物体的性能消耗要比放置并更新粒子系统的性能消耗低很多。 在某些情况下,将静态网格物体和粒子系统混合到一起会产生更加动态的效果。 您可以进行试验来找到最适合您的情景需要的解决方案。

一个高效的特效美术人员会通过使用 UE4 中的多个系统来平衡视觉效果和性能。