一种支持单模型交互的三维模型合并方法技术

技术编号:18577080 阅读:33 留言:0更新日期:2018-08-01 12:12
本发明专利技术公开了一种支持单模型交互的三维模型合并方法,包括:将需要合并的原始三维模型对象合并成单一的模型对象,并将合并后的三维模型对象添加到三维场景中;将合并前的原始模型对象只保留在内存,同时创建用于检索原始三维模型对象的索引数据结构;当单独操作某个原始模型对象时,通过索引数据结构查找并将其添加到三维场景与合并后的三维模型对象进行叠加显示;对显示效果进行控制,使原始模型对象显示在合并后的模型对象的前面,操作结束后将原始模型对象从三维场景中移除,只保留在内存中。本发明专利技术提高了三维模型显示的效率,只添加需要的原始模型对象数据,以及操作完后及时将其从三维场景中移出,将对三维场景显示性能的影响降到最低。

A 3D model merging method supporting single model interaction

The invention discloses a three dimensional model merging method that supports single model interaction, which includes merging the original 3D model objects that need to be merged into a single model object and adding the merged 3D model objects to the 3D scene; the original model objects before the merger are reserved only in memory and are created for detection. The index data structure of the original 3D model object; when the original model object is operated separately, the index data structure is found and added to the 3D scene and the merged 3D model object to be superimposed; the display effect is controlled, so that the original model objects are displayed on the merged model objects. In the front, after the operation is finished, the original model object is removed from the 3D scene and is only kept in memory. The invention improves the efficiency of 3D model display, only adding the required original model object data, and moving it out of the 3D scene in time after the operation is finished, and reduces the impact of the 3D scene display performance to the lowest.

【技术实现步骤摘要】
一种支持单模型交互的三维模型合并方法
本专利技术涉及三维仿真地图制作
,具体涉及一种支持单模型交互的三维模型合并方法。
技术介绍
在三维地图场景中,需要解决两个基本的问题:(1)需要显示大量的三维模型要素,包括房屋、树木、电线杆和消防栓等;(2)需要对三维模型要素进行交互操作,例如选择、查看属性和高亮显示等。这种交互性要求各个模型要素相互之间需要保持几何信息的独立性,可以以要素为单位进行操作,然后在此基础上实现三维模型的可视化渲染和显示。在显示时,主流的三维引擎如OpenGL和WebGL引擎都是采取逐个读取渲染的方式,即需要遍历这些三维模型对象,依次读取这些模型的顶点、材质和纹理贴图等信息,逐个渲染。当三维模型数量较多时,这种逐个读取渲染的模式会消耗大量的时间,导致三维地图的渲染效率下降、响应性变低,用户体验也会受到很大影响,因此,出现了很多优化方法。目前对于大量要素三维场景优化的方案主要有两种:1、减小单个要素顶点的数量根据应用需求,对单个要素进行化简,减少其顶点的数量,提高单个要素渲染的效率,进而提高三维场景整体渲染效率。例如申请号为201110275336.5的中国专利技术专利,实现了根据可见性进行三维模型化简;申请号为201410031254.X的中国专利技术专利,在兼顾纹理的情况下,实现了三维模型的顶点合并;申请号为201210369882.X的中国专利技术专利实现了三维网格模型的化简。2、减小需要渲染的要素的总数量减少需要渲染的要素的总数量,也能提高渲染效率。专利申请号为201210116987.4的中国专利技术专利,通过模型重组来减少渲染批次,提高渲染效率;申请号为200810120285.7的中国专利技术专利则采取了分类合并的方式。目前的三维场景优化技术的应用上,对于需要进行单个要素交互的场合,主要以单模型化简方法为主;模型合并主要用在不需要进行要素交互的场合。在要素数量较多的情况下,即使采用单模型化简的方式,仍然免不了大量要素的遍历,对性能有较大影响。如果能将模型化简和要素合并相结合,有助于进一步提高三维场景的效率。而模型合并方法未能在单要素交互场景得到很好应用的关键原因,就在于模型一旦合并,就再也无法通过鼠标操作或其他方式选中或者操作单个模型对象,而只能对合并后的对象进行整体选中和操作。如果能在合并后仍然能保持对单个对象的操作能力,就能很好的解决对象合并方案在单要素交互场景中的应用障碍。综上所述,现有技术存在如下缺点:三维模型合并之后无法对单个模型进行操作。
技术实现思路
本专利技术所要解决的技术问题是三维模型合并之后无法对单个模型进行操作的问题。为了解决上述技术问题,本专利技术所采用的技术方案是提供支持单模型交互的三维模型合并方法,包括以下步骤:将需要合并的原始三维模型对象合并成单一的模型对象,并将合并后的三维模型对象添加到三维场景中用于显示;将合并前的原始模型对象只保留在内存,同时创建用于检索原始三维模型对象的索引数据结构;当需要单独操作某个原始模型对象时,通过索引数据结构查找到该原始模型对象并将其添加到三维场景与合并后的三维模型对象进行叠加显示;对显示效果进行控制,使原始模型对象显示在合并后的模型对象的前面,操作结束后将原始模型对象从三维场景中移除,只保留在内存中,等待下一次的检索和操作。优选地,所述原始三维模型对象合并后的数据结构包括合并后的三维模型对象、原始三维模型对象以及对原始三维模型对象的索引。优选地,合并后的三维模型对象为普通的三维对象,直接显示到三维场景中,没有额外的数据项,只包含模型本身的几何信息以及纹理信息;原始三维模型对象以内存对象的形式存在,不添加到三维场景中,也不会显示出来;原始三维模型对象的索引作为一个单独的内存对象存在,在其内部保存了对原始三维模型对象的引用以及每个原始三维模型对象的最小外接长方体。优选地,原始三维模型对象合并后的数据结构支持模型的整体显示和对单个模型对象的个性化显示。优选地,模型的整体显示具体为:将合并后的三维模型对象添加到三维场景中显示出来,按需控制显示效果;对单个模型对象的个性化显示具体为:首先访问索引,从原始三维模型对象中检索出目标模型对象;其次将该目标三维模型对象设置为需要的显示效果并添加到三维场景中,与合并后的三维模型对象叠加显示;操作完成后,将目标三维模型对象从三维场景中移除,只保留在内存中,等待下次操作。优选地,当目标三维模型对象与合并后的三维模型对象叠加显示,将目标三维模型对象叠加在合并后的三维模型对象之上,使得该目标三维模型对象遮挡住合并后的三维模型对象中对应的几何体部分。优选地,按需控制显示效果,包括改变颜色、反射率及其他材质信息。优选地,检索操作通过对几何体的拓扑计算来实现,具体为:S101、确定检索条件;S102、访问索引对象,依次遍历此索引对象索引的所有目标三维模型对象;S103、对于每一个目标三维模型对象,首先访问其最小外接长方体,判断检索条件对象与外接长方体是否存在相交或包含关系,如果存在,则转S104;否则直接跳转到S106;S104、读取目标三维模型对象的完整的几何信息,判断检索条件对象与目标三维模型对象是否存在相交或包含关系,如果存在,则转S105;否则直接跳转到S106;S105、将存在相交或包含关系的目标三维模型对象作为检索结果保存到检索结果数据集合中;S106、继续访问下一个目标三维模型对象,转S103;S107、遍历完成后,检索结果数据集合中的模型对象即检索结果。本专利技术提出了一种支持单模型交互的三维模型合并方法,通过模型合并来提高效率,并解决了三维模型合并之后无法对单个模型进行操作的问题。首先将原始三维模型对象合并成单一的模型对象,只将合并后的模型对象显示到三维场景中而不再显示原始模型对象,三种场景中只需要渲染单一的模型对象即可,不再有对象遍历的开销,从而大大提高了三维模型显示的效率;通过保留原始模型对象数据并建立索引数据结构,就可以在涉及到单个模型显示和操作时及时查找到原始模型对象并实时添加到场景中以满足显示和其他操作需求。只添加需要的原始模型对象数据而不是添加全部,这样对三维场景的性能产生的影响很小。操作完后及时将原始模型对象从三维场景中移出,也有利于将对三维场景显示性能的影响降到最低。附图说明图1为本专利技术中一种支持单模型交互的三维模型合并方法流程图;图2为本专利技术中原始三维模型对象合并后的数据结构图;图3为本专利技术中模型显示的操作流程图;图4为本专利技术中索引数据结构图;图5为本专利技术中检索操作的流程图;图6为本专利技术中模型检索输入输出数据流示意图。具体实施方式为了解决现有的三维模型合并之后无法对单个模型进行操作的问题。本专利技术提出了一种支持单模型交互的三维模型合并方法,通过模型合并来提高效率,并解决了三维模型合并之后无法对单个模型进行操作的问题。首先将原始三维模型对象合并成单一的模型对象,只将合并后的模型对象显示到三维场景中而不再显示原始模型对象,三种场景中只需要渲染单一的模型对象即可,不再有对象遍历的开销,从而大大提高了三维模型显示的效率;通过保留原始模型对象数据并建立索引数据结构,就可以在涉及到单个模型显示和操作时及时查找到原始模型对象并实时添加到场景中以满足显示和其他操作需求。只添加需要的原始模型对象数据本文档来自技高网
...

【技术保护点】
1.一种支持单模型交互的三维模型合并方法,其特征在于,包括以下步骤:将需要合并的原始三维模型对象合并成单一的模型对象,并将合并后的三维模型对象添加到三维场景中用于显示;将合并前的原始模型对象只保留在内存,同时创建用于检索原始三维模型对象的索引数据结构;当需要单独操作某个原始模型对象时,通过索引数据结构查找到该原始模型对象并将其添加到三维场景与合并后的三维模型对象进行叠加显示;对显示效果进行控制,使原始模型对象显示在合并后的模型对象的前面,操作结束后将原始模型对象从三维场景中移除,只保留在内存中,等待下一次的检索和操作。

【技术特征摘要】
1.一种支持单模型交互的三维模型合并方法,其特征在于,包括以下步骤:将需要合并的原始三维模型对象合并成单一的模型对象,并将合并后的三维模型对象添加到三维场景中用于显示;将合并前的原始模型对象只保留在内存,同时创建用于检索原始三维模型对象的索引数据结构;当需要单独操作某个原始模型对象时,通过索引数据结构查找到该原始模型对象并将其添加到三维场景与合并后的三维模型对象进行叠加显示;对显示效果进行控制,使原始模型对象显示在合并后的模型对象的前面,操作结束后将原始模型对象从三维场景中移除,只保留在内存中,等待下一次的检索和操作。2.如权利要求1所述的支持单模型交互的三维模型合并方法,其特征在于,所述原始三维模型对象合并后的数据结构包括合并后的三维模型对象、原始三维模型对象以及对原始三维模型对象的索引。3.如权利要求2所述的支持单模型交互的三维模型合并方法,其特征在于,合并后的三维模型对象为普通的三维对象,直接显示到三维场景中,没有额外的数据项,只包含模型本身的几何信息以及纹理信息;原始三维模型对象以内存对象的形式存在,不添加到三维场景中,也不会显示出来;原始三维模型对象的索引作为一个单独的内存对象存在,在其内部保存了对原始三维模型对象的引用以及每个原始三维模型对象的最小外接长方体。4.如权利要求3所述的支持单模型交互的三维模型合并方法,其特征在于,原始三维模型对象合并后的数据结构支持模型的整体显示和对单个模型对象的个性化显示。5.如权利要求4所述的支持单模型交互的三维模型合并方法,其特征在于,模型的整体显示具体为:将合并后的三维模型对象添加到三维场景中显示出...

【专利技术属性】
技术研发人员:黄鸿张磊刘爽赵志鹏
申请(专利权)人:广州都市圈网络科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1