官方视频教程:
全局光照入门learn.unrealengine.com 理解建筑可视化中的全局光照learn.unrealengine.com【导图】
【注意事项】
内容有点多,由于知乎没有【toc】功能,定位比较麻烦。不过大家可以根据导图
- Ctrl+F 查询功能来精确定位各个章节。
- Ctrl+Home 跳到文首
- Ctrl+End 跳到文末
虚幻就是:
- 蓝图连连看
- 看图找不同
- 效果对对碰
后面有点着急了,最后几个章节有点仓促,到时候做项目时候遇到了再重新进行详细排版说明。
一、项目基础设置
【对应官方目录】
- 简介与欢迎
- 简介-必备知识
- Box链接
- 简介-练习文件
- 简介-设置UE项目
- 创建和控制GI-虚幻关卡设置
有些知识点我自己加了一点。不过可以总结为:
【1.1】到微云上下载实战项目源文件
压缩包大小4个G,解压后11多个G
文件分享share.weiyun.com腾讯占有Epic 40%的股份嘛,自然而然就是腾讯微云了。
【1.2】确保场景中只有一个太阳直射光
- 打开01_01关卡,确保场景当中只有直射光Directional Light,光强为10,类型为Static静态(全局光照适合使用静态光源,因为可移动光源或者是完全动态光源对间接光照没有作用)
【1.3】灯光相关
【1】灯光可移动性
如果我们起先在关卡蓝图中给一个灯光设置事件,flipflop变灯的颜色。
简单总结为:
- Static Lights——上述事件对它无影响——Alt P 之后不能更改灯光属性和Transform,运行时啥都改不了
- Stationary Lights——如果运行时白色变红色,场景中实际GI仍为白色——Alt P 之后可以更改灯光属性,但是不能更改Transform(Scale即是Influence Size 灯光影响范围)
- Dynamic Lights——Alt P 之后可以更改灯光属性和Transform,运行时啥都能改了
【2】灵活转换灯光种类
另外我们如果想要更改灯光类型的话,Actor下Convert即可。
Spot聚光灯(伞状)变Point Light(球状),抑或是Directional。
【1.4】确保场景中只有一个后处理(且只控制曝光)
- 后处理 Lens->Exposure最大最小亮度为0.25以配合默认的直射光光强,并关闭后处理的其他所有效果,因为它们可能会干扰我们的光照解决方案。
【1.5】World Settings 中的Lightmass 全部使用默认值
以前只看GameMode,下面的Lightmass就从来没有留意过。
【1.6】G键关掉所有Gizmo以显示实时光照效果,而不是视图光照
- 如果我们按G键,关掉所有Gizmo,进入Game Mode,由于光照是实时烘焙的。视图光照和实时光照之间存在差异,所以确保关掉所有的Gizmo来测试我们的光照方案。
下图中我们可以看到不关掉会有些问题,如曝光。G键 关掉之后就好了。
【1.7】设置Lightmass烘焙质量为Preview
- 烘焙质量可以改为Preview,Production效果好但速度慢,初学者Preview就行了,省时省力。
【1.8】用Bookmark标签灵活切换相机位置
- 相机,可以用Cine Camera,也可以用普通相机。只不过Cine有黑色边框看起来更专业点罢了。
-
- 0切换到主摄像机视角
- 1切换到定向光源视角
- 2切换到GI难以触及的部分
- 3 近景对象
注意不是Play后才能切换(也就是说不是Input Key 触发事件的那种),正常状态(不是Runtime)就可以切换。
项目偏好设置中设置 bookmark 快捷键 (Ctrl+相应的数字就可以给镜头位置旋转信息添加书签进行存储(好似关键帧一样),省得你再蓝图Set View Target With Blend 了)
草草草!!!我之前给那个数字人类做初始cine机位的时候都是一直从细节版 Copy Location,Copy Rotation的,简直是麻烦得要死。
【1.9】给所有模型一样的简单材质(可以理解为素描吧)
- 素描——场景中所有模型都使用了一个灰色材质,以便减少视觉干扰(因为材质也会影响GI方案)
【1.10】设置观察模式为 Detail Lighting
- 观察模式——场景默认使用的是Detail Lighting View Mode
- Lit ——应用所有的灯光、反射和材质效果
- Unlit——去除光照贴图、动静态光照还有自发光材质对场景的影响(只有材质影响,没有光照影响)
- Detail Lighting——使用原始材质的法线贴图,在整个场景中添加中性材质。粗糙度和自发光还对场景有影响,高光和金属没有影响。这对于区分你的底色是否因为太暗或太嘈杂而使光线模糊是很有用的。
- Lighting Only——只有光照影响,没有材质影响
我们默认使用Detail Lighting 就好了。
二、Lightmass是个什么鬼?
先用有道搜一下。嘿!我们可以把它理解为一个灯光构建相关的光照系统。
【2.1】本质
Lightmass本质上是一个独立应用。
- 它支持光线追踪,和其他光线追踪器一样,如V-Ray或者是Mental Ray,它拥有大部分光照功能。
- 而且它还支持网络分布式(Network Distributed)渲染。或者是多处理器渲染,以便加快烘焙速度。
【2.2】功能
在虚幻当中:
- 烘焙光照贴图(Build Lighting)
- 计算全局光照(计算和存储间接照明信息)
- 将贴图融合进材质
这些操作都由Lightmass完成。
(另:GI——Global Illuminaion全局光照,它模拟了光的传输以及与物体表面或体积的交互过程。它等同于 Indirect Illumination间接光照+ Direct 直接光照,而通常直接光照又被称为local light,所以全局光照在实时渲染中通常特指 间接光照部分)
【2.3】实际操作 Build Lighting Only
- 这里的Build->Build Lighting Only(仅构建光照)就会把当前场景发送给Lightmass
- 然后它就会开始计算GI(全局光照)
- 计算完成后,Lightmass为场景中的所有对象生成光照纹理贴图,这些贴图包含了关卡中所有有关光照和阴影的复杂信息
- 然后再把它们导入到场景当中,并将纹理与材质融合