Part1前言
最近看到一篇文章《我们把高精度复刻的长城,装进这个小程序里》,出于好奇对其所用的技术进行一些研究。列举如下:
长城模型:Photogrammetry
10亿面片渲染:Nanite
光照效果:Lumen
云渲染:像素流
20万棵树:speedtree
Part2Photogrammetry
Photogrammetry通过对一系列物体与环境的照片里的图像信息进行对比、测量,把这些信息翻译成模型、贴图等有用信息。Photogrammetry的输入是一系列照片,输出是一系列点云、3D模型。通过这种技术,我们可以对物体拍摄各个角度的照片,从而在软件里快速还原模型的形状和材质。Photogrammetry通常的处理流程如下图:
目前主流的基于照片生成三维模型的收费软件有RealityCapture和PhotoScan。
不过近期虚幻引擎与Capture Reality(RealityCapture开发者)和Quixel(Megascans开发者)联合打造发布了一款免费的照片生成模型的软件RealityScan。Epic Games发布免费3D扫描应用RealityScan

Part310亿面片渲染
Nanite是虚幻引擎5的虚拟化几何体系统,它采用全新的内部网格体格式和渲染技术来渲染像素级别的细节以及海量对象。它可以智能地仅处理你能够感受到的细节。另外,Nanite采用高度压缩的数据格式,并且支持具有自动细节级别的细粒度流送。
Nanite突破了传统图形学绘制性能受三角面数量影响的制约,对三角面支持带来了指数级提升。
其有着如下优点:
1、几何体形状的复杂度提高了数个数量级,三角形和对象的实时渲染数量达到了前所未有的高度
2、帧预算不再会因为多边形数量、绘制调用和内存使用情况而受限
3、现在可以直接导入电影级品质的美术资源,例如ZBrush雕刻模型和摄影测量扫描数据
4、通过高模实现细节,而非将细节烘培到法线贴图纹理
5、自动处理细节级别(LOD),不再需要手动设置单个网格体的LOD
6、品质损失极少或没有损失,特别是在LOD发生过渡时
虚幻引擎开启Nanite也非常的简单,只需要一个步骤:开启。

Part4光照效果
Lumen是虚幻引擎5的全动态全局光照和反射系统,专门针对下一代主机进行设计,是默认的全局光照和反射系统。大大提升了光照的表现效果。例如,在表面上散乱弹射的光线将使用表面的颜色,并将带有颜色的光线反射到其他附近的表面,从而造成颜色溢出效果。场景中的网格体还会拦截间接光照,这也会造成间接阴影。

Part5云渲染
云渲染是利用UE5的像素流送技术。在云端服务器上运行虚幻引擎应用程序,通过WebRTC将渲染的帧和音频流送到浏览器和移动设备。这样就能借此显示原本无法显示的高质量画面。其能借助拥有强大GPU的本地桌面应用程序中可用的渲染功能,以高分辨率显示复杂场景。

Part620万棵树
SpeedTree是UE4和U3D御用的建树工具。其通过将程序建模和手动编辑结合,大大提升了树的制作速度和效果。植被模型通常过于复杂,无法手动有效地建模,因此建模系统主要是程序化的。使用程序技术粗略制作模型后,再结合曲线编辑直接操纵模型的每个部分对其进行微调。

Part7总结
本文主要对《高精度复刻的长城》所用到的一些技术进行了研究,介绍了三维重建、10亿面片渲染、光照、云渲染、树的相关技术。
Part8关于IN VETA
IN VETA是一支由建模、美术、UE5组成的年轻团队。

我们致力于三维数字孪生技术分享与研发。
欢迎与各界朋友一起探讨技术与商务合作,一起推动数字孪生的发展。