【问题标题】:2DLights - Universal Render Pipeline - Lightweight RP2DLights - 通用渲染管线 - 轻量级 RP
【发布时间】:2020-10-07 21:30:33
【问题描述】:

我正在使用 Unity 2019.4.11f1,“通用渲染管道”和“轻量级 RP”(包版本 7.5.1)。 我定义了一个“2D 渲染器数据”来使用 2D 灯光。 在我的游戏中,我有四个 2D 灯:

  • 两个“点”2DLights(每个点光源有 3 个目标排序层)
  • 两个“全局”2DLights。其中一个有 3 个目标排序层(照亮我的整个游戏,除了角色),另一个有 1 个排序层(只照亮我的角色)。

我正在为儿童开发一款 2D 手机游戏,并使用 2D 灯光进行装饰。 只有一个“点”2DLight 同时打开。 照亮我的角色的“全局”灯总是亮着的。 照亮整个游戏(角色除外)的“全局”灯仅在点灯关闭时才打开。

在我的游戏中的某些时候,我打开/关闭“点”灯和“全局”灯,上面已经描述了限制。

在我对角色使用阴影之前,一切都很好。 当我使用阴影时,帧速率会下降到大约 10 fps,否则大约是 27。

我的 2D 游戏非常简单。我的角色是圆形精灵(像硬币),所以阴影非常简单。 为了提高性能,我在对象 2D 渲染器数据中将“渲染器纹理比例”设置为 0.4(默认值为 1)。 虽然在那之后性能有了很大的提高,但仍然很低。

每个角色(屏幕上超过 10 个,四处移动)都有一个“Shadow Caster 2D(实验性)”组件和选中的“投射阴影”复选框。

我还能做些什么来提高性能?我做了很多研究,不知道我还能做什么。

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    你可以

    1. 减小精灵的大小(或压缩)
    2. 使没有运动的静态游戏对象
    3. 检查您的渲染器图形细节
    4. 您可以对游戏进行手动遮挡(您可以在场景中启用和禁用游戏对象)
    5. 您可以使用 OnBecameVisible() 函数。

    我正在使用这些来优化我的 urp 游戏。

    【讨论】:

    • 非常感谢您的建议。我做了很多优化,包括你已经提到的一些优化。瓶颈是阴影被激活时,因为如果没有,我的游戏以(接近)30fps(我的手机达到的最大值)运行。我知道问题不在于我的游戏效率低下,而是“Lightweight RP”包中的某些东西在激活阴影时会降低整个游戏的性能。您能否更详细地描述第 3 点和第 4 点?
    • 您可以配置您的 urp 渲染器设置,它可能会提供一些 fps 提升。 . (您可以在编辑器 > 质量 > 渲染器中看到(在本例中为 2d 渲染器))(对不起列表项,它是 stackoverflow 列表项:()
    • 是的,我知道,但很难知道要改变什么。
    • 例如,您可以降低阴影分辨率。此外,如果您使用后处理,您可能需要更改效果,因为某些效果会使系统紧张。
    • 是的,我将“渲染器纹理比例”设置为 0.4 以提高性能。但是随着时间的流逝,游戏继续放慢速度。好像阴影导致了内存泄漏。我还没有使用后期处理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多