实时渲染下的高精度高校动线模拟研究
2021-07-28周庆伟
摘 要:高校的人流与车流在运行过程中呈现出规律性的交通动线,表现出间歇性、流量大、规律化的特点。因此可以通过建模还原环境,进行高精度的校园交通动线实时渲染,以实现其模拟。研究中,建立了虚拟校园动线模拟系统,以辅助管理者实施动线控制与管理。三维环境细节的还原度越高,动线模拟的可靠性越高,因此三维网格精度的提升与优化至关重要。此外,动线单元的AI设计、碰撞体精度计算、LOD优化均影响动线模拟的有效性。
关键词:校园动线系统;实时模拟;多边形优化;AI设计;LOD
中图分类号:TP391.9 文献标识码:A 文章编号:2096-4706(2021)02-0085-05
Abstract:The flow of people and vehicles in universities present regular traffic dynamic line in the process of travelling,showing intermittent,large flow and regular characteristics. Therefore,it is possible to restore the environment by modeling for high-precision and real-time rendering of campus traffic dynamic line to achieve its simulation. In the research,a virtual campus dynamic line simulation system is established to help managers implement the dynamic line control and management. The higher the detail restoration degree of 3D environment is,the higher the reliability of dynamic line simulation is. So that it is very important that the improvement and optimization of 3D mesh accuracy. In addition,AI design of dynamic line unit,collision body precision calculation and LOD optimization all affect the effectiveness of dynamic line simulation.
Keywords:campus dynamic line system;real-time simulation;polygon optimization;AI design;LOD
0 引 言
学校特别是高校,作为城市重要的公共服务设施,具有占地面积大、人流集散频繁的特点,其承载的教育服务功能、社会交流功能、应急避难功能等都需要科学合理的动线设计与管理做保障。而学校使用群体(学生、教师、管理者)作为校园活动中的主要人群,其人流动线的设计与管理具有间歇性、规律性、流量大的特点。传统的动线规划与设计借助图形、文字、数据等静态表现形式来完成,不能很好地对动线进行动态的预测与管理。
对动线的设计效果进行及时的验证能够提高动线设计与管理的效率,利用计算机GPU图形渲染技术,实现校园动线的三维实时渲染及模拟,可以快速、直观且真实地展示动线规划与设计的实际效果,并能够及时做出针对性调整。建立校园虚拟仿真系统是实现动线模拟的有效方法,一般需要应用VR相关技术、实时渲染技术、AI自适应学习技术等,利用高性能GPU图形加速,实现真实的校园模拟[1],这便能有效且逼真地对高校的交通动线进行实时计算、模拟还原。仅通过参数化的配置,便能快速地检验动线设计与管理策略是否合理,发现不足与可优化节点,做到提前预判,增强校园动线管理的可控性。
1 虛拟校园动线模拟系统设计与实践
针对校园动线模拟需求,研究中对实际校园进行了数字还原,并设计虚拟校园动线模拟系统。该系统包括以下功能:
(1)校园交通流线的还原,通过三维还原,能够实时浏览并掌握校园交通流线空间(包括建筑空间、车行交通空间、户外人行空间,校外辐射交通空间)的原貌,并使之成为完整的模型整体。
(2)具备完整可交互VR显示模块,可以桥接HTC VIVE、OCULUS等主流PC端VR设备,以第一人称视角更直观地观察校园动线模拟情况,同时实现校园720°全景图像的实时演示。
(3)校园动线参数化设置,可以通过输入或者修改校园内人流和车流的速度、数量、方向等参数来得出不同的动线模拟结果,以提高分析动线设计的可靠性。
系统设计与实现需要根据校园的具体情况来进行,包括实际调研、校园动线场景设计与绘制、功能模块验证等。表1为某校园部分人流动线数据调研,图1为系统设计与实践流程。
2 基于UE4的GPU高精度浮点调度与交互实现
校园动线模拟系统在GI条件下运行,需要同时计算1T flops以上的场景多边形,同时需要对所有可活动的模型进行浮点运算,因此必须调用GPU进行动线模拟。研究中应用了当前较为主流的实时渲染引擎UE4[2],其物理模拟效果十分强大,作为3A级商业引擎,其对GPU的高效调度,能够准确地计算并逼真地模拟各种物理环境效果。广泛应用于建筑仿真、3A游戏、海洋模拟等领域。
2.1 虚拟校园在实时拟真渲染下的还原
以三维建模的方式实现宏观模型场景还原,使用CAD对调研数据进行高精度的矢量绘制,再使用3ds Max进行高精度场景还原,最后在UE4引擎中准确地进行实时运算。值得注意的是,这里的高精度指的是交通横向和纵向的准确性,包括道路的宽度、坡度、超高等信息,而非整体画面的真实性,如道路局部沉降、路边的小品装饰等不规则空间的还原就比较困难了。图2为虚拟校园的三维还原流程。
2.2 GPU加速实现高精度碰撞体设计
动线的活动单位为人流或者车流,即动线单元,每个动线单元都要为其设计行动AI,并在规定的范围内活动。这就要求在动线范围内的所有物体都具备碰撞属性。基于UE4物理引擎下的Collsion碰撞属性包括两种实现方式,即boxCollsion和meshCollsion。图3为Collsion模式示意,填充范围为碰撞体范围,前者的精度明显低于后者,而meshCollsion需要更高的浮点算力。图4为碰撞体设置工作流程。选择meshCollsion模式进行GPU调度模拟,能够更精确地进行多边形碰撞。
2.3 动线活动单元AI设置
校园模型空间对象包括两类,静态网格物体和动态网格物体,其中动态活动单元应当以动态网格物体呈现,其顶点、三维坐标、UVW都是可以给予条件并修改的,在UE4中的单元属性为Actor类中的staticmesh。AI单元的设计步骤为:
(1)设置AI活动范围,根据动线规定,锁定环境场所编码为meshCollsion,图5为meshCollsion设置示例。
(2)根据动线规划设计AI基本功能,包括定时游走、触碰减速、拥堵自动重新寻路等,使用UE4的Cube和Sphere对模拟对象进行动线模拟实验,再通过继承Actor继承人、车实体模型。图6为动线AI行为需求树。
在实际模拟中,人行容易产生多次物理碰撞,需要重新编写动态碰撞交互逻辑,以提高运行效率,防止计算溢出。同时UE4的AI行为树计算对CPU消耗巨大,在编码过程中应当调用GPU对动线单元的顶点、向量进行辅助计算,以提高运行效率。图7为动线模拟实验实机演示。
动态碰撞交互逻辑主要代码为:
EBTNodeResult::Block UBTTask_Wait::ExecuteTask(UBehaviorTreeComponent* AIPawn, uint8* Reference) const
{
UBehaviorTreeComponent* AiRef = AIPawn;
AAIController* AiPawnContoraller = AiRef ? Cast
if (AiPawnContoraller == NULL)
{
return EBTNodeResult::Failed;
}
else
{
AAIController->SetAIState(AiRef,EAiPawnState::Wait);
return EBTNodeResult::Succeeded;
}
return EBTNodeResult::Failed;
}
3 實时模拟的运行效率优化
动线模拟的重点在于计算机运行图形单位(动态网格物体)的物理碰撞效果是否合理,而校园环境空间(静态网格物体)的多边形还原至关重要。传统的三维建模手段很难还原微观细节,这是由于3ds Max、Maya等工具的建模方式需要人工创造细节,对于校园这样的大空间,很难保障三维模型的细节深度,同时高精度的模型会影响实时运算的效率。从上述虚拟系统的功能需求角度分析,可以从以下几个方面进行优化。
3.1 多边形LOD实时渲染层级优化
LOD即动态层次细节,通过多层级细节进行模型的动态显示。UE4具备自适应LOD生成,其基本思路是重构模型的三角面,但模型面重构容易引起模型纹理UVW的变化,导致纹理错乱[3]。同时自适应LOD的模型的贴图和多边形层级优化不可控,会出现贴图质量大幅度降低的同时,而多边形数量不变的情况。因此除了使用自适应LOD生成以外,手工制作高、低模型,再进行LOD配置处理的过程也是必不可少的。
在UE4实时运算中,一个顶点和一个面对物体的碰撞效果是差别不大的,因为碰撞后对动线方向改变不是由力学模拟影响,而是根据AI预设的值来确定的。因此减少在同一个象限中的顶点删减可以使对最终模拟效果的影响降到最低。因此可以运用半边折叠的LOD三维模型简化算法[4]进行快速减面。
图8为半边折叠多边形示例,折叠边bC将c点移动到a点的位置,折叠边aB将b点移动到a点的位置,这样便形成了新的顶点a。多边形数量减少,但是顶点碰撞象限高度不变。
通过手动修模将模型分级为L0、L1、L2、L3四个等级,L0表示模型精度最高,L3表示模型精度最低。表2为各层级模型深度。
动线的有效数据模拟一般在近景处,因此应当对近景设置高精度模型显示,动线单元也需要为高精度显示,保持恒定的最佳LOD显示效果。
3.2 位图扫描多边形优化
前文提到3ds Max可以进行高精度建模,可以对动线的规则空间进行精确还原。但是对于不规则的细节模型,如人行地面的沉降、路边可能影响人行通过的景观、植被姿态等,完全还原非常困难。强行3ds Max建模会使多边形数量大幅增长,严重影响动线的实时模拟效率。为了更加精确地还原这些细节,并保证高效的运行效率,部分小体量和不规则模型可以采用Agisoft Photoscan照片建模技术实现模型构建[5]。照片建模技术是利用光学扫描的方式,对目标物体进行像素点三维坐标捕捉,并将其反馈到纹理的UVW上,因此可以完整地保留模型细节。图9为照片建模技术工作流程。
通过照片建模获得的原始模型其多边形数量非常庞大,同样需要手动优化。采用半边折叠的方式减少多边形数量,并重新进行烘焙,能够尽量保留模型的细节信息。
3.3 全局光照烘焙
本研究使用的GPU支持最新的NVIDIA光线追踪技术,光线追踪技术是全局光照技术的一种,可以模拟真实世界的光线分布与反射、折射规则[6]。UE4可以调用实时全局光照接口,实现逼真的光影效果。但是在实时运行过程中,全局光照将耗费巨大的计算机算力,不仅对GPU造成压力,而且CPU和内存的消耗都会增加。
光照效果并不会影响动线模拟的精度,但是为了最大限度地提升演示效果,可以利用NVIDIA光线追踪技术实现场景的最佳光照效果,再对场景进行烘焙,将全局光照的实时渲染效果转化为着色信息。这样既能保持较好的画面效果,又能保证动线模拟所需要的高精度模型计算。
4 校园动线模拟实证
实践证明,基于建立的校园动线模拟系统对动线的模拟是可行的。本研究对实际调研的动线情况进行了模拟。研究中对基本的数据要素进行载入,包括且不限于时间、事件、地点、流量。图10为校园动线模拟实机运行效果。
通过模拟可以得出,基于上述方法建立的动线模拟系统运行良好,对实际调研的人流和车流动线模拟还原度较高。例如表3为一次下课人流模拟情况。
5 结 论
计算机实时模拟校园动线是可行的。三维模型可以更准确地模拟真实的物理动态效果,保证动线模拟的可靠性,这得益于GPU加速下的高精度多边形的实时渲染效果。但是,在实际应用中需要注意下文所述的五个要点:
(1)动线模拟系统需要根据具体校园的空间复杂程度、动线运行情况进行单独优化,校园流量较大的情况下需要反复调整动线单元的多边形,以保证运行速度。
(2)动线模拟系统必须在60 FPS以上的状态运行,以免出现卡顿而导致的动线流量误差。
(3)需要针对不同的动线事件,单独设置动线运行的关卡。
(4)动线模拟过程中应尽量采用多种多边形物体进行动线模拟实验,再进行真实比例的人体和车体的动线单元继承Actor。
(5)需要根据校园的实际情况,不断去修正和更新动线模拟系统。
参考文献:
[1] 刘菲菲.基于几何建模技术创建虚拟校园漫游系统 [J].现代电子技术,2019,42(13):127-130.
[2] 余肖翰,余麒祥.基于UE4引擎的海洋虚拟可视化初探 [J].应用海洋学学报,2017,36(2):295-301.
[3] 程良勇,李南江.网络三维数字城市海量模型优化算法研究 [J].测绘通报,2019(7):104-108.
[4] 熊仕勇,李沁翰,谢爱荣.基于半边折叠的LoD三维模型简化算法 [J].计算机工程与设计,2016,37(3):655-659.
[5] 马欢欢,赵清坡.Agisoft Photoscan照片建模技术在考古中的应用 [J].文物保护与考古科学,2016,28(4):144-149.
[6] 秦志强,张文阁,蒋晓瑜,等.基于光線追踪的实时可交互计算生成集成成像方法 [J].光子学报,2019,48(9):99-107.
作者简介:周庆伟(1986.09—),男,汉族,四川自贡人,讲师,毕业于西南科技大学,硕士研究生,主要研究方向:虚拟旅游。