赞
踩
原文连接:https://docs.unrealengine.com/en-us/Platforms/Mobile/Lighting
本来不想翻译的,但是好多人看,就翻一下
使用UE4中的移动平台上灯光时,必须按照相应规范,以确保UE4项目能够运行在不同的移动设备上,并保持良好的帧率。在下面的文档中,我们将介绍这些警告和限制规范,以及如何避免并解决它们。
移动平台支持下列功能:
Linear HDR lighting 线性HDR照明。
Directional Lightmaps定向光照贴图(在正常的考虑范围内)。
Distance field shadows + analytical specular on the sun.对于太阳光的 距离场阴影及镜面反射。
Image based specular lighting基于图像的镜面反射光照 - 最近的 Reflection Capture(反射捕捉)应用于每个对象,无需视差校正。因此,对象之间可能存在接缝。
动态对象需要正确接收光照,但不投射阴影。
移动平台仅支持虚幻引擎中可用的灯光类型的一小部分。包括:
类型 | 附加信息 |
---|---|
Stationary Directional Light 固定方向灯 | 定向光为 Mobility = Stationary。最好的质量。 |
Static Directional Light 静态定向光 | 定向光为 Mobility = Static。最佳性能(没有distance field shadows 和 sun specular) |
Static Point Light 静态点光源 | 定向光为 Mobility = Static。 |
Static Spot Light 静态射灯 | 定向光为 Mobility = Static。 |
虽然反射有助于为您的移动项目更加生动逼真,但在移动设备上需要考虑一些注意事项。下面列出设置选项,以确保反射在目标移动设备上有效。
球体反射捕获
球体反射捕获
粗略法线贴图
变化粗糙
平坦的粗糙度
金属关
金属色
请注意,每个静态网格物体组件都会分配给最近的Reflection Capture(反射捕获)。这意味着对象之间的反射中会出现接缝,有时大网格模型的反射球恰好靠近网格中心时,会使用不需要的反射捕获贴图。
当没有反射球时,移动渲染还可以使用Skylight Cubemap天光立方体贴图进行镜面反射。要启用此功能,您需要删除所有的Reflection Capture反射捕获器,并确保已禁用Screen Space Reflections屏幕空间反射。您可以在以下图像中比较效果。
PC反射/移动端反射
Skylight Reflections PC
天窗反射移动
移动镜面响应已更改为默认使用GGX Lighting模型。这可以提高移动设备上的镜面质量,从而更好地匹配Shader Model 5(SM5)。启用此功能会为着色器处理时间增加一小部分成本。旧版Spherical Gaussian Specular model球面镜面高斯模型仍可以访问,但这个新的变化影响到项目的照明的外观表现。要重新启用旧版Spherical Gaussian Specular mode球面高斯镜面反射模型,您需要执行以下操作:
下面的图像比较滑块显示当前Specular着色模型和Use Legacy Shading Model选项之间的差异。
旧版shader/新版shader
遗留着色模型
新的着色模型
完全动态阴影有助于为您的移动项目增强生动性和真实感。但是,在某些移动设备上,由于硬件限制和动态阴影需要渲染的高资源需求,不应使用完全的动态阴影。为了解决这个问题,UE4引入了一种新更低耗的动态阴影类型,称为Modulated Shadows调制阴影。有关如何使用调制阴影设置调制阴影的更多信息。
Stationary Directional lights 固定方向灯可用于为场景中的动态对象投射全场景的动态级联阴影贴图(CSM)阴影。使用CSM阴影的一个好处是它们将与场景中静态对象投射的预计算阴影正确混合。CSM阴影也不会显示使用调制阴影看到的双阴影,并且在为多个对象投射动态阴影时更快。有关如何设置级联阴影的更多信息,请使用[[Cascaded Shadows 级联阴影 ](Platforms\ Mobile \ Lighting \ HowTo \ CascadedShadow)进行检查。
虽然调制和动态阴影的外观和行为彼此非常相似,但它们却截然不同。这是因为调制阴影具有许多限制和动态阴影所没有的硬限制,这使得它们可以在具有有限硬件功能的移动设备上更好地执行。在下图中,您可以看到动态阴影和调制阴影之间的比较。
动态阴影/调制阴影
动态阴影
调制阴影
以下列表突出显示了调制阴影在UE4项目中使用时可以提供的一些功能和限制。
更改阴影颜色:您可以通过调整方向光的“ 光照”部分中的“ Modulated Shadow Color调制阴影颜色”选项来更改调制阴影投射阴影的颜色。如果您想要根据游戏玩法或艺术原因调整阴影的颜色,这将非常有用。
阴影混合:与动态阴影不同,调制阴影无法与您在项目中看到的其他阴影(烘焙或动态)混合。这意味着当调制阴影位于另一个阴影的上面时,不进行混合,同时显示两个阴影。
动态阴影/调制阴影
动态阴影
调制阴影
使用调制和动态阴影时,可以使用一些控制台和.INI设置来调整阴影的外观和性能。下面我们将了解这些设置以及它们如何应用于您的UE4项目。
调制阴影尽可能与现有的阴影技术共享代码。这意味着可以与其他阴影方法一起使用的许多阴影cvars和.INI设置也适用于调制阴影和动态阴影。
阴影质量:当您第一次在移动设备上查看动态阴影时,调制阴影的清晰度和质量可能会比预期的低一些。要解决这个问题,你可以通过打开虚幻控制台来调整阴影质量,使用反引号`键,然后输入以下命令,r.shadowquality后跟一个数字。您输入的数字越大,调制阴影就会越好地看待FPS。在下面的图像,r.shadowquality被设定为值0,1,2,3,4和5,以显示这对调制阴影质量有什么影响。
拖动滑块将显示当r.shadowquality从值0设置为值5时会发生什么
自阴影:调制阴影将在动态对象(如字符或拾音器)上提供自阴影,但默认情况下,此功能已禁用,以确保调制阴影可以尽可能好地执行。如果您的项目能够承担自阴影所需的额外成本,则可以通过将r.Shadow.EnableModulatedSelfShadow 1输入到UE4控制台来启用它。要禁用自身阴影,请将r.Shadow.EnableModulatedSelfShadow 0输入到UE4控制台。
自阴影打开/自阴影关闭
自我阴影
自我暗影关闭
阴影深度:使用命令r.Shadow.CSMDepthBias可以偏移阴影开始渲染的位置。在下面的图片,你可以看到,当r.Shadow.CSMDepthBias在默认值会发生什么变化,然后设置为值10,100,500,1000和1500。
您可以尝试拖动滑块进行r.Shadow.CSMDepthBias的设置(0~1500)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。