本发明涉及计算机领域,具体而言,涉及一种虚拟建筑模型的生成方法、装置、处理器及电子装置。
背景技术:
伴随着游戏行业的迅猛发展,高品质游戏愈发成为当今时代主流。对于高品质游戏而言,一个足够大的游戏世界通常被视为一个必要条件。在相关技术中所提供的游戏生产流程中,游戏模型和游戏场景由美术人员手工编辑,其经常会成为整个流程的一个效率瓶颈。而单纯依靠增加人力资源来解决效率瓶颈问题,不但会显著增加人力、物力以及财力成本,还会为管理工作带来额外的负担。因此,程序化生成技术逐步得到游戏行业重视,也逐步应用到游戏生产流程中。
目前,基于三维计算机图形软件的程序化生成技术在一些游戏上已经得到较为广泛的应用,例如:在其中一部分游戏场景内所使用的河流模型都是通过程序化生成而得到的。此外,还有另外一部分游戏将程序化生成技术应用于游戏场景的地形以及植被生成过程。由此可见,相关技术中所提供的程序化生成方式通常应用在大规模野外游戏场景。大规模野外游戏场景的地形地貌具有较为成熟的算法来执行模拟计算,河流和植被分布等也具有大量的数学模型,因此大规模野外游戏场景的生成过程较为成熟。但对于现代化城市游戏场景而言,上述程序化生成方式则难以直接应用。
相关技术中针对现代化城市游戏场景,通常采用地理信息三维建模软件所提供的城市生成系统,其通过预先制作完毕的建筑组件模型和预先开发的规则系统生成样式较为丰富的建筑模型。
然而,此种现代化城市游戏场景生成方式却存在如下技术缺陷:
(1)开发成本高,需要技术人员从零开始构建整套系统,实现过程较为复杂并且开发周期较长。
(2)维护成本高,如果遇到功能改动或者更新游戏需求,则需要直接修改源代码。
(3)可扩展性差,一个较为复杂的更新需求可能会导致大量代码重构或重写。
针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明至少部分实施例提供了一种虚拟建筑模型的生成方法、装置、处理器及电子装置,以至少解决相关技术中所提供的基于三维计算机图形软件的程序化生成无法直接应用于现代化城市游戏场景,而采用地理信息三维建模软件所提供的城市生成系统的开发和维护成本高、可扩展性差的技术问题。
根据本发明其中一实施例,提供了一种虚拟建筑模型的生成方法,包括:
按照预设虚拟建筑模型生成规则获取多个配置文件,其中,预设虚拟建筑模型生成规则用于描述不同建筑风格的虚拟建筑模型的相应参数;将多个配置文件导入预设编辑环境,以在游戏场景内生成与多个配置文件相适配的多个虚拟建筑模型。
可选地,按照预设虚拟建筑模型生成规则获取多个配置文件包括:按照预设虚拟建筑模型生成规则获取每个虚拟建筑模型的建筑轮廓信息、建筑楼层划分信息以及每个楼层的组件模型布局信息;基于建筑轮廓信息、建筑楼层划分信息以及每个楼层的组件模型布局信息生成每个虚拟建筑模型对应的配置参数,得到多个配置文件。
可选地,按照预设虚拟建筑模型生成规则获取建筑轮廓信息包括:按照预设虚拟建筑模型生成规则确定每个虚拟建筑模型的地基描述信息和总体高度信息;基于地基描述信息和总体高度信息获取建筑轮廓信息。
可选地,按照预设虚拟建筑模型生成规则获取建筑楼层划分信息包括:按照预设虚拟建筑模型生成规则确定建筑楼层高度信息;基于建筑楼层高度信息确定多个分割面,并采用多个分割面逐层对每个虚拟建筑模型进行切分,得到建筑楼层划分信息。
可选地,按照预设虚拟建筑模型生成规则获取每个楼层的组件模型布局信息包括:按照预设虚拟建筑模型生成规则确定每个楼层待使用的组件模型的组件名称、每个楼层待使用的组件模型的排列方式以及每个楼层的高度信息;基于每个楼层待使用的组件模型的组件名称和每个楼层的高度信息对每个楼层待使用的组件模型进行缩放处理,得到处理后的组件模型;按照每个楼层待使用的组件模型的排列方式将处理后的组件模型平铺至对应楼层的外立面,得到每个楼层的组件模型布局信息。
可选地,将多个配置文件导入预设编辑环境,生成与多个配置文件相适配的多个虚拟建筑模型包括:在预设编辑环境下获取每个配置文件的路径信息;基于路径信息读取每个配置文件的配置参数;对配置参数进行个性化修改并按照修改后的配置参数生成每个虚拟建筑模型;或者,直接按照读取到的配置参数生成每个虚拟建筑模型。
可选地,在将多个配置文件导入预设编辑环境之前,还包括:在三维计算机图形软件编辑器内采用节点图形式对多个配置文件中的全部配置参数进行展示;基于节点图对部分配置参数进行调整,和/或,基于节点图查看部分或全部配置参数的运行状态。
根据本发明其中一实施例,还提供了一种虚拟建筑模型的生成装置,包括:
获取模块,用于按照预设虚拟建筑模型生成规则生成多个配置文件,其中,预设虚拟建筑模型生成规则用于描述不同建筑风格的虚拟建筑模型的相应参数;生成模块,用于将多个配置文件导入预设编辑环境,以在游戏场景内生成与多个配置文件相适配的多个虚拟建筑模型。
可选地,获取模块包括:第一获取单元,用于按照预设虚拟建筑模型生成规则获取每个虚拟建筑模型的建筑轮廓信息、建筑楼层划分信息以及每个楼层的组件模型布局信息;第一生成单元,用于基于建筑轮廓信息、建筑楼层划分信息以及每个楼层的组件模型布局信息生成每个虚拟建筑模型对应的配置参数,得到多个配置文件。
可选地,第一获取单元包括:第一确定子单元,用于按照预设虚拟建筑模型生成规则确定每个虚拟建筑模型的地基描述信息和总体高度信息;第一获取子单元,用于基于地基描述信息和总体高度信息获取建筑轮廓信息。
可选地,第一获取单元包括:第二确定子单元,用于按照预设虚拟建筑模型生成规则确定建筑楼层高度信息;第二获取子单元,用于基于建筑楼层高度信息确定多个分割面,并采用多个分割面逐层对每个虚拟建筑模型进行切分,得到建筑楼层划分信息。
可选地,第一获取单元包括:第三确定子单元,用于按照预设虚拟建筑模型生成规则确定每个楼层待使用的组件模型的组件名称、每个楼层待使用的组件模型的排列方式以及每个楼层的高度信息;处理子单元,用于基于每个楼层待使用的组件模型的组件名称和每个楼层的高度信息对每个楼层待使用的组件模型进行缩放处理,得到处理后的组件模型;第三获取子单元,用于按照每个楼层待使用的组件模型的排列方式将处理后的组件模型平铺至对应楼层的外立面,得到每个楼层的组件模型布局信息。
可选地,生成模块包括:第二获取单元,用于在预设编辑环境下获取每个配置文件的路径信息;读取单元,用于基于路径信息读取每个配置文件的配置参数;第二生成单元,用于对配置参数进行个性化修改并按照修改后的配置参数生成每个虚拟建筑模型;或者,直接按照读取到的配置参数生成每个虚拟建筑模型。
可选地,上述装置还包括:处理模块,用于在三维计算机图形软件编辑器内采用节点图形式对多个配置文件中的全部配置参数进行展示;以及基于节点图对部分配置参数进行调整,和/或,基于节点图查看部分或全部配置参数的运行状态。
根据本发明其中一实施例,还提供了一种存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的虚拟建筑模型的生成方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序被设置为运行时执行上述任一项中的虚拟建筑模型的生成方法。
根据本发明其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的虚拟建筑模型的生成方法。
在本发明至少部分实施例中,采用按照预设虚拟建筑模型生成规则获取多个配置文件,该预设虚拟建筑模型生成规则用于描述不同建筑风格的虚拟建筑模型的相应参数的方式,通过将多个配置文件导入预设编辑环境,以在游戏场景内生成与多个配置文件相适配的多个虚拟建筑模型,达到了基于三维计算机图形软件开发的虚拟建筑模型程序化生成的三维计算机图形软件数字资产(即上述配置文件,其可应用在不同的三维计算机图形软件工程中,以达到资源与脚本的互通和重复利用)借助三维计算机图形软件插件快速在预设编辑环境中生成大批量建筑模型的目的,从而实现了结构简单、通用性和可扩展性强、开发和维护成本低、虚拟建筑模型程序化生成生成效果良好的技术效果,进而解决了相关技术中所提供的基于三维计算机图形软件的程序化生成无法直接应用于现代化城市游戏场景,而采用地理信息三维建模软件所提供的城市生成系统的开发和维护成本高、可扩展性差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明其中一实施例的虚拟建筑模型的生成方法的流程图;
图2是根据本发明可选实施例一的同一楼层组件排列示意图;
图3是根据本发明可选实施例二的同一楼层组件排列示意图;
图4是根据本发明其中一可选实施例的建筑楼层划分方式示意图;
图5是根据本发明其中一实施例的虚拟建筑模型的生成装置的结构框图;
图6是根据本发明其中一可选实施例的虚拟建筑模型的生成装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明其中一实施例,提供了一种虚拟建筑模型的生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(cpu)、图形处理器(gpu)、数字信号处理(dsp)芯片、微处理器(mcu)或可编程逻辑器件(fpga)等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述所示更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的虚拟建筑模型的生成方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的虚拟建筑模型的生成方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
显示设备可以例如触摸屏式的液晶显示器(lcd)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(gui),用户可以通过触摸触敏表面上的手指接触和/或手势来与gui进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
在本实施例中提供了一种运行于上述移动终端的虚拟建筑模型的生成方法,图1是根据本发明其中一实施例的虚拟建筑模型的生成方法的流程图,如图1所示,该方法包括如下步骤:
步骤s12,按照预设虚拟建筑模型生成规则获取多个配置文件,其中,预设虚拟建筑模型生成规则用于描述不同建筑风格的虚拟建筑模型的相应参数;
步骤s14,将多个配置文件导入预设编辑环境,以在游戏场景内生成与多个配置文件相适配的多个虚拟建筑模型。
通过上述步骤,可以采用按照预设虚拟建筑模型生成规则获取多个配置文件,该预设虚拟建筑模型生成规则用于描述不同建筑风格的虚拟建筑模型的相应参数的方式,通过将多个配置文件导入预设编辑环境,以在游戏场景内生成与多个配置文件相适配的多个虚拟建筑模型,达到了基于三维计算机图形软件开发的虚拟建筑模型程序化生成的三维计算机图形软件数字资产(即上述配置文件,其可应用在不同的三维计算机图形软件工程中,以达到资源与脚本的互通和重复利用)借助三维计算机图形软件插件快速在预设编辑环境中生成大批量建筑模型的目的,从而实现了结构简单、通用性和可扩展性强、开发和维护成本低、虚拟建筑模型程序化生成生成效果良好的技术效果,进而解决了相关技术中所提供的基于三维计算机图形软件的程序化生成无法直接应用于现代化城市游戏场景,而采用地理信息三维建模软件所提供的城市生成系统的开发和维护成本高、可扩展性差的技术问题。
上述预设虚拟建筑模型生成规则中根据不同建筑风格的虚拟建筑模型可以对每个虚拟建筑模型进行分类,例如:城市公寓建筑模型、城市写字楼建筑模型、城市商场建筑模型。由此决定每个虚拟建筑模型的配置参数取值范围会存在差异。例如:城市公寓建筑模型的总体高度为20-25米,城市写字楼建筑模型的总体高度为25-50米。又例如:城市写字楼建筑模型的底商楼层高度为3.5米-5米,其余楼层高度为3米-3.5米。每个独立建筑模型分别采用单独的配置文件按照键值对的方式来存储配置数据。每个虚拟建筑模型的配置参数的实际取值可以在取值范围内随机生成。
上述预设编辑环境可以包括但不限于:主流游戏引擎编辑器、第三方建模软件编辑器。
上述多个配置文件既可以按照独立建筑模型为单位,在每个配置文件中分配配置对应建筑模型的相关参数;上述多个配置文件也可以按照虚拟建筑模型的组件(例如:楼层或外立面)为单位,在每个配置文件中分配配置对应建筑模型组件的相关参数。然后,再通过对上述多个配置文件中包含的多种类型参数进行拼接,以最终生成多个虚拟建筑模型。
可选地,在步骤s12中,按照预设虚拟建筑模型生成规则获取多个配置文件可以包括以下执行步骤:
步骤s121,按照预设虚拟建筑模型生成规则获取每个虚拟建筑模型的建筑轮廓信息、建筑楼层划分信息以及每个楼层的组件模型布局信息;
步骤s122,基于建筑轮廓信息、建筑楼层划分信息以及每个楼层的组件模型布局信息生成每个虚拟建筑模型对应的配置参数,得到多个配置文件。
为了能够生成样式丰富的虚拟建筑模型,通常需要按照预设虚拟建筑模型生成规则获取每个虚拟建筑模型的建筑轮廓信息、建筑楼层划分信息以及每个楼层的组件模型布局信息。
因此,需要通过建筑整体高度等配置参数获取每个虚拟建筑模型的建筑轮廓信息,需要通过楼层高度等配置参数获取每个虚拟建筑模型的建筑楼层划分信息,以及需要通过组件模型的组件名称、每个楼层是否具有上阳台/下阳台、上阳台/下阳台的组件名称、楼层和阳台是否具有壁柱、壁柱的组件名称等配置参数获取每个虚拟建筑模型的每个楼层的组件模型布局信息。
由此可见,上述参数描述的是对建筑物整体的控制,而对于单独的特定楼层,又可以定义如下规则来进行参数化控制:
(1)如果特定楼层随机使用多个窗户组件模型,只需要将这些组件模型的组件名称使用同一个前缀,例如:窗户a(window_a)、窗户b(window_b)。图2是根据本发明可选实施例一的同一楼层组件排列示意图,如图2所示,在定义楼层的窗户组件模型时,可以通过输入window_*自动为该楼层随机以winddow_开头的组件;
(2)如果希望使用多个组件模型按照固定顺序进行排列,例如:window_a和window_b交替排列,那么需要在定义楼层的窗户组件模型时,输入如下信息:window_a-window_b。图3是根据本发明可选实施例二的同一楼层组件排列示意图,如图3所示,在每个楼层的外立面上window_a和window_b均交替排列。
可选地,在步骤s121中,按照预设虚拟建筑模型生成规则获取建筑轮廓信息可以包括以下执行步骤:
步骤s1211,按照预设虚拟建筑模型生成规则确定每个虚拟建筑模型的地基描述信息和总体高度信息;
步骤s1212,基于地基描述信息和总体高度信息获取建筑轮廓信息。
虚拟建筑模型的建筑轮廓(即整体几何表示)既可以由地基坐标自动生成,也可以由美术人员预先制作完成,其通常是一个简单的几何体。在一个可选实施例中,可以按照地基描述信息(即虚拟建筑模型地基的几何表示)和每个虚拟建筑模型的总体高度信息来生成虚拟建筑模型的建筑轮廓。
可选地,在步骤s121中,按照预设虚拟建筑模型生成规则获取建筑楼层划分信息可以包括以下执行步骤:
步骤s1213,按照预设虚拟建筑模型生成规则确定建筑楼层高度信息;
步骤s1214,基于建筑楼层高度信息确定多个分割面,并采用多个分割面逐层对每个虚拟建筑模型进行切分,得到建筑楼层划分信息。
在利用三维计算机图形软件的几何节点对建筑轮廓进行划分的过程中,对于建筑轮廓而言,首先需要确定最终生成的建筑楼层划分方式,例如:一层高度、二层高度……顶层高度。然后,按照建筑楼层划分方式对虚拟建筑模型进行切分,得到多个楼层块。图4是根据本发明其中一可选实施例的建筑楼层划分方式示意图,如图4所示,可以采用多个分割面将虚拟建筑模型分割为多个楼层块,由此得到最终生成的多个建筑楼层,其中,每个楼层块即为虚拟建筑模型中的对应楼层。
可选地,在步骤s121中,按照预设虚拟建筑模型生成规则获取每个楼层的组件模型布局信息可以包括以下执行步骤:
步骤s1215,按照预设虚拟建筑模型生成规则确定每个楼层待使用的组件模型的组件名称、每个楼层待使用的组件模型的排列方式以及每个楼层的高度信息;
步骤s1216,基于每个楼层待使用的组件模型的组件名称和每个楼层的高度信息对每个楼层待使用的组件模型进行缩放处理,得到处理后的组件模型;
步骤s1217,按照每个楼层待使用的组件模型的排列方式将处理后的组件模型平铺至对应楼层的外立面,得到每个楼层的组件模型布局信息。
组件模型可以是由美术人员预先制作完毕的建筑组成单位,例如:窗户模型、门模型、窗台模型等。组件模型具有唯一属性,即组件名称(patternname)。需要说明的是,全部组件模型(例如:窗户模型、壁柱模型、窗台模型等)均需要设置对应的名称,以作为其唯一标识。在利用三维计算机图形软件加载这些组件模型时,会为组件模型赋予组件名称。因此,可以通过指定组件模型的组件名称来标识虚拟建筑模型中需要使用哪些组件模型。
针对每个楼层块,可以预先定义该楼层块所使用的组件模型。首先,将组件模型高度缩放为该楼层块的高度,然后,再将缩放后的组件模型平铺至该楼层块的外立面。由此,通过利用三维计算机图形软件的几何节点对整个建筑轮廓进行楼层划分,然后遍历构成建筑轮廓的每个楼层块外立面,针对每个楼层块依次进行组件模型的布局。
需要说明的是,由于组件模型均预先制作完毕,因此,其尺寸信息相对固定。在将组件模型依次平铺到每个楼层外立面的过程中,首先需要将组件模型的尺寸缩放至楼层高度范围内。又由于采用等比缩放方式对组件模型进行缩放处理,因此,组件模型的宽度总和有可能无法填满整个外立面。此时,在未填满位置处会出现空白区域。对于该空白区域可以采用如下处理方式:
处理方式一、将空白区域直接作为空白墙体处理即可;
处理方式二、采用非等比缩放方式使得组件模型的宽度总和能够恰好填满整个外立面。
由此最终确定该楼层的自适应宽度(auto_width)参数。
至此,能够对一个虚拟建筑模型从整体到细节进行准确、灵活地控制。并且,通过随机设置虚拟建筑模型的多种参数,可以基于预先制作完毕的建筑组件模型,生成大量各种样式的虚拟建筑模型。通过使用上述建筑模型生成方案,美术人员只需预先制作较为简单的建筑组件模型即可,耗时极短;然后可以在短时间内大批量生成各种样式的虚拟建筑模型,极大地缩短了开发周期和开发成本。
可选地,在步骤s14,将多个配置文件导入预设编辑环境之前,还可以包括以下执行步骤:
步骤s13,在三维计算机图形软件编辑器内采用节点图形式对多个配置文件中的全部配置参数进行展示;以及基于节点图对部分配置参数进行调整,和/或,基于节点图查看部分或全部配置参数的运行状态。
最终输出的三维计算机图形软件数字资产可以采用节点图形式,实现楼层高度的参数化与可视化,由此降低操作复杂度,且具有良好的扩展性。节点图是一个由节点构成的(离散数学概念)有向图,数据在节点之间传递,每个节点均具有特定功能,对数据进行处理,同时每个节点都具有特定参数。由此可以在三维计算机图形软件编辑器内可视化地修改任意一个节点中所设置的参数,当然也可以查看逻辑执行到任意一个节点时的模型状态。
可选地,在步骤s14中,将多个配置文件导入预设编辑环境,生成与多个配置文件相适配的多个虚拟建筑模型可以包括以下执行步骤:
步骤s141,在预设编辑环境下获取每个配置文件的路径信息;
步骤s142,基于路径信息读取每个配置文件的配置参数;
步骤s143,对配置参数进行个性化修改并按照修改后的配置参数生成每个虚拟建筑模型;或者,直接按照读取到的配置参数生成每个虚拟建筑模型。
三维计算机图形软件数字资产适用于市面上大量的商业游戏引擎以及制作工具。在实际开发过程中,可以将三维计算机图形软件数字资产拖入引擎编辑器中,在引擎编辑器的参数面板内输入参数,则虚拟建筑模型便会在城市游戏场景内自动生成。
三维计算机图形软件针对游戏引擎的插件会根据三维计算机图形软件数字资产的参数配置,自动在游戏引擎编辑器用户界面中显示这些参数。如果在游戏引擎编辑器中修改这些参数的具体取值,则插件会自动将参数传递给后台的三维计算机图形软件进程,同时还会对该三维计算机图形软件数字资产进行计算,并将最终结果回传给游戏引擎。
对于生成虚拟建筑模型而言,其参数可以是每个配置文件(例如:json文件)的路径,三维计算机图形软件数字资产通过一个节点读取该文件内容并进行解析得到实际所需参数。这些参数可以包括但不限于:
(1)组件模型的路径;
(2)虚拟建筑模型地基的几何表示(由一系列顶点组成);
(3)虚拟建筑模型的总体高度;
(4)每个楼层的配置信息(包括但不限于:楼层高度、组件名称、auto_width是否自适应宽度、是否存在上/下阳台、上/下阳台的组件名称)。
由此,美术人员通常只需耗费大约一到两天时间制作相关组件模型,然后便可以在一周左右的制作周期内制作大约一平方公里的复杂城市游戏场景,相比于相关技术中所提供的复杂城市游戏场景制作方式需要耗费数月甚至半年的制作周期,极大地提高了城市游戏场景的开发效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种虚拟建筑模型的生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明其中一实施例的虚拟建筑模型的生成装置的结构框图,如图5所示,该装置包括:获取模块10,用于按照预设虚拟建筑模型生成规则生成多个配置文件,其中,预设虚拟建筑模型生成规则用于描述不同建筑风格的虚拟建筑模型的相应参数;生成模块20,用于将多个配置文件导入预设编辑环境,以在游戏场景内生成与多个配置文件相适配的多个虚拟建筑模型。
可选地,获取模块10包括:第一获取单元(图中未示出),用于按照预设虚拟建筑模型生成规则获取每个虚拟建筑模型的建筑轮廓信息、建筑楼层划分信息以及每个楼层的组件模型布局信息;第一生成单元(图中未示出),用于基于建筑轮廓信息、建筑楼层划分信息以及每个楼层的组件模型布局信息生成每个虚拟建筑模型对应的配置参数,得到多个配置文件。
可选地,第一获取单元(图中未示出)包括:第一确定子单元(图中未示出),用于按照预设虚拟建筑模型生成规则确定每个虚拟建筑模型的地基描述信息和总体高度信息;第一获取子单元(图中未示出),用于基于地基描述信息和总体高度信息获取建筑轮廓信息。
可选地,第一获取单元(图中未示出)包括:第二确定子单元(图中未示出),用于按照预设虚拟建筑模型生成规则确定建筑楼层高度信息;第二获取子单元(图中未示出),用于基于建筑楼层高度信息确定多个分割面,并采用多个分割面逐层对每个虚拟建筑模型进行切分,得到建筑楼层划分信息。
可选地,第一获取单元(图中未示出)包括:第三确定子单元(图中未示出),用于按照预设虚拟建筑模型生成规则确定每个楼层待使用的组件模型的组件名称、每个楼层待使用的组件模型的排列方式以及每个楼层的高度信息;处理子单元(图中未示出),用于基于每个楼层待使用的组件模型的组件名称和每个楼层的高度信息对每个楼层待使用的组件模型进行缩放处理,得到处理后的组件模型;第三获取子单元(图中未示出),用于按照每个楼层待使用的组件模型的排列方式将处理后的组件模型平铺至对应楼层的外立面,得到每个楼层的组件模型布局信息。
可选地,生成模块20包括:第二获取单元(图中未示出),用于在预设编辑环境下获取每个配置文件的路径信息;读取单元(图中未示出),用于基于路径信息读取每个配置文件的配置参数;第二生成单元(图中未示出),用于对配置参数进行个性化修改并按照修改后的配置参数生成每个虚拟建筑模型;或者,直接按照读取到的配置参数生成每个虚拟建筑模型。
可选地,图6是根据本发明其中一可选实施例的虚拟建筑模型的生成装置的结构框图,如图6所示,上述装置还包括:处理模块30,用于在三维计算机图形软件编辑器内采用节点图形式对多个配置文件中的全部配置参数进行展示;以及基于节点图对部分配置参数进行调整,和/或,基于节点图查看部分或全部配置参数的运行状态。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
s1,按照预设虚拟建筑模型生成规则获取多个配置文件,其中,预设虚拟建筑模型生成规则用于描述不同建筑风格的虚拟建筑模型的相应参数;
s2,将多个配置文件导入预设编辑环境,以在游戏场景内生成与多个配置文件相适配的多个虚拟建筑模型。
可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
s1,按照预设虚拟建筑模型生成规则获取多个配置文件,其中,预设虚拟建筑模型生成规则用于描述不同建筑风格的虚拟建筑模型的相应参数;
s2,将多个配置文件导入预设编辑环境,以在游戏场景内生成与多个配置文件相适配的多个虚拟建筑模型。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。