光照
UE427官方文档
构建虚拟世界
第一节--构建模型
Lightmass 重要体积:用于控制和集中体积内的光照和阴影效果。
水体:水系统由两个关键元素构成,可编辑的水面和水面材质
水系统有自己的基于样条线的网格体系统,用于定义世界内应该包含水的区域。主要工作流程是使用Water Mesh Actor(水网格体Actor)设置Water Body Actors(水体Actor)的属性。谁网格体定义了所渲染水面的质量和细节
Water Mesh Actor生成Water Body类型的表面,Water Mesh Actor并不会渲染表面。水体的渲染主要通过样条线来确定,样条线可以用来定义关卡中不同类型的河流,湖泊,海洋区域,并且定义了Water Mesh Actor在何处绘制并渲染。其仅渲染当前摄像机视野部分。
第二节--光照
- 胶囊体阴影
胶囊体阴影依附于骨骼,可在场景中精确移动和投射阴影
物理资源视口中的地面阴影不是胶囊体阴影的代表
阴影分为胶囊体间接阴影,胶囊体直接阴影,和胶囊体间接阴影最低可见度
启用胶囊体间接阴影后,角色将投射柔和阴影,在仅有反射光照的区域中呈现出真实落地的感觉。
胶囊体直接阴影需要将光源移动性设为静止static
构建胶囊体阴影
-
环境光源混合器
window-> Env.Light Mixer
可以在一个界面中同时编辑关卡中的天空、云、大气光源和天空光照的环境光照组件 -
HDRI背景
HDR:高动态范围图像,将HDR图像用作背景,为实现合理效果,在HDR图像环境中需用假的背景平面捕捉阴影,当物体被照亮时,阴影将投射到此假平面,从而在可视化放置物体和背景之间创造一致性。
利用HDRI背景Actor来完成这些操作- 背景网格体
- 来自动态天空光照的环境照明
- 动态反射
- 使用阴影捕捉投射到地面
HDRI的细节面板中,主要有3个选项 - Cubeman: 贴图HDRI图像
- Size: 调整此值设置网格体(HDR图像投射到之上)的大小
- Projection Center: 要移动其使得与拍摄这张HDR图像的
摄像机位置高度匹配,目的是减少HDR图像的偏斜和拉伸
- 光照距离系数,定义摄像机周围的地面区域,混合场景光照和阴影减少它们与背景的差异。
导入HDR图像为虚幻资产时,HDRIActor不会对其进行修改,需要手动修改。Maximum Texture Size要与HDR图像的较大分辨率匹配,MipGenSettings设置为NoMipmaps以使用完全品质
HDR图像背景网格体设置
EnviroDome: 拥有地面平面的穹顶网格体,主要用于大型外部环境的HDR图像
EnviroBoxSharp: 拥有毛边的箱体环境,是室内环境的理想选择
EnviroBox: 平滑边缘的箱体环境,用于工作室环境
注意事项 - 添加HDR图像时,如果之前有天空光照,则需要将其删除
-
光照函数
本质上就是一种材质,用于过滤光照的强度,只适用于未应用光照贴图的光源(静态光源和可移动光源),静态光照无法使用光照函数 -
光照通道
一项渲染功能,可选择特定的光照照亮可渲染表面。
使动态光源仅在其光照通道发生重叠时才对物体产生影响,UE最多支持3种光照通道
同样只能应用于固定光源和移动光源,以及可移动Actor,且无法应用于半透明或者遮罩材质 -
LightMass门户
主要效果可以接受点光源,聚光源等光源的光子发射,增强屋内光照效果 -
光源移动性
-
Static
实际就是利用光照贴图
不能对移动对象产生阴影,可以改变光源半径对静态对象产生阴影
光照贴图分辨率
静态网格体:勾选覆盖光照贴图分辨率,值越大,分辨率越高
笔刷:光照贴图分辨率选项,对密度设置,值越小,分辨率越高 -
Stationary
位置也是固定的,但是可以改变光源的亮度和颜色
直接光照:使用延迟着色进行渲染,使得运行时可以改变亮度和颜色
直接阴影:较大的性能消耗,一般用于在静态的物体上投射静态的阴影
静态阴影:光照系统会在构建光照过程中为静态对象的固定光源生成距离场阴影贴图,该帖图在分辨率极低下,也可以提供精确的阴影变换。
注意:最多只能由4个重叠的固定光源形成静态阴影,且太阳光自动占一个,多余4个,将采用全景动态阴影,可以使用StationaryLightOverlap 视图模式来检查,如果超过,该光源的图标会显示红色。
在半透明表面上作用的静态阴影会显得的粗糙,度量为m
动态阴影:
动态对象会从固定光源创建两个动态阴影--一个用于处理静态环境世界投射到该对象上的阴影 ,一个处理该对象投射到环境世界中的阴影
特殊特性--区域阴影:能在光照投影较远处产生柔和模糊的阴影边界 -
Mobile
投射完全动态的光照和阴影,在无全局光照方法时不支持间接光照
阴影偏差:减少因为阴影映射方法导致的瑕疵,通过调整倾斜偏差和阴影倾斜偏差(会影响阴影精度)
都是从表面产生阴影,值越大效果越明显,但精度越低
阴影贴图缓存:当光源未移动时,可以存储该光源的阴影贴图用于下一帧,减少阴影投射开销,但又缓存条件- 基元将其移动性设为静态或固定。
- 关卡中使用的材质不使用场景位置偏移
- 光源必须是点光源或聚光源,移动性设为可移动,并启用阴影投射
- 光源必须停留在一处
- 使用动画曲面细分或像素深度偏移的材质可能会在缓存其阴影深度时产生瑕疵
- 光源类型
阴影的操作都是由光源的细节面板所定义的
- 定向光源
模拟从无限远的源头处发出的光线,均为平行光线,可用于模拟太阳光 - 天空光照
捕获关卡的远处部分并将其作为光源应用于场景。这意味着,即使天空来自大气层、天空盒顶部的云层或者远山, 天空的外观及其光照/反射也会匹配
将其设置为静态属性:构建光照会自动更新,对于固定或者可移动属性必须重写捕获才会更新 - 聚光源
从圆锥形中的单个点发出光照,内圆锥角和外圆锥角。在内圆锥角中,光照将达到完整亮度。从内半径的范围进入外圆锥角的范围中时将发生衰减,形成一个半影,或在聚光源照明圆的周围形成柔化效果 - 点光源
从空间中的一个点均匀地向各个方向发射光 - 矩形光源
一个定义好宽度和高度的矩形平面向场景发出光线
LightMass重要体积Actor:集中要照亮的重要区域
反射捕获ReflectionCaptureActor:获取真实外观,从表面反射光线
- 体积云
云阴影:
- 光线步进体积阴影:适合从地面到天空的过渡
- Beer阴影贴图:渲染快,但不够精确,从地面观察云的需求
作者:XTG111
出处:https://www.cnblogs.com/XTG111/p/17734679.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律