一种基于虚拟现实的安防监控产品设计方法与流程

文档序号:13266099阅读:330来源:国知局
技术领域本发明属于视频监控技术领域,尤其是一种基于虚拟现实的安防监控产品设计方法。

背景技术:
近年来,随着虚拟现实技术的迅猛发展,虚拟现实的开发不再是只会用C/C++或OpenGL底层高级程序员的专利,用户的普及率和需求率都得到了广泛的提高,所以“高效便捷”越来越被人们重视。尤其是在产品设计与管理中,基于虚拟现实技术进行产品的开发和管理已经得到很显著的发展,并且具有非常显著的应用效果。随着社会形势的各种突发事件频频发生,安防监控行业得到了迅速发展,由于安防监控产品应用的区域环境繁多,很多同型号的产品在应用不同区域环境下需要进行不同的改进设计,这就需要产品开发工程师不仅要了解产品本身性能,还要根据具体的应用区域环境进行局部改进,往往会在开发一种新产品或一种产品的新应用上花费大量的时间和物力,为提高产品开发工程师的产品开发效率和质量,需要设计一种有效的产品设计和管理方法。

技术实现要素:
本发明的目的是为解决以上问题而提出的,目的在于提供一种基于虚拟现实技术的安防监控产品设计与管理方法,可有效提高产品开发工程师的产品开发效率和质量,具体为引用虚拟现实技术为产品开发工程师建立人机交互的应用场景虚拟产品设计与管理方法。一种基于虚拟现实的安防监控产品设计方法,包括以下几个步骤:步骤1:模型建立。在建模软件中创建基本模型文件(以下称为.X文件),用虚拟引擎将.X文件导入,在引擎中产生基本模型。步骤2:应用场景搭建。无需操作性的模型则直接连接到应用场景主节点下,作为应用场景模型,这时的每个应用场景模型就对应一个.X文件。步骤3:模型管理类创建。在应用场景搭建完成后,在虚拟引擎中创建模型管理类,将不同的模型关联到管理类中,作为基本模型进行操作。这时的基本模型只具有几何信息,只是由点和线组成的框架。在模型管理类中,可以给该基本模型分配纹理图片,光照效果,空间坐标等。与此同时为了便于以后模型的管理,也给基本模型分配了唯一标识ID、备注等,这些信息都是用户在引擎外部操作模型的基本信息。这些基本信息都是管理类的私有变量,必须通过类的公有方法才能从外部对具体的设计实体进行操作,所以将这些公有方法作为引擎与用户界面的接口,进行预留。步骤4:设计实体列表建立。在模型管理类完成后,建立设计实体列表。在类里的每个基本模型被调用或者重载之后,都会在虚拟应用场景生成一个与之对应的设计实体,而每个设计实体的信息就会保存到设计实体列表中。而列表只是个容器,本身并没有基本的增加、删减和读写的功能(一下通称表操作),所以在虚拟引擎中要完成以设计实体ID为主键的遍历操作,进而完成表操作。在虚拟引擎中,表操作的过程是作为触发事件来完成的,所以对应的触发信号要作为与外部的接口进行预留。步骤5:设计实体嵌入应用背景。在设计实体列表完成后,将列表连接到虚拟应用场景的节点上,进行遍历并且渲染,每个被添加到列表中的设计实体就会在虚拟应用场景表现出来。这样列表中的设计实体就避免再次以节点的形式连接到虚拟应用场景中,只是以数值的形式存在于应用场景节点中,虚拟引擎只需对管理类中的基本模型进行渲染,无需再进行该设计实体的节点遍历,减少应用场景的节点数的同时也减少了引擎每帧的渲染强度。步骤6:实现人机交互。当以上步骤完成后,将虚拟应用场景发布成Web版,便于C#中的使用。在C#中将发布文件作为Activex控件嵌入到C#界面中。通过C#的事件响应机制和预留的接口,对发布的虚拟应用场景进行操作。这样用户只需通过鼠标点击按钮或者控件中的设计实体就可以达到改变应用场景中的设计实体。附图说明图1为本发明的产品设计与管理方法流程框图;图2为本发明应用场景设计实体模型图;图3为本发明人机交互产品开发设计界面图;图中:101、步骤1;102、步骤2;103、步骤3;104、步骤4;105、步骤5;106、步骤6;2、设计实体。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。如图1所示,为本发明一种基于虚拟现实的安防监控产品设计方法流程框图,其包括以下6个步骤:步骤1(101):模型建立。在建模软件中创建基本模型文件(以下称为.X文件),用虚拟引擎将.X文件导入,在引擎中产生基本模型。步骤2(102):应用场景搭建。无需操作性的模型则直接连接到应用场景主节点下,作为应用场景模型,如图2所示,图2中的应用场景模型为两个建筑物,这时的应用场景模型就对应一个.X文件。步骤3(103):模型管理类创建。在应用场景搭建完成后,在虚拟引擎中创建模型管理类,将不同的模型关联到管理类中,作为基本模型进行操作。这时的基本模型只具有几何信息,只是由点和线组成的框架。在模型管理类中,可以给该基本模型分配纹理图片,光照效果,空间坐标等。与此同时为了便于以后模型的管理,也给基本模型分配了唯一标识ID、备注等,这些信息都是用户在引擎外部操作模型的基本信息。这些基本信息都是管理类的私有变量,必须通过类的公有方法才能从外部对具体的设计实体进行操作,所以将这些公有方法作为引擎与用户界面的接口,进行预留。步骤4(104):设计实体列表建立。在模型管理类完成后,建立设计实体列表。在类里的每个基本模型被调用或者重载之后,都会在虚拟应用场景生成一个与之对应的设计实体,而每个设计实体的信息就会保存到设计实体列表中。而列表只是个容器,本身并没有基本的增加、删减和读写的功能(一下通称表操作),所以在虚拟引擎中要完成以设计实体ID为主键的遍历操作,进而完成表操作。在虚拟引擎中,表操作的过程是作为触发事件来完成的,所以对应的触发信号要作为与外部的接口进行预留。在表操作完成后,会产生表空间浪费,例如:添加空设计实体,删除设计实体后表长度没有减少等。因为设计实体列表是预先向内存申请空间,表长度越长,分配内存资源越多,当有空数据产生时,会造成内存资源浪费。所以在表操作完成后要及时进行清理操作。步骤5(105):设计实体嵌入应用背景。在设计实体列表完成后,将列表连接到虚拟应用场景的节点上,进行遍历并且渲染,每个被添加到列表中的设计实体就会在虚拟应用场景表现出来。这样列表中的设计实体就避免再次以节点的形式连接到虚拟应用场景中,只是以数值的形式存在于应用场景节点中,虚拟引擎只需对管理类中的基本模型进行渲染,无需再进行该设计实体的节点遍历,减少应用场景的节点数的同时也减少了引擎每帧的渲染强度。步骤6(106):实现人机交互。当以上步骤完成后,将虚拟应用场景发布成Web版,便于C#中的使用。在C#中将发布文件作为Activex控件嵌入到C#界面中。通过C#的事件响应机制和预留的接口,对发布的虚拟应用场景进行操作。这样用户只需通过鼠标点击按钮或者控件中的设计实体就可以达到改变应用场景中的设计实体,如图3所示,图3中所示的设计实体2。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1