CN110197534B - 虚拟建筑附件模型的挂接方法、装置、处理器及终端 - Google Patents
虚拟建筑附件模型的挂接方法、装置、处理器及终端 Download PDFInfo
- Publication number
- CN110197534B CN110197534B CN201910497094.0A CN201910497094A CN110197534B CN 110197534 B CN110197534 B CN 110197534B CN 201910497094 A CN201910497094 A CN 201910497094A CN 110197534 B CN110197534 B CN 110197534B
- Authority
- CN
- China
- Prior art keywords
- area
- model
- virtual building
- hooking
- hanging
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000000877 morphologic effect Effects 0.000 claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 31
- 238000004458 analytical method Methods 0.000 claims description 24
- 230000011218 segmentation Effects 0.000 claims description 16
- 230000005484 gravity Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 14
- 239000011521 glass Substances 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000003321 amplification Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000001179 sorption measurement Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000006059 cover glass Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2008—Assembling, disassembling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种虚拟建筑附件模型的挂接方法、装置、处理器及终端。其中,该方法包括:获取虚拟建筑模型的形态描述信息,其中,形态描述信息用于描述虚拟建筑模型的三维空间信息和虚拟建筑模型所包含的建筑组件模型的层级结构信息;对形态描述信息进行解析,确定待使用的虚拟建筑附件模型的挂接位置;按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型。本发明解决了相关技术中所提供的虚拟建筑附件模型挂接方式操作复杂度较高、需要耗费大量的人工成本和时间成本、后期难以维护的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种虚拟建筑附件模型的挂接方法、装置、处理器及终端。
背景技术
在游戏开发过程中,需要根据游戏类型构建相关游戏场景,基于城市的游戏场景,需要在场景中搭建虚拟建筑物,并基于这些虚拟建筑物去进一步细化虚拟建筑物的具体形貌。例如,在虚拟建筑物上配置一些虚拟建筑附件。虚拟建筑附件模型是指虚拟建筑模型表面及附近的附属组件模型,其可以包括但不限于:广告牌、雨棚、空调外机、通风口。虚拟建筑附件模型具体很高的复用价值,并且与建筑楼体之间缺乏较强的绑定关系,因此可以被配置为独立模型。
挂接是指采用合理的方式将虚拟建筑附件模型设置在虚拟建筑模型的局部坐标系下,以使虚拟建筑附件模型的大小、位置等观感符合现实经验。
目前,在以城市为背景的游戏场景开发过程中,虚拟建筑附件模型对城市氛围的烘托起到至关重要的作用。而如何快速、高效、美观地设置虚拟建筑附件模型便显得尤其重要。因此,城市虚拟建筑附件模型挂接的自由度,丰富性和高效性,将会在很大程度上影响着一个城市场景的品质,从而影响整个游戏的品质。
相关技术中所提供的虚拟建筑附件模型挂接方式包括如下两种:
方式一、通过人工指定虚拟建筑附件模型的位置和朝向;
然而,通过人工指定虚拟建筑附件模型的位置和朝向虽然无学习成本,且易于控制,但是针对大规模城市场景自动化生成过程而言,存在如下技术缺陷:
(1)在三维空间中指定位置和朝向的过程十分繁琐,需要从多个角度确认位置和朝向的正确性,容易出现穿模浮空等异常情形。
(2)大规模虚拟建筑附件模型的指定过程需要消耗大量人力成本和时间成本。
(3)后期维护难度较大。
方式二、在虚拟建筑模型表面采用磁石吸附工具将虚拟建筑附件模型挂接在虚拟建筑模型上,并通过快速拖动来调整虚拟建筑附件模型的空间位置。
尽管上述磁石吸附工具能够避免在三维空间中指定虚拟建筑附件模型的位置和朝向的繁琐工作,但是针对大规模城市场景自动化生成过程而言,仍然需要消耗大量人力成本和时间成本,并且后期维护难度较大。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明至少部分实施例提供了一种虚拟建筑附件模型的挂接方法、装置、处理器及终端,以至少解决相关技术中所提供的虚拟建筑附件模型挂接方式操作复杂度较高、需要耗费大量的人工成本和时间成本、后期难以维护的技术问题。
根据本发明其中一实施例,提供了一种虚拟建筑附件模型的挂接方法,包括:
获取虚拟建筑模型的形态描述信息,其中,形态描述信息用于描述虚拟建筑模型的三维空间信息和虚拟建筑模型所包含的建筑组件模型的层级结构信息;对形态描述信息进行解析,确定待使用的虚拟建筑附件模型的挂接位置;按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型。
可选地,对形态描述信息进行解析,确定挂接位置包括:对形态描述信息的树状结构上不同路径对应位置节点的空间关系进行解析,得到解析结果;根据解析结果获取建筑组件模型的平面贴图,在建筑组件模型中分别确定第一区域和第二区域,并在第一区域中确定挂接点,其中,第一区域可被待使用的虚拟建筑附件模型遮挡,第二区域不可被待使用的虚拟建筑附件模型遮挡;根据解析结果对相同性质的建筑组件模型进行聚类处理,得到多个待挂接区域,并将多个待挂接区域中部分或全部待挂接区域划分为多个待挂接区块;按照多个待挂接区域中所包含的挂接点的位置确定挂接位置。
可选地,将部分或全部待挂接区域划分为多个待挂接区块包括:获取步骤,获取当前处理的待挂接区域;第一判断步骤,判断第一面积是否小于第二面积,其中,第一面积为当前处理的待挂接区域的平面面积,第二面积为待使用的虚拟建筑附件模型中最小虚拟建筑附件模型在当前处理的待挂接区域的投影面积;处理步骤,如果否,则对当前处理的待挂接区域进行逐层分割,直至第三面积小于第二面积,得到多个待挂接区块,如果是,则停止分割当前处理的待挂接区域,其中,第三面积是对当前处理的待挂接区域进行逐层分割后得到的区块面积;第二判断步骤,判断是否存在尚未处理的待挂接区域,如果是,则返回获取步骤,如果否,则流程结束。
可选地,对当前处理的待挂接区域进行逐层分割包括:获取与当前处理的待挂接区域对应的最小面积定向边界框;以最小面积定向边界框中最长边的中点为中心点,沿着与最小面积定向边界框中最短边所平行的方向确定分割线;采用分割线对当前处理的待挂接区域进行逐层分割。
可选地,对当前处理的待挂接区域进行逐层分割包括:获取与当前处理的待挂接区域对应的最小面积定向边界框;以当前处理的待挂接区域的重心为中心点,沿着与最小面积定向边界框中最长边所垂直的方向确定分割线;采用分割线对当前处理的待挂接区域进行逐层分割。
可选地,按照多个待挂接区域中所包含的挂接点的位置确定挂接位置包括:获取挂接点在第一坐标系下的位置信息,其中,第一坐标系是依据挂接点所在的建筑组件模型建立的坐标系;将位置信息转换为第二坐标系下的挂接位置,其中,第二坐标系是世界坐标系。
可选地,按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型包括:获取与虚拟建筑模型的建筑风格对应的挂接模板,其中,挂接模板用于限定待使用的虚拟建筑附件模型的挂接方式;基于挂接模板,在挂接位置的对应位置处将待使用的虚拟建筑附件模型挂接至虚拟建筑模型。
可选地,在按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型之后,还包括:当待使用的虚拟建筑附件模型在挂接区块的投影面积大于挂接区块的平面面积时,缩小待使用的虚拟建筑附件模型的原始模型尺寸,直至投影面积与平面面积相适配,其中,挂接区块与挂接位置相对应;当待使用的虚拟建筑附件模型在挂接区块的投影面积小于挂接区块的平面面积时,放大待使用的虚拟建筑附件模型的原始模型尺寸,直至投影面积与平面面积相适配;并且,当原始模型尺寸的放大比例达到预设极限值时,如果挂接区块仍然存在空白区域,则在空白区域挂接新的虚拟建筑附件模型。
根据本发明其中一实施例,还提供了一种虚拟建筑附件模型的挂接装置,包括:
获取模块,用于获取虚拟建筑模型的形态描述信息,其中,形态描述信息用于描述虚拟建筑模型的三维空间信息和虚拟建筑模型所包含的建筑组件模型的层级结构信息;解析模块,用于对形态描述信息进行解析,确定待使用的虚拟建筑附件模型的挂接位置;挂接模块,用于按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型。
可选地,解析模块包括:解析单元,用于对形态描述信息的树状结构上不同路径对应位置节点的空间关系进行解析,得到解析结果;第一处理单元,用于根据解析结果获取建筑组件模型的平面贴图,在建筑组件模型中分别确定第一区域和第二区域,并在第一区域中确定挂接点,其中,第一区域可被待使用的虚拟建筑附件模型遮挡,第二区域不可被待使用的虚拟建筑附件模型遮挡;第二处理单元,用于根据解析结果对相同性质的建筑组件模型进行聚类处理,得到多个待挂接区域,并将多个待挂接区域中部分或全部待挂接区域划分为多个待挂接区块;确定单元,用于按照多个待挂接区域中所包含的挂接点的位置确定挂接位置。
可选地,第二处理单元包括:第一获取子单元,用于获取当前处理的待挂接区域;第一判断子单元,用于判断第一面积是否小于第二面积,其中,第一面积为当前处理的待挂接区域的平面面积,第二面积为待使用的虚拟建筑附件模型中最小虚拟建筑附件模型在当前处理的待挂接区域的投影面积;处理子单元,用于在判断子单元输出为否时,则对当前处理的待挂接区域进行逐层分割,直至第三面积小于第二面积,得到多个待挂接区块,在判断子单元输出为是时,则停止分割当前处理的待挂接区域,其中,第三面积是对当前处理的待挂接区域进行逐层分割后得到的区块面积;第二判断子单元,用于判断是否存在尚未处理的待挂接区域,如果是,则返回第一获取子单元,如果否,则流程结束。
可选地,处理子单元,用于获取与当前处理的待挂接区域对应的最小面积定向边界框;以最小面积定向边界框中最长边的中点为中心点,沿着与最小面积定向边界框中最短边所平行的方向确定分割线;采用分割线对当前处理的待挂接区域进行逐层分割。
可选地,处理子单元,用于获取与当前处理的待挂接区域对应的最小面积定向边界框;以当前处理的待挂接区域的重心为中心点,沿着与最小面积定向边界框中最长边所垂直的方向确定分割线;采用分割线对当前处理的待挂接区域进行逐层分割。
可选地,确定单元包括:第二获取子单元,用于获取挂接点在第一坐标系下的位置信息,其中,第一坐标系是依据挂接点所在的建筑组件模型建立的坐标系;转换子单元,用于将位置信息转换为第二坐标系下的挂接位置,其中,第二坐标系是世界坐标系。
可选地,挂接模块包括:获取单元,用于获取与虚拟建筑模型的建筑风格对应的挂接模板,其中,挂接模板用于限定待使用的虚拟建筑附件模型的挂接方式;挂接单元,用于基于挂接模板,在挂接位置的对应位置处将待使用的虚拟建筑附件模型挂接至虚拟建筑模型。
可选地,上述装置还包括:调整模块,用于当待使用的虚拟建筑附件模型在挂接区块的投影面积大于挂接区块的平面面积时,缩小待使用的虚拟建筑附件模型的原始模型尺寸,直至投影面积与平面面积相适配,其中,挂接区块与挂接位置相对应;当待使用的虚拟建筑附件模型在挂接区块的投影面积小于挂接区块的平面面积时,放大待使用的虚拟建筑附件模型的原始模型尺寸,直至投影面积与平面面积相适配;并且,当原始模型尺寸的放大比例达到预设极限值时,如果挂接区块仍然存在空白区域,则在空白区域挂接新的虚拟建筑附件模型。
根据本发明其中一实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一项的虚拟建筑附件模型的挂接方法。
根据本发明其中一实施例,还提供了一种处理器,其特征在于,处理器用于运行程序,其中,程序运行时执行上述任意一项的虚拟建筑附件模型的挂接方法。
根据本发明其中一实施例,还提供了一种终端,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序用于执行上述任意一项的虚拟建筑附件模型的挂接方法。
在本发明至少部分实施例中,采用获取虚拟建筑模型的形态描述信息,该形态描述信息用于描述虚拟建筑模型的三维空间信息和虚拟建筑模型所包含的建筑组件模型的层级结构信息的方式,通过对形态描述信息进行解析,确定待使用的虚拟建筑附件模型的挂接位置,以及按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型,达到了满足游戏中城市场景内大规模、自动化挂接虚拟建筑附件模型的需求,以及方便、快捷地调整建筑风格的目的,从而实现了整体城市氛围效果更加真实美观、提升视觉体验、优化虚拟建筑附件模型挂接流程的技术效果,进而解决了相关技术中所提供的虚拟建筑附件模型挂接方式操作复杂度较高、需要耗费大量的人工成本和时间成本、后期难以维护的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现虚拟建筑附件模型的挂接方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本发明其中一实施例的虚拟建筑附件模型的挂接方法的流程图;
图3是根据本发明其中一可选实施例的虚拟建筑模型层次划分示意图;
图4是根据本发明其中一实施例的虚拟建筑附件模型的挂接装置的结构框图;
图5是根据本发明其中一可选实施例的虚拟建筑附件模型的挂接装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明其中一实施例,提供了一种虚拟建筑附件模型的挂接方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现虚拟建筑附件模型的挂接方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)或可编程逻辑器件(FPGA)等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端10(或移动设备)的结构造成限定。例如,计算机终端10(或移动设备)还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的虚拟建筑附件模型的挂接方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟建筑附件模型的挂接方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。在一些实施例中,上述图1所示的计算机终端10(或移动设备)具有触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。在一些实施例中,上述图1所示的计算机终端10(或移动设备)具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
上述计算机终端10(或移动设备)可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。
在本实施例中提供了一种运行于上述计算机终端(或移动设备)的虚拟建筑附件模型的挂接方法,应用于自动生成城市建筑群场景,并使建筑群支持夜晚窗口亮灯的渲染效果。图2是根据本发明其中一实施例的虚拟建筑附件模型的挂接方法的流程图,如图2所示,该方法包括如下步骤:
步骤S22,获取虚拟建筑模型的形态描述信息,其中,形态描述信息用于描述虚拟建筑模型的三维空间信息和虚拟建筑模型所包含的建筑组件模型的层级结构信息;
步骤S24,对形态描述信息进行解析,确定待使用的虚拟建筑附件模型的挂接位置;
步骤S26,按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型。
通过上述步骤,可以采用获取虚拟建筑模型的形态描述信息,该形态描述信息用于描述虚拟建筑模型的三维空间信息和虚拟建筑模型所包含的建筑组件模型的层级结构信息的方式,通过对形态描述信息进行解析,确定待使用的虚拟建筑附件模型的挂接位置,以及按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型,达到了满足游戏中城市场景内大规模、自动化挂接虚拟建筑附件模型的需求,以及方便、快捷地调整建筑风格的目的,从而实现了整体城市氛围效果更加真实美观、提升视觉体验、优化虚拟建筑附件模型挂接流程的技术效果,进而解决了相关技术中所提供的虚拟建筑附件模型挂接方式操作复杂度较高、需要耗费大量的人工成本和时间成本、后期难以维护的技术问题。
在一个可选实施例中,可以基于游戏引擎或调用其他SDK生成游戏场景内的虚拟建筑模型。通过一组可复用组件拼装成虚拟建筑模型整体,其生成过程可以组织成一棵形状树(ShapeTree,相当于上述形态描述信息),用于存储整个虚拟建筑模型生成过程中从地基到最终建筑的完整描述信息,其中,每个节点包含有当前生成的形状信息。因此,虚拟建筑模型的ShapeTree中蕴含有丰富、精确的三维空间信息和建筑组件模型的层级结构信息,由此可以用于确定虚拟建筑附件模型挂接的空间位置。
ShapeTree中的节点可以包括:建筑地基(Lot),建筑楼体轮廓(Mass),建筑外立面(Facade),建筑楼层(Floor),建筑同楼层的组件排布形式(Floor Pattern),建筑组件(Element),建筑屋顶(Roof)和建筑楼体造型的简单模型(即简模,Prototype)。
需要说明的是,Floor表示具有相同FloorPattern且在高度上相邻的至少一个楼层。而FloorPattern则表示Floor中建筑组件模型的排布模式。假设当前存在四个组件模型,其分别为a、b、c和d,同时建筑外立面上包含三个建筑楼层,其分别为:Floor_1、Floor_2和Floor_3,那么Floor_1使用组件模型a,并包含现实生活中建筑楼体的一个楼层,Floor_2使用组件模型b和c,并按照bcb的FloorPattern进行排布,其包含现实生活中建筑楼体的七个楼层;Floor_3使用组件模型d,并包含现实生活中建筑楼体的一个楼层。
另外,如果直接对地基进行拉伸所形成的楼体,会形成一个柱状结构,其被称为筒子楼。而如果希望配置非柱状结构的楼型,则需要预先提供一个简单的模型来描述建筑的楼型,其被称为简模。
图3是根据本发明其中一可选实施例的虚拟建筑模型层次划分示意图,如图3所示,“1”表示数量为一个,“+”表示数量为多个。建筑楼体轮廓可以分为筒子楼、独栋简模和拼接简模。独栋简模是将预设的模型文件直接缩放对齐到地基上。拼接简模是通过程序化方式将多个模型文件进行拼接,并且在一定范围内随机缩放、平移和旋转,从而得到一个独特的建筑外形。一个建筑楼体轮廓可以包含多个外立面和多个屋顶。一个外立面可以包含多个同版型楼层。一个同版型楼层可以包含多个楼层版型。一个楼层版型可以包含多个建筑组件模型。建筑组件模型可以包括但不限于:门、窗、阳台、墙、装饰横条竖条。
可选地,在步骤S24中,对形态描述信息进行解析,确定挂接位置可以包括以下执行步骤:
步骤S241,对形态描述信息的树状结构上不同路径对应位置节点的空间关系进行解析,得到解析结果;
步骤S242,根据解析结果获取建筑组件模型的平面贴图,在建筑组件模型中分别确定第一区域和第二区域,并在第一区域中确定挂接点,其中,第一区域可被待使用的虚拟建筑附件模型遮挡,第二区域不可被待使用的虚拟建筑附件模型遮挡;
步骤S243,根据解析结果对相同性质的建筑组件模型进行聚类处理,得到多个待挂接区域,并将多个待挂接区域中部分或全部待挂接区域划分为多个待挂接区块;
步骤S244,按照多个待挂接区域中所包含的挂接点的位置确定挂接位置。
考虑到建筑组件模型通常可以包括但不限于:门、窗、墙面。而诸如广告牌等虚拟建筑附件模型通常不会遮挡或覆盖门窗的玻璃区域,并且玻璃区域的形状通常较为规整,因此,为了能够快速识别玻璃区域,从而在玻璃区域周围的其他区域生成挂接点,同时为了在渲染玻璃区域的效果时也需要标明玻璃区域,因此,在建筑组件的diffuse贴图的alpha通道标记玻璃区域。
通过选择建筑组件模型的其中一个待挂接平面,然后根据待挂接平面贴图的alpha通道确定建筑组件模型的门窗的玻璃区域(即第二区域),从而在玻璃区域以外的其他区域(即第一区域)确定挂接点位置。
另外,由于ShapeTree可以提供自顶而下的层级,而且递归生成建筑组件模型的ShapeTree在路径上通常包含维度信息,例如:一层楼,因此,通过对ShapeTree进行解析,分析ShapeTree中不同路径对应位置节点的空间关系,可以形成一个网状数据结构,从而能够进一步地获取垂直、折角相邻面等关系。然后,再聚类相同性质组件模型,便可得到墙、窗户等多个待挂接区域,以便在不同待挂接区域中所包含的挂接点的位置挂接不同类型的虚拟建筑附件模型。
针对面积较大的待挂接区域,例如:楼顶平面,可以采用方向包围盒(OBB)分割得到精细的平面层级结构(即多个待挂接区块)。
可选地,在步骤S243中,将部分或全部待挂接区域划分为多个待挂接区块可以包括以下执行步骤:
步骤S2431,获取当前处理的待挂接区域;
步骤S2432,判断第一面积是否小于第二面积,其中,第一面积为当前处理的待挂接区域的平面面积,第二面积为待使用的虚拟建筑附件模型中最小虚拟建筑附件模型在当前处理的待挂接区域的投影面积;
步骤S2433,如果否,则对当前处理的待挂接区域进行逐层分割,直至第三面积小于第二面积,得到多个待挂接区块,如果是,则停止分割当前处理的待挂接区域,其中,第三面积是对当前处理的待挂接区域进行逐层分割后得到的区块面积;
步骤S2434,判断是否存在尚未处理的待挂接区域,如果是,则返回步骤S2431,如果否,则流程结束。
在一个可选实施例中,可以采用递归算法执行OBB分割,每一步计算一条分割线逐层分割。如果第一面积为当前处理的待挂接区域的平面面积,第二面积为待使用的虚拟建筑附件模型中最小虚拟建筑附件模型在当前处理的待挂接区域的投影面积,第三面积是对当前处理的待挂接区域进行逐层分割后得到的区块面积,以及将第一面积小于第二面积设置为结束递归的约束条件,那么在未满足第一面积小于第二面积的情况下,需要持续对当前处理的待挂接区域进行递归分割操作,直至满足第三面积小于第二面积,以得到多个待挂接区块。同理,针对其余尚未处理的待挂接区域,也可以采用相同的递归处理方式。
可选地,在步骤S2433中,对当前处理的待挂接区域进行逐层分割可以包括以下执行步骤:
步骤S24331,获取与当前处理的待挂接区域对应的最小面积定向边界框;
步骤S24332,以最小面积定向边界框中最长边的中点为中心点,沿着与最小面积定向边界框中最短边所平行的方向确定分割线;
步骤S24333,采用分割线对当前处理的待挂接区域进行逐层分割。
为了确定分割线的中心点和方向,需要计算当前待分割平面(相当于上述当前处理的待挂接区域)的最小面积定向边界框。在默认情况下,分割线的中心点被设置为最小面积定向边界框中最长边的中点,分割线的方向被设置为与最小面积定向边界框中最短边所平行的方向。由此,采用分割线将当前待分割平面分割为多个待挂接区块。
可选地,在步骤S2433中,对当前处理的待挂接区域进行逐层分割可以包括以下执行步骤:
步骤S24334,获取与当前处理的待挂接区域对应的最小面积定向边界框;
步骤S24335,以当前处理的待挂接区域的重心为中心点,沿着与最小面积定向边界框中最长边所垂直的方向确定分割线;
步骤S24336,采用分割线对当前处理的待挂接区域进行逐层分割。
当待分割平面的形状为复杂凹多边形时,可以选取当前处理的待挂接区域的重心为分割线的中心点,与最小面积定向边界框中最长边所垂直的方向为分割线的方向。由此,采用分割线将当前待分割平面分割为多个待挂接区块。
可选地,在步骤S244中,按照多个待挂接区域中所包含的挂接点的位置确定挂接位置可以包括以下执行步骤:
步骤S2441,获取挂接点在第一坐标系下的位置信息,其中,第一坐标系是依据挂接点所在的建筑组件模型建立的坐标系;
步骤S2442,将位置信息转换为第二坐标系下的挂接位置,其中,第二坐标系是世界坐标系。
考虑到游戏场景内的建筑组件模型很有可能会被大量复用,因此通过确定挂接点依据建筑组件模型所建立的坐标系下的坐标位置,便可以将该坐标位置转换为世界坐标系下的当前世界坐标位置(即挂接位置),由此确定可供虚拟建筑附件模型选择的挂接位置以及虚拟建筑附件模型的尺寸限制。当建筑组件模型过于复杂时,通过自动计算的挂接点位置可能会存在一定偏差,为此,用户还可以进一步通过运行调整挂接点的工具,拖拽挂点句柄可以调节虚拟建筑附件模型的位置和大小。
可选地,在步骤S26中,按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型可以包括以下执行步骤:
步骤S261,获取与虚拟建筑模型的建筑风格对应的挂接模板,其中,挂接模板用于限定待使用的虚拟建筑附件模型的挂接方式;
步骤S262,基于挂接模板,在挂接位置的对应位置处将待使用的虚拟建筑附件模型挂接至虚拟建筑模型。
虚拟建筑附件模型可以根据实际空间位置和挂接风格需求进行分类。以虚拟建筑附件模型中的广告牌为例,其可以分为:楼顶灯箱、竖条灯箱、竖条贴墙广告、窗户广告、底商广告、窗间广告、巨幅广告、店头广告。不同种类的虚拟建筑附件模型会应用不同的挂接规则,该挂接规则包含有参数整合后所形成的挂接模板(包括但不限于:挂接范围、概率、密度、风格、排版方式等规则参数),不同风格虚拟建筑模型(例如:住宅楼、商业楼、现代风格大楼、未来风格大楼)可以应用不同的挂接模板。在虚拟建筑附件模型的挂接过程中,根据挂节点位置确定虚拟建筑附件模型的挂接位置。为此,约定虚拟建筑附件模型的中心与挂节点位置对齐即为挂接正确,进而按照规则模板中设定的规则参数实现虚拟建筑附件模型与虚拟建筑模型之间的挂接。
可选地,在步骤S26,按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型之后,还可以包括以下执行步骤:
步骤S27,当待使用的虚拟建筑附件模型在挂接区块的投影面积大于挂接区块的平面面积时,缩小待使用的虚拟建筑附件模型的原始模型尺寸,直至投影面积与平面面积相适配,其中,挂接区块与挂接位置相对应;
步骤S28,当待使用的虚拟建筑附件模型在挂接区块的投影面积小于挂接区块的平面面积时,放大待使用的虚拟建筑附件模型的原始模型尺寸,直至投影面积与平面面积相适配;并且,当原始模型尺寸的放大比例达到预设极限值时,如果挂接区块仍然存在空白区域,则在空白区域挂接新的虚拟建筑附件模型。
当待使用的虚拟建筑附件模型在挂接区块的投影面积大于与挂接位置相对应的挂接区块的平面面积时,需要缩小待使用的虚拟建筑附件模型的原始模型尺寸,直至投影面积与平面面积相适配,以改善视觉效果。同样,当待使用的虚拟建筑附件模型在挂接区块的投影面积小于挂接区块的平面面积时,需要放大待使用的虚拟建筑附件模型的原始模型尺寸,直至投影面积与平面面积相适配,以改善视觉效果。然而,当挂接区块的尺寸超出虚拟建筑附件模型的原始模型尺寸的缩放极限时,可以在空白维度上增添新的虚拟建筑附件模型。此时,不同的虚拟建筑附件模型之间可以采用居中对齐、两端对齐、靠左或靠右对齐等排版方式。最后,还需要对虚拟建筑附件模型与挂接区块之间进行相交检测,以调整两者之间的距离,从而确保两者贴合且不穿模。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种虚拟建筑附件模型的挂接装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明其中一实施例的虚拟建筑附件模型的挂接装置的结构框图,如图4所示,该装置包括:获取模块10,用于获取虚拟建筑模型的形态描述信息,其中,形态描述信息用于描述虚拟建筑模型的三维空间信息和虚拟建筑模型所包含的建筑组件模型的层级结构信息;解析模块20,用于对形态描述信息进行解析,确定待使用的虚拟建筑附件模型的挂接位置;挂接模块30,用于按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型。
可选地,解析模块20包括:解析单元(图中未示出),用于对形态描述信息的树状结构上不同路径对应位置节点的空间关系进行解析,得到解析结果;第一处理单元(图中未示出),用于根据解析结果获取建筑组件模型的平面贴图,在建筑组件模型中分别确定第一区域和第二区域,并在第一区域中确定挂接点,其中,第一区域可被待使用的虚拟建筑附件模型遮挡,第二区域不可被待使用的虚拟建筑附件模型遮挡;第二处理单元(图中未示出),用于根据解析结果对相同性质的建筑组件模型进行聚类处理,得到多个待挂接区域,并将多个待挂接区域中部分或全部待挂接区域划分为多个待挂接区块;确定单元,用于按照多个待挂接区域中所包含的挂接点的位置确定挂接位置。
可选地,第二处理单元(图中未示出)包括:第一获取子单元(图中未示出),用于获取当前处理的待挂接区域;第一判断子单元(图中未示出),用于判断第一面积是否小于第二面积,其中,第一面积为当前处理的待挂接区域的平面面积,第二面积为待使用的虚拟建筑附件模型中最小虚拟建筑附件模型在当前处理的待挂接区域的投影面积;处理子单元(图中未示出),用于在判断子单元输出为否时,则对当前处理的待挂接区域进行逐层分割,直至第三面积小于第二面积,得到多个待挂接区块,在判断子单元输出为是时,则停止分割当前处理的待挂接区域,其中,第三面积是对当前处理的待挂接区域进行逐层分割后得到的区块面积;第二判断子单元(图中未示出),用于判断是否存在尚未处理的待挂接区域,如果是,则返回第一获取子单元,如果否,则流程结束。
可选地,处理子单元(图中未示出),用于获取与当前处理的待挂接区域对应的最小面积定向边界框;以最小面积定向边界框中最长边的中点为中心点,沿着与最小面积定向边界框中最短边所平行的方向确定分割线;采用分割线对当前处理的待挂接区域进行逐层分割。
可选地,处理子单元(图中未示出),用于获取与当前处理的待挂接区域对应的最小面积定向边界框;以当前处理的待挂接区域的重心为中心点,沿着与最小面积定向边界框中最长边所垂直的方向确定分割线;采用分割线对当前处理的待挂接区域进行逐层分割。
可选地,确定单元(图中未示出)包括:第二获取子单元(图中未示出),用于获取挂接点在第一坐标系下的位置信息,其中,第一坐标系是依据挂接点所在的建筑组件模型建立的坐标系;转换子单元(图中未示出),用于将位置信息转换为第二坐标系下的挂接位置,其中,第二坐标系是世界坐标系。
可选地,挂接模块30包括:获取单元(图中未示出),用于获取与虚拟建筑模型的建筑风格对应的挂接模板,其中,挂接模板用于限定待使用的虚拟建筑附件模型的挂接方式;挂接单元(图中未示出),用于基于挂接模板,在挂接位置的对应位置处将待使用的虚拟建筑附件模型挂接至虚拟建筑模型。
可选地,可选地,5是根据本发明其中一可选实施例的虚拟建筑附件模型的挂接装置的结构框图,如图5所示,上述装置还包括:调整模块40,用于当待使用的虚拟建筑附件模型在挂接区块的投影面积大于挂接区块的平面面积时,缩小待使用的虚拟建筑附件模型的原始模型尺寸,直至投影面积与平面面积相适配,其中,挂接区块与挂接位置相对应;当待使用的虚拟建筑附件模型在挂接区块的投影面积小于挂接区块的平面面积时,放大待使用的虚拟建筑附件模型的原始模型尺寸,直至投影面积与平面面积相适配;并且,当原始模型尺寸的放大比例达到预设极限值时,如果挂接区块仍然存在空白区域,则在空白区域挂接新的虚拟建筑附件模型。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取虚拟建筑模型的形态描述信息,其中,形态描述信息用于描述虚拟建筑模型的三维空间信息和虚拟建筑模型所包含的建筑组件模型的层级结构信息;
S2,对形态描述信息进行解析,确定待使用的虚拟建筑附件模型的挂接位置;
S3,按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种处理器,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取虚拟建筑模型的形态描述信息,其中,形态描述信息用于描述虚拟建筑模型的三维空间信息和虚拟建筑模型所包含的建筑组件模型的层级结构信息;
S2,对形态描述信息进行解析,确定待使用的虚拟建筑附件模型的挂接位置;
S3,按照挂接位置将待使用的虚拟建筑附件模型挂接至虚拟建筑模型。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离组件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的组件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种虚拟建筑附件模型的挂接方法,其特征在于,包括:
获取虚拟建筑模型的形态描述信息,其中,所述形态描述信息用于描述所述虚拟建筑模型的三维空间信息和虚拟建筑模型所包含的建筑组件模型的层级结构信息;
对所述形态描述信息的树状结构上不同路径对应位置节点的空间关系进行解析,得到解析结果;
根据所述解析结果获取所述建筑组件模型的平面贴图,在所述建筑组件模型中分别确定第一区域和第二区域,并在所述第一区域中确定挂接点,其中,所述第一区域可被待使用的虚拟建筑附件模型遮挡,所述第二区域不可被所述待使用的虚拟建筑附件模型遮挡;
根据所述解析结果对相同性质的建筑组件模型进行聚类处理,得到多个待挂接区域,并将所述多个待挂接区域中部分或全部待挂接区域划分为多个待挂接区块;
按照所述多个待挂接区域中所包含的所述挂接点的位置确定挂接位置;
按照所述挂接位置将所述待使用的虚拟建筑附件模型挂接至所述虚拟建筑模型。
2.根据权利要求1所述的方法,其特征在于,将所述部分或全部待挂接区域划分为所述多个待挂接区块包括:
获取步骤,获取当前处理的待挂接区域;
第一判断步骤,判断第一面积是否小于第二面积,其中,所述第一面积为所述当前处理的待挂接区域的平面面积,所述第二面积为所述待使用的虚拟建筑附件模型中最小虚拟建筑附件模型在所述当前处理的待挂接区域的投影面积;
处理步骤,如果否,则对所述当前处理的待挂接区域进行逐层分割,直至第三面积小于所述第二面积,得到所述多个待挂接区块,如果是,则停止分割所述当前处理的待挂接区域,其中,所述第三面积是对所述当前处理的待挂接区域进行逐层分割后得到的区块面积;
第二判断步骤,判断是否存在尚未处理的待挂接区域,如果是,则返回所述获取步骤,如果否,则流程结束。
3.根据权利要求2所述的方法,其特征在于,对所述当前处理的待挂接区域进行逐层分割包括:
获取与所述当前处理的待挂接区域对应的最小面积定向边界框;
以所述最小面积定向边界框中最长边的中点为中心点,沿着与所述最小面积定向边界框中最短边所平行的方向确定分割线;
采用所述分割线对所述当前处理的待挂接区域进行逐层分割。
4.根据权利要求2所述的方法,其特征在于,对所述当前处理的待挂接区域进行逐层分割包括:
获取与所述当前处理的待挂接区域对应的最小面积定向边界框;
以所述当前处理的待挂接区域的重心为中心点,沿着与所述最小面积定向边界框中最长边所垂直的方向确定分割线;
采用所述分割线对所述当前处理的待挂接区域进行逐层分割。
5.根据权利要求1所述的方法,其特征在于,按照所述多个待挂接区域中所包含的所述挂接点的位置确定所述挂接位置包括:
获取所述挂接点在第一坐标系下的位置信息,其中,所述第一坐标系是依据所述挂接点所在的建筑组件模型建立的坐标系;
将所述位置信息转换为第二坐标系下的所述挂接位置,其中,所述第二坐标系是世界坐标系。
6.根据权利要求1所述的方法,其特征在于,按照所述挂接位置将所述待使用的虚拟建筑附件模型挂接至所述虚拟建筑模型包括:
获取与所述虚拟建筑模型的建筑风格对应的挂接模板,其中,所述挂接模板用于限定所述待使用的虚拟建筑附件模型的挂接方式;
基于所述挂接模板,在所述挂接位置的对应位置处将所述待使用的虚拟建筑附件模型挂接至所述虚拟建筑模型。
7.根据权利要求6所述的方法,其特征在于,在按照所述挂接位置将所述待使用的虚拟建筑附件模型挂接至所述虚拟建筑模型之后,还包括:
当所述待使用的虚拟建筑附件模型在挂接区块的投影面积大于所述挂接区块的平面面积时,缩小所述待使用的虚拟建筑附件模型的原始模型尺寸,直至所述投影面积与所述平面面积相适配,其中,所述挂接区块与所述挂接位置相对应;
当所述待使用的虚拟建筑附件模型在挂接区块的投影面积小于所述挂接区块的平面面积时,放大所述待使用的虚拟建筑附件模型的原始模型尺寸,直至所述投影面积与所述平面面积相适配;并且,当所述原始模型尺寸的放大比例达到预设极限值时,如果所述挂接区块仍然存在空白区域,则在所述空白区域挂接新的虚拟建筑附件模型。
8.一种虚拟建筑附件模型的挂接装置,其特征在于,包括:
获取模块,用于获取虚拟建筑模型的形态描述信息,其中,所述形态描述信息用于描述所述虚拟建筑模型的三维空间信息和虚拟建筑模型所包含的建筑组件模型的层级结构信息;
解析模块,用于对所述形态描述信息进行解析,确定待使用的虚拟建筑附件模型的挂接位置;
挂接模块,用于按照所述挂接位置将所述待使用的虚拟建筑附件模型挂接至所述虚拟建筑模型;
其中,所述解析模块包括:解析单元,用于对所述形态描述信息的树状结构上不同路径对应位置节点的空间关系进行解析,得到解析结果;第一处理单元,用于根据所述解析结果获取所述建筑组件模型的平面贴图,在所述建筑组件模型中分别确定第一区域和第二区域,并在所述第一区域中确定挂接点,其中,所述第一区域可被所述待使用的虚拟建筑附件模型遮挡,所述第二区域不可被所述待使用的虚拟建筑附件模型遮挡;第二处理单元,用于根据所述解析结果对相同性质的建筑组件模型进行聚类处理,得到多个待挂接区域,并将所述多个待挂接区域中部分或全部待挂接区域划分为多个待挂接区块;确定单元,用于按照所述多个待挂接区域中所包含的所述挂接点的位置确定所述挂接位置。
9.根据权利要求8所述的装置,其特征在于,所述第二处理单元包括:
第一获取子单元,用于获取当前处理的待挂接区域;
第一判断子单元,用于判断第一面积是否小于第二面积,其中,所述第一面积为所述当前处理的待挂接区域的平面面积,所述第二面积为所述待使用的虚拟建筑附件模型中最小虚拟建筑附件模型在所述当前处理的待挂接区域的投影面积;
处理子单元,用于在所述判断子单元输出为否时,则对所述当前处理的待挂接区域进行逐层分割,直至第三面积小于所述第二面积,得到所述多个待挂接区块,在所述判断子单元输出为是时,则停止分割所述当前处理的待挂接区域,其中,所述第三面积是对所述当前处理的待挂接区域进行逐层分割后得到的区块面积;
第二判断子单元,用于判断是否存在尚未处理的待挂接区域,如果是,则返回所述第一获取子单元,如果否,则流程结束。
10.根据权利要求9所述的装置,其特征在于,所述处理子单元,用于:
获取与所述当前处理的待挂接区域对应的最小面积定向边界框;
以所述最小面积定向边界框中最长边的中点为中心点,沿着与所述最小面积定向边界框中最短边所平行的方向确定分割线;
采用所述分割线对所述当前处理的待挂接区域进行逐层分割。
11.根据权利要求9所述的装置,其特征在于,所述处理子单元,用于:
获取与所述当前处理的待挂接区域对应的最小面积定向边界框;
以所述当前处理的待挂接区域的重心为中心点,沿着与所述最小面积定向边界框中最长边所垂直的方向确定分割线;
采用所述分割线对所述当前处理的待挂接区域进行逐层分割。
12.根据权利要求8所述的装置,其特征在于,所述确定单元包括:
第二获取子单元,用于获取所述挂接点在第一坐标系下的位置信息,其中,所述第一坐标系是依据所述挂接点所在的建筑组件模型建立的坐标系;
转换子单元,用于将所述位置信息转换为第二坐标系下的所述挂接位置,其中,所述第二坐标系是世界坐标系。
13.根据权利要求8所述的装置,其特征在于,所述挂接模块包括:
获取单元,用于获取与所述虚拟建筑模型的建筑风格对应的挂接模板,其中,所述挂接模板用于限定所述待使用的虚拟建筑附件模型的挂接方式;
挂接单元,用于基于所述挂接模板,在所述挂接位置的对应位置处将所述待使用的虚拟建筑附件模型挂接至所述虚拟建筑模型。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
调整模块,用于当所述待使用的虚拟建筑附件模型在挂接区块的投影面积大于所述挂接区块的平面面积时,缩小所述待使用的虚拟建筑附件模型的原始模型尺寸,直至所述投影面积与所述平面面积相适配,其中,所述挂接区块与所述挂接位置相对应;当所述待使用的虚拟建筑附件模型在挂接区块的投影面积小于所述挂接区块的平面面积时,放大所述待使用的虚拟建筑附件模型的原始模型尺寸,直至所述投影面积与所述平面面积相适配;并且,当所述原始模型尺寸的放大比例达到预设极限值时,如果所述挂接区块仍然存在空白区域,则在所述空白区域挂接新的虚拟建筑附件模型。
15.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7中任意一项所述的虚拟建筑附件模型的挂接方法。
16.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的虚拟建筑附件模型的挂接方法。
17.一种终端,其特征在于,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序用于执行权利要求1至7中任意一项所述的虚拟建筑附件模型的挂接方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910497094.0A CN110197534B (zh) | 2019-06-10 | 2019-06-10 | 虚拟建筑附件模型的挂接方法、装置、处理器及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910497094.0A CN110197534B (zh) | 2019-06-10 | 2019-06-10 | 虚拟建筑附件模型的挂接方法、装置、处理器及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110197534A CN110197534A (zh) | 2019-09-03 |
CN110197534B true CN110197534B (zh) | 2023-11-21 |
Family
ID=67754286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910497094.0A Active CN110197534B (zh) | 2019-06-10 | 2019-06-10 | 虚拟建筑附件模型的挂接方法、装置、处理器及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110197534B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111105507B (zh) * | 2019-12-10 | 2023-12-19 | 网易(杭州)网络有限公司 | 虚拟附件模型的生成方法、装置、处理器及电子装置 |
CN111068318B (zh) * | 2019-12-26 | 2024-05-07 | 珠海金山数字网络科技有限公司 | 一种角色斜坡旋转方法及装置 |
CN111589155B (zh) * | 2020-06-09 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 一种建筑物构件编辑方法、装置、存储介质和电子设备 |
CN112190944A (zh) * | 2020-10-21 | 2021-01-08 | 网易(杭州)网络有限公司 | 虚拟建筑模型的构建方法、装置及电子装置 |
CN112634421B (zh) * | 2020-12-23 | 2022-06-17 | 久瓴(江苏)数字智能科技有限公司 | 建筑模型的处理方法及装置、非易失性存储介质 |
CN112948951B (zh) * | 2021-04-07 | 2023-03-03 | 万翼科技有限公司 | 建筑模型创建方法与装置、处理服务器 |
CN114648546B (zh) * | 2022-05-18 | 2022-07-29 | 深圳小库科技有限公司 | 建筑排布方案的确定方法、装置、电子设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515888A (zh) * | 2017-06-30 | 2017-12-26 | 百度在线网络技术(北京)有限公司 | 三维城市模型中的poi的挂接方法、装置及可读介质 |
CN109821241A (zh) * | 2019-01-11 | 2019-05-31 | 广州要玩娱乐网络技术股份有限公司 | 多个虚拟建筑的建造方法、装置、存储介质和终端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961055B2 (en) * | 2001-05-09 | 2005-11-01 | Free Radical Design Limited | Methods and apparatus for constructing virtual environments |
US9727667B2 (en) * | 2013-06-10 | 2017-08-08 | Honeywell International Inc. | Generating a three dimensional building management system |
-
2019
- 2019-06-10 CN CN201910497094.0A patent/CN110197534B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515888A (zh) * | 2017-06-30 | 2017-12-26 | 百度在线网络技术(北京)有限公司 | 三维城市模型中的poi的挂接方法、装置及可读介质 |
CN109821241A (zh) * | 2019-01-11 | 2019-05-31 | 广州要玩娱乐网络技术股份有限公司 | 多个虚拟建筑的建造方法、装置、存储介质和终端 |
Non-Patent Citations (1)
Title |
---|
海丝艺术公园三维虚拟景观场景再现;刘宁 等;《河北北方学院学报(自然科学版)》;20170331;第42-51页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110197534A (zh) | 2019-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110197534B (zh) | 虚拟建筑附件模型的挂接方法、装置、处理器及终端 | |
CN105046534B (zh) | 基于互联网的辅助设计系统(iAD) | |
CN111105507B (zh) | 虚拟附件模型的生成方法、装置、处理器及电子装置 | |
CN108986233B (zh) | 一种快速绘制室内预览图的方法及其系统 | |
CN104680572A (zh) | 基于bim的移动终端建筑模型渲染性能优化方法和系统 | |
CN110102058A (zh) | 游戏中虚拟建筑模型的生成方法、装置、处理器及终端 | |
Gao et al. | An approach to solid modeling in a semi-immersive virtual environment | |
CN110197525B (zh) | 虚拟建筑模型的窗口灯光控制方法、装置、处理器及终端 | |
CN110148203A (zh) | 游戏中虚拟建筑模型的生成方法、装置、处理器及终端 | |
CN111191314A (zh) | 基于bim和vr的地铁公共区装修集成设计施工方法 | |
CN110433495A (zh) | 游戏中虚拟场景的配置方法及装置、存储介质及电子设备 | |
CN103136399A (zh) | 面向室内场景的辐射度并行绘制系统和方法 | |
CN110110412A (zh) | 基于bim技术的户型全装修模拟展示方法及展示系统 | |
CN114708385A (zh) | 虚拟建筑拼装方法、装置、电子设备及存储介质 | |
CN106952346B (zh) | 一种基于画平面多边形生成吊顶3d模型的系统及方法 | |
WO2023159595A1 (zh) | 构建和配置三维空间场景的模型的方法、装置及计算机程序产品 | |
CN110201394B (zh) | 附件模型的生成方法、装置、存储介质、处理器及终端 | |
US11651533B2 (en) | Method and apparatus for generating a floor plan | |
CN111841010A (zh) | 城市路网的生成方法、装置、存储介质、处理器及终端 | |
CN116246012A (zh) | 一种虚拟建筑模型的生成方法、装置、以及电子设备 | |
CN113742804B (zh) | 家具布局图生成方法、装置、设备及存储介质 | |
CN109615709A (zh) | 基于云计算的多人协作三维场景建模与绘制方法 | |
CN115205484A (zh) | 历史文化街区的三维空间展示方法、装置、设备及介质 | |
CN114091133A (zh) | 一种城市信息模型建模方法、装置、终端设备及存储介质 | |
Döllner et al. | Smartbuildings-a concept for ad-hoc creation and refinement of 3d building models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |