本页面列出了从 Unity 2022 LTS 版本升级到 2023.1 时 2023.1 中可能对现有项目造成影响的更改。
LightingSettings 中的高斯滤波器半径属性为浮点值
本升级指南介绍如何升级到 2023.1 版 Unity 的内置渲染管线。要将其他渲染管线升级到版本 2023.1,请参阅:
要升级其他包,请参阅所使用包的文档。
渐进光照贴图 (Progressive Lightmapper) 在其高级 (Advanced) 滤波选项(光照窗口 (Lighting Window) > 光照贴图设置 (Lightmapping Settings) > 滤波 (Filtering) > 直接滤波器 (Direct Filter) > 高斯 (Gaussian))中包含高斯 (Gaussian) 选项。现在用于高斯滤波的半径控件支持小数增量,例如 0.5。以前,此控件仅支持整数步长(1 到 5)。
由于此更改,C# API 中的以下属性现在已弃用:
int LightingSettings.filteringGaussRadiusAOint LightingSettings.filteringGaussRadiusDirectint LightingSettings.filteringGaussRadiusIndirect已弃用属性的浮点替换方案为:
float LightingSettings.filteringGaussianRadiusAOfloat LightingSettings.filteringGaussianRadiusDirectfloat LightingSettings.filteringGaussianRadiusIndirect您可以调用已弃用成员函数之一将高斯滤波器半径四舍五入到最接近的整数。
现在光照探针与光照贴图一样明亮。以前,Unity 的光照探针亮度仅为应有亮度的 94%。因此,使用光照探针照亮的对象看起来比使用光照贴图照亮的对象暗一些。由于此更改很细微,许多用户可能感受不到明显差异。
如果您更喜欢旧外观,可以通过以下方式实现:
Enlighten 烘焙全局光照的光照贴图后端不再可用。
将项目升级到此版本时,Unity 会从光照贴图选择下拉列表中删除__ Enlighten__Geomerics 出品的光照系统,在 Unity 中用于 Enlighten 实时全局光照。更多信息
See in Glossary 烘焙后端,并在已选择 Enlighten 烘焙后端的每个场景中替换渐进光照贴图。
在 Apple 芯片设备上,Unity 用渐进 GPU 光照贴图代替 Enlighten 烘焙后端。在所有其他设备上,Unity 选择 CPU 渐进光照贴图。
Enlighten 预计算实时全局光照仍然可用,并且一直支持到 Unity 2024 LTS。
UnityPlayer Java 类已被两个新的桥类(UnityPlayerForActivityOrService 和 UnityPlayerForGameActivity)取代。这些新类都派生自 UnityPlayer,但公共方法(例如 displayChanged 和 windowFocusChanged)已专门从 UnityPlayer 移到 UnityPlayerForActivityOrService。
如果扩展默认 Unity 活动并使用 UnityPlayer 类,可能会遇到编译错误。在这种情况下,请将 UnityPlayer 重命名为 UnityPlayerForActivityOrService。
UnityPlayer Java 类不再扩展 FrameLayout。如果需要访问 FrameLayout,请在 UnityPlayer 实例上调用 getFrameLayout 函数。
RenderPipelineEditorUtility.FetchFirstCompatibleTypeUsingScriptableRenderPipelineExtension 现在已弃用。请改用 GetDerivedTypesSupportedOnCurrentPipeline。此方法的签名也不同;现在该方法返回所有派生类型,而不仅仅是遇到的第一个类型。这样可以防止不一致,因为 Unity 不保证类型顺序。
CustomEditorForRenderPipelineAttribute 和 VolumeComponentMenuForRenderPipelineAttribute 现在已弃用。请改用 CustomEditor 和 VolumeComponentMenu。要在这些属性处于活动状态时限制管线的选择,请将属性与 SupportedOnRenderPipelineAttribute 组合并指定 RenderPipelineAsset 类型。如果要激活与内置渲染管线一起使用的 SRP 属性,请使用不带参数的 SupportedOnRenderPipelineAttribute。当需要在特定管线上激活这两个属性时,这样可以为这两个属性提供统一的工作流程。
引入了用于修改 Android__ Gradle__一套 Android 构建系统,可自动执行多种构建过程。这种自动化意味着能减少许多常见的构建错误。更多信息
See in Glossary 项目的新 API。API 可用于替换旧的 Android Gradle 模板工作流程。如果未使用新 API,模板仍将像以前一样工作。
要使用新 API,可使用模板升级程序: