优化您的体验 是配置您的资产和 Studio 设置以保持高帧率和性能等级的过程,用于具有内存和图形处理单元(GPU)限制的设备。这个过程可以确保几乎每个用户在查看您的环境时都拥有相同的游戏和视觉体验。
使用 环境艺术-优化.rbxl 作为参考,本节环境艺术课程的这一部分向您展示如何检查和配置您的位置文件以获得最佳图形,包括指南:
- 检查每个资产的物理和渲染参数,确认它们保留内存和引擎性能。
- 删除不必要增加 Roblox 引擎渲染资产所需计算量的额外纹理、几何或透明度。
虽然 Roblox 引擎为您处理了大部分优化工作,但您可以使用 微型调试器 来帮助进行这些优化努力,看看哪里需要更多时间来渲染特定帧。使用此信息,您可以做出有针对性的决定,即哪些资产需要您关注其参数或超出内容。

评论物理和渲染参数
在 组装资产库 中,你学到了设置允许资产在设备上保持高视觉质量的物理和渲染参数有多重要。然而,在构建环境时,你常常需要根据素材的上下文位置和目的在体验中调整这些参数。例如,最终样品激光标签环境中的大部分叶子尽管有着高性能成本,但仍投射阴影,因为它会增加环境的真实性。
当你修改物理和渲染参数时,在开发过程结束附近评论所有参数以确定你可以在保持审美目标和游戏需求的同时优化哪个参数是有用的。为了说明,您可以禁用BasePart.CastShadow属性为游戏区域边缘的叶子,以节省性能而不会干涉用户的游戏或视觉体验。


删除不必要的内容
在审查你的物理和渲染参数之后,你可以审查资产本身来看看你可以从体验中删除哪些不影响游戏玩法的非必要内容,例如相同的纹理具有不同的资产ID、复杂的几何图形具有高维度数量或透明度,以便根据相机视图层叠在一起。以下部分详细说明您可以做什么来查看此内容,以及它为优化努力提供了什么帮助。
移除重复的纹理
在开发资产和构建环境之间转换时,找到必要的美感目标或游戏需求所需的网格或纹理时进行循环是常见的。如果您未将资产转换为 包,当您导入这些循环到 Studio 时,您正在创建独特的资产ID,Roblox 引擎需要在渲染您的资产时参考它们。
例如,如果你要单独导入以下两个消防栓网格到工作室,即使它们在外观上完全相同,Roblox 引擎仍将它们视为两个具有独特资产ID的对象。需要调用的独特呼叫越多,对内存和性能的影响越大。因此,当您多次重用资产时,每个实例的该资产使用相同的资产ID,以便引擎只需要单次调用即可重复渲染它。

优化几何图形
如果您发现需要对各种设备进行更多调整以提高帧率,则有用的是看看您可以通过以下方式优化几何图形:
- 将多个网格组合成单个资产。
- 减少具有几何复杂性的资产的多边形数量。
扩展这一第一种技术,你体验中的每个独特资产都代表了向 GPU 发出信号的绘制调用,使 Roblox 引擎正确渲染该资产。您拥有的独特资产越多,系统需要调用的呼叫就越多。因此,如果您有一个由多个网格组成的更大组件在您的体验中,您可以在第三方建模工具中将它们组合在一起,以减少多个绘制调用的需求。
为了说明这一点,最终样本激光标签环境的父级多个部分和网格结合,以创建建造筑外的大型塔。如果你将这些单个组件结合在一起,你可以将其变成单个资产,只有一个资产ID,并将绘制调用数量从 8 减少到 1。但是,要注意的是,这种技巧会移除每个组件的视觉和物理特性的自由更改能力,例如其位置或材料。
例如,在下图中,左塔仍然保留多个资产在一个 Model 对象下,右塔是单个素材。您可以单独修改左塔的每个组件,但当您修改右塔时,例如将其颜色更改为黑色,这将影响整个对象。这是为什么只考虑这种技巧在环境开发的最后阶段很重要的原因,当你知道你可以在不影响你的审美目标的情况下提高性能时。

扩展第二种技术,具有几何复杂度的资产拥有更多的多边形,这意味着它们有更多的边点,需要在渲染视觉外观时计算的引擎。这意味着拥有较少复杂度和保真度的资产的渲染成本较低,从而导致在性能和内存方面的改善。
删除分层透明度
为了提供环境的现实感,最终样本激光标签环境包括各种透明度级别不同的网格,例如户外空间的叶子、未来主义标志或花园栏杆上的玻璃。当相机查看前后各自的半透明对象时,Roblox 引擎必须多次渲染重叠像素来计算透明区域。该过程称为高透明度溢出,它对性能产生了重大影响。
例如,考虑下样本环境中种植者的以下视图。引擎必须在植物最接近相机的植物与户外区域最接近的植物之间渲染透明区域的叶子,相当于数以百万计的超载像素。为了缓解这些影响,重要的是审查您环境中所有半透明对象的布局,确保没有太多地方存在重叠,尤其是在屏幕大部分区域。


当您完成审查所有内容以确保在所有设备上最佳时,您的体验现在已准备好发布!