UE4实时渲染动画技巧(笔记)

Xsens动作捕捉 2023-04-18 4384

简要

  • 导入虚幻的贴图中,基础色贴图、自发光贴图需要勾选sRGB,其他数据类贴图均不需要
  • 地面使用Megascans混合材质
  • 可以通过绘制植物来给场景添加细节,包括但不仅限于植物、石头、树枝等
  • 可以通过添加贴花来为场景添加细节,相对于绘制植物,应该是较为节省性能的做法
  • 使用后期处理Volume
  • 灵活使用光照通道可以打一些“假光”创造真实感
  • 使用【天空光(环境光)+定向光(太阳)+天空大气(大气层)】创造基础光照,需要将定向光设置为大气太阳光,并且天空光设置为实时捕获
  • 使用序列渲染动画

关于sRGB的解释

由于RGB值和功率并非简单的线性关系,而是指数为2.2的幂函数关系,就是说,如果图像是正常(线性)的,那么被输出后就是整体偏暗的(RGB值需要进行power2.2后输出),所以,如果我们预先将图像的gamma值设置为1/2.2(正常情况下电脑中的图像应该都是这样处理的),这样输出的时候就可以抵消了。但是,如果图像输入时的gamma值为1/2.2,而我们需要在线性空间下进行渲染,这样就不能得到正确的结果(偏亮),所以我们需要先将图像进行一次power2.2切换到线性空间(即gamma校正),计算结束后再进行一次power1/2.2切换回gamma空间,这样再给显示器输出,就能得到正确的结果。

而法线和mask贴图不需要是因为它们是数据纹理,和颜色值无关。


UE4实时渲染动画技巧(笔记)  第1张

Megascans混合材质

安装Bridge和插件

UE4并不内置Bridge,所以我们想要获取Bridge中的资产,需要安装它,可以直接在官网下载,这个软件会直接默认C盘安装。(Quxiel Brigde对网络要求比较高)

需要注意的是,我们需要进行软件的导出设置,这里选择Unreal Engine,如果没有装这个插件,这里会提示下载,下载完毕后可以选择引擎版本,然后第一个路径是插件的安装位置,第二个路径是引擎版本的根目录。设置好后,就可以选择一些资产导入到UE4中了。

UE4实时渲染动画技巧(笔记)  第2张

在安装好插件后,UE4打开就可以看到这个插件了。点击它便可以创建混合材质了。

UE4实时渲染动画技巧(笔记)  第3张

创建地面混合材质

创建混合材质需要选中两个以上(最多三个)的材质实例,选择的顺序很重要,按照顺序分别是底层、中层、顶层,选中后直接点击这个绿色的Megasans图标,点击底部按钮【Create Material Blend】,就会新建一个文件夹以保存这个新建的混合材质。

新建混合材质后可以双击打开材质面板进行调整:

  • 勾选Use Puddle Layer会自动创建水坑图层,水坑图层对应着笔刷的B通道。
  • 勾选Use Base Layer Adjustments可以得到对基础图层(底层)更多的调整,其他层同理。
  • 点击【模式】,选择【网格体绘制】,我们需要保证绘制的平面有足够多的顶点,因为绘制是基于顶点的。笔刷的设置与刷地形类似,值得注意的是,我们需要将【绘制颜色】调成黑色,可以选择右边那个箭头,可以翻转一下(shift加左键就是擦除颜色)。【颜色绘制】区域中的通道,默认底层,R对应中间层,G对应上层,B对应水坑层,一般是不会一起勾选的,需要绘制哪个单独选择即可。
UE4实时渲染动画技巧(笔记)  第4张
  • 混合材质支持将多个材质根据高度图混合在一起。这点尤为关键,我们在绘制别的层材质的时候,看上去其实会很突兀,因为不同的材质间不应该有如此明显的边界,而是最好有一个较为自然的过渡。我们可以调整【Blender Controls】中的内容,上面一个是控制底层和中间层的混合的,下面一个则是底层和顶层的混合。具体参数调整可以以下图为参考。
UE4实时渲染动画技巧(笔记)  第5张

值得注意的是,这个混合的功能是基于高度图的,也就是说,材质必须都拥有Displacement贴图才能混合,下图为混合前后的区别。

UE4实时渲染动画技巧(笔记)  第6张
UE4实时渲染动画技巧(笔记)  第7张
  • 水坑层的调整在最底下。我们可以通过一些设置来创作更逼近于环境和更真实的水坑。
UE4实时渲染动画技巧(笔记)  第8张
UE4实时渲染动画技巧(笔记)  第9张

植物编辑模式

点击【模式】后选择【植物】,下图为笔刷的设置。

UE4实时渲染动画技巧(笔记)  第10张

如果已经添加了Brigde中的植物资产的话,默认会显示出右边的植物类型。不过实际上,任何网格体都可以被当作植物刷在表面上,只需要选中它拖入即可。

选中任何植物体,都可以设置它的绘制细节,包含密度、缩放等,如果要一起绘制可以都勾选上。

UE4实时渲染动画技巧(笔记)  第11张

使用这个方法可以快速为场景创造更多细节,不过对性能方面的损耗较大,不建议刷的太过密集。

使用贴花

本质上是基于一个平面网格的物体,使用了贴花材质,这种材质可以将具有不同alpha值所展现出的形状贴在模型表面上。使用贴花时,直接将其拖入场景中即可,不过由于其特殊性,建议下载时采用较高精度的贴图,不然离近后看起来会比较假。

某些情况,场景相对复杂时,我们想在地面加入一些贴花,但是会同时也会应用到其他静态网格上,这时我们对它们进行设置,取消勾选【接收贴花】即可。

UE4实时渲染动画技巧(笔记)  第12张

光照通道

有时候,某些物体可能需要额外的光照,比如一个角色需要一个聚光灯去更好地展现它,但同时这盏灯也会达到地面上,我们不希望因此导致不真实的结果,所以可以为角色增加新的光照通道,并且匹配这盏聚光灯的通道。

虚幻引擎中默认所有的物体都是勾选通道0,所以我们的光照都能应用到场景物体上,但是此时我们可以改变聚光灯的通道,将其只勾选通道1,意味着它不再照亮通道0的物体,而只照亮通道1的物体,然后将指定物体的通道1也勾选上,这样它同时会受到通道0和通道1的光照。

UE4实时渲染动画技巧(笔记)  第13张
UE4实时渲染动画技巧(笔记)  第14张

使用SunSky插件设置天空光照

如果不必使用HDRI来为场景创造一个天空环境,我们可以启用插件【Sun Position Calculator】,这个插件可以支持我们创建SunSky,可以理解为基于物理的天空,我们可以将太阳和天空(SunSky)拖入场景中,在此之前务必删除直接光以及天光等光源,因为SunSky里面都内置了这些光源,我们可以选中其进行设置。

(其实本质上就是天空光(环境光)+定向光(太阳)+天空大气(大气层),不过多了日期和时间的设置)

UE4实时渲染动画技巧(笔记)  第15张
UE4实时渲染动画技巧(笔记)  第16张
UE4实时渲染动画技巧(笔记)  第17张

默认拖入时可能是全白的,这是因为直接光的强度被设置得太大了,我们将其改为10就正常了。定向光、天光等这些都是和之前一样的设置,我们可以根据需求进行调整,值得注意的是,SunSky自身的属性面板,它是可以根据日期和时间来确定天空的光照的(还可以直接调整太阳位置),也就是说,它所模拟的就是真实世界的天空光照。

UE4实时渲染动画技巧(笔记)  第18张

天空大气默认只会渲染场景z=0的平面以上的区域的光照,所以下半球是全黑的,在创建自然环境时,这个并不影响,因为我们总会设置足够大的地形。而且,某种意义上来说,这本身就是正确的。

序列

创建序列

和Unity的Timeline类似,支持各种物体的属性在时间轴上进行变化,以及多摄像机拍摄,非常适合拿来制作动画。

在最上方一排的UI中就有,我们可以点击【添加关卡序列】,然后给新建的序列确定一个在文件夹中的位置,同时会在世界大纲中创建这个序列的实例,里面包含了序列的一些基本设置,而具体对于序列中内容的创造,则是在弹出的序列的窗口中。

UE4实时渲染动画技巧(笔记)  第19张
UE4实时渲染动画技巧(笔记)  第20张

我们可以设置帧率,在上面一排最右边可以看到,将其设置为24帧符合一个影片的默认帧数。

添加镜头

录制镜头,我们需要摄像机,可以点击左上角摄像机图标添加摄像机,如果世界大纲中没有,则会自动创建一个摄像机,创建出来后可以看到默认的焦距为35,并且会将我们的视口锁定于这个摄像机,等于说我们现在控制的就是摄像机的视角。

如果想要解锁,只需再次点击摄像机最右边那个摄像机图标即可。

UE4实时渲染动画技巧(笔记)  第21张

当我们想要添加多个相机(镜头)时,可以再次点击左上角的摄像机图标,又会给我们新建一个摄像机2,不过此时默认的所有帧都是以摄像机1为视口,我们可以调整它在时间轴上的长度。在48帧之后,我们则以摄像机2为视口,我们可以选中摄像机2,将其锁定为当前视口(点击它最右边那个小摄像机图标),给它调个其他的视角。

时间轴上,将指针移到48帧的位置,然后点击相机切换旁边那个+号,选择摄像机2,则会在这之后为其创建镜头。如果想要观察变换,则不应该将任何摄像机锁定为当前视口,而是点击相机切换最右边那个小摄像机图标,将视口锁定到相机剪切,这时只要指针在时间轴内,它就会自动播放当前帧对应的摄像机视角。(预览动画

UE4实时渲染动画技巧(笔记)  第22张

制作动画

如果我们想做一些动画,也非常方便,实际上摄像机本身也可以制作动画,因为每个物体都有它自身的属性,我们在序列编辑中都可以获取这些属性为其创作关键帧。而k关键帧的方法,我们可以点击左右箭头中间那个圆点k帧,也可以勾选【通道/属性变更时自动创建关键帧】,这样当我们移动指针到别处时,更改物体的某些属性,就能自动为其创建关键帧。

UE4实时渲染动画技巧(笔记)  第23张

默认情况,制作的动画都是平滑的曲线,以下图为例,点击最右边的曲线图标,然后找到对应动画的编辑曲线,可以看到此时的曲线是平滑的,也就是动画效果是淡入淡出的,我们当然可以选择更改动画效果,只需要选中这跟曲线将其设置为线性即可,此时动画效果就是一个匀速状态了。

UE4实时渲染动画技巧(笔记)  第24张
UE4实时渲染动画技巧(笔记)  第25张

当我们想要为一些物体制作动画时,可以直接在世界大纲中拖入到序列中,会新建这个物体的轨道。

添加粒子效果

可以直接将粒子系统拖入序列的轨道中,通常我们会设置粒子何时触发,关于这点,我们可以点击粒子右边的【添加轨道】,点击【FX系统切换轨道】,FX系统包含激活、停用和触发三个选项。

激活通常应用于火焰燃烧等常驻粒子效果;触发是一次性的,适合应用于爆炸等粒子效果;停用就是将粒子效果停止。

UE4实时渲染动画技巧(笔记)  第26张

我们想要让爆炸在24帧时触发,可以在24帧的位置将其设置为触发并添加关键帧,同时激活Fire粒子效果,也是一样添加关键帧的道理(注意,Fire粒子需要取消勾选自动启用),这样在前24帧都不会有粒子播放,24帧爆炸触发同时开始燃烧。我们也可以设置在何时禁用,比如在96帧时,我们可以改为停用。这个激活的区间是可以直接调整的,鼠标拖动即可调整它的激活时段。

UE4实时渲染动画技巧(笔记)  第27张

渲染序列

我们可以点击图标【将此影片渲染为视频或者图像帧序列】将序列中的内容渲染成一个视频。

下图为渲染中的一些设置,分辨率我们可以调成1920x1080,帧率就默认。通常渲染影片,为了追求高质量不启用纹理流送,视频还是得压缩的,质量按情况调整,压缩质量为100时质量最高,默认是75。

下面是输出目录以及文件名之类的,其他默认的一些设置通常不用改,底部有一个需要注意的地方,因为是实时渲染,在场景的前几帧需要进行预计算光照等内容,所以为了渲染的完整性,我们可以开启暖场延迟,将暖场帧数设置为2,暖场之前延迟和镜头暖场之前延迟设置为1,这样导出的渲染视频会在一开始进行暖场,防止出现一开始的渲染过程画面。

设置完毕后点击捕获影片即可。

UE4实时渲染动画技巧(笔记)  第28张
UE4实时渲染动画技巧(笔记)  第29张

其他

  • 序列中可以添加摄像机动画也可以添加在其他美术软件中制作的模型动画。
  • 可以在物体的材质面板中设置一些公开的参数,在序列中是可以更改材质参数的(选中Actor点击【添加轨道】,组件中选择【StaticMeshComponent】,再选中它点击【添加轨道】,即可看到材质参数)。

The End