烘焙 UV 的 UV 打包不填充 0–1 空间(更小或更大)的问题已经修复。现在,如果每个对象的展开未填充 0–1 空间以及对象的边界为非正方形的情况下,分配给该对象的分辨率更加可靠了。请查看烘焙光照贴图的实例上的分辨率。
以前,对于实时光照贴图,着色器变体剥离是固定的。现在可以分别为烘焙和实时 GI 选择每个光照贴图模式(非方向、方向和方向镜面模式)变体。如果以前在 Graphics 窗口中选择了特定的光照贴图模式变体,请检查设置,使该模式适用于实时光照贴图。
反弹比例已从任意值 0.7 更改为 1.0。反弹是反照率和反弹比例的乘积。美术师应该设定现实生活中的反照率值(最亮的非金属值是 0.9 的雪)。这是我们的 PBS 参考:http://forum.unity3d.com/threads/official–5–0-pbr-calibration-charts.289416/
由于应当设置物理上正确的反照率,因此我们将比例设置为接近 1 是合理的。我们已经在 Meta 通道中钳制了反照率值,使反弹比例应该恰好是 1.0f。
请注意,如果选择在自定义 Meta 通道中将反照率设置为 1.0 而不进行钳制,那么场景可能看起来像是在光照下发生爆炸。
“固定函数”样式着色器(使用 SetTexture、Lighting On 等的着色器)现在会在着色器导入时在内部变为实际着色器。优点是这些着色器现在可在所有平台上运行(以前不能在游戏主机上运行),并具有更高的一致性。此外,在运行时消除了与许多代码和固定函数相关的低效率问题,使得渲染速度更快。缺点是在运行时使用 new Material(fixedFunctionShaderString)
创建固定函数着色器不再有效。该构造函数在 Unity 5.1 中已弃用,目前在 5.2 版中实际上已不可用于固定函数着色器。
我们已经更改使用延迟着色时渲染反射探针的方式,以便将来支持“屏幕空间反射”效果。简言之,在延迟着色中,反射探针现在是以逐像素而非逐对象的方式渲染的。
比较当前行为(每个对象的反射探针;在某些情况下难以避免大对象之间的明显反射过渡)和每个像素的反射探针(过渡更加隐蔽;它们发生在探针边界而不是对象边界处):
以前(5.0 和 5.1)
在 G 缓冲区通道期间对反射探针进行采样,执行方式与前向渲染完全相同。它们与光照探针、光照贴图和发光材质部分一起写入“发射”缓冲区。
这意味着每个对象获得一个(启用探针混合时为两个)反射探针。
反射与同一缓冲区中的发射/光照贴图一起意味着“正确”执行 SSRR 是很难的。SSRR 本身提供反射(不能提供时则回退到反射探针),但是它不知道哪一部分“发射缓冲器”颜色来自反射探针。
现在 (5.2)
使用延迟着色时,在 G 缓冲区通道期间不对反射探针进行采样。
相反,在 G 缓冲区完成后,进行单独的“延迟反射”通道,将反射探针绘制为屏幕空间中的盒体;将反射信息输出到单独的渲染目标中。
[未来:SSRR 效果将使用此单独的反射缓冲区]
最后结合反射缓冲区和发射缓冲区。
这是什么意思?(以下所有内容仅影响延迟着色)
反射探针渲染器标志(探针混合等)会被忽略;一切都以相同的方式受到反射探针的影响(因为现在发生在屏幕空间中)。这一点与在延迟着色中忽略“接受阴影”标志的方式非常相似。
现在会在世界空间中生成粒子,这可能需要更新所有自定义顶点着色器。进行这种改变是为了在 VR 的每只眼睛之间重复使用粒子缓冲区。
网格粒子现在支持 Texture Sheet Animation 模块。有必要确认现有的效果不会意外启用此模块,否则可能会看到行为发生变化。
Limit Velocity over Lifetime 模块中的 Dampen 参数以前在较高帧率下具有更强的效果。此问题现在已修复,如果游戏目标帧率为 30fps,旧效果将不受此更改的影响。但是,如果游戏的目标帧率 (FPS) 与此不同,可使用以下公式更新 Dampen 值,从而确保效果在 5.2 版中保持不变:
newDampen = 1.0f - pow(1.0f - oldDampen, targetFPS / 30.0f);
Material.CopyPropertiesFromMaterial
现在也复制着色器关键字和渲染队列。如果以前依赖于不复制这些元素,现在必须更改代码。
现在需要重新生成 SpeedTree 材质,因为 SpeedTree 内置着色器发生了变化。可以通过在项目中选择 SpeedTree 预制件并点击“Apply & Generate Materials”按钮来完成此操作。请注意,执行此操作后,对生成的材质资源的自定义设置(如果有)将被覆盖。
在 5.2 中,我们合并了向用户显示文本和普通 UI 元素的着色器。这样做的副作用是,如果指定 32 位格式的手动字体纹理,则会沿用颜色通道。这意味着黑色纹理通道将产生黑色文本,而以前文本会是白色的(我们只看 Alpha)。如果希望为字体使用自定义纹理,请执行以下操作之一:
项目标识的处理方式在 Unity 5.2 中已更改,现在项目会自动注册,无需在任何位置手动输入 ID。Services 窗口中有一个 Multiplayer 面板(在右上角使用云图标即可将其打开),在其中可以找到一个直接链接到网站上的项目的深层链接 (Go to dashboard)。配置后,此处将显示 Multiplayer 配置。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.