UE4官方视频学习笔记——照明阴影和后期处理


大纲:光照、阴影、后期处理
这三个东西相互牵扯,他们将会是性能问题的最大来源,一旦处理不好会引起巨大的性能消耗

光照(Lighting)


光照有三种可移动类型:静态(static)、固定(Stationary)、可移动(Movable)。其中静态(static)的开销最小。
静态意味着:不会做任何运动,没有互动,光源信息完全靠烘焙,它不能以任何形式改变其形状或形式(状态)。
固定(固定光源):可以与场景互动,所以固定光源投射的阴影能够和动态对象融合到一起,但是它拥有一定的开销,因为你可以在运行时改变它的颜色和亮度,但是你不能移动它。
动态:动态的开销是最大的,它可以随意的移动,其光影包括所有的效果完全是动态的

构建光照

在【构建→光照质量】中,可以选择4个级别的光照:制作(Production)、高级(High)、中级(Medium)、预览(Preview)。等级从高到低排序。
预览:预览将会以最简陋的方式展现光照的信息,可能会出现奇怪的斑点、阴影,但是可以通过预览大体知道能否达到想要的效果,比如光照的范围等基础信息。其速度也是最快的。
从中级到制作其实就是逐级提升的过程,一般在制作中使用中级和预览就可以,它能够保证基本的信息正确且拥有较快的渲染速度,我们可以通过调整光照贴图的分辨率来消除斑点,提升光照的效果。当项目发布时则需要使用“制作”,它可以提供最佳的渲染效果,但是也最耗时间。

阴影


阴影分为两大类:静态阴影和动态阴影。

  • 静态阴影源于静态光源,它开销极低,但是和场景没有任何互动。
  • 动态阴影源于固定光源和移动光源,它开销很大,但是具备完整的场景互动效果。

UE4同时还提供了一些特殊的阴影:级联阴影(Cascaded Shadows)、距离场阴影(Distance Field Shadows)、接触阴影(Contact Shadows)。
知乎-级联阴影
级联阴影与距离场阴影

静态阴影(静态光源产生的阴影):


我们可以看到此时的阴影具有不错的效果,随着距离的变化阴影会逐渐的模糊化,柔化的阴影非常逼真,但是静态阴影是直接烘焙在贴图上的,即使我们将物体移开,地上的阴影也不会产生变化。

动态阴影(固定光源产生的阴影):


虽然这种阴影可以随着物体的移动而移动,但是可以看到阴影的效果不如静态阴影,菱角分明——衰减效果不够理想。

不但阴影会随着物体的移动而移动,就连物体(例如上面这个人物Actor)的变化都会影响到阴影。奔跑时的人的影子是实时变化的。

当两块动态阴影重叠的时候会产生融合效果,这也是静态阴影所做不到的。
这也是为什么固定光源位于静态光源与动态光源之间的原因,它融合了两者的优点。
然而刚刚的静态方块在被移动后地上同样有一块阴影,这是因为对静态的物体进行了阴影烘焙。

动态阴影(动态光源产生的阴影)


可以看到阴影完全没有柔化效果,但是阴影的融合却达到了极致。在静态的方块被移动后,地上并没有留下阴影,这是因为现在使用的都是动态光源,烘焙完全是实时动态的。

级联阴影


级联阴影非常的酷,它融合了静态阴影和动态阴影的优点,当摄像机靠近物体时,阴影将会被切换到动态阴影,即阴影会随着物体的变化而变化。而当摄像机原理时,则会切换会静态阴影,无论物体如何运动阴影都不会产生变化。

阴影切换距离的设置需要找到对应的光源,并在光源的细节中搜索“cas”找到csm(级联阴影的缩写)选项,即可调整距离。

需要注意的是这种阴影只适用于定向光源

距离场阴影

距离场阴影使用了网格体距离场实现光源和阴影的互动效果,提供了出色的阴影衰减效果。

这个特性也非常的昂贵,它可以在点光源中使用,但是需要开启距离场才能使用:


开启距离场之后需要重启项目才能生效。

接触阴影

接触阴影比较特殊因为它是在屏幕空间中完成的阴影,但是其代价相当昂贵。
当我们渲染面部等细节十分复杂的模型时阴影效果会变得很糟,因为没有足够的阴影缓存来存储这些阴影数据。一般来说十分精细的阴影效果多用于游戏过场动画和电影中,如果需要开启这个选项需要在光源→细节→搜索contact,从0到1效果逐渐变得细节化。但是当接近1的时候则需要强大的电脑性能,否则可能会崩溃,导致渲染的效果不如勾选之前

后期处理


后期处理由体积负责实现,但是也和渲染相关。它属于会快速消耗性能的内容:

其细节如图所示:

我们先关系“Post Process Volumes Settings”中的选项。
第一个是Infinite Extent(无边界),勾选了这个选项意味着整个场景中的所有对象即使没有被这个体积覆盖也会受到它的影响。
如果没有勾选这个选项的话,那它就和传统的体积一样只会在当前的作用域内起作用,当玩家进入到这个体积之后就会出现后期处理效果。
(即玩家进入到后期处理体积之后,画面会受到后期处理体积设置的影响)

顺便一提“抗锯齿效果”之前位于“默认设置”,现在位于“编辑项目设置”→“渲染”:

【UE4】【笔记】7、照明阴影和后期处理相关推荐

  1. UE4渲染的整体流程(可视性、GBuffer、反射、动态光照阴影、后期处理)

    个人博客完整原文:https://alvincr.com/2021/02/ue4-1-rendering/ 评价渲染工具的好坏参考:渲染质量.渲染功能及性能. 1 整体流程 AlvinCR认为渲染并不 ...

  2. UE4笔记-UStructToJsonObjectString首字母自动转换为小写的问题及解决方法

    UE4笔记-UStructToJsonObjectString首字母自动转换为小写的问题及解决方法 参考文章: (1)UE4笔记-UStructToJsonObjectString首字母自动转换为小写 ...

  3. UE4中多种颜色轮廓线的后期处理

    随着近来虚幻引擎4的一些变化,渲染多种颜色的轮廓线已经可以实现了!通过自定义模板,类似自定义深度的缓冲区--但允许网格作为整数值来渲染.它提供了一个0-255范围,可以在网格上定义不同颜色的轮廓线,甚 ...

  4. UE4笔记-进程/线程/网络/IO模块的相关问题记录

    吐槽:如果有Qt的开发经验,会发现其实在比较底层编程理念UE4和Qt极其相识.很多类名和用法甚至都是相同的. Q.创建线程类: UE4文档没有特别介绍关于线程模块的文章,这里自己简单记录一下,备查. ...

  5. 【UE4笔记】蓝图联机游戏制作

    文章目录 制作用户界面 初始主菜单MainManu 搜索服务器界面 FindServer 搜索到的单条服务器+加入按钮 蓝图逻辑 关卡蓝图 主菜单MainManu 搜索服务器界面 FindServer ...

  6. three.js学习笔记(五)——Shadows阴影

    阴影一直是实时三维渲染的挑战,开发人员必须在合理的情况下找到显示真实阴影的技巧. Three.js 有一个内置的解决方案,虽然其并不完美,但用起来很方便. 阴影是怎么工作的? 当你进行一次渲染时,Th ...

  7. UE4 关于远距离没有阴影的问题解决方案

    定向光源(DirectionalLight)(可移动)开启远景阴影: 模型文件(Mesh)开启远景阴影:

  8. Ue4 笔记—— 关于碰撞

    ** UE4 中关于碰撞的一些知识汇总 ** 1, 三种模式 ignore overlap block 忽略 叠加 阻挡. 主要是以上三种模式. 2,阻挡 block 的条件 (1)将两个物体都勾选一 ...

  9. [UE4笔记] 根据日期判断该天是周几

    蔡勒公式: .h: /* 根据日期获得星期几 C为年份前两位,Year为年份后两位,Month为月份,Day为号数,如果Day/Month任意一项为0的时候,那么则根据当前系统时间计算 */ UFUN ...

最新文章

  1. matlab离散系统 响应,离散系统的频率响应和输出响应的matlab实现
  2. 事件控制块的原理与创建
  3. 国内的IDC数据中心运营维护前景如何?
  4. Codeforces Round #321 (Div. 2) B. Kefa and Company (尺取)
  5. stm32的rxne和idle中断_STM32 HAL CubeMX 串口IDLE接收空闲中断+DMA
  6. 无法向会话状态服务器发出回话状态请求
  7. vscode下载提速方法
  8. 电子元器件选型——功率电感
  9. 每次打开office2016相应应用都要配置进度的解决方法
  10. 【微信小程序】自己的小程序跳转到京东小程序商品详情页
  11. 如何限定apt-get使用IPv4或IPv6协议下载
  12. python实现一元二次方程求解_Python实现求解一元二次方程的方法示例
  13. 怎么把linux装入移动硬盘,把Ubuntu装进你的移动硬盘中
  14. 中国十大芯片企业排名
  15. matlab画红色爱心(心形图)
  16. 香蕉皮的妙用(想歪的去面壁)(不管有没有用,先记下再说)
  17. 北京邮电大学自考计算机试题及答案,6所北京高校在河南拟招630人 28个自考专业停考...
  18. 使用CSS网格布局放置元素的七种方法
  19. 转载:android开源项目汇总
  20. 【精彩回顾】迪拜BSV全球区块链大会Day2

热门文章

  1. 2018华为暑假实习面试
  2. 【雷达书籍推荐】 第2期 雷达原理
  3. 1000瓶子10小白鼠找毒药问题
  4. HTTP重定向与服务器转发的区别
  5. 上传资源到静态服务器
  6. Pycharm安装与入门
  7. ZStack - 创建云主机
  8. 苹果平板的笔有必要买吗?适用于苹果平板的手写笔推荐
  9. Python PIL调整图片大小、尺寸和转换图片格式,removebg改变图片背景、透明化处理
  10. 使用js关闭浏览器的方法