基于Delta3D 的虚实融合系统技术分析*

2024-01-04 12:14余云灿
广东轻工职业技术学院学报 2023年6期
关键词:引擎使用者物体

余云灿

(广州工商学院,广东 广州 510800)

虚拟现实系统技术主要是指一种基于各类高新信息技术,能够通过配套设施,如计算机等,构建出一个能够为人们带来逼真的三维视觉、触觉等感官体验的虚拟世界的系统技术。而Delta3D 是一款开放源码的全功能游戏与仿真引擎,此款引擎目前被广泛应用在了各领域的建模和仿真软件中,让软件为使用者带来更佳的体验,因此,将Delta3D 应用到该系统技术中,可以促进该技术的顺利实现,优化该技术所带来的感官体验。

1 Delta3D 的概述

Delta3D 是一款游戏仿真引擎,其应用主要是通过提供一套可行、简单的API 函数库,让操作者可完成所有虚实结合系统软件可视化基本要素的构建。在此过程中,该引擎使用了模块化设计,并通过将Library、Character Animation 等底层模块予以封装、隐藏处理,使这些模块可以整合在一起,由此构建出了一个应用更为便捷的高级API 函数库。在此背景下,可以通过运用底层函数,对引擎进行二次开发,使其功能满足具体的使用需求,这让Delat3D 的使用更加灵活。在该引擎的使用上,该引擎不仅具有dtCore、dtChar、dtABC 等内部功能模块,还可以为使用者提供仿真、BSP 编译器、训练等实用工具,这让其实用性更强。同时,该引擎还具备一套功能强大、集成度高的仿真模块体系,如DAL、ABC等,让使用者在虚实结合系统的开发中,可以运用该引擎,实现系统初始化、设置动态角色与道具、控制管理器等功能,而且该引擎在地景模块上,运用了动态装载算法,这种算法能够支持以星球为单位的数据规模的装载,由此能够让虚实融合系统的环境仿真构建获得更好的效果。此外,在具体的操作上,该引擎支持Linux、Windows 操作系统,而且其所有底层内核,均能够支持多平台,使用者仅需对引擎的源代码,加以小范围的修改,即可构建出适用各类平台的应用程序。基于此,就目前来看,Delta3D 已经被广泛地应用到了各个领域的建模和仿真软件中,尤其是在虚拟融合软件的开发上,通过在图像处理环节运用此引擎,可以让软件的视觉呈现效果更佳,由此优化软件使用者的体验。

2 Delta3D 的顶层构成

在虚实融合系统技术下,Delta3D 的顶层构成相对较为简单,架构如图1 所示,主要是由三个主要子系统组成,即Manager、Actor、Components。其中,Manager 系统的功能包括信息传递、角色管理,负责在其他两个系统之间起到通信导管的作用。Actor 系统是虚实融合系统中的主体,这部分主体主要包括两个部分,即代理主体、角色主体。其中,代理主体负责为管理供给泛型的数据访问接口,角色主体是物体对象,具有相对应的Logic。Components,即组件,负责接收消息,并对所接收的消息进行反应。

图1 Delta3D 顶层架构图

3 虚实融合系统技术概述

虚实融合系统技术,即虚拟与现实相互结合的技术。这种技术可以被具体地阐释为一种能够构建和感受虚拟世界的计算机仿真系统技术。在该技术的应用中,可以借助计算机构筑出一个模拟环境,让使用者对该环境产生沉浸式的体验。在此过程中,该技术通过使用现实世界中的数据,借助计算机技术,将这些数据转化为电子信号,再将这些电子信号与各类传输设施结合使用,让电子信号转化成可为使用者带来感官体验的现象,而这些现象可以是使用者在现实世界中可见的物体,也可以是不可见的物质。一般来说,这些现象都是以三维模型呈现,但由于这些现象存在于计算机技术模拟出的现实世界中,是由虚拟与现实融合产生的现象,所以,称为虚实融合[1]。

现阶段,虚实融合系统技术逐渐被更多的人所认可。在该技术下,使用者可以在该技术构建的虚拟世界中,体验真实世界的感受,同时,配套技术的不断进步,让虚实融合系统技术所模拟出的环境,在真实性上越来越接近现实世界,能够为使用者带来身临其境的感受,尤其是在视觉方面,Delta3D 引擎、5G 等技术的应用让虚实融合系统技术下的图像处理水平得到了显著的提升,让人机交互过程中的视觉体验更加真实,这使虚实融合系统技术逐渐被应用到娱乐、教育、医学、军事、设计等各行业的领域内,助力各领域的生产和发展。截止到目前,在科学技术、社会生产力的持续发展下,各领域对虚实融合系统技术的需求越来越旺盛,这在一定程度上也推动了该技术的进步,并让虚实融合系统技术成为了一个新的技术领域[2]。

4 基于Delta3D 的虚实融合系统技术分析

4.1 物理仿真技术

物理仿真技术是虚拟世界构建中常用的虚实融合系统技术。此项技术可以被阐释为,用于构建虚拟世界中物理现象的虚实融合系统技术。在该技术的应用中,为了模拟出较为真实的物理现象,如力与冲量、摩擦力、重力等,需要运用Delta3D 引擎,将物理要素集成为物理仿真体系,由此构建出一个能够根据现实世界基础物理规律运行的虚拟世界,以有效实现虚实融合系统技术。其中的物理要素,即一系列物理算法包的集合。但在实际操作中,若全部采用自行开发的方式构建这些算法包集合,所耗费的成本过高,因此,大多数情况下,都需基于现有的开源资源进行开发。现阶段,物理仿真技术操作中,常用的开源资源以ODE 为主,其需要模拟的物理现象,包括线速度、外作用力、摩擦力、重力、物体质心位置、质量、碰撞反弹、动量守恒等[3]。

在物理仿真技术的应用中,基于Delta3D 引擎,运用ODE 构建的物理仿真过程通常包括以下几个步骤。

第一,创建与设置,需要先创建仿真世界、碰撞世界、物体、碰撞几何体、联结、联结组,然后设置物体状态、联结与物体绑定、联结参数,由此构建出物理现象的发生环境。

第二,创建一个Loop,首先,按需向物体施加力,再调整相应的联结参数。其次,运用碰撞检测,为每个碰撞点,创造对应的接触联结,再把这些联结放在之前创建的联结组中,之后执行一个模拟步。最后,将之前用于存放接触联结的联结组中的所有联结去掉,由此即可构建出一个物理现象发生路径,使得一个力出现时,虚拟世界中就会出现相应的物理现象。

第三,销毁动态世界、碰撞世界,然后对物体之间,以及物体与静态环境中的碰撞进行处理,由此让物体与物体、物体与静态环境之间的碰撞能够遵循上述构建出的物理现象发生路径,实现对物理现象的仿真[4]。

在上述物理现象仿真构建完成后,还要进行碰撞检测。考虑到在现实世界中,如果物体没有被破坏,那么2 个或以上的物体,无法同时占用同一空间区域,所以,此项物理仿真技术环节,主要是用于检测2 个或以上数量的物体在接触时,相互之间是否会出现穿透的现象,由此保证物理仿真技术的落实效果。在此过程中,常用的碰撞检测算法如表1 所示。

表1 物理现象仿真中常用碰撞检测算法表

4.2 3D 场景管理技术

在虚实融合系统技术中,3D 场景管理技术是一项关键的应用技术,此技术的主要应用作用是,管理场景模型中大量的动作、渲染,以保证虚实融合系统技术的视觉呈现效果[5]。就目前来看,部分仿真软件中的物体模型,可以包含超过2 000 个视觉元素,而且这些元素的拓扑关系也较为复杂。这种情况下,一般需要运用3D 场景管理技术实现不同格式的模型载入管理、动画管理、节点管理、渲染状态管理等,而Delta3D引擎支持大规模的数据容量,可以有效满足3D场景管理需求。为此,在场景管理方面,运用Delta3D 引擎运行3D 场景管理技术,可以有效地实现读取、渲染过程中的信息处理,以提高虚实融合系统技术的应用效果。在3D 场景管理技术的应用中,Delta3D 引擎的应用需要基于一个场景库,该场景库作为场景管理运作的平台,支持各项管理项目的运行,而OSG 开放式场景库,可支持大规模场景的管理,且开放源代码,同时其数据结构为SG,能够将场景及其属性组织成为一个场景树,以呈现出一个场景制作的全部流程,由此让使用者可以更好地应用Delta3D 引擎中的相关功能,完成3D 场景管理,提高虚实结合系统技术的呈现效果[6]。

在基于Delta3D 的3D 场景管理技术下,借助OSG 场景库运行的场景管理,能够支持读取数据格式类型如表2 所示,因此,在场景管理中,可以对表2 格式的数据进行读取,由此完成各类模型的加载管理。待加载完成后,还要按照属性将各类物体设置为相应的节点,然后通过对节点的管理,实现场景中的交互管理。以节点的隐藏管理为例,可以采用深度优先递归法,搜索出相应的节点,然后将该节点的属性设置为隐藏,同时,在控件目录树中,去除掉此节点下属全部子节点名称前的标识,由此即可管理各个节点在交互过程中的视觉呈现效果。其中,深度优先递归法的节点搜索流程如图2 所示。

表2 OSG 场景库支持的数据格式类型表

图2 深度优先递归法的节点搜索流程图

4.3 3D 仿真环境实现技术

3D 仿真环境实现技术作为一种常用的虚实融合系统技术,其主要作用是构建出一个模拟现实世界的背景环境,让使用者能够得到身临其境的体验。在该技术的应用中,Delta3D 引擎加载大规模的数据,让地形环境、天空环境等背景环境更加逼真,优化使用者的视觉体验。由此可见,在3D 仿真环境现实技术操作中,Delta3D引擎也具有极高的应用价值。

在3D 仿真环境实现技术中,通常会基于Delta3D 引擎,运用天空盒、离子系统、特效渲染的方式,来构建背景环境。在此过程中,目前常用的天空盒方法是使用多张、连续的空间照片,作为虚拟环境合成所需的素材,所用的连续空间照片,需要按照前后、上下、左右六个方位,排列成为一个六面体盒子的状态,同时将该盒子的矢量方向,均设置为指向盒子内部。在具体的操作中,首先,运用Delta3D 引擎中的stage 编辑器,设立一个skybo×,及其节点actor。其次,设置好6 个面的图片,再将这6 张图片保存输出为×ml 文件。最后,运用Delta3D 引擎,对输出文件中的actor 加以解析,渲染出天空盒。但此时得到的天空盒,为静态的,与现实生活中的自然环境存在显著的差别,因此,为了让背景环境更加逼真,需要建立一个三维云模型,对现有的天空盒加以改造,使其呈现出动态的视觉效果。为此,需要运用Delta3D 引擎创建一个平面,然后在上面设置云纹图片,并对云纹理的坐标进行动态更新,由此即可形成动态效果。在此过程中,云的模拟,均可以由Delta3D 引擎的dtABC实现。

在3D 仿真环境实现技术中,所构建出的粒子系统主要用于模拟汽车尾气、雨雪天气等环境元素。其中,粒子系统是由简单的粒子单元素组成,这些简单的元素有其对应的属性,如颜色、速度、位置等,可通过运用这种元素,构建出环境中烟、雾、火、水等复杂的物质,而Delta3D引擎通过将这些粒子进行封装,即可完成风、雨等自然现象的模拟,实现3D 环境仿真,效果如图3 所示。

图3 自然景象仿真效果图

而特效渲染,则需要运用Delta3D 引擎操作的同时,使用高级着色语言HLSL。HLSL 是Delta3D 引擎中像素着色器的编程语言,可以将其看做一个自定义小程序,其主要作用包括投影变换、视图变换等。在3D 仿真环境的实现上,通常要遵循使用者的实际需求,构建出可灵活变换的特效,在此基础上,还要尽量减少对仿真平台源码的编译和修改,因此,还可以结合GLSL着色语言的使用,利用此着色语言使用便利的特点,在无需大规模编译和修改源码的条件下,完成特效的灵活变换,提高虚实融合系统技术的落实效果。

4.4 仿真人群实现技术

在虚实融合系统技术中,仿真人群实现技术是构建虚拟世界的重要应用技术,这种虚实融合系统技术通过构建三维模型,结合基于Delta3D引擎的软件设计,可以模拟出与现实世界极为相似的人群环境,由此为使用者带来更加逼真的体验。

在仿真人群实现技术中,需要先构建出Delta3D 引擎所需的人群三维模型,作为引擎的操作对象。而在该三维模型的构建上,需要解决三个主要问题,即人群移动路径寻找、碰撞问题处理、穿透矫正。其中,在人群移动路径方面,可以根据几何计算的思路,构建虚拟的全局导航图,并为每个个体设置相应的起点和终点,同时结合Astar 寻路算法的应用,即可让人群中的个体按照相应的路径移动,形成人群移动的背景。在碰撞问题上,可以将人群中的每个虚拟人作为一个agent,并构建感知区域,如图4 所示。

图4 每个agent 的感知区域

其中,D 为感知区域半径,当其他虚拟人进入感知区域内,agent 主体会触发碰撞规避反应。这意味着当有其他虚拟人靠近到一定距离时,agent 会根据事先设定的碰撞规则来做出相应的行动以避免碰撞发生。d 为碰撞区域半径,其他虚拟人若进入该区域,则会做出碰撞决策,并实现穿透矫正。r 为agent 主体的圆柱体半径。在现实世界中,按照中国成年人的平均体型数据,我们可以估算其所占的立面空间,大约为体厚(0.25 m)乘以肩宽(0.4 m),即0.1 m²。考虑到安全区域和投影面积,我们可以取一个中间值,即0.5 m 乘以0.5 m,来表示成年人所占的有效空间。在穿透问题上,现实世界内的人与人之间,一般需要维持一定的距离,若两者的距离太近,那么心理作用会让人避让,由此始终保持一定的距离,但目前的仿真人群实现技术中,受计算误差、碰撞算法缺陷的影响,个体之间很容易出现碰撞,并呈现出穿透的效果,所以,应当建立针对性的碰撞规则,来规避穿透问题,优化模型的构建效果,由此得到更加真实的人群仿真场景。

待上述模型构建完毕后,即可运用Delta3D引擎,控制上述三维模型中的人群动画演示、人群数量,同时构建该三维模型的输入组件,如键盘响应、游戏事件发送等。在此过程中,需要运用Delta3D 引擎进行程序参数的初始化设置,并对人群的骨骼动画类进行自定义,同时也要运用Delta3D 引擎中的类,按照上述对路径寻找、碰撞问题处理、穿透问题处理的设计,设置分别对应路径寻找、行走、碰撞规避的运行方法,由此实现人群模拟仿真,具体仿真流程如图5 所示。

图5 人群模拟仿真流程图

4.5 仿真界面设计

仿真界面设计环节是虚实融合系统技术中的关键技术环节,此环节的实现通常需要运用Delta3D 引擎的dtQt 模块。此模块的主要作用是处理界面开发工具Qt 与Delta3D 引擎之间的集成,并借此将开发工具嵌入到引擎中,以推进后续开发工作的顺利完成。在仿真界面设计中,需要先下载并解压Qt 源码包,再遵循平台发送的提示指令,进入Qt 文件目录中,再运行configure,然后运用nmake 完成编译和安装操作。此后,设置环境变量。在变量设置中,需要先新建一个OT_ROOT,然后将其的值设置为Qt的安装路径,由此实现引擎与开发工具之间的整合,构建出通用的开发模板,实现仿真界面的设计。但在整体的仿真界面设计中,应当注意,首先,应遵循一致性原则,制定出明确的标准,确保信息提示用语、控件显示等方面都显示出一致的风格,以保证使用的舒适度。其次,每个窗口对应唯一话题,这样使用者才能在打开窗户后,对内容一目了然,这样不仅能够提高使用的便捷性,而且还可以让维护、升级操作更加简便。再次,交互界面的转换应当具有较高的连贯性,确保界面前后呈现出的信息内容相互连贯,以免影响人际交互效果。最后,合理地组合信息元素,考虑到人的事物处理、记忆能力是有限的,所以,应当遵循人脑对事物的认知、处理规律进行信息元素的组合,让使用者去浏览信息,而非要求其记忆信息。为此,在仿真界面的设计上尽量减少使用者操作期间需要记忆的信息,由此提高仿真界面的设计效果,

综上所述,在虚实融合系统技术的应用中使用Delta3D 引擎,可以优化该系统的运行效果,使其能够被更好地应用到创建三维游戏、模拟、交互应用程序和体验的场景中。在虚实融合系统技术上,Delta3D 引擎在物理仿真、场景管理、环境实现等方面具有良好的应用效果,能够让使用者与现实相分离,同时又能够给予使用者身临其境的平台,由此强化使用者与系统交互的真实性,优化使用者的体验,因此,Delta3D 引擎在虚实融合系统技术的操作上具有极高的应用价值。

猜你喜欢
引擎使用者物体
深刻理解物体的平衡
我们是怎样看到物体的
新型拼插休闲椅,让人与人的距离更近
蓝谷: “涉蓝”新引擎
抓拍神器
无形的引擎
为什么同一物体在世界各地重量不一样?
基于Cocos2d引擎的PuzzleGame开发
悬浮的鸡蛋
他汀或增肌肉骨骼不良反应