跳至主要內容

SD4.灯光

Mr.Si大约 4 分钟unreal

头像
为什么我的材质质感总是达不到想要的效果?
头像
everything has fresnel!但前提是要有光!
110-Vlado-full (1).jpg
110-Vlado-full (1).jpg

从灯光开始

头像
说到灯光,我们肯定先能想到日常生活中的太阳、电灯、手电等。当然游戏中还有一些例子特效等。 这些光源或是直接影响物体,或是间接影响物体。
头像
可是为什么总觉得游戏中的质感就是没有渲染器渲染的好?
头像
游戏引擎不比离线灯光算法的,离线渲染器只要你想,可以一直用渐进式渲下去,游戏往往需要在每秒60帧的时间内计算出灯光效果,每帧不得超过60毫秒。
  1. 固定管线时代: 在早期的游戏引擎中,使用固定管线图形渲染流水线。灯光通常是基于简单的光照模型,如冯·肖定律(Phong Shading)等。这种方法的计算相对简单,但在细节和真实感方面表现一般。

  2. 可编程管线和着色器: 随着可编程图形管线的出现,引擎可以更灵活地处理灯光。开发者可以使用自定义的着色器编写更复杂的光照算法,如基于物理的渲染(Physically Based Rendering,PBR)。PBR模型更准确地模拟了真实世界中光的反射和折射。

  3. 实时光照技术: 引擎开始引入实时光照技术,如实时全局光照(Real-Time Global Illumination)和实时阴影技术。这些技术旨在模拟真实世界中的光照效果,提高场景的真实感。包括屏幕空间反射(Screen Space Reflection)和环境遮挡(Ambient Occlusion)等技术。

  4. 实时光追: 随着硬件性能的提升,一些引擎引入了实时光追技术,这种技术通过模拟光线在场景中的传播来实现更高质量的光照效果。实时光追通常需要更强大的计算资源,但可以提供更真实的光照和阴影。

  5. 深度学习和实时渲染: 最近,深度学习技术开始应用于游戏渲染,例如基于机器学习的超分辨率技术、反走样和实时光照估计等。这些技术旨在通过神经网络等方法改善实时渲染的质量和性能。

头像
可是早期我看游戏灯光不也挺自然的吗?

灯光烘培

头像
你看到的可能是提前渲染烘培好的灯光,然后保存到一张贴图中,我们通常把这个贴图叫灯光贴图,这种计算烘培的技术在UE也叫Lightmass。

由于本人精力有限,这里记录一些重点,更加详细的还是看专门的视频吧,码字实在太累了!

2UV

头像
问题来了!这个灯光贴图贴哪?我看有些灯光贴图的样子和本体不太一样啊!
头像
问的好!游戏中分两套UV,第一套是给物体本身用的,第二套是拿来烘培灯光的。这也是烘培时代有些物体烘培后会出现黑面的原因之一,2uv没展!

图里确实是AO贴图,你没看错,AO叫环境光遮蔽,理论上也算灯光阴影贴图。

光源色温

头像
可是有时候我们渲染的东西有色差啊!尤其是面料这种材质色彩特别明显。
头像
灯光不仅仅拥有亮度,同时还有一个重要的属性——色温,你拍摄的环境有色温,你处理的手法等导致你口中所谓的色差。
头像
某宝的截图

光源大小

头像
除了色温,光源本身的物理尺寸也会影响"质感"。
头像
可是我明明已经按照现实打光了!为什么还是没有质感?
头像
现实中,尤其是拍电影的时候往往需要一些额外的灯光补充细节。

物体影响

头像
当然,物体本身也会影响你的场景亮度,比如下面不同透光类型的窗帘。

构图

头像
还有一个重要元素就是构图的影响。好比你给女朋友拍照一个道理,合适的透视关系很重要!