当前位置: 首页 > news >正文

UE5 学习系列(九)光照系统介绍

这篇博客介绍了 UE5 中的光照系统,UE5 相比较于其他游戏引擎甚至 UE4 的最大优势就是他的光照系统,其提供了非常拟真的光照解决方案,因此这部分内容是非常重要的。

  • B 站视频:s06-光照系统介绍

1. 常用光源介绍

在 UE Editor 中可以手动添加光源,最常用的三种区域光源是点光源 Point Light、聚光源Spot Light、矩形光源 Rect Light,你可以在上方工具栏的 添加对象 -> 光源 Lights 中找到,这三种光源照射的范围相对较小,但也相对可控:

在这里插入图片描述

因为原始视频中用来演示的场景并没有在他们提供的素材中,因此这里建议使用之前博客 《UE5 学习系列(三)创建和移动物体》 中搭建的环境,目的是营造一个相对暗的场景以感受光源的区别,当然你也可以自己直接重新搭一个空的盒子然后把自己放进去:

在这里插入图片描述

1.1 点光源

先进入房子中,然后按照下面的步骤创建一个点光源:

  1. 在上方工具栏中找到 添加物体 -> 光源 Lights -> 点光源 Point Light
  2. 鼠标 左键 拖动光源感受环境变化;

在这里插入图片描述

光源强度

按照下面的步骤可以修改这个光源的 光照强度

  1. 选中光源后在右下角找到细节 Details 标签;
  2. 从中找到光源 Light 中的强度 Intensity
  3. 鼠标拖着上面的数字感受下变化;

在这里插入图片描述

光源颜色

同样是在上一步的细节 Details 中的光源 Light 里,找到光源颜色 Light Color 并点击唤出调色盘调整 颜色

在这里插入图片描述

然后在调色盘中修改光源的颜色:

在这里插入图片描述

衰减半径

衰减半径表示的是 光照范围,也是在细节 Details 中的光源 Light 里,找到衰减半径 Attenuation Radius 然后推动数字体验光照范围的变化:

在这里插入图片描述

源半径

源半径可以理解为 灯泡的大小,在细节 Details 中的光源 Light 里,找到源半径 Source Radius 然后推动数字感受灯泡大小,这个源半径最重要的效果是 改变影子的虚实

在这里插入图片描述

下面两张图对比了源半径为 0100 的时候植被影子的虚实效果,其实对比效果还是很明显的,灯泡周围的黄色线条就描述了光源的源半径:

源半径 0.0源半径 100.0
在这里插入图片描述在这里插入图片描述

1.2 聚光源

和点光源一样,通过以下步骤创建一个聚光源 Spot Light ,聚光源就像灯具中的筒射灯。建议先将之前创建的点光源删掉,否则多个光源在同一个房间内相互影响感受不明显:

  1. 在上方工具栏中找到添加物体中的光源 Ligths,点击聚光源 Spot Light 添加光源;
  2. 拖动光源的三个轴或轴间夹角感受变化;

在这里插入图片描述

虽然点光源也能执行旋转,但因为点本身没有方向所以变化不明显,但聚光本身有指向性,这个时候可以对其进行旋转感受角度变化,选中光源后在上方工具栏中切换到 旋转 模式或按键盘 E 键:

在这里插入图片描述

锥体内外角度

聚光源本身呈现出来的是一种 “锥体” 形状,因此其重要的参数是控制这个 锥体内外角度,在右侧的在细节 Details 中的光源 Light 里,找到锥体内角度 Inner Cone Angle 和 锥体外角度 Outer Cone Angle 分别拖动感受变化:

在这里插入图片描述

1.3 矩形光源

灯具中除了筒射灯外还有一个常用的类型就是平面大灯或者影视行业中用到的 补光灯,矩形光源就是模拟这类光源,按照下面的步骤创建矩形光源,同样建议删除其他无用光源:

  1. 在上方工具栏中找到添加物体中的光源 Ligths,点击矩形光源 Rect Light 添加光源;
  2. 拖动光源的三个轴或轴间夹角感受变化;

在这里插入图片描述

挡板属性

矩形光源的特有属性 挡板角度挡板长度,在右侧的在细节 Details 中的光源 Light 里,找到挡板角度 Barn Door Angle 和 挡板长度 Barn Door Length 分别拖动感受变化:

在这里插入图片描述


2. 环境光

这里为了和视频中的操作同步,需要打开新手包中的一个环境:

  1. 在资源浏览器 Content Drawer 中进入到 Content -> Starter Content -> Maps
  2. 双击打开 Starter Maps 导入新手地图;

在这里插入图片描述

2.1 删除环境光

为了使用自定义的环境光,需要先将右侧大纲中将自带的光源删除:

  1. 在右侧大纲 Outliner 中找到 Lighting 标签;
  2. 点击标签旁边的眼睛按钮 隐藏 整个目录;

体验完效果后直接将这个文件夹按 Del 删除,否则后续的操作无法进行。

在这里插入图片描述

删除后你的大纲 Outliner 中应该看不到刚才的文件夹,目的是将场景自带的光都删干净,然后我们手动去添加:

在这里插入图片描述

2.2 环境光照混合器

UE 将环境光视作一种特殊的存在和上面的光源不同,想要点亮环境需要多个条件同时存在才可以,这其实更像真实物理环境,因为我们能看见周围的环境一方面是由于物体反射,另一方便是因为空气漫反射, UE 在这里的处理逻辑也基本类似。

【Note】:由于编辑器版本问题,在这部分的操作差异较大,此处以我为准。因为环境光照配置比较复杂并且是严重影响你的游戏体验,因此建议在空闲时多看看 UE5 在这方面的文档:

  • Environment Light Mixer;
  • 环境光源混合器

在上方工具栏中点击窗口 Window 选择环境光照混合器 Env.Light Mixer

在这里插入图片描述

如果你在上一步将所有环境光删干净了,那么这里打开的窗口会显示为空;如果你没有删干净那么这里会有些其他项目,你可以根据项目的名称在右侧的大纲中找到相同的内容并删除。

下图中的窗口有以下几个按钮:

  • 创建天空光照 Create Sky Light
  • 创建平行光 Create Directional Light
  • 创建天空大气 Create Sky Atmosphere
  • 创建体积云 Create Volumetric Cloud
  • 创建高度雾 Create Heigth Fog

在这里插入图片描述

2.3 平行光

因为太阳光相对于地球尺度而言是平行光,首先点击环境光照混合器中的创建平行光 Create Directional Light,点击后会呈现以下效果。之所以只有一部分物体被照亮是因为没有添加大气,我们日常看到的环境之所以是全亮是因为有大气漫反射。

在这里插入图片描述

2.4 天空大气

在环境光照混合器中再点击创建天空大气 Create Sky Atmosphere 添加一个大气漫反射:

【Note】:在添加完天空大气后记得 转动一下视角,因为天空的定义是在一定高度外的,由于此时我们还没有添加地面的大气,因此平行光的漫反射也仅限于高空的天空;

在这里插入图片描述

2.5 高度雾

在环境光照混合器中点击创建高度雾 Create Heigth Fog 来创造高度雾,创建完高度雾之后环境基本被全照亮了:

在这里插入图片描述

2.6 体积云

此时天空什么都没有只有大气,点击环境光照混合器中的创建体积云 Create Volumetric Cloud 为天空添加云:

在这里插入图片描述

2.7 天空光照

虽然现在已经将整个环境照亮了,但实际上现在的光照有些锐利了,通过在环境光照混合器中添加天空光照 Create Sky Light 可以让环境中的光柔和一些:

无天空光照有天空光照
在这里插入图片描述在这里插入图片描述

2.8 统一存放

因为环境光的特殊性,通常会将上面几个环境光对象存放在一个叫 Lighting 的文件夹中,在右侧大纲 Outliner 中新建一个文件夹并将上面创建的几个素材拖进去:

在这里插入图片描述


3. 调整环境光

环境光也和第一章的光源一样能够进行调整,调整方式也基本一致。

3.1 调整太阳光

太阳光常用的调整参数有以下几个,都在对象的 Details 中:

  • 光源强度 Intensity;
  • 源角度 Source Angle:相当于太阳的大小,手动拖拽的方式最大只能调到 5,但你可以直接修改数字也是会生效的;

在这里插入图片描述

3.2 调整太阳角度

调整太阳角度有两种方式,第一种也是最直白的是和调整物体角度一样:

  1. 在大纲 Outliner 中选中太阳光 Directional Light
  2. 在上方工具栏中点击旋转图标进入旋转模式,或按键盘 E 键;
  3. 将太阳以对象的形式进行旋转;

在这里插入图片描述

另一种方式调整自由度更高,可以同时调整两个方向的角度,有点类似于黄道面的调整:

  1. 在大纲 Outliner 中选中太阳光 Directional Light
  2. 按住键盘的 Ctrl + L,然后松开 L 再去拖动鼠标;

在这里插入图片描述


4. HDRI Backdrop 插件

4.1 安装插件

这个插件是一个常用的调整环境光的插件,首先需要安装插件:

  1. 在上方工具栏的文件 File 中找到插件 Plugins 并打开;
  2. 在搜索框中输入 HDRI 会自动搜索这个插件;
  3. 勾选插件前面的框后点击下方立即重启 Restart Now

在这里插入图片描述

等待重启完成后打开添加对象中的光源 Lights ,菜单中会多出来一个 HDRI Backdrop 选项:

在这里插入图片描述

点击后你的画面会变成下面这个样子,向下拖动 Z 轴将背景高度调低:

在这里插入图片描述

观察到对象逐渐浮出画面:

在这里插入图片描述

4.2 使用其他贴图

可以通过下面的方式修改环境的贴图效果:

  1. 在右侧大纲 Outliner 中找到 HDRIBackdrop 并点击;
  2. 在细节 Details 中找到 HDRI Backdrop 并点击缩略图右侧的小文件夹图标;
  3. 在资源浏览器中尝试使用其他环境贴图并观察环境变化;

【Note】:第3步需要将贴图拖到缩略图上,就和之前博客中替换材质球一样;

在这里插入图片描述

4.3 摄像机视角

此时你可能会说 “你这背景也太假了”,画面都扭曲了。这是因为我们没有打开相机视角:

  1. 在右侧大纲 Outliner 中找到 HDRIBackdrop
  2. 在右下角的细节 Details 中找到高级 Advance 并展开;
  3. 勾选使用相机投影 Use Camera Projection

在这里插入图片描述

4.4 外部 HDRI 资源

在之前的博客 《UE5 学习系列(五)导入贴图资产》 中我们介绍了如何使用资源网站 Poly Haven,这个网站除了提供对象素材外还提供了很多 HDRI 的资源:

  • Poly Haven:https://polyhaven.com/

进入网站向下拉可以看到 HDRIs 的小球,点击旁边的 Browse HDRIs 按钮进去:
在这里插入图片描述

根据需要选一个自己喜欢的场景然后点进去,我这里以 Citrus Orchard (Pure Sky) 为例:

  1. 在右侧选择素材分辨率,这里使用 4k
  2. 在右侧选择文件格式,UE需要用 HDR
  3. 点击旁边的下载按钮;

【Note 1】:在选择分辨率的时候一定要 量力而行,有些素材可能会会提供非常大的分辨率,但容易一导入 UE 就崩溃。
【Note 2】:这个网站默认打开的是 EXR 格式,一定要选对格式,否则无法导入到 UE 中;

在这里插入图片描述

下载好后先在资源浏览器中找到一个合适的位置,这个位置通常是你存放各种贴图的文件夹,我这里是 All -> Content -> Texture ,然后直接将素材拖到 UE 中:

在这里插入图片描述

如果先要查看这个贴图的信息直接双击点开即可:

在这里插入图片描述

将贴图直接拖拽到 Cubemap 中替换环境贴图:

在这里插入图片描述


5. 后期盒

5.1 创建后期盒

在上方工具栏中找到创建对象,点开后找到视觉效果 Visual Effects,点击后期盒 Post Process Volume
在这里插入图片描述

创建后会多出来一个黄色线条框住的区域,这个区域就是后期盒影响的范围,使用缩放方式将它调大:

在这里插入图片描述

在右下角细节 Details 中可以看到这个对象有很多参数可以调整,可以通过这个对象的参数将你的画面调成 电影级画面,在后期非常有用。

在这里插入图片描述

5.2 修改后期盒参数

在右侧的细节 Details 中尝试修改这个后期盒的参数,例如曝光 Exposure 中的曝光补偿 Exposure Compensation

在这里插入图片描述

在后期盒的参数中有一个比较有意思的选项可以体验下:

  1. 在细节 Details 中的搜索栏中输入 Bound
  2. 勾选无限范围 Infinite Extent

在增大上面提到的曝光补偿后勾选你会发现你的画面变成纯白的了,如果将曝光补偿改回 1 画面又会变回正常。

在这里插入图片描述

5.3 眼部自适应

有时候你在调整环境曝光的时候会发现好像确实亮了一下但过了一会儿又暗回去了,这是因为开了眼部自适应,在编辑游戏的时候可能会需要关闭眼部自适应:如果你本身需要进入到一个暗区域但由于开了自适应会自动增大曝光,那么你永远达不到想要的暗场景效果。

在左上方的着色球找到游戏设置 Game Setting 然后取消勾选就可以让环境光按照你想要的曝光量进行调整。

在这里插入图片描述


6. Lumen 系统

Lumen 系统是 UE5 相对于其他游戏引擎和 UE4 而言的一个巨大特性,叫做 全局动态光照和反射系统,高质量地解决了全局动态光中包括色彩溢出问题,还支持间接阴影效果与无限漫反射。同时,这个系统的另一个最大亮点是 实时光追渲染,Unity 搞了几年都没整出来。

想要明显看出差别最好制作一个暗环境,这里就基于上面的环境对其进行一些修改即可:

  1. 在大纲 Outliner 中隐藏光照 Lighting 文件夹;
  2. 在大纲 Outliner 中隐藏光照 HDRIBackdrop 文件夹;

此时你的环境应该如下图所示:

在这里插入图片描述

找个地方创建一个后期盒并将一个点光源移动到这个盒子中:

在这里插入图片描述

然后按照下面的步骤关闭 Luman:

  1. 选中刚才创建的后期盒后在右下角的细节 Details 中找到全局光照 Global Illumination,勾选前面的方法框 Method,然后修改下拉菜单中选择 None,也可以选择其他选项体验下;
  2. 仍然在细节 Details 中找到反射 Reflections,勾选前面的方法框 Method,然后修改下拉菜单中选择 None,也可以选择其他选项体验下;

【Note 1】:原视频中只需要将方法勾选或取消勾选就可以实现全局光照的开启与关闭,但新版的设置中全局光照是默认开启的,必须勾选方法且同时设置为 None 才能关闭;

【Note 2】:因为我们现在用的场景旁边有其他光源,可能开关效果不显著,可以将后期盒的 Bound 选择为无限,这样能看见相对明显的变化;

【Note 3】:因为每个人对光照的敏感程度不一样,你可以在这里尝试修改表面材质、修改光源颜色、修改那一堆乱七八糟的参数,看看会有哪些变化

在这里插入图片描述

相关文章:

  • stm32cubeide中编译非flash起始地址开始的程序
  • 【ARMv7-A】——CLZ 指令
  • Swift 解法详解:如何在二叉树中寻找最长连续序列
  • 怎么轻松实现报表跨库移植
  • 前端Vue3国际化开发 :使用vue-i18n库和Element Plus 组件实现
  • slam--高斯分布
  • 4、程序的固化和下载(一)
  • 基于 SpringBoot + Vue 在线点餐系统(前后端分离)
  • Eplan2022更改用户界面颜色
  • 文档测试发送
  • 目标检测我来惹2-SPPNet
  • 5分钟玩转Swagger UI:Docker部署+静态化实战
  • LatentSync V8版 - 音频驱动视频生成数字人说话视频 更新V1.6版模型 支持50系显卡 支持批量 一键整合包下载
  • ViT架构所需的大型训练集
  • ROS2的RViz里面,利用navigation2 导航包,在Rviz中添加静态障碍物是否容易?
  • FEMFAT许可有效期
  • 如何用AI赋能学习
  • CHI 总线协议及一致性总线相关的 NOC
  • 深度解析关键词价值,实现精准流量匹配
  • RabbitMQ实现异步消息监听机制
  • 模版网站怎么做/事件营销的案例有哪些
  • 韶关做网站的/新闻最新热点
  • 电子商务网站建设分析和总结/上海网络推广外包
  • 企业电子商务网站建设问题/软件开发工具
  • 河北seo网站优化价格/关键词查询的五种常用工具
  • 网站开发费用科目/今日发生的重大国际新闻