思维之海

——在云端,寻找我的星匙。

虚幻-游戏引擎学习笔记

虚幻(Unreal Engine , UE)是一款开源游戏引擎,目前最新版为虚幻5。

References

虚幻引擎4文档Unreal Engine 4 Documentation

虚幻4在线学习

【虚幻4】UE4初学者系列教程-《基础入门合集》-全中文新手教程

Unreal4 学习资源合集

Pre

从入门到真香!全面预探虚幻 Unreal 5 新技术!【就知道玩游戏102】

首先,我看了看从入门到真香!全面预探虚幻 Unreal 5 新技术!【就知道玩游戏102】。了解到一些游戏建模的简单知识。以下是一些总结。

游戏的画面技术进步常常受限于算力,即短时间内可以有效调用的计算资源。一个几何模型,通常需要大量的三角形来模拟复杂的曲面结构,而这样的三角形则至少需要数十万个来达到拟真的水平。

曲面构造

顾名思义,从最简单的曲面开始,逐步进行若干轮切割、拉伸、挤压等变换,直至得到一个需要的复杂曲面。这个过程与工业设计中的3D建模比较相似,需要对每一步的工艺进行手动设计,但是对于游戏的曲面构造,则一般没有严苛的尺寸要求。这样的建模方式因为人工操作要求较多,效率很低。(注:以下及之后的部分图片均来自Gamker的视频截图)

雕刻建模

这种方式的艺术性更强,比较方便非专业的工程人士也能方便地绘制想要的模型。通过模拟画笔、调刀等工具,这样的建模过程更贴近于现实,在模型上绘制出细致的纹理。

最流行的雕刻软件:Zbrush

高模 High Poly

一个细节精致的模型需要的三角形数可达上百万个,称为高模(High Poly)。高模常用于渲染时间充足的场景,如影视行业。

低模 Low Poly

但在游戏中,由于渲染的实时性,计算机无法提供高模所需要的大量计算资源。因此游戏中只能采用低模(Low Poly)。

随着硬件技术的进步,游戏中人物模型的三角形数逐渐从上百个发展到二十万个。这个时候,对于人物细节的整体刻画已经接近完美。

法线贴图 Normal Mapping

但是,对于复杂的自然场景,数以百万的三角形总数仍然无法达到足够好的表现。

在实际使用中,高模需要经过拓扑,将高模变为一个同一轮廓的低模,但是这个过程比较繁琐、枯燥。

这时,画面的表现力通过低模来呈现是远远不够的。因此,引入了贴图技术。

我们可以通过烘焙技术,将高模的细节投射到一张低模的贴图上,称为法线贴图

法线贴图 - LearnOpenGL

Unity Shader-法线贴图(Normal)及其原理

法线贴图的主要方式就是通过人为地改变平面上每个点的法线方向,从而产生具有凹凸感的光照效果。

置换贴图

置换贴图 Displacement Mapping

视差贴图和法线贴图都是使用特定的手段来达到欺骗视觉的目的,让人以为物体的表面是凹凸起伏的。而置换贴图却是真的将模型的顶点进行偏移,在原本的平面上创造出凹凸的效果。

在真正改变物体轮廓之后, 必须要重新计算表面法线,之后才能进行正确的光照计算。如下图,右侧的便是置换贴图,由于法线没有进行重新计算,得出了错误的光照计算结果,相比于左侧真实的模型表面,缺少立体感。

因为置换贴图改变了模型本身,消耗三角形较多,并不能像法线贴图一样大量使用。但置换贴图的效果确实很好。

由于是对顶点进行拉伸,当拉伸过度时,拉伸方向上会出现较为明显的细节失真。如下图。

多层次细节 LOD

LOD(Levels of Detail)根据物体离玩家的距离来自动调节模型的细节程度。但是设置LOD的非常麻烦。

虚幻5的新技术

虚幻引擎5!!!4K画质PS5实机演示!

虚拟微多边形几何 Nanite

Nanite虚拟几何技术的出现意味着具有极其复杂几何的影视级艺术作品可以直接被导入虚幻引擎,几何数据可以被实时流送和缩放,因此艺术家们无需再考虑多边形数量预算、多边形内存预算,也不用再将细节烘焙到法线贴图或手动编辑细节层次(LOD)。艺术家们的创造力不再被技术所限制,这极大地推动计算机图形学领域的发展。

——摘自计算共形几何课堂

Megascan

动态全局光照 Lumen