是充分利用物理模型、传感器更新、运行历史等数据,集成多学科、多物理量、多尺度、多概率的仿真过程,在虚拟空间中完成映射,从而反映相对应的实体装备的全生命周期过程。
先不废话,直接上作品:
石几衣束的B站数字孪生作品空间https://space.bilibili.com/66186575https://space.bilibili.com/66186575
大家好,我是石几衣束,正在UE4技术美术的道路上越挖越深......
关于UE4数字孪生的一些思考&梳理(持续更新):
3D模型&场景地编「全要素生成」
PBR材质表现&Emitter/Nigarra粒子&PPV
光线追踪&非光线追踪
程序功能架构&HUD
物联网大数据同步
全局程序&美术优化
多媒体视频播放
角色&场景动画
资产打包&更新
进阶实战开发
三维模型
首先整理一下涉及到的3D建模软件以及作用:
3DMax(格式转换+素材整合+Datasmith导出)
Maya(模型骨骼动画)
Blender(天下第一)
SketchUp(面数低)
Revit(1:1参数化表现)
Rhino(高精度地形)
倾斜摄影OSGB数据(大面积建模)
Marvelous Designer(布料解算)
Daz studio(人体表现)
CityEngine CGA规则(城市集群快速生成)
UE4 PointCloud点云数据(作为大远景背景)
欢迎交流其它相关软件.....
*UE4目前支持CityEngin Vitruvio插件可以直接实时执行ACG规则生成建筑和道路
场景地编
城市地编
地形插件:
Landscap根据灰度图生成地形(灰度图来源:国家地质信息网,美国国家地质网)
手工勾勒雕刻山脉+三位模型堆砌地形环境(模型来自UE4商城地形素材)
CAD图纸结合WorldMap生成可视化地形
WorldCreator2结合灰度图模拟真实地形(效果最好)
WorldMachine结合DEM数据生成灰度图
道路:
手工建模道路:适用于定制化崎岖不规则道路
模块化程序道路:适用于井字整齐排列道路(参考商城资源:Roads Generator Pack)
Landscape样条线道路:适用于山脉之字形道路(参考商城资源:Brushify Country Roads Pack)
建筑:
建筑分级:V1,V2,V3。(V1:低精度配楼V2:中精度点缀景观楼V3:手工定制精模)
低精度配楼:根据GIS矢量数据
中精度配楼:模块化程序建筑+3D66中精度素材+UE4商城资源结合精模区位摆放
高精度配楼:根据甲方要求设计制作即可
植被
SpeedTree素材库,根据卫片刷在Landscape上,近景建议一个一个种树,远景建议直接大范围刷上,山脉地形处需要细刷。
相关素材积累:绿化丛,花草丛,点缀性植被。(eg:桃花树,杏树)
水
基于UE4 4.26水系统
湖泊,河流,海洋,池塘,瀑布素材库积累,结合船只,码头,喷泉等配景。
物理水粒子(锦上添花)
其它
风力风车,鸟蝴蝶鱼群,电线塔,大桥,车流+人流,动物,草地,花圃灌木丛,星空天空球......
素材推荐:
Moudule City资源包
*特别提醒:目前UE4支持将Twinmotion的模型以及材质100%还原到UE4内(水材质除外),这一点极大的优化了地编流程,特别是对于重点表现的建筑区域进行精细化处理。
Twinmotion可以联动UE4啦!这个功能我都不敢想!太牛了!_哔哩哔哩 (゜-゜)つロ 干杯~-bilibilihttps://www.bilibili.com/video/BV11A411s73Dhttps://www.bilibili.com/video/BV11A411s73D
PBR材质---基于物理的渲染过程。
漫反射 Diffuse
反射 Specular
金属度 Metalness
反射率 Reflectivity
菲涅尔反射(玻璃属性)
法线 Normal
粗糙度 Roughness
阴影 AmblientOcclusion
*常见的材质属性
PBR材质工具
1.SubstanceDesgener(制作PBR材质)
2.Marmoset Toolbag3.俗称:八猴(预览PBR效果)
3.Unfold3D(展UV)
4.Xnormal(烘焙法线)
UE4Niagara粒子
Niagara系统(坑先挖好)
白狸奴:UE4-Niagara基础解析https://zhuanlan.zhihu.com/p/138088668https://zhuanlan.zhihu.com/p/138088668
实战场景:可视化车流、物理液体、烟雾气流、特效展示、等等.....
PostProssesVolume
PostProssesVolume(后期盒子)
LUT(润色)影视级调色
后期材质(设置景深用于表现独立建筑,扫描特效,Mesh描边)
环境遮罩(Ambient Cubemap)
禁用动态模糊(Motion Blur)
Misc控制全局分辨率(不建议大于200)
Film(偶尔调色出奇的好用)
光线追踪&非光线追踪(离线烘焙Lightmass)
RayTracing
RayTracing(光线追踪)-着重表现金属,玻璃,全局AO等等
离线烘焙(Lightmass)-可用于降低配置消耗,不过占用内存较大(目前的GPU Lightmass烘焙效率高,效果与CPU渲染并无太大差异)
其它光线技术:
虚拟纹理-可以吧生成动态纹理
距离场阴影 -对大型场景的性能优化作用显著
屏幕空间全局光照
程序功能架构
参考大钊老师专栏里有关GamePlay架构的解析:
InsideUE4https://www.zhihu.com/column/insideue4https://www.zhihu.com/column/insideue4
个人整理的开发目录结构:
Content目录结构
数字孪生涉及的功能点:
天气系统
昼夜交替系统
季节系统
模拟(非数据)交通系统
程序化夜景车流,路灯,窗户效果
数据可视化大屏嵌入
自定义POI镜头事件
程序化道路系统(表现核心区域)
c程序化交通系統(重点表现车流)
动态扫描系统(可全局控制)
程序化自定义景深(带效果)
模型切割透视效果
季节切换系统
自定义景深选择带描边
.....
其它功能点:
全局参数设置(eg:分辨率,阴影质量等)
config配置运行
产品启动真实读取&加载
远程内网ipad控制交互(TCP&UDPsocket)
APK加密&解密
生成安装包
物联网大数据同步
物联数据
获取数据:数据包括但不限于:点、线、面(通常为Json/GeoJson数据)
读取数据:LowEntryHttpRequest、LowEntryJson插件读取云数据。
处理数据:通常数据都是按照经纬坐标集成的,这里我们需要将经纬坐标转为引擎坐标,推荐插件(SimulationPlugin),github可捡。
应用数据:将数据转化为可视的效果,例如:当地停车场位置以及内部信息。
常见数据驱动效果有:热力图、OD线、标签POI、路网。
全局程序&美术优化
全局优化
这是非常关键的一个篇章,根据经验来讲,产品流程成熟之后,产品开发70%的工作可能都要放在后期的优化上。(这里的优化包含但不限于对效果进行修改的工作)
特别推荐:NAVIDA DLSS目前支持4.25版本以上,可大幅度提升性能,并且提高分辨率,和光追同时使用效果更佳。
程序优化:
优化前的注意事项:
记得在独立模式下运行(standalone Mode)
记得最小化编辑器
切记关闭帧率平滑turn off Frame rates smoothing
且用控制台命令r.VSync=0关闭垂直同步
方案:
少用Tick(要记住如果你的场景和世界中,有许多Actor的“Tick”函数在运行。那就会严重拖累游戏的流畅度。)*替代方案:Timeline、Timer
Manual toggling of Actor Tick 手动切换Tick(手动禁用和开启Tick,比如禁用那些距离玩家太远的Actor,它们不在摄像机里,在你靠近他们的时候再重新启用。)
Reducing the tick interval (减少Tick的时间间隔.)
Event drien systems (事件驱动&蓝图时间驱动)
C++的“RotatingMovementComponent”就是个很好的方法。它用于让对象自旋,但假如你还想进一步榨取性能,你就可以用顶点着色器实现它。
如果你制作的3D游戏会用到动画蓝图,记得要使用Fast Path,基本上动画蓝图中的这种闪电图标越多就越好。
性能消耗大的几个函数:
所有GetAllActorsOfClass ForLoop SpawnActorXXX
*在只有需要访问数据的时候才调用这个函数。然后把数据全部存到数组中。
玄冬Wong:[UE4]性能优化指南(美术向)zhuanlan.zhihu.com
进阶开发
GIS数据的应用
Plugin插件集成和应用
像素流多端应用
API接口设计(SDK工具集)
VR&AR应用
视频流的接入(RTSP/RTMP/HTTP)
数据库接入(Mysql)
RPC广域网多人联机
音频接入(可参考腾讯游戏语音 GVoice)
数字孪生的项目分类
智慧城市、智慧楼宇、智慧校园、智慧工厂、智慧医院、智慧展馆、智慧旅游、智慧乡村、智慧水利、智慧能源、智慧交通、智慧商场、智慧机场、智慧小区、智慧酒店、智慧BIM。
UE5带来的技术革命:
Lumen:在实时全局光照领域,将成为挑战光线追踪技术的硬核法宝,并且,其仅通过软件(不借助硬件)计算。*目前UE5早期体验版:在折射、反射、透明物等方面和光追还有一定的差距。并且会出现严重的漏光现象,比如墙体过薄。
Nanite:彻底解决了模型的面数限制,在某种程度上达到了‘’无限面‘’,其动态Lod效果相对传统的手工Lod,效果显得非常细腻自然。*不过对于已经属于无法优化的物体(比如一个引擎底层的12面cube)表面会存在不显示材质的Bug。
Q&A板块(欢迎小伙伴们提问):
1.ACG规则生成建筑?是个什么东东?
这个规则是由51World创建并定义的,具体详情可参考官网。我这里做一个简单的总结:ACG可以理解为一个全自动的场景生成算法,通过数据直接还原真实世界。
2.怎么样让UE4和网页交互?
可以使用WebUI插件,通过数据接口调用前端H5的交互界面,中间的通信数据结构推荐Geojson,实现前后端的数据和交互通信。
敬此
共勉
~
欢迎加入:UE4新手交流群:593864978 \2群:831634765 有三年以上行业经验的小伙伴欢迎加入:UE4虚幻4技术交流学习群:758354000