当前位置:   article > 正文

【UE4】【笔记】7、照明阴影和后期处理_ue4阴影边缘柔化

ue4阴影边缘柔化

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

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

光照(Lighting)

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

构建光照

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

阴影

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

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

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

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

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

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

动态阴影
虽然这种阴影可以随着物体的移动而移动,但是可以看到阴影的效果不如静态阴影,菱角分明——衰减效果不够理想。
可以变化的影子
不但阴影会随着物体的移动而移动,就连物体(例如上面这个人物Actor)的变化都会影响到阴影。奔跑时的人的影子是实时变化的。
阴影融合
当两块动态阴影重叠的时候会产生融合效果,这也是静态阴影所做不到的。
这也是为什么固定光源位于静态光源与动态光源之间的原因,它融合了两者的优点。
然而刚刚的静态方块在被移动后地上同样有一块阴影,这是因为对静态的物体进行了阴影烘焙。

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

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

级联阴影

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

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

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

距离场阴影

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

这个特性也非常的昂贵,它可以在点光源中使用,但是需要开启距离场才能使用:
开启距离场1
开启距离场2
开启距离场之后需要重启项目才能生效。

接触阴影

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

后期处理

大纲
后期处理由体积负责实现,但是也和渲染相关。它属于会快速消耗性能的内容:
后期处理体积
其细节如图所示:
后期处理体积细节
我们先关系“Post Process Volumes Settings”中的选项。
第一个是Infinite Extent(无边界),勾选了这个选项意味着整个场景中的所有对象即使没有被这个体积覆盖也会受到它的影响。
如果没有勾选这个选项的话,那它就和传统的体积一样只会在当前的作用域内起作用,当玩家进入到这个体积之后就会出现后期处理效果。
(即玩家进入到后期处理体积之后,画面会受到后期处理体积设置的影响)

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/133110
推荐阅读
相关标签
  

闽ICP备14008679号