CN105654535B - 一种用于三维模拟系统的模型管理器系统 - Google Patents
一种用于三维模拟系统的模型管理器系统 Download PDFInfo
- Publication number
- CN105654535B CN105654535B CN201410652817.7A CN201410652817A CN105654535B CN 105654535 B CN105654535 B CN 105654535B CN 201410652817 A CN201410652817 A CN 201410652817A CN 105654535 B CN105654535 B CN 105654535B
- Authority
- CN
- China
- Prior art keywords
- role
- management
- class
- resource
- technical ability
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及三维模拟引擎设计领域,具体的说是一种用于三维模拟的模型管理器系统。本发明包括:角色模型模块,用于通过设计角色类、技能算法类和数据管理类完成对角色体系的设计;角色静态资源管理模块,用于管理演练系统中的资源,为角色配置技能和属性,储存在数据库中;角色运行资源管理模块,用于调用角色模型的数据管理类管理演练系统运行时的关于角色的相关数据。本发明通过角色、技能算法和数据管理三大类搭建了角色模型基本属性体系,同时利用工厂和原型的方法整合了角色静态资源和运行资源,提高了系统的对于角色模型的可扩展性和可配置性,提高了角色模型的使用效率,防止了系统内角色模型的管理混乱。
Description
技术领域
本发明涉及三维模拟引擎设计领域,具体的说是一种用于三维模拟的模型管理器系统。
背景技术
应急救援模拟演练系统是利用计算机模拟实战环境下的真实物体,以及人员如何的协作完成既定的目标任务,在这个过程中,需要很多的物体需要仿真,譬如参演人员,参演车辆,气体,爆炸,燃烧等粒子效果,这些物体是通过角色来实现,并呈现在眼前,即如何仿真场景,使演练场景真实的呈现在眼前。除此之外,应急救援模拟演练系统中,演练系统中的大量资源需要管理,比如地图、模型、配置文件、音效等,还有一些数据,譬如参演人员的位置、大小等属性,参演车辆的高度、移动速度等属性,以及气体如何扩散等效果,设计一个资源管理器在外部进行管理这些数据。
演练系统中的角色很多,每个角色都需要很多数据,导致系统中的数据流动量比较大。演练运行时,不可能时时刻刻的从数据库中读入,把数据从数据库中一次性的读入内存中,在内存中保存这些数据,这样使用数据时就很方便,这些数据是演练系统运行时关于角色的数据,这些运行时的角色数据需要管理。
鉴于应急模拟演练系统中的参演人员的各种专业技能,三维场景中各个物体的特性,多种角色的不同属性,演练事件的可定制性以及可扩展性,需要在外部进行数据配置,在内部进行合理的初始化以及调用,从而达到对应急模拟演练系统数据的合理使用。通过对以上应急模拟演练系统的需求分析,可以设计模型管理器来满足需求。由此可以归纳出模型管理器的功能图,如图1所示。
发明内容
针对现有技术中存在的上述不足之处,本发明要解决的技术问题是提供一种用于三维模拟的模型管理器系统,解决三维模拟系统中多种角色资源及其复合属性的管理问题。
本发明为实现上述目的所采用的技术方案是:一种用于三维模拟系统的模型管理器系统,包括:
角色模型模块,用于通过设计角色类、技能算法类和数据管理类完成对角色体系的设计;
角色静态资源管理模块,用于管理演练系统中的资源,为角色配置技能和属性,储存在数据库中;
角色运行资源管理模块,用于调用角色模型的数据管理类管理演练系统运行时的关于角色的相关数据。
所述角色类包括角色库、角色代理和Project/Map;
所述角色库用于存储设计好的角色;
所述角色代理用于系统对角色库的访问;
所述Project/Map用于加载角色实例进而调用资源。
所述角色代理拥有角色的基本属性,基本属性是表示直接影响角色在场景中的渲染状况的属性,包括:位置、旋转、大小、包围盒、可否选中。
所述Project/Map中,类Map是演练系统运行时用来读取地图文件的一个类;Project是用来保存角色实例调用的资源。
所述数据管理类用于管理角色扩展属性。
所述技能算法类包括角色技能和角色算法;
角色技能是角色具备的功能,由角色算法来表现;
角色算法是角色技能的表现形式,描述角色技能如何改变角色属性的,即角色属性变化的规则。
所述角色静态资源管理模块存放大量应急救援模拟演练系统运行时用到的数据,其中关于角色及其角色技能方面的数据需要提供给地图编辑器使用,经过地图编辑器的一次加工,构成演练中关于一次演练任务的具体运行数据
所述角色静态资源管理模块包括资源管理、接口管理和插件管理;
所述资源管理用于对管理资源的增删改查;
所述接口管理用于对外以及对内提供的接口,分为资源访问接口,资源存放接口和数据库访问接口;
所述插件管理针对扩展功能模块的添加和删除,为以后添加新功能提供接口。
本发明具有以下优点及有益效果:通过角色、技能算法和数据管理三大类搭建了角色模型基本属性体系,同时利用工厂和原型的方法整合了角色静态资源和运行资源,提高了系统的对于角色模型的可扩展性和可配置性,提高了角色模型的使用效率,防止了系统内角色模型的管理混乱。
附图说明
图1为模型管理器系统功能示意图;
图2为模型管理器系统整体框架图;
图3为角色类总体图;
图4为角色资源管理用例图;
图5为角色静态资源功能示意图;
图6为角色静态资源管理器框架图;
图7为角色静态资源管理逻辑示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
模型管理器系统主要分为两部分:角色模型和角色资源管理。
角色模型主要是关于演练系统中角色的设计,如何使演练系统实现之后不修改源代码,动态的为角色增加技能和属性是本文重点。在大型演练场景中,如何快速的创建角色也是角色模型的设计点之一。角色资源管理分为静态资源管理和动态资源管理,静态资源管理除了管理演练系统中的资源外,主要是为角色配置技能和属性,使演练系统不必修改源代码动态的增加技能和属性;动态(运行时)资源管理主要管理从数据库中读入内存中的角色数据的管理。整体方案设计如图2所示。
在图2中可以看出,角色静态资源管理管理演练系统的各种资源,并且为角色和技能配置数据,储存在数据库中。角色模型通过设计角色类和技能算法类和数据管理类完成对角色体系的设计,进而应用在演练系统中,角色运行资源管理调用角色模型的数据管理类管理演练系统运行时的关于角色的相关数据。
1.角色类
角色类体系包含3大部分:角色库、角色代理和Project/Map。在角色类体系中,角色库编译成C++库供系统调用,系统通过角色代理访问角色,通过Project和Map加载角色实例进而调用声音、纹理和图片等资源。把角色库编译成动态链接库,能随时更改角色代码,只需替换动态链接即可,而不用调试整个系统。
通过角色代理访问角色,这里使用设计模式中的代理模式,代理模式是对象结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。在一些情况下,一个客户不能直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。角色模型体系中,客户端不直接操作角色,而是通过角色代理这个中介去操作角色,由角色代理去控制角色的引用,把角色的外来属性操作放在角色代理上,角色上只是保留了便于和系统通信的方法。
角色代理(ActorProxy)拥有角色的基本属性,基本属性是表示直接影响角色在场景中的渲染状况的属性,包括:位置、旋转、大小、包围盒、可否选中等。角色代理可以通过接口添加角色属性。角色代理主要为角色添加属性,并设置属性的获取和设置方法。角色属性通过另一各类来管理.。角色的创建即角色代理的创建是由角色工厂直接创建的,为了在演练系统中,快速有效的实时的创建角色,采用设计模式中的原型模式,可以直接拷贝当前角色的所有属性值,进行创建角色,即克隆式创建。
实体角色类的设计,可以通过扩展角色类型,来增加角色的种类;可以通过维护角色代理来进一步维护角色。
应急救援演练系统中,可以根据发生的事故定制演练场景,根据定制的演练场景,场景里面具有定制的人物、建筑等演练需要的各种角色。这个场景会生成一张地图。类Map是演练系统运行时用来读取地图文件的一个类。Project是用来保存角色实例调用的声音、纹理和图片等资源。
2.数据管理类
在演练系统中,角色的基本属性用来表现角色的外在特征,比如可以看见的角色的所处的位置,所处的方向,所采用的三维模型,可以看出角色的基本属性就是提供给Delta3D的渲染引擎渲染该角色所使用的数据。角色基本属性是由角色类直接管理的,而不是由数据管理类管理的。
数据管理类主要管理的是角色扩展属性,因为对演练系统中的角色释放技能的时候,是需要直接利用这些数据的,并且这些数据是直接存储在数据管理类中,并被直接修改的。而技能属性是由角色资源管理器进行在外部配置,读入到数据管理类中,是不被修改的,这些属性是由角色释放技能的时候利用的。
角色实例化的时候会被赋予一个UniqueID(全局唯一),通过这个UniqueID,可以唯一确定角色实例。表1是关于角色Id对应的相应的属性集合。
表1 角色ID对应集
角色Id | 角色属性集 |
角色Id | 技能集 |
技能Id | 技能属性集 |
技能都有一个唯一的编码,技能编码是角色资源管理器在配置技能的时候直接赋予的,是角色资源管理器中技能表的主键,技能主键可以作为技能Id。可以通过这个技能Id唯一确定技能。在角色资源管理器中,可以为角色实例配置相应的技能,这个角色就拥有赋予它的技能。技能集就是每个角色配置的技能集合,技能集合中,是由技能Id和其相匹配的技能属性集组成的。角色属性和技能属性的结构是一样的,是包含(属性名字,属性类型,属性值)这样的结构。
3.技能算法类
角色的基本属性和扩展属性只能表征角色的外在状态,角色的行为特征是用角色技能来表现的。角色技能是角色具备的功能,如消防员具有喷水、移动技能,消防车具有载人、喷泡沫等技能;角色算法,是描述角色技能如何改变角色属性的,即角色属性变化的规则。角色算法是角色技能的表现形式,角色技能的实施是由角色算法来表现的,因此设计技能算法类来表现角色的技能是如何实施的。
4.角色运行资源管理
角色资源的管理主要分为两部分,一部分为角色的静态的资源,另一部分是演练系统运行时的角色资源的管理,如图4所示。
角色静态资源管理主要是指对演练系统中使用的角色的基本属性和扩展属性的配置,角色的技能的配置,对角色所需要的资源文件的管理,以及为其他模块设置接口访问数据库,总结起来有以下几点:
实现对三维模型、粒子效果、音效等的管理。
实现对配置文件、脚本文件、地图文件的管理。
实现对存档文件、录像文件的管理。
实现对场景角色及其技能和属性的管理。
通过插件,为以后扩展功能提供接口。
通过设置接口,实现其他模块对本系统数据的访问。
角色静态资源管理存放着大量应急救援模拟演练系统运行时用到的数据。其中关于角色及其角色技能方面的数据需要提供给地图编辑器使用,经过地图编辑器的一次加工,就会构成演练中关于一次演练任务的具体运行数据。演练系统从角色静态资源管理中把某次演练任务的数据直接读到内存中去,演练系统通过内存直接操作这些数据。这些内存中数据即为角色运行时资源。角色运行时资源管理主要是能合理的管理系统运行时的角色的扩展属性,角色的技能。
根据角色静态资源管理功能示意图,设计角色静态资源管理器来进行管理这些资源。角色静态资源管理器的主要分为三层,其框架图6所示。
由框架图6可以看出,资源管理器的功能主要分为三部门:资源管理、接口管理和插件管理。其中资源管理就是对管理资源的增删改查;接口管理为对外以及对内提供的接口,可分为资源访问接口,资源存放接口和数据库访问接口;插件管理主要针对扩展功能模块的添加和删除,为以后添加新功能提供接口。UI层为操作界面,负责用户的基本操作的输入,提供基本操作功能。控制层用来分派用户的请求,并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为数据层可执行的操作。数据层主要用来实现系统中的业务逻辑。
由图7可知,用户通过UI界面,对资源管理器所管理的东西进行增删改查。应急救援模拟演练系统可以通过资源访问接口访问资源管理器中的资源;存档管理器和日志管理器可以把它们产生的文件通过资源存放接口存放在资源管理器中;地图编辑器可以通过资源访问接口调用资源管理器的的资源,同时也可以把其产生的地图文件存放在资源管理器中。
用户接口设计包括系统界面设计、菜单设和提示信息设计三部分。在接口设计时,要保持整体界面样式统一、用户与系统交互和操作方便。
资源管理主要分为以下几个模块进行设计:
模型管理:主要实现对空间模型(人物模型、车辆模型、楼宇模型、罐体模型、粒子效果、音效、装备)的配置以及模型的模型的增、删、改、查功能。
文件管理:主要实现了配置文件和脚本文件的管理,以及对场景文件的管理,和为场景配置脚本文件的功能。
存档管理:主要实现存档的增加、删除、修改、查询,以及为存档配置录像文件。
角色管理:主要实现配置场景角色、标准技能。可以分为以下两大功能:一是场景角色管理:场景角色的增加、修改、删除、查询,以及为场景角色划分属性、划分技能,并为场景角色技能配置消息和算法。二是标准技能管理:标准技能的增加、修改、删除、查询,以及为标准技能划分技能属性。
资源管理采用Qt的QtSql模块来连接数据库,对数据库的操作用的是QtSql的QSqlquery,前台显示直接用的数据库库数据到窗体的映射,常用的数据模型是:QSqlQueryModel,QSqlTableModel,通过这些数据模型映射到TableView控件上,就可以显示数据。
Claims (7)
1.一种用于三维模拟系统的模型管理器系统,其特征在于,包括:
角色模型模块,用于通过设计角色类、技能算法类和数据管理类完成对角色体系的设计;
角色静态资源管理模块,用于管理演练系统中的资源,为角色配置技能和属性,储存在数据库中;
角色运行资源管理模块,用于调用角色模型的数据管理类管理演练系统运行时的关于角色的相关数据。
2.根据权利要求1所述的一种用于三维模拟系统的模型管理器系统,其特征在于,所述角色类包括角色库、角色代理和Project/Map;
所述角色库用于存储设计好的角色;
所述角色代理用于系统对角色库的访问;
所述Project/Map用于加载角色实例进而调用资源;所述Project/Map中,类Map是演练系统运行时用来读取地图文件的一个类;Project是用来保存角色实例调用的资源。
3.根据权利要求2所述的一种用于三维模拟系统的模型管理器系统,其特征在于,所述角色代理拥有角色的基本属性,基本属性是表示直接影响角色在场景中的渲染状况的属性,包括:位置、旋转、大小、包围盒、可否选中。
4.根据权利要求1所述的一种用于三维模拟系统的模型管理器系统,其特征在于,所述数据管理类用于管理角色扩展属性。
5.根据权利要求1所述的一种用于三维模拟系统的模型管理器系统,其特征在于,所述技能算法类包括角色技能和角色算法;
角色技能是角色具备的功能,由角色算法来表现;
角色算法是角色技能的表现形式,描述角色技能如何改变角色属性的,即角色属性变化的规则。
6.根据权利要求1所述的一种用于三维模拟系统的模型管理器系统,其特征在于,所述角色静态资源管理模块存放大量应急救援模拟演练系统运行时用到的数据,其中关于角色及其角色技能方面的数据需要提供给地图编辑器使用,经过地图编辑器的一次加工,构成演练中关于一次演练任务的具体运行数据。
7.根据权利要求1所述的一种用于三维模拟系统的模型管理器系统,其特征在于,所述角色静态资源管理模块包括资源管理、接口管理和插件管理;
所述资源管理用于对管理资源的增删改查;
所述接口管理用于对外以及对内提供的接口,分为资源访问接口,资源存放接口和数据库访问接口;
所述插件管理针对扩展功能模块的添加和删除,为以后添加新功能提供接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410652817.7A CN105654535B (zh) | 2014-11-14 | 2014-11-14 | 一种用于三维模拟系统的模型管理器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410652817.7A CN105654535B (zh) | 2014-11-14 | 2014-11-14 | 一种用于三维模拟系统的模型管理器系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105654535A CN105654535A (zh) | 2016-06-08 |
CN105654535B true CN105654535B (zh) | 2018-08-31 |
Family
ID=56480121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410652817.7A Active CN105654535B (zh) | 2014-11-14 | 2014-11-14 | 一种用于三维模拟系统的模型管理器系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105654535B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107146491A (zh) * | 2017-06-27 | 2017-09-08 | 北京神舟智汇科技有限公司 | 基于lvc仿真的虚拟训练系统 |
CN110555222B (zh) * | 2018-06-01 | 2022-12-16 | 中国科学院沈阳计算技术研究所有限公司 | 基于三维可视化服务平台的快速构建三维可视化应用方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075226A (zh) * | 2007-06-28 | 2007-11-21 | 上海交通大学 | 分布式多角色协同仿真系统 |
CN101140598A (zh) * | 2006-09-07 | 2008-03-12 | 株式会社理光 | 部件识别图像处理器、生成部件识别图像的程序和存储程序的记录介质 |
CN101706719A (zh) * | 2009-08-13 | 2010-05-12 | 苏州市数字城市工程研究中心有限公司 | 基于Hash映射的综合管网三维可视化资源管理方法 |
KR100993905B1 (ko) * | 2008-09-10 | 2010-11-11 | 주식회사 아이원맥스 | 이동통신단말기를 이용한 방재 시스템 |
CN102800120A (zh) * | 2012-06-15 | 2012-11-28 | 北京理工大学 | 一种基于多智能体的应急灾情态势显示系统和方法 |
CN103810741A (zh) * | 2014-02-19 | 2014-05-21 | 重庆邮电大学 | 一种基于多智能体的井下应急撤离虚拟人群仿真方法 |
CN103985077A (zh) * | 2014-05-08 | 2014-08-13 | 武汉库百网络技术有限公司 | 一种应急指挥演练方法及系统 |
-
2014
- 2014-11-14 CN CN201410652817.7A patent/CN105654535B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140598A (zh) * | 2006-09-07 | 2008-03-12 | 株式会社理光 | 部件识别图像处理器、生成部件识别图像的程序和存储程序的记录介质 |
CN101075226A (zh) * | 2007-06-28 | 2007-11-21 | 上海交通大学 | 分布式多角色协同仿真系统 |
KR100993905B1 (ko) * | 2008-09-10 | 2010-11-11 | 주식회사 아이원맥스 | 이동통신단말기를 이용한 방재 시스템 |
CN101706719A (zh) * | 2009-08-13 | 2010-05-12 | 苏州市数字城市工程研究中心有限公司 | 基于Hash映射的综合管网三维可视化资源管理方法 |
CN102800120A (zh) * | 2012-06-15 | 2012-11-28 | 北京理工大学 | 一种基于多智能体的应急灾情态势显示系统和方法 |
CN103810741A (zh) * | 2014-02-19 | 2014-05-21 | 重庆邮电大学 | 一种基于多智能体的井下应急撤离虚拟人群仿真方法 |
CN103985077A (zh) * | 2014-05-08 | 2014-08-13 | 武汉库百网络技术有限公司 | 一种应急指挥演练方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105654535A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111815787A (zh) | 石油化工企业三维数字化预案制作系统及方法 | |
CN111192354A (zh) | 一种基于虚拟现实的三维仿真方法及系统 | |
CN102930753A (zh) | 加油站虚拟培训系统及应用 | |
CN107832567B (zh) | 一种体系效能协同评估系统及评估方法 | |
CN111460621B (zh) | 一种组件化仿真建模方法及系统 | |
CN105869470A (zh) | 一种特高压变电站运行仿真的方法及系统 | |
CN104915245B (zh) | 实现仿真系统与实际功能系统统一运行的集成系统及方法 | |
CN102609985A (zh) | 三维电站图形平台 | |
CN115457224B (zh) | 一种三维地理空间数字孪生架构方法及系统 | |
CN109215432A (zh) | 一种基于vr虚拟技术的电厂操作培训系统 | |
CN102982209A (zh) | 基于hla的空间网络可视化仿真系统及仿真方法 | |
CN108536964A (zh) | 存储介质、卫星星座覆盖性能仿真分析方法及其系统 | |
CN110032804A (zh) | 基于bim、mr与3dp技术结合的工程信息系统 | |
CN104050699B (zh) | 通用三维场景数据的应用实例 | |
CN105654535B (zh) | 一种用于三维模拟系统的模型管理器系统 | |
CN111739148A (zh) | 基于vr技术多人协同的输变电工程设计三维建模方法 | |
Dragoicea et al. | Integrating HLA and service-oriented architecture in a simulation framework | |
CN113989438A (zh) | 一种实现火电厂全流程三维可视化方法和系统 | |
Romero et al. | Virtual reality applied to a full simulator of electrical sub-stations | |
CN102081521A (zh) | 一种通用的武器装备操作界面开发平台 | |
CN114186347A (zh) | 一种多飞行器协同运用仿真系统 | |
CN110555222B (zh) | 基于三维可视化服务平台的快速构建三维可视化应用方法 | |
CN107807818B (zh) | 一种面向SaaS多租户的多层模型及其构建方法 | |
Feng et al. | Simulation research of crime scene based on UDK | |
CN116992623A (zh) | 一种城市多域混合仿真系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |