游戏中虚拟建筑模型的生成方法、装置、处理器及终端与流程

文档序号:18468470发布日期:2019-08-20 20:00阅读:297来源:国知局
游戏中虚拟建筑模型的生成方法、装置、处理器及终端与流程

本发明涉及计算机领域,具体而言,涉及一种游戏中虚拟建筑模型的生成方法、装置、处理器及终端。



背景技术:

目前,相关技术中所提供的游戏内模型、贴图的制作和组织方式是将目标模型的全部贴图数据打包到至少一张贴图上。

假设需要开发一个城市题材的游戏项目,如果使用上述方式来制作建筑贴图,城市游戏场景中每个不同外观的建筑均使用至少一张贴图,那么建筑贴图将会占用很高的硬盘和内存资源。特别是在移动终端上运行城市游戏场景,这种传统的制作方式所带来的贴图消耗将会成为性能瓶颈,甚至导致游戏无法在移动终端上运行。

对于建筑贴图的制作而言,虽然可以在游戏场景中通过大量复用模型,在游戏场景中实现高密度的建筑群,同时还能够降低贴图开销,但是不可回避的问题在于:游戏场景内建筑模型的相似度和重复度过高,与现实世界中丰富多样的城市环境相悖,严重影响城市环境的还原和再现。

除了常规的模型贴图资源之外,移动终端中所运行的游戏常用的一种光照技术lightmap,在制作大场景城市题材的游戏时也会带来较大的硬盘和内存占用。相较于野外自然环境,城市环境在高度上会有较大的变化,从而使得模型(特别是建筑模型)的表面积增大,由此导致在同样规模前提下,城市环境比野外自然环境的场景会消耗更多的lightmap资源。

为此,相关技术中所提供的解决方案在于:采用实时光影或者降低lightmap的精度。然而,其明显缺陷在于:导致光影质量下降,直接影响游戏画面的品质表现。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明至少部分实施例提供了一种游戏中虚拟建筑模型的生成方法、装置、处理器及终端,以至少解决相关技术中所采用的建筑模型及其贴图组织形式易耗费较多的硬件资源,或者重复率较高,影响游戏视觉体验的技术问题。

根据本发明其中一实施例,提供了一种游戏中虚拟建筑模型的生成方法,应用于一游戏客户端,包括:

将建筑模型的建筑区域划分为多个组成部分,并分别为每个组成部分配置对应的建筑资源集合;分别从每个组成部分对应的建筑资源集合中选取待使用的组件模型和待使用的组件贴图;采用待使用的组件模型和待使用的组件贴图生成建筑模型。

可选地,分别为每个组成部分配置对应的建筑资源集合包括:根据游戏客户端的类型确定与建筑资源集合所在的存储区域;在存储区域内按照每个组成部分所分属的类别创建多个独立的存储空间,其中,每个类别分别对应一个独立的存储空间;将每个类别对应的多个组件模型以及与每个组件模型对应的组件贴图分别导入各自对应的存储空间,形成每个组成部分对应的建筑资源集合。

可选地,在分别为每个组成部分配置对应的建筑资源集合之前,还包括:根据游戏客户端的类型设置第一存储区域和第二存储区域,其中,第一存储区域与第二存储区域采用相同的存储结构,第一存储区域内存储有第一精度的建筑资源集合,第二存储区域内存储有第二精度的建筑资源集合,第一精度大于第二精度。

可选地,在将每个组件模型对应的组件贴图分别导入各自对应的存储空间的过程中,记录每个组件贴图的寻址模式。

可选地,在将每个组件模型对应的组件贴图分别导入各自对应的存储空间,形成每个组成部分对应的建筑资源集合之后,还包括:将同一个建筑资源集合内的全部组件贴图进行合并处理,生成合并贴图。

可选地,在将同一个建筑资源集合内的全部组件贴图进行合并处理,生成合并贴图之后,还包括:对合并贴图进行划分,得到多个分割子贴图;将多个分割子贴图中的部分或全部分割子贴图内所包含的组件贴图进行拉伸处理,以覆盖合并贴图内的无效区域。

可选地,在将同一个建筑资源集合内的全部组件贴图进行合并处理,生成合并贴图之后,还包括:根据每个组成部分对应的建筑资源集合内每个组件模型上网格面片集合的空间高度以及视觉重要性,调整网格面片集合在合并贴图上的占用区域。

根据本发明其中一实施例,还提供了一种游戏中虚拟建筑模型的生成装置,应用于一游戏客户端,包括:

配置模块,用于将建筑模型的建筑区域划分为多个组成部分,并分别为每个组成部分配置对应的建筑资源集合;选取模块,用于分别从每个组成部分对应的建筑资源集合中选取待使用的组件模型和待使用的组件贴图;生成模块,用于采用待使用的组件模型和待使用的组件贴图生成建筑模型。

可选地,配置模块包括:确定单元,用于根据游戏客户端的类型确定与建筑资源集合所在的存储区域;创建单元,用于在存储区域内按照每个组成部分所分属的类别创建多个独立的存储空间,其中,每个类别分别对应一个独立的存储空间;配置单元,用于将每个类别对应的多个组件模型以及与每个组件模型对应的组件贴图分别导入各自对应的存储空间,形成每个组成部分对应的建筑资源集合。

可选地,上述装置还包括:设置模块,用于根据游戏客户端的类型设置第一存储区域和第二存储区域,其中,第一存储区域与第二存储区域采用相同的存储结构,第一存储区域内存储有第一精度的建筑资源集合,第二存储区域内存储有第二精度的建筑资源集合,第一精度大于第二精度。

可选地,配置单元,还用于在将每个组件模型对应的组件贴图分别导入各自对应的存储空间的过程中,记录每个组件贴图的寻址模式。

可选地,配置模块还包括:合并单元,用于将同一个建筑资源集合内的全部组件贴图进行合并处理,生成合并贴图。

可选地,配置模块还包括:分割单元,用于对合并贴图进行划分,得到多个分割子贴图;处理单元,用于将多个分割子贴图中的部分或全部分割子贴图内所包含的组件贴图进行拉伸处理,以覆盖合并贴图内的无效区域。

可选地,配置模块还包括:调整单元,用于根据每个组成部分对应的建筑资源集合内每个组件模型上网格面片集合的空间高度以及视觉重要性,调整网格面片集合在合并贴图上的占用区域。

根据本发明其中一实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述任意一项的游戏中虚拟建筑模型的生成方法。

根据本发明其中一实施例,还提供了一种处理器,其特征在于,处理器用于运行程序,其中,程序运行时执行上述任意一项的游戏中虚拟建筑模型的生成方法。

根据本发明其中一实施例,还提供了一种终端,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序用于执行上述任意一项的游戏中虚拟建筑模型的生成方法。

在本发明至少部分实施例中,采用将建筑模型的建筑区域划分为多个组成部分,并分别为每个组成部分配置对应的建筑资源集合的方式,通过分别从每个组成部分对应的建筑资源集合中选取待使用的组件模型和待使用的组件贴图,以及采用待使用的组件模型和待使用的组件贴图生成建筑模型,达到了通过合理的组件拆分和高效的组织方式,以较少的模型贴图达到丰富多样的建筑群表现的目的,从而实现了在移动终端平台上呈现游戏画面精良的大世界城市环境的技术效果,进而解决了相关技术中所采用的建筑模型及其贴图组织形式易耗费较多的硬件资源,或者重复率较高,影响游戏视觉体验的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1示出了一种用于实现游戏中虚拟建筑模型的生成方法的计算机终端(或移动设备)的硬件结构框图;

图2是根据本发明其中一实施例的游戏中虚拟建筑模型的生成方法的流程图;

图3是根据本发明其中一实施例的游戏中虚拟建筑模型的生成装置的结构框图;

图4是根据本发明其中一可选实施例的游戏中虚拟建筑模型的生成装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:

(1)buildingelement是指构成建筑的组件模型,例如:窗户、门、阳台等;

(2)textureatlas是指建筑组件贴图合并图集;

(3)texturemipmap是一种纹理映射技术,用于在三维图像的二维代替物中达到立体感效应;

(4)uvaddressmode是纹理坐标的寻址模式;

(5)二叉空间分割(binaryspacepartitioning,简称为bsp)树是一种空间分割技术;

(6)光照烘焙(lightbake)是指将模型受到的光照信息预先烘焙并加以存储,并在游戏中直接应用,以减少运行时开销的技术;

(7)光照贴图(lightmap)是指存储光照信息的2d贴图;

(8)2u是指模型上用于索引lightmap的纹理坐标信息;

(9)2upatch是指模型上具有连续2u的几何面片集合。

根据本发明其中一实施例,提供了一种游戏中虚拟建筑模型的生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图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的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。在一些实施例中,上述图1所示的计算机终端10(或移动设备)具有触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。在一些实施例中,上述图1所示的计算机终端10(或移动设备)具有图形用户界面(gui),用户可以通过触摸触敏表面上的手指接触和/或手势来与gui进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。

上述计算机终端10(或移动设备)可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。

在本实施例中提供了一种运行于上述计算机终端(或移动设备)的游戏中虚拟建筑模型的生成方法,应用于一游戏客户端。图2是根据本发明其中一实施例的游戏中虚拟建筑模型的生成方法的流程图,如图2所示,该方法包括如下步骤:

步骤s22,将建筑模型的建筑区域划分为多个组成部分,并分别为每个组成部分配置对应的建筑资源集合;

步骤s24,分别从每个组成部分对应的建筑资源集合中选取待使用的组件模型和待使用的组件贴图;

步骤s26,采用待使用的组件模型和待使用的组件贴图生成建筑模型。

通过上述步骤,可以采用将建筑模型的建筑区域划分为多个组成部分,并分别为每个组成部分配置对应的建筑资源集合的方式,通过分别从每个组成部分对应的建筑资源集合中选取待使用的组件模型和待使用的组件贴图,以及采用待使用的组件模型和待使用的组件贴图生成建筑模型,达到了通过合理的组件拆分和高效的组织方式,以较少的模型贴图达到丰富多样的建筑群表现的目的,从而实现了在移动终端平台上呈现游戏画面精良的大世界城市环境的技术效果,进而解决了相关技术中所采用的建筑模型及其贴图组织形式易耗费较多的硬件资源,或者重复率较高,影响游戏视觉体验的技术问题。

可选地,在步骤s22中,分别为每个组成部分配置对应的建筑资源集合可以包括以下执行步骤:

步骤s221,根据游戏客户端的类型确定与建筑资源集合所在的存储区域;

步骤s222,在存储区域内按照每个组成部分所分属的类别创建多个独立的存储空间,其中,每个类别分别对应一个独立的存储空间;

步骤s223,将每个类别对应的多个组件模型以及与每个组件模型对应的组件贴图分别导入各自对应的存储空间,形成每个组成部分对应的建筑资源集合。

游戏客户端的类型可以包括但不限于:个人计算机(pc)端、移动端。根据pc端的系统性能可以进一步分为高分辨率pc端、中分辨率pc端、低分辨率pc端。根据移动端的系统性能可以进一步分为高分辨率移动端、中分辨率移动端、低分辨率移动端。

在一个可选实施例中,将建筑模型从组件层级开始拆分。在通常情况下,建筑模型可以包括但不限于:墙、窗、门、阳台、屋顶等组件模型。为此,通过配置单独的组件模型及其对应的贴图即可组成上述建筑模型。同时,还可以按照建筑模型的建筑区域将建筑模型分为两个部分:底商(ground)模型和高层(center)模型。在构造一个建筑模型的过程中,底商模型和高层模型分别使用两个不同的建筑资源集合。换言之,需要两张不同的贴图<atlas>,每张贴图内通常包含6~15个组件。

在实际应用过程中,可以采用文件夹的组织形式将底商模型及其贴图和高层模型及其贴图分别存储在不同组件目录(即建筑资源集合所在的存储区域)下。组件目录总共可以分为两级。第一级是根据建筑区域进行划分,可以分为底商、高层和装饰三大类。在每个大类中,会存在多个“子目录”,每个子目录表示一个建筑资源集合。同一个子目录下不会再出现新的目录,而只会包含组件模型及其贴图。考虑到同一个建筑资源集合内的组件模型能够随机拼接,为此需要避免在同一个建筑资源集合内出现色差较大的组件模型。因此,可以出现在同一建筑模型上的组件模型对应的贴图同样可以采用子目录的方式存储至对应的底商、高层贴图目录中。

可选地,在步骤s22,分别为每个组成部分配置对应的建筑资源集合之前,还可以包括以下执行步骤:

步骤s21,根据游戏客户端的类型设置第一存储区域和第二存储区域,其中,第一存储区域与第二存储区域采用相同的存储结构,第一存储区域内存储有第一精度的建筑资源集合,第二存储区域内存储有第二精度的建筑资源集合,第一精度大于第二精度。

在本发明实施例所提供的文件夹的组织形式中,充分考虑到未来可能出现的需要使用高清资源的pc端版本,因此,无论组件的模型还是贴图资源,都需要针对游戏客户端的类型进一步划分为“普通”和“高清”两个版本资源,分别存放在高清资源目录下(即第一存储区域)和普通资源目录下(即第二存储区域)。对于模型而言,需要配置这两个版本的组件模型并分别存储至对应目录中。对于贴图而言,首先在高清资源目录下配置高清版本的贴图资源,然后会自动在普通资源目录下生成对应的低精度贴图。

可选地,在步骤s223,将每个组件模型对应的组件贴图分别导入各自对应的存储空间,形成每个组成部分对应的建筑资源集合之后,还可以包括以下执行步骤:

步骤s224,将同一个建筑资源集合内的全部组件贴图进行合并处理,生成合并贴图。

在一个可选实施例中,可以将指定的建筑组件模型合并成一个建筑资源集合,并将同一个建筑资源集合内的全部组件贴图合并为一张大图(即合并贴图),以供后续生成建筑模型时使用。

在采用上述文件夹的组织形式将底商模型及其贴图和高层模型及其贴图分别存储在不同组件目录之后,可以采用自动atlas贴图生成工具会将同一子目录内的组件贴图合并成一个atlas贴图。

在通常情况下,允许使用512*512精度的贴图作为一个建筑资源集合的大图,而每个组件的贴图允许使用128*128精度。因此,可以在一张512*512精度的大图内填充4*4=16张128*128精度的小图。但是,如果特定组件所需的贴图精度较高,那么这个组件可以使用一张256*256精度的贴图,而其余组件仍然使用128*128精度的贴图,则总共只能存放13个组件。如果全部使用256*256精度的组件贴图,则只能存放4个组件。

在游戏场景内的实际使用过程中,一个建筑模型通常会使用2~5个组件。通过排列组合,可以使用一张512*512精度的贴图生成非常多不同外观的建筑模型(即其中,m表示贴图中所包含的组件数量,n表示建筑模型实际使用到的组件数量),从而通过从同一个建筑资源集合中抽取不同的外观组件,并使用不同的排列组合规则,便可得到的丰富多样的建筑表现。

可选地,在步骤s224,将同一个建筑资源集合内的全部组件贴图进行合并处理,生成合并贴图之后,还可以包括以下执行步骤:

步骤s225,对合并贴图进行划分,得到多个分割子贴图;

步骤s226,将多个分割子贴图中的部分或全部分割子贴图内所包含的组件贴图进行拉伸处理,以覆盖合并贴图内的无效区域。

常用的atlas生成算法,例如maxrect,生成的atlas贴图通常会存在较多的无效区域。对于建筑组件这类矩形形状的贴图,atlas的贴图利用率通常只有70%~90%。如果每个贴图都存在一些无效区域,那么累积起来将会成为巨大的资源浪费。为此,需要使用一种新的atlas贴图pack算法,从而能够实现接近100%的贴图利用率。具体地,首先通过bsp结构对atlas贴图进行划分,然后再将内部一些组件贴图通过拉伸方式来填充相邻的无效区域。

当然,将原始组件贴图进行拉伸,虽然在逻辑上能够减少atlas贴图的无效区域,但是在视觉上并不会带来贴图的精度提升。因此,在上述拉伸组件贴图来填充atlas相邻无效区域的操作中,实际上是使用高清版本的贴图来填充拉伸后的区域,这样便可在逻辑和视觉上均可以充分利用atlas内原本无效的空间。

可选地,在步骤s223,将每个组件模型对应的组件贴图分别导入各自对应的存储空间的过程中,还可以包括以下执行步骤:

步骤s227,记录每个组件贴图的寻址模式。

在进行贴图缩放以及atlas贴图的生成过程中,充分考虑到贴图的uv寻址模式(addressmode),为此在导入组件贴图的过程中,需要指定贴图的addressmode(例如:四方连续,二方连续,不连续),这样在采样atlas及其mipmap时,能够杜绝组件贴图边缘出现断层等视觉错误。

可选地,在步骤s225,将同一个建筑资源集合内的全部组件贴图进行合并处理,生成合并贴图之后,还可以包括以下执行步骤:

步骤s228,根据每个组成部分对应的建筑资源集合内每个组件模型上网格面片集合的空间高度以及视觉重要性,调整网格面片集合在合并贴图上的占用区域。

在现代城市题材的游戏中,游戏玩家控制的游戏角色所在位置通常会位于道路上(例如:游戏角色在道路上行走或驾车)。按照每个组成部分对应的建筑资源集合内每个组件模型上网格面片集合的空间高度以及视觉重要性(即游戏角色的视角范围内容易观察到的对象,其视觉重要性较高;而在游戏角色的视角范围内难以观察到的对象,其视觉重要性较低)来分类,建筑模型中的底商模型需要较为细致的光影变化。而鉴于高层以及屋顶模型等通常情况下与游戏角色之间的距离较远且不易被观察到,其是否具有非常细致的光影效果,对整个游戏的整体画面效果并没有太多影响。基于以上情况,可以根据建筑模型的网格面片距离地面的高度以及是否位于屋顶等非重要的区域,逐步降低所分配的lightmap精度,从而在不影响游戏整体画质的前提下,降低整个场景lightmap资源占用的容量。根据实际测试情况表明,该优化方案能够减少30%-40%的建筑模型lightmap消耗。

另外,针对建筑lightmap空间占用优化方式,可以使用业界中常规的2u自动生成算法,例如:leastsquaresconformalmaps(简称为lscm)算法,angle-basedflattening(简称为abf)算法,linearabf算法,boundaryfirstflattening(简称为bff)等。在为每个patch分配区域(即一块具有连续2u的区域)时,根据其空间高度以及视觉重要性,缩放patch在贴图中所实际占用的面积,从而起到优化的效果。假设lightmap精度为512*512,其中一个patch原本需要占用128*128大小的区域,但恰好patch所包含的是屋顶区域,因此,可以将其缩小到占用32*32大小的区域。

通过采用本发明所提供的上述实施例,根据反复测试结果表明,采用大概5~10张高层贴图和10~20张底商贴图(经过压缩后所占用的存储空间不足20m)便能够支持构造出一个1k*1k的具有丰富建筑外观的城市建筑群。即,通过使用组件模型搭建出各式各样的建筑模型,并且还能够清楚地量化所使用的组件模型数量,从而使得整个项目的内存和包体等处于可控范围内。此外,通过使用lightmap优化技术手段还能够进一步地减少整个城市场景的贴图消耗,进而在移动终端平台上运行的游戏画面内还原出真实的城市场景。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种游戏中虚拟建筑模型的生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明其中一实施例的游戏中虚拟建筑模型的生成装置的结构框图,如图3所示,该装置应用于一游戏客户端,包括:配置模块10,用于将建筑模型的建筑区域划分为多个组成部分,并分别为每个组成部分配置对应的建筑资源集合;选取模块20,用于分别从每个组成部分对应的建筑资源集合中选取待使用的组件模型和待使用的组件贴图;生成模块30,用于采用待使用的组件模型和待使用的组件贴图生成建筑模型。

可选地,配置模块10包括:确定单元(图中未示出),用于根据游戏客户端的类型确定与建筑资源集合所在的存储区域;创建单元(图中未示出),用于在存储区域内按照每个组成部分所分属的类别创建多个独立的存储空间,其中,每个类别分别对应一个独立的存储空间;配置单元(图中未示出),用于将每个类别对应的多个组件模型以及与每个组件模型对应的组件贴图分别导入各自对应的存储空间,形成每个组成部分对应的建筑资源集合。

可选地,图4是根据本发明其中一可选实施例的游戏中虚拟建筑模型的生成装置的结构框图,如图4所示,该装置除包括图3所示的所有模块外,还包括:设置模块40,用于根据游戏客户端的类型设置第一存储区域和第二存储区域,其中,第一存储区域与第二存储区域采用相同的存储结构,第一存储区域内存储有第一精度的建筑资源集合,第二存储区域内存储有第二精度的建筑资源集合,第一精度大于第二精度。

可选地,配置单元(图中未示出),还用于在将每个组件模型对应的组件贴图分别导入各自对应的存储空间的过程中,记录每个组件贴图的寻址模式。

可选地,配置模块10还包括:合并单元(图中未示出),用于将同一个建筑资源集合内的全部组件贴图进行合并处理,生成合并贴图。

可选地,配置模块10还包括:分割单元(图中未示出),用于对合并贴图进行划分,得到多个分割子贴图;处理单元(图中未示出),用于将多个分割子贴图中的部分或全部分割子贴图内所包含的组件贴图进行拉伸处理,以覆盖合并贴图内的无效区域。

可选地,配置模块10还包括:调整单元(图中未示出),用于根据每个组成部分对应的建筑资源集合内每个组件模型上网格面片集合的空间高度以及视觉重要性,调整网格面片集合在合并贴图上的占用区域。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,将建筑模型的建筑区域划分为多个组成部分,并分别为每个组成部分配置对应的建筑资源集合;

s2,分别从每个组成部分对应的建筑资源集合中选取待使用的组件模型和待使用的组件贴图;

s3,采用待使用的组件模型和待使用的组件贴图生成建筑模型。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种处理器,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,将建筑模型的建筑区域划分为多个组成部分,并分别为每个组成部分配置对应的建筑资源集合;

s2,分别从每个组成部分对应的建筑资源集合中选取待使用的组件模型和待使用的组件贴图;

s3,采用待使用的组件模型和待使用的组件贴图生成建筑模型。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1