CN116246012A - 一种虚拟建筑模型的生成方法、装置、以及电子设备 - Google Patents
一种虚拟建筑模型的生成方法、装置、以及电子设备 Download PDFInfo
- Publication number
- CN116246012A CN116246012A CN202211600498.6A CN202211600498A CN116246012A CN 116246012 A CN116246012 A CN 116246012A CN 202211600498 A CN202211600498 A CN 202211600498A CN 116246012 A CN116246012 A CN 116246012A
- Authority
- CN
- China
- Prior art keywords
- building model
- preset
- virtual building
- generating
- infrastructure
- 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.)
- Pending
Links
Images
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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/63—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
-
- 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/2012—Colour editing, changing, or manipulating; Use of colour codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种虚拟建筑模型的生成方法、装置、电子设备以及计算机可读存储介质,所述方法包括:获取用于生成虚拟建筑模型的第一基础结构;根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构;获取用于生成所述虚拟建筑模型的状态信息,所述状态信息为表征所述虚拟建筑模型在所述预设建筑风格下的预设表现形式的信息;根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型。该方法实现了在游戏引擎中自动生成预设建筑风格的虚拟建筑物,降低了游戏开发者的劳动强度,提高了游戏开发的速度,缩短了游戏版本的更新时长。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种虚拟建筑模型的生成方法以及装置,本申请进一步提供相关的电子设备和计算机可读存储介质。
背景技术
随着计算机技术的快速发展,大世界游戏成为当前时代主流。大世界游戏具有足够大的游戏场景,而游戏场景的构造往往会涉及到大数量的虚拟建筑物。
现有技术中,针对写实风格游戏,已存在城市虚拟建筑物的自动生成方法,而对于卡通风格游戏,卡通虚拟建筑物的生成还依赖于游戏开发者的手工绘制。这样无疑增加了游戏开发者的劳动强度,使游戏开发的人力成本增高,且由于手工绘制的效率较低,会导致游戏开发速度慢、游戏版本更新时间长。
因此,如何针对卡通风格游戏,开发出卡通虚拟建筑物的自动化生成方法,从而降低游戏开发者的劳动强度、提高游戏的开发速度及版本更新速度,已成为大世界游戏开发中亟待解决的技术问题。
发明内容
本申请提供了一种虚拟建筑模型的生成方法、装置、电子设备以及计算机可读存储介质,以解决现有技术存在的因无法自动生成卡通风格的虚拟建筑物,导致游戏开发者的劳动强度大、游戏开发速度慢、游戏版本更新时间长的技术问题。
本申请实施例提供了一种虚拟建筑模型的生成方法,所述方法应用于游戏引擎,所述方法包括:
获取用于生成虚拟建筑模型的第一基础结构;
根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构;
获取用于生成所述虚拟建筑模型的状态信息,所述状态信息为表征所述虚拟建筑模型在所述预设建筑风格下的预设表现形式的信息;
根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型。
本申请实施例还提供了一种虚拟建筑模型的生成装置,所述装置包括:第一基础结构获取单元、第二基础结构获取单元、状态信息获取单元、虚拟建筑模型生成单元;
所述第一基础结构获取单元,用于获取用于生成虚拟建筑模型的第一基础结构;
所述第二基础结构获取单元,用于根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构;
所述状态信息获取单元,用于获取用于生成所述虚拟建筑模型的状态信息,所述状态信息为表征所述虚拟建筑模型在所述预设建筑风格下的预设表现形式的信息;
所述虚拟建筑模型生成单元,用于根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型。
本申请实施例还提供了一种电子设备,包括:存储器、处理器;
所述存储器,用于存储一条或多条计算机指令;
所述处理器,用于执行所述一条或多条计算机指令,以实现上述方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有一条或多条计算机指令,该指令被处理器执行以实现上述方法。
与现有技术相比,本申请提供的虚拟建筑模型的生成方法,包括:获取用于生成虚拟建筑模型的第一基础结构;根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构;获取用于生成所述虚拟建筑模型的状态信息,所述状态信息为表征所述虚拟建筑模型在所述预设建筑风格下的预设表现形式的信息;根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型。该方法通过获取用于生成虚拟建筑模型的第二基础结构和状态信息,从而基于所述第二基础结构及所述状态信息生成所述虚拟建筑模型。本申请提供的虚拟建筑模型的生成方法在游戏引擎中执行,其中获取的第二基础结构具有虚拟建筑模型对应的预设建筑风格,且获取的状态信息是表征虚拟建筑模型在所述预设建筑风格下的预设表现形式的信息,从而基于所述第二基础结构和所述状态信息生成的虚拟建筑模型也必然具有所述预设建筑风格。当预设建筑风格为卡通风格时,通过该方法即可生成具有卡通风格的虚拟建筑模型。因此,本申请提供的虚拟建筑模型的生成方法实现了在卡通风格大世界游戏开发过程中,能够在游戏引擎中自动生成卡通虚拟建筑物,并不需要游戏开发者利用其他绘图软件进行手工绘制,降低了游戏开发者的劳动强度,提高了游戏开发的速度,缩短了游戏版本的更新时长。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是写实风格游戏中虚拟建筑物与卡通风格游戏中虚拟建筑物的对比图;
图2是现有技术中构造卡通风格游戏场景的示意图;
图3是本申请实施例提供的一种虚拟建筑模型的生成方法的应用系统图;
图4是本申请一实施例提供的虚拟建筑模型的生成方法的流程图;
图5是本申请一实施例提供的基础结构调整示意图;
图6是本申请一实施例提供的生成虚拟建筑模型的示意图;
图7是本申请另一实施例提供的虚拟房屋模型的生成方法的流程图;
图8是本申请另一实施例提供的生成虚拟房屋模型主体的示意图;
图9是本申请另一实施例提供的生成虚拟房屋模型窗口的示意图;
图10是本申请另一实施例提供的斜屋顶框架的示意图;
图11是本申请另一实施例提供的生成屋顶瓦片贴图的示意图;
图12是本申请另一实施例提供的虚拟道路模型的生成方法的流程图;
图13是本申请另一实施例提供的生成虚拟道路模型的示意图;
图14是本申请另一实施例提供的生成虚拟道路模型的示意图;
图15是本申请另一实施例提供的虚拟建筑模型的生成装置的结构示意图;
图16是本申请另一施例提供的电子设备的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
随着计算机技术的快速发展,游戏的品质也得到了大幅度提升,具有足够大的游戏世界已成为衡量游戏品质的一项重要因素,应运而生的大世界游戏逐渐成为了当前时代的主流。所述大世界游戏顾名思义游戏世界非常大,大世界游戏往往会涉及多个游戏关卡,玩家可以自由选择任意关卡进行游戏,而每一个关卡中又具有多个游戏场景,玩家可以在关卡中对参与的游戏场景和执行的游戏任务进行自由选择,是一种具有玩家自主性的大型游戏。
目前,大世界游戏的游戏世界从几平方千米到几百平方千米,偌大的游戏世界需要数量相当大的游戏场景作为支撑,而游戏场景的构造往往会用到大数量的虚拟建筑物。在当前游戏领域中,虚拟建筑物会通过游戏开发者在绘图软件中进行手工绘制,然后再导入游戏引擎中构造游戏场景,这样的人工方式对于小型游戏而言,是可以达到游戏开发目标的,而对于大世界游戏而言,大数量的游戏场景,若通过人工方式进行虚拟建筑物的手工绘制,无疑极大增加了游戏开发者的劳动强度,且由于手工绘制的效率较低,会使大世界游戏的开发速度过慢,游戏版本更新时间过长,完全不能满足游戏运营方及游戏玩家对大世界游戏的需求。
基于此,游戏开发者开发出了一种虚拟建筑物的自动生成方法,该方法主要针对写实风格游戏中城市化虚拟建筑物的自动生成。由于其他诸如卡通风格游戏中的卡通化虚拟建筑物与城市化虚拟建筑物存在较大差异,上述方法并无法在卡通风格游戏开发中使用。因此,目前大世界游戏主要是写实风格的游戏,卡通风格的游戏较少。
图1是写实风格游戏中虚拟建筑物与卡通风格游戏中虚拟建筑物的对比图,其中图1(a)是写实风格游戏中的虚拟建筑物,图1(b)是卡通风格游戏中的虚拟建筑物。
如图1所示,写实风格游戏中的虚拟房屋较为方正,不存在过多的款式,而卡通风格游戏中的虚拟房屋的形状多为不规则形状,且款式较多。
目前,对于卡通风格游戏,卡通虚拟建筑物的生成还依赖于游戏开发者的手工绘制,游戏场景的构造更是涉及了多种软件,过程较为复杂。图2是现有技术中构造卡通风格游戏场景的示意图。
如图2所示,以现有的卡通风格虚拟建筑物的生成方法构造游戏场景至少包括如下步骤:
第一,游戏开发者在绘图软件201中绘制卡通风格虚拟建筑物模型202,比如:Houdini软件、Maya软件等。这使得游戏开发者不仅要具有应用游戏引擎设计游戏的技能,还必须拥有多种绘图软件的使用技能,无疑提高了游戏开发行业的准入门槛。
第二,游戏开发者将卡通风格虚拟建筑物模型202导出绘图软件201,并将其修改为适配于游戏引擎的文件格式的卡通风格虚拟建筑物模型203。文件格式的修改不可避免的会对已绘制好的卡通风格虚拟建筑物模型的表现效果产生或多或少的影响,导致游戏品质降低。
第三,游戏开发者将卡通风格虚拟建筑物模203导入游戏引擎204中,并根据预设的表现效果对其进行反复修改。若在游戏引擎204中的修改并不能达到最终的目标效果,则需要在绘图软件201中进行修改,再重新进行导出绘图软件、修改文件格式、导入游戏引擎、在游戏引擎中修改等操作,上述操作还有可能需要进行若干次的重复,才能最终得到预期的卡通风格虚拟建筑物模型。
第四,游戏开发者利用卡通风格虚拟建筑物模型在游戏引擎204中构造游戏场景205。
综上所述,如何针对卡通风格游戏,开发出卡通虚拟建筑物的自动化生成方法,从而降低游戏开发者的劳动强度、提高游戏的开发速度及版本更新速度,已成为大世界游戏开发中亟待解决的技术问题。
有鉴于此,本申请提供了一种虚拟建筑模型的生成方法,该方法实现了在卡通风格大世界游戏开发过程中,能够在游戏引擎中自动生成卡通虚拟建筑物,并不需要游戏开发者利用其他绘图软件进行手工绘制,降低了游戏开发者的劳动强度及开发过程的复杂度,提高了游戏开发的速度,缩短了游戏版本的更新时长。
下面结合具体实施例及附图对本申请所述的方法、装置、电子设备以及计算机可读存储介质做进一步详细说明。
图3是本申请实施例提供的一种虚拟建筑模型的生成方法的应用系统图。如图3所示,该系统包括执行端301和服务端302。所述执行端301为游戏开发者执行操作的终端,可以为智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理(Personal DigitalAssistant,PDA)等任意设备。所述服务端302为运行游戏引擎的终端,可以与执行端301为同一个终端,也可以为运行游戏引擎的独立服务器,或云端服务器。游戏开发者在执行端301执行诸如启动、选择、程序编辑等操作,服务端302响应于游戏开发者在执行端301执行的操作,运行游戏引擎,采用本申请提供的虚拟建筑模型的生成方法,自动生成具有预设建筑风格的虚拟建筑模型。
本申请一实施例提供了一种虚拟建筑模型的生成方法。
该方法可以应用于游戏引擎中,所述游戏引擎是指已经编写好了的游戏系统和交互的实时图像应用程序的核心组件,是游戏开发的核心技术,能够让游戏开发者更加便捷地进行游戏开发以及数据驱动。游戏引擎主要包括以下系统:渲染器、物理引擎、碰撞检测系统、音效系统、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理系统等。
游戏引擎的几何脚本中包含若干已编写好的函数,这些函数可以执行某一个具体的计算,在游戏引擎中这些函数以蓝图节点形式保存在蓝图函数库中,游戏开发者可以通过在蓝图数据库中调用蓝图节点以低代码形式在游戏引擎中进行可视化编程,生成游戏开发者期望的执行程序,指导游戏的开发过程。
本实施例提供的虚拟建筑模型的生成方法即为在游戏引擎中执行的方法,主要目的在于形成一个程序化的自动生成具有预设建筑风格的虚拟建筑模型的方法。
图4是本实施例提供的虚拟建筑模型的生成方法的流程图,以下结合图4对本实施例提供的虚拟建筑模型的生成方法进行详细描述。以下描述所涉及的实施例用于解释本申请的技术方案,并不是实际使用的限定。
如图4所示,本实施例提供的虚拟建筑模型的生成方法包括如下步骤:
步骤S401,获取用于生成虚拟建筑模型的第一基础结构。
所述第一基础结构可以理解为在游戏引擎中构建所有虚拟物体的基本组件,任何虚拟物体的构建都依赖于在基本组件基础上的扩增、叠加、修改等操作。
游戏引擎中通常具有多种构建模式,每一种构建模式有其对应的基本组件。游戏开发者可以在构建虚拟物体前,根据预期的虚拟物体性状、结构等特征,自主选择适宜的构建模型。在本实施例中,所述构建模式为以下模式中的一种:盒子模式、动态网格模式、静态网格模式。游戏开发者可以在游戏引擎的构建模式选择界面中选择其中任意一种作为待使用的目标构建模式。
不同的构建模式对应有不同的基本组件,不同的基本组件具有不同的构建特征,比如:静态网格模式下创建的静态网格基本组件,其形状比较固定,适用于没有运动的几何体,如建筑物、家具、固定模型等;而动态网格模式下创建的动态网格基本组件,因游戏开发者可以在游戏引擎的编辑器中直接对其形状结构进行修改,使其变为更为复杂的结构,使得动态网格基本组件适用于会因交互而发生形状改变的几何体,比如:布料、绳索、液体等。
以下对三种构建模型及其对应的基本组件进行说明:
第一,盒子模式,当游戏开发者选择盒子模式作为目标构建模式后,游戏开发者可以在盒子模式下的参数调整界面中输入位置、方向、欧拉角等参数数据,游戏引擎即可根据上述参数数据创建出一个盒子基本组件,该盒子基本组件符合在参数调整界面中输入的参数数据。盒子基本组件创建完成后,游戏开发者还可以通过进一步的参数调整在盒子基本组件外部生成边界框及其他附属物,比如:将创建出的盒子基本组件调整为具有木质外框的木盒。
第二,动态网格模式,当游戏开发者选择动态网格模式作为目标构建模式后,游戏开发者可以在动态网格模式下的参数调整界面中输入顶点、边缘、三角面等参数数据,游戏引擎即可根据上述参数数据创建出一个动态网格基本组件,该动态网格基本组件符合在参数调整界面中输入的参数数据。动态网格基本组件创建完成后,游戏开发者还可以通过进一步的参数调整改变动态网格基本组件的形状。比如:将创建出的长方体网格组件调整为具有局部凹陷的不规则形状网格体。
第三,静态网格模式,当游戏开发者选择静态网格模式作为目标构建模式后,响应于游戏开发者对静态网格体的选择操作,游戏引擎即可创建出对应的静态网格基本组件。需要特别说明的是,游戏开发者选择的静态网格体可以是游戏引擎中现有的任意一种静态网格体,也可以是通过外部3D建模软件编写的静态网格体。若需要用外部建模软件编写的静态网格个体,则要将编写好的静态网格体以FBX文件格式导出外部建模软件,并以FBX文件格式导入游戏引擎中。
因此,在本实施例中,获取用于生成所述虚拟建筑模型的所述第一基础结构是响应于游戏开发者针对构建模式的选择操作而实现的。
所述游戏开发者针对构建模式的选择操作可以是在控制终端的屏幕上对屏幕上显示的“构建模式选择”界面中的“盒子模式”选项条、或“动态网格模式”选项条、或“静态网格模式”选项条的点击操作。无论选择哪一种模式,即会在该模式下进行后续的虚拟建筑模型生成步骤。
步骤S402,根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构。
所述第二基础结构可以理解为在游戏引擎中通过改变第一基础结构的结构形状而获得的基础结构。如上所述,第一基础结构是构建虚物建筑模型的基本组件,第一基础结构的创建主要参考的因素是虚拟建筑模型的预期位置、预期大小、预期方向等信息,并没有考虑到虚拟建筑模型的预设建筑风格。因此,需要在构建虚拟建筑模型之前,将虚拟建筑模型的预设建筑风格作为一个参考因素,加入到虚拟建筑模型的基础结构创建中。
一种可选的实施方式是,根据预设建筑风格,对第一基础结构进行结构调整,形成具有预设建筑风格的第二基础结构。当然,对于某些建筑风格而言,是不需要进行此步骤的,比如:写实风格,写实风格下的城市化虚拟房屋基本上都是规则的正方体结构、长方体结构,房屋之间的主要区别在于大小高低不同、楼层划分比例不同、窗户形状不同等,但其基础结构都与盒子基本组件一致,可以直接通过盒子基本组件的堆积而生成,并不需要对盒子基本组件进行结构调整。而对于诸如卡通风格的建筑风格而言,该步骤则是必不可少的,只有创建出具有预设建筑风格的基础结构,才能够构建出符合预设建筑风格要求的虚拟建筑模型。
本实施例提供了一种可选的根据第一基础结构,获得用于生成虚拟建筑模型的第二基础结构的方法,包括如下步骤:
步骤S402-1,响应于针对所述第一基础结构对应的第一参数的变更操作,生成第二参数,所述第二参数为表征所述预设建筑风格的参数。
步骤S402-2,根据所述第二参数,对所述第一基础结构进行结构调整,获得所述第二基础结构。
对基础结构进行调整实际上是响应于游戏开发者对创建结构的参数进行调整而实现的,游戏开发者在游戏引擎的编辑器中将第一基础结构对应的第一参数调整为具有预设建筑风格的第二参数,游戏引擎即可根据第二参数对第一基础结构实施结构调整,得到第二基础结构。参数调整、结构调整都可以以可视化的形式显示在控制终端的屏幕上,且结构调整可以根据参数变化而实时进行,因此,游戏开发者可以在编辑器中实时看到调整的参数以及对应的第二基础结构,游戏开发者通过不断对参数进行微调,获得符合预期的第二基础结构。
图5是本实施例提供的基础结构调整示意图,其中,图5(a)是结构调整前的第一基础结构,图5(b)是结构调整后的第二基础结构。
如图5(a)所示,在动态网格模式下创建一正方体网格组件,即,第一基础结构,该组件为规则的正方体形状,可直接用来构建形状规则的城市化房屋,但对于卡通房屋而言,由于卡通房屋多为不规则形状,比如:下大上小的不规则圆柱体形状,一面呈圆弧凹陷的不规则正方体形状等。因此,仅在第一基础组件的基础上构建卡通房屋,并不能够达到卡通风格的要求。游戏开发者在编辑器中将第一基础结构对应的参数进行调整,即可获取如图5(b)所示的第二基础结构。图5(b)中仅示出了一种第二基础结构,为通过参数调整,将正方体形状调整为下大上小的梯形体形状。除此之外,还可以通过参数调整获得更多种具有卡通风格的第二基础结构,比如:呈两面圆弧凹陷的不规则正方体形状的第二基础结构,再比如:呈下小上大的不规则圆柱体形状的第二基础结构,再比如:呈下大上小且两面圆弧凹陷的不规则梯形体形状的第二基础结构,等等。当然,结构调整的方向相同,幅度不同,也会获得若干种具有略微差异的第二基础结构。
步骤S403,获取用于生成所述虚拟建筑模型的状态信息,所述状态信息为表征所述虚拟建筑模型在所述预设建筑风格下的预设表现形式的信息。
所述状态信息可以理解为根据游戏设计阶段预设的虚拟建筑物的表现形式而获得的虚拟建筑物的形状、尺寸、构造等信息,在本实施例中,所述预设表现形式表现为以下形式中的至少一种:所述虚拟建筑模型的形状、所述虚拟建筑模型的尺寸、所述虚拟建筑模型的附属物的形状及数量。虚拟建筑模型的表现形式不同,虚拟建筑模型对应的状态信息即会存在差异。
预设的虚拟建筑模型可以是游戏设计阶段游戏设计师设计出的建筑物,也可以是某一现有的电影、动画片、图片中的建筑物。预设虚拟建筑模型的状态信息可以通过人工提取,也可以通过神经网络模型等方式提取,在此不做限制。假设一卡通风格游戏中,一虚拟房屋的预设表现形式为:房屋主体为下小上大的不规则圆柱体形状,最小处的直径为1米,最大处的直径为2米,高度为3米;房屋的屋顶为圆锥体形状,直径为2.5米,高度为1米;房屋屋顶铺设的瓦片为长方体形状,长度为0.1米,宽度为0.05米,厚度为0.01米;房屋的窗户为正方形,边长为0.5米;房屋的门为长方形,高度为1.5米,宽度为0.8米。那么,该虚拟房屋对应的状态信息即可如表1所示:
表1××卡通房屋的状态信息表
在实际应用中,可以将多种虚拟建筑模型对应的多种状态信息集合在一起,并按照虚拟建筑模型的结构进行分类存放,形成包括多个结构类的状态信息集合,每个结构类中又包含多种该结构类对应的形状信息、尺寸信息等。那么,在后续生成虚拟建筑模型的步骤中,即可从状态信息集合中的每一个结构类中随机获取信息数据,重新组合为若干种状态信息,从而生成若干种不同的虚拟建筑模型。
步骤S404,根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型。
根据所述第二基础结构和所述状态信息,即可在游戏引擎的生成器中生成所述虚拟建筑模型。由于第二基础结构为具有预设建筑风格的基础结构,状态信息为虚拟建筑模型在预设建筑风格下的预设表现形式的信息,因此,根据第二基础结构及状态信息生成的虚拟建筑模型即会具有所述预设建筑风格。
在实际应用中,用于生成所述虚拟建筑模型的第二基础结构和状态信息并会不只有一个,可以有多个,因此,在本实施提供的一种可选实现方式中,生成虚拟建筑模型,还可以包括如下步骤:
第一,根据所述第一基础结构,获得多个用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构。
游戏开发者可以对第一基础结构的参数进行多种调整,只要调整后的第二基础结构具有预设建筑风格,该第二基础结构即可被应用于后期的虚拟建筑模型生成步骤中。因此,在第一基础结构的基础上,能够获得多个具有预设建筑风格的第二基础结构,这些第二基础结构之间可能存在较大的差异(比如:呈两面圆弧凹陷的不规则正方体形状的第二基础结构,与呈下小上大的不规则圆柱体形状的第二基础结构之间具有较大的视觉差异),也可能只具有略微的差异(比如:凹陷程度不同的两个呈两面圆弧凹陷的不规则正方体形状的第二基础结构之间的视觉差异较小),可以将这些第二基础结构集合在一起,形成基础结构集合。
第二,获取多个用于生成所述虚拟建筑模型的状态信息。
可以将多种具有预设建筑风格的虚拟建筑模型对应的多个状态信息集合在一起,并按照虚拟建筑模型的结构进行分类存放(比如:分为主体类、屋顶类、瓦片类、窗户类、门类等),形成状态信息集合。因此,状态信息集合可以看做一个包含多个结构类,且每个结构类中又包含多种该结构类对应的形状信息、尺寸信息等状态信息的数据集。
第三,根据多个所述第二基础结构和多个所述状态信息,生成多个所述虚拟建筑模型。
如上所述,多个第二基础结构集合为基础结构集合,多个状态信息集合为状态信息集合,在生成虚拟建筑模型的步骤中,可以从状态信息集合中的每一个结构类中随机获取状态信息数据,并从基础结构集合中随机获取第二基础结构,那么,在游戏引擎的生成器中生成的具有预设建筑风格的虚拟建筑模型即会具有若干种不同的表现形式。只要基础结构集合中包含的第二基础结构足够多,状态信息集合中包含的状态信息足够多,即可在大世界游戏的游戏场景中生成各种各样的虚拟建筑模型,满足大世界游戏的要求。
根据第二基础结构及状态信息在游戏引擎的生成器中生成虚拟建筑模型依赖于生成器中的构建函数,构建函数能够以第二基础结构与状态信息作为输入数据,输出对应的虚拟建筑模型。
构建函数是游戏开发者通过编程获得的。本实施例提供了获取构建函数的一种可选实施方式,即,响应于针对目标函数的编辑操作,生成针对所述虚拟建筑模型的构建函数,其中,所述目标函数为采用节点图形式生成虚拟建筑模型的函数;将所述第二基础结构和所述状态信息输入所述构建函数中,通过所述构建函数生成所述虚拟建筑模型。
游戏引擎的几何脚本中包含有若干已编写好的函数,这些函数可以单独执行某一个简单的计算,也可以结合起来执行更为复杂的计算。在游戏引擎中这些函数以蓝图节点形式保存在蓝图函数库中,游戏开发者可以通过在蓝图数据库中调用蓝图节点以节点图形式在游戏引擎中进行可视化编程,获得能够根据第二基础结构与状态信息计算出虚拟建筑模型的构建函数。构建函数除了具有计算进程外,还具有启动进程、结束进程等,是一个完整的控制进程。
游戏开发者编写好构建函数后,将其导入在生成器中,游戏引擎将所述第二基础结构和所述状态信息输入所述构建函数中,即可控制所述构建函数根据输入的所述第二基础结构和所述状态信息,输出所述虚拟建筑模型。
图6是本实施例提供的生成虚拟建筑模型的示意图。
如图6所示,将获取的基础结构集合602与状态信息集合603合并,输入至生成器601中,将编写的构建函数604导入生成器601中,运行构建函数604的控制进程即可从生成器601中输出虚拟建筑模型605。
以上对本实施例提供的虚拟建筑模型的生成方法进行了详细说明,本实施例提供的虚拟建筑模型的生成方法具有多种具体的实施方式,比如:
在本实施例提供的一种可选实施方式中,所述第一基础结构为立方体网格,所述第二基础结构为根据所述第一基础结构获取的变形立方体网格。
所述状态信息包括:针对所述虚拟建筑模型的预设轮廓信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:根据所述预设轮廓信息,将至少一个所述第二基础结构组合为所述虚拟建筑模型的预设结构,所述预设结构为所述预设轮廓信息表征的结构。
所述状态信息还包括:针对所述虚拟建筑模型的预设窗口信息,所述预设窗口信息至少包括窗口尺寸信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:根据所述窗口尺寸信息,判断所述第二基础结构是否能够布放预设窗口,所述预设窗口为所述窗口尺寸信息表征的窗口;若所述第二基础结构能够布放所述预设窗口,则在所述第二基础结构的中心位置布放一个所述预设窗口。
所述状态信息还包括:针对所述虚拟建筑模型的预设屋顶信息,所述预设屋顶信息至少包括:屋顶形状信息、屋顶尺寸信息、屋顶上预设瓦片的瓦片尺寸信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:根据所述屋顶尺寸信息,生成所述虚拟建筑模型的屋顶框架;根据所述屋顶框架和所述瓦片尺寸信息,确定所述屋顶框架上可布放的预设瓦片的数量,所述预设瓦片为所述瓦片尺寸信息表征的瓦片;根据所述屋顶形状信息,将可布放的所述预设瓦片渲染为瓦片贴图,贴合在所述屋顶框架上。
在本实施例提供的又一种可选实施方式中,所述第一基础结构为样条组件,所述第二基础结构为根据所述第一基础结构获取的变形样条组件。
所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:根据所述虚拟建筑模型的状态信息,将多个所述第二基础结构组合为原始建筑模型,所述原始建筑模型为所述状态信息表征的二维建筑模型;将所述原始建筑模型投影在预设的布放所述虚拟建筑模型的场景中,形成所述虚拟建筑模型,所述虚拟建筑模型为所述状态信息表征的三维建筑模型。
当然,本实施例提供的虚拟建筑模型的生成方法还具有其他的实施方式,在此不再进行列举。
上述实施例提供了一种虚拟建筑模型的生成方法,在上述实施例中以多种可实现方式对本申请提供的方法进行了详细说明。当然,本实施例中提供的示例仅是为了便于理解本申请所述的方法,而非用于限定,本申请提供的虚拟建筑模型的生成方法包括但不限于上述实施例中提供的实现方式。
本申请另一实施例提供了一种虚拟建筑模型的生成方法,在本实施例中所述预设建筑风格为卡通风格。本实施例将以一种具体的虚拟建筑模型的生成为例对本申请提供的虚拟建筑模型的生成方法进行详细说明,在本实施例中所述虚拟建筑模型可以为虚拟房屋模型。图7是本实施例提供的虚拟房屋模型的生成方法的流程图。
如图7所示,本实施例提供的虚拟房屋模型的生成方法包括如下步骤:
步骤S701,获取用于生成虚拟房屋模型的第一基础结构。
虚拟房屋无论是何种建筑风格,因房屋自身的特点,都可以以立方体作为其第一基础结构,不同之处在于,写实风格的虚拟房屋模型可以在第一基础结构的基础上进行搭建,而卡通风格的虚拟房屋模型需要对第一基础结构进行变形处理,使其变更为具有卡通风格的第二基础结构,才能在第二基础结构的基础上进行搭建。
本实施例提供了一种可选的第一基础结构,即,在动态网格模式下创建的立方体网格。立方体网格为各面相同的正方体形状,每一个面均由三角形网格结构组成。由于该立方体网格是在动态网格模式下创建的,因此,该立方体网格具有因交互(比如:碰撞、切割等)而发生形状改变的特性。
步骤S702,根据所述第一基础结构,获得用于生成所述虚拟房屋模型的第二基础结构,所述第二基础结构具有卡通风格。
游戏开发者可以在编辑器中对第一基础结构对应的参数进行修改,从而改变第一基础结构的形状,形成具有卡通风格的第二基础结构。所述第一基础结构为立方体网格时,所述第二基础结构即为根据所述第一基础结构获取的变形立方体网格,主要是对所述第一基础结构进行结构调整后的变形立方体网格。
比如:对第一基础结构的参数进行调整,使立方体网格变为具有一面圆弧凹陷的变形立方体网格。再比如:对第一基础结构的参数进行调整,使立方体网格变为下大上小的圆柱体网格。再比如:对第一基础结构的参数进行调整,使立方体网格变为下大上小且两面圆弧凹陷的梯形体网格。无论立方体网格如何变形,变形立方体网格的每一个面仍由三角形网格结构组成。
在实际应用中,游戏开发者可以对第一基础结构的参数进行多种调整,只要调整后的第二基础结构具有卡通风格,该第二基础结构即可被应用于后期的虚拟房屋模型生成步骤中。因此,在立方体网格的基础上,能够获得多种具有卡通风格的变形立方体网格,将这些变形立方体网格集合在一起,可形成基础结构集合。
步骤S703,获取用于生成所述虚拟房屋模型的状态信息,所述状态信息为表征所述虚拟房屋模型在所述卡通风格下的预设表现形式的信息。
状态信息可以通过人工编写、也可以以卡通电影、动画片、卡通图片中的卡通房屋为原型进行状态信息提取,状态信息的提取方式可以是人工提取、也可以特征提取模型提取,在此不做限制。
在实际应用中,会将多种具有卡通风格的虚拟房屋模型对应的多种状态信息集合在一起,并按照虚拟房屋模型的结构进行分类存放(比如:分为主体类、屋顶类、瓦片类、窗户类、门类等),形成状态信息集合。因此,状态信息集合可以看作一个包含多个结构类,且每个结构类中又包含多种该结构类对应的形状信息、尺寸信息等状态信息的数据集。
在本实施例中,所述状态信息可以包括以下信息中的至少一种:针对所述虚拟房屋模型的预设轮廓信息、针对所述虚拟房屋模型的预设窗口信息、针对所述虚拟房屋模型的预设屋顶信息。
步骤S704,根据所述第二基础结构和所述状态信息,生成所述虚拟房屋模型。
根据第二基础结构和状态信息,即可在游戏引擎的生成器中生成虚拟房屋模型。由于第二基础结构为具有卡通风格的基础结构,状态信息为虚拟房屋模型在卡通风格下的预设表现形式的信息,因此,根据第二基础结构及状态信息生成的虚拟房屋模型即会具有卡通风格。
以下将对具有所述卡通风格的所述虚拟房屋模型的生成方法进行详细说明,分别以生成虚拟房屋模型的主体、窗口、屋顶为例进行举例。
第一,生成虚拟房屋模型的主体。
虚拟房屋模型的主体是建立在对第二基础结构进行叠加、堆积等基础上而形成的组合结构。生成虚拟房屋模型主体依赖于第二基础结构及针对所述虚拟房屋模型的预设轮廓信息。具体生成方法为:根据所述预设轮廓信息,将至少一个所述第二基础结构组合为所述虚拟房屋模型的预设结构。所述预设结构为所述预设轮廓信息表征的结构,即为虚拟房屋模型的预设主体结构。
图8是本实施例提供的生成虚拟房屋模型主体的示意图,在本示意图中以二维平面结构代替立体结构进行示意性说明。
如图8所示,假设第二基础结构801为下大上小的梯形体网格,其中,梯形体网格的下表面为边长5米的正方形,上表面为边长1米的正方形,侧面为下边长5米,上边长1米,高3米的梯形。在图8中所展示的为梯形体网格的一个侧面。根据虚拟房屋模型的预设轮廓信息,对第二基础结构801进行堆积组合,形成符合虚拟房屋模型的预设轮廓的预设结构802。在图8中仍以梯形体网格的侧面的堆积代表梯形体网格的堆积过程。在生成过程中,可以通过计算虚拟房屋模型的预设轮廓中能够放置的第二基础结构的数量及放置方法,将第二基础结构堆积组合为虚拟房屋模型的主体。
第二,生成虚拟房屋模型的窗口。
窗口是在虚拟房屋模型的主体上生成的,因此,生成虚拟房屋模型窗口依赖于上述步骤中获取的虚拟房屋模型的预设结构及针对所述虚拟房屋模型的预设窗口信息,其中,所述预设窗口信息至少包括窗口尺寸信息。具体生成方法包括如下步骤:
步骤S21,根据所述窗口尺寸信息,判断所述预设结构中包含的所述第二基础结构是否能够布放预设窗口,所述预设窗口为所述窗口尺寸信息表征的窗口。
步骤S22,根据判断结果,确定是否在所述第二基础结构中布放所述预设窗口,具体为:
若所述第二基础结构能够布放所述预设窗口,则在所述第二基础结构的中心位置布放一个所述预设窗口;
若所述第二基础结构不能够布放所述预设窗口,则在所述第二基础结构中不布放所述预设窗口。
所述预设窗口也可以在构建模式下进行创建,比如:在静态网格模式下创建一个静态网格体作为预设窗口。可以将多个具有卡通风格的静态网格体组合在一个窗口集合中,当需要生成虚拟房屋模型的窗口时,即可从窗口集合中随件选取一个作为预设窗口,根据预设窗口的尺寸信息,以及虚拟房屋模型的预设结构,自动在虚拟房屋的主体上布放窗口。
图9是本实施例提供的生成虚拟房屋模型窗口的示意图,在本示意图中以二维平面结构代替立体结构进行示意性说明,以图8中生成的虚拟房屋模型的预设结构802为例,在图8所示的虚拟房屋模型的主体上生成窗口。
如图9所示,假设预设窗口901为宽1米,高1.5米的静态网格体,由于虚拟房屋模型的预设结构802中第二基础结构801为下大上小的梯形体网格,且该梯形体网格的下表面为边长5米的正方形,上表面为边长1米的正方形,侧面为下边长5米,上边长1米,高3米的梯形,那么对于四个侧面而言,预设窗口901的尺寸小于侧面的尺寸,即可以在每一个侧面中布放一个预设窗口901。对于下表面而言,预设窗口901的尺寸小于下表面的尺寸,即可以在下表面中布放一个预设窗口901。对于上表面而言,预设窗口901的尺寸大于上表面的尺寸,即不能够在上表面布放预设窗口901。
另外,除将窗口的尺寸作为判断依据外,还具有其他的判断依据。
比如:将第二基础结构的每一个面的位置、角度、形状等因素作为判断依据,那么,在该判断依据下,下表面虽然在尺寸上能够符合布放预设窗口的标准,但下表面的位置并不适合布放窗口,因此,根据该判断依据,不能够在下表面布放预设窗口。如果第二基础结构为两面圆弧凹陷的梯形体网格,那么凹陷侧面由于其形状不适合布放窗口,即不能在凹陷侧面布放预设窗口。
再比如:将第二基础结构中是否已经布放了其他附属物(如:门、其他窗口)作为判断依据,具体为:若第二基础结构中已经布放了其他附属物,则该第二基础结构中将不再布放预设窗口。
门的生成方法与窗口的生成方法类似,若一个第二基础结构中即能生成窗口,也能生成门,那么,可以通过人工方式删除其中一个,或通过编程方式,提前设置窗口的可布放位置及门的可布放位置,使门和窗口对应生成在可布放的位置处。
第三,生成虚拟房屋模型的屋顶。
卡通风格的虚拟房屋通常以斜屋顶为主,屋顶上还布置有瓦片,屋顶的生成不仅包括屋顶框架的搭建,还包括屋顶上瓦片的布放。因此,在虚拟房屋模型的主体上生成屋顶依赖于上述步骤中获取的虚拟房屋模型的预设结构及针对所述虚拟房屋模型的预设屋顶信息,其中,所述预设屋顶信息至少包括:屋顶形状信息、屋顶尺寸信息、屋顶上预设瓦片的瓦片尺寸信息。
根据屋顶尺寸信息可以生成虚拟房屋模型主体上的屋顶框架。
图10是本实施例提供的斜屋顶框架的示意图。假设屋顶尺寸信息为:长10米、宽8米、高3米,那么,根据该屋顶尺寸信息即可搭建出如图10所示的屋顶框架。该屋顶框架包括两个长方形面及两个三角形面,三角形面的底边长度和高度对应于屋顶尺寸信息中的宽度和高度,长方形面的长度对应于屋顶尺寸信息中的长度,进一步可以通过三角形面的底边长度和高度计算出长方形面的宽度。在图10所示的屋顶框架中,1001面为一个三角形面,1002面为一个长方形面,1001面的底边长度a为8米,高度b为3米,那么通过毕达哥拉斯定理即可计算出1001面的侧边长度c为5米,计算公式如下:
1001面的侧边长度c即为1002面的宽度,因此,1002面的长度d为10米,宽度c为5米。
获得屋顶框架后,根据屋顶上预设瓦片的瓦片尺寸信息可以计算出屋顶上可布放的瓦片数量,当然在计算瓦片数量时,还需要考虑瓦片间是否有重叠。
获得瓦片的布放数量后,根据屋顶形状信息可以生成瓦片贴图,将瓦片贴图贴合在屋顶框架上,即可完成屋顶的构建。
图11是本实施例提供的生成屋顶瓦片贴图的示意图,以图10所示的屋顶框架为例进行说明。
如图11所示,假设预设瓦片1101为长0.5米,宽0.2米的长方形,瓦片间不存在重叠。一般来说,瓦片仅布放在长方形面上,屋顶具有两个长方形面,图11展示了两个长方形面的平铺情况,其中1102面为一个长方形面,1103面为另一个长方形面。1102面与1103面成镜像对称,因此,仅需要生成1102面的瓦片贴图,即可通过镜像对称获取1103面的瓦片贴图。当然,还可以将1102面沿中心线划分为1104面和1105面,1104面与1105面成镜像对称,因此,仅需要生成1104面的瓦片贴图,即可通过两次镜像对称获取全部屋顶的瓦片贴图,这样可以大大降低游戏引擎的计算强度,提升模型的构建速度。由于1102面的长度为10米,宽度为5米,因此,1104面的面积为25平方米。由于预设瓦片1101的长度为0.5米,宽度为0.2米,因此,预设瓦片1101的面积为0.1平方米。通过1104面的面积和预设瓦片1101的面积即可计算出1104面可布放的预设瓦片1101的数量为250片。根据屋顶形状信息,可渲染出包含250片预设瓦片1101的瓦片贴图,将瓦片贴图贴合在1104面上,并通过镜像对象,获得全部屋顶的瓦片贴图。
综上所述,本实施例提供的虚拟房屋模型的屋顶生成方法可以包括如下步骤:
步骤S31,根据所述屋顶尺寸信息,生成所述虚拟房屋模型的屋顶框架。
步骤S32,根据所述屋顶框架和所述瓦片尺寸信息,确定所述屋顶框架上可布放的预设瓦片的数量,所述预设瓦片为所述瓦片尺寸信息表征的瓦片。
步骤S33,根据所述屋顶形状信息,将可布放的所述预设瓦片渲染为瓦片贴图,贴合在所述屋顶框架上。
上述实施例提供了一种具有卡通风格的虚拟房屋模型的生成方法,在上述实施例中以多种可实现方式对本申请提供的方法进行了详细说明。当然,本实施例中提供的示例仅是为了便于理解本申请所述的方法,而非用于限定,本申请提供的虚拟建筑模型的生成方法包括但不限于上述实施例中提供的实现方式。
本申请另一实施例提供了一种虚拟建筑模型的生成方法,在本实施例中所述预设建筑风格为卡通风格。本实施例将以一种具体的虚拟建筑模型的生成为例对本申请提供的虚拟建筑模型的生成方法进行详细说明,在本实施例中所述虚拟建筑模型可以为虚拟道路模型。图14是本实施例提供的虚拟道路模型的生成方法的流程图。
如图12所示,本实施例提供的虚拟道路模型的生成方法包括如下步骤:
步骤S1201,获取用于生成虚拟道路模型的第一基础结构。
在本实施例中,虚拟道路模型的所述第一基础结构为样条组件,样条组件是游戏引擎中提供的一种基本组件。
步骤S1202,根据所述第一基础结构,获得用于生成所述虚拟道路模型的第二基础结构,所述第二基础结构具有所述卡通风格。
卡通风格的虚拟道路一般呈现较为弯曲的形态,因此,为了符合卡通风格的需求,可以通过调整样条组件的参数,如:旋转数据、切线数据等,将样条组件调整为具有一定弯曲度的第二基础结构,即,所述第二基础结构为根据所述第一基础结构获取的变形样条组件,主要是对所述第一基础结构进行弯曲度调整后的变形样条组件。
在实际应用中,游戏开发者可以对第一基础结构的参数进行多种调整,只要调整后的第二基础结构具有卡通风格,该第二基础结构即可被应用于后期的虚拟道路模型生成步骤中。因此,在样条组件的基础上,能够获得多种具有卡通风格的变形样条组件,将这些变形样条组件集合在一起,可形成基础结构集合。
步骤S1203,获取用于生成所述虚拟道路模型的状态信息,所述状态信息为表征所述虚拟道路模型在所述卡通风格下的预设表现形式的信息。
所述状态信息主要包括所述虚拟道路模型的宽度信息、长度信息、弯曲程度信息、路口开放信息等。
步骤S1204,根据所述第二基础结构和所述状态信息,生成所述虚拟道路模型。
根据第二基础结构及状态信息,即可在游戏引擎的生成器中生成虚拟道路模型,由于第二基础结构具有卡通风格,状态信息为虚拟道路模型在卡通风格下的预设表现形式的信息,因此,根据第二基础结构及状态信息生成的虚拟道路模型即会具有卡通风格。
本实施例提供了根据第二基础结构和状态信息,生成虚拟道路模型的一种可选实施方法,包括如下步骤:
步骤S1204-1,根据所述虚拟道路模型的状态信息,将多个所述第二基础结构组合为原始道路模型,所述原始道路模型为所述状态信息表征的二维道路模型。
图13是本实施例提供的生成虚拟道路模型的第一示意图。
如图13所示,从基础结构集合中随机获取4个变形样条组件,分别为样条组件1301、样条组件1302、样条组件1303、样条组件1304。根据虚拟道路模型的状态信息,将样条组件1301、样条组件1302、样条组件1303、样条组件1304进行组合,形成原始道路模型1305。该原始道路模型1305是一个在XY平面上分布的二维道路模型。
步骤S1204-2,将所述原始道路模型投影在预设的布放所述虚拟道路模型的场景中,形成所述虚拟道路模型,所述虚拟道路模型为所述状态信息表征的三维道路模型。
在游戏场景中构建虚拟建筑模型之前,会先构建出游戏场景的地形,游戏场景的地形并不会仅仅是平面,还存在洼地、山地等凹凸不平的场景地形。因此,构建虚拟道路模型,除了构建出平面上的二维模型外,还需要将二维模型投影在布放该虚拟道路模型的场景中,这样才能构建出贴合游戏场景的虚拟道路模型。
图14是本实施例提供的生成虚拟道路模型的第二示意图,以图13所示的原始道路模型1305为例进行说明。
如图14所示,将XY平面上的原始道路模型1305沿Z轴方向投影在游戏场景中,即会生成一个符合游戏场景波动的虚拟道路模型1401。该虚拟道路模型1401是一个在XYZ空间内分布的三维道路模型。
上述实施例提供了一种具有卡通风格的虚拟道路模型的生成方法,本实施例中提供的示例仅是为了便于理解本申请所述的方法,而非用于限定,本申请提供的虚拟建筑模型的生成方法包括但不限于上述实施例中提供的实现方式。
本申请另一实施例提供了一种虚拟建筑模型的生成装置,图15是本实施例提供的虚拟建筑模型的生成装置的结构示意图。
如图15所示,本实施例提供的虚拟建筑模型的生成装置,包括:第一基础结构获取单元1501、第二基础结构获取单元1502、状态信息获取单元1503、虚拟建筑模型生成单元1504。
所述第一基础结构获取单元1501,用于获取用于生成虚拟建筑模型的第一基础结构。
可选的,所述获取用于生成虚拟建筑模型的第一基础结构,包括:
响应于针对构建模式的选择操作,获取所述第一基础结构;
其中,所述构建模式为以下模式中的一种:盒子模式、动态网格模式、静态网格模式。
所述第二基础结构获取单元1502,用于根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构。
可选的,所述根据所述第一基础结构,获得用于生成所述虚拟建筑模型的第二基础结构,包括:
响应于针对所述第一基础结构对应的第一参数的变更操作,生成第二参数,所述第二参数为表征所述预设建筑风格的参数;
根据所述第二参数,对所述第一基础结构进行结构调整,获得所述第二基础结构。
所述状态信息获取单元1503,用于获取用于生成所述虚拟建筑模型的状态信息,所述状态信息为表征所述虚拟建筑模型在所述预设建筑风格下的预设表现形式的信息。
可选的,所述预设表现形式表现为以下形式中的至少一种:所述虚拟建筑模型的形状、所述虚拟建筑模型的尺寸、所述虚拟建筑模型的附属物的形状及数量。
所述虚拟建筑模型生成单元1504,用于根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型。
可选的,所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
响应于针对目标函数的编辑操作,生成针对所述虚拟建筑模型的构建函数,其中,所述目标函数为采用节点图形式生成虚拟建筑模型的函数;
将所述第二基础结构和所述状态信息输入所述构建函数中,通过所述构建函数生成所述虚拟建筑模型。
可选的,所述第一基础结构为立方体网格,所述第二基础结构为根据所述第一基础结构获取的变形立方体网格。
可选的,所述状态信息包括:针对所述虚拟建筑模型的预设轮廓信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述预设轮廓信息,将至少一个所述第二基础结构组合为所述虚拟建筑模型的预设结构,所述预设结构为所述预设轮廓信息表征的结构。
可选的,所述状态信息还包括:针对所述虚拟建筑模型的预设窗口信息,所述预设窗口信息至少包括窗口尺寸信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述窗口尺寸信息,判断所述第二基础结构是否能够布放预设窗口,所述预设窗口为所述窗口尺寸信息表征的窗口;
若所述第二基础结构能够布放所述预设窗口,则在所述第二基础结构的中心位置布放一个所述预设窗口。
可选的,所述状态信息还包括:针对所述虚拟建筑模型的预设屋顶信息,所述预设屋顶信息至少包括:屋顶形状信息、屋顶尺寸信息、屋顶上预设瓦片的瓦片尺寸信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述屋顶尺寸信息,生成所述虚拟建筑模型的屋顶框架;
根据所述屋顶框架和所述瓦片尺寸信息,确定所述屋顶框架上可布放的预设瓦片的数量,所述预设瓦片为所述瓦片尺寸信息表征的瓦片;
根据所述屋顶形状信息,将可布放的所述预设瓦片渲染为瓦片贴图,贴合在所述屋顶框架上。
可选的,所述第一基础结构为样条组件,所述第二基础结构为根据所述第一基础结构获取的变形样条组件。
可选的,所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述虚拟建筑模型的状态信息,将多个所述第二基础结构组合为原始建筑模型,所述原始建筑模型为所述状态信息表征的二维建筑模型;
将所述原始建筑模型投影在预设的布放所述虚拟建筑模型的场景中,形成所述虚拟建筑模型,所述虚拟建筑模型为所述状态信息表征的三维建筑模型。
可选的,所述根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构,包括:
根据所述第一基础结构,获得多个用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构;
所述获取用于生成所述虚拟建筑模型的状态信息,包括:
获取多个用于生成所述虚拟建筑模型的状态信息;
所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据多个所述第二基础结构和多个所述状态信息,生成多个所述虚拟建筑模型。
可选的,所述建筑风格为卡通风格。
本申请另一实施例提供了一种电子设备,图16是本实施例提供的电子设备的结构示意图。
如图16所示,本实施例提供的电子设备,包括:存储器1601、处理器1602。
所述存储器1601,用于存储执行虚拟建筑模型的生成方法的计算机指令。
所述处理器1602,用于执行存储于存储器1601中的计算机指令,执行如下操作:
获取用于生成虚拟建筑模型的第一基础结构;
根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构;
获取用于生成所述虚拟建筑模型的状态信息,所述状态信息为表征所述虚拟建筑模型在所述预设建筑风格下的预设表现形式的信息;
根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型。
可选的,所述预设表现形式表现为以下形式中的至少一种:所述虚拟建筑模型的形状、所述虚拟建筑模型的尺寸、所述虚拟建筑模型的附属物的形状及数量。
可选的,所述根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构,包括:
根据所述第一基础结构,获得多个用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构;
所述获取用于生成所述虚拟建筑模型的状态信息,包括:
获取多个用于生成所述虚拟建筑模型的状态信息;
所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据多个所述第二基础结构和多个所述状态信息,生成多个所述虚拟建筑模型。
可选的,所述获取用于生成虚拟建筑模型的第一基础结构,包括:
响应于针对构建模式的选择操作,获取所述第一基础结构;
其中,所述构建模式为以下模式中的一种:盒子模式、动态网格模式、静态网格模式。
可选的,所述根据所述第一基础结构,获得用于生成所述虚拟建筑模型的第二基础结构,包括:
响应于针对所述第一基础结构对应的第一参数的变更操作,生成第二参数,所述第二参数为表征所述预设建筑风格的参数;
根据所述第二参数,对所述第一基础结构进行结构调整,获得所述第二基础结构。
可选的,所述第一基础结构为立方体网格,所述第二基础结构为根据所述第一基础结构获取的变形立方体网格。
可选的,所述状态信息包括:针对所述虚拟建筑模型的预设轮廓信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述预设轮廓信息,将至少一个所述第二基础结构组合为所述虚拟建筑模型的预设结构,所述预设结构为所述预设轮廓信息表征的结构。
可选的,所述状态信息还包括:针对所述虚拟建筑模型的预设窗口信息,所述预设窗口信息至少包括窗口尺寸信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述窗口尺寸信息,判断所述第二基础结构是否能够布放预设窗口,所述预设窗口为所述窗口尺寸信息表征的窗口;
若所述第二基础结构能够布放所述预设窗口,则在所述第二基础结构的中心位置布放一个所述预设窗口。
可选的,所述状态信息还包括:针对所述虚拟建筑模型的预设屋顶信息,所述预设屋顶信息至少包括:屋顶形状信息、屋顶尺寸信息、屋顶上预设瓦片的瓦片尺寸信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述屋顶尺寸信息,生成所述虚拟建筑模型的屋顶框架;
根据所述屋顶框架和所述瓦片尺寸信息,确定所述屋顶框架上可布放的预设瓦片的数量,所述预设瓦片为所述瓦片尺寸信息表征的瓦片;
根据所述屋顶形状信息,将可布放的所述预设瓦片渲染为瓦片贴图,贴合在所述屋顶框架上。
可选的,所述第一基础结构为样条组件,所述第二基础结构为根据所述第一基础结构获取的变形样条组件。
可选的,所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述虚拟建筑模型的状态信息,将多个所述第二基础结构组合为原始建筑模型,所述原始建筑模型为所述状态信息表征的二维建筑模型;
将所述原始建筑模型投影在预设的布放所述虚拟建筑模型的场景中,形成所述虚拟建筑模型,所述虚拟建筑模型为所述状态信息表征的三维建筑模型。
可选的,所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
响应于针对目标函数的编辑操作,生成针对所述虚拟建筑模型的构建函数,其中,所述目标函数为采用节点图形式生成虚拟建筑模型的函数;
将所述第二基础结构和所述状态信息输入所述构建函数中,通过所述构建函数生成所述虚拟建筑模型。
可选的,所述预设建筑风格为卡通风格。
本申请另一实施例提供了一种计算机可读存储介质,计算机可读存储介质包括计算机指令,计算机指令在被处理器执行时用于实现本申请各实施例所述的方法。
需要注意的是,本文中的“第一”、“第二”等关系术语仅用于区分一个实体或操作与另一个实体或操作,并不要求或暗示这些实体或操作之间存在任何实际的关系或顺序。此外,“包括”、“有”,“包含”和“包括”和其他类似形式的词语在含义上是相同的,并且,在上述任何一个词语之后的任何一个或者多个项目的结尾是开放式的,上述任何一个名词均不表示所述一个或多个项目已经列举穷尽,或者仅限于这些已列举的一个或者多个项目。
在本文中使用时,除非另有明确说明,术语“或”包括所有可能的组合,但不可行的除外。例如,如果表达为一个数据库可能包括A或B,则除非另有特别规定或不可行,可能包括数据库A,或B,或者A和B。第二个例子,如果表达为某个数据库可能包括A、B或C,则除非另有特别规定或不可行,所述数据库可以包括数据库A、或B、或C、或者A和B、或者A和C、或者B和C、或者A和B和C。
值得注意的是,上述实施例可以通过硬件或软件(程序代码),或硬件和软件的组合来实现。如果由软件实现,则可将其存储在上述计算机可读介质中。该软件在由处理器执行时,可以执行上述已披露的方法。本公开中描述的计算单元和其他功能单元可以由硬件或软件,或硬件和软件的组合来实现。本领域普通技术人员,也会理解上述多个模块/单元可以组合成一个模块/单元,而上述每个模块/单元可以进一步划分为多个子模块/子单位。
在上述详细说明中,实施例已参照许多具体细节进行了描述,这些细节可能因实施而异。可以对所述实施例进行某些适配和修改。对于本领域的技术人员,可以从本申请公开的具体实施方式中,显而易见的获得其它一些实施方式。本说明书和示例仅出于示例性的目的,本申请的真实范围和本质由权利要求说明。示图所示的步骤顺序也仅出于解释说明的目的,并不意味着限定于任何特定的步骤、顺序。因此,那些精通本领域的技术人员会意识到,在实施相同的方法时,这些步骤可以以不同的顺序执行。
在本申请的示图和详细说明中,公开了示例性的实施例。但是,可以对这些实施例进行许多变化和修改。相应的,尽管使用了具体的术语,但这些术语只是一般和描述性的,而不是出于限定的目的。
Claims (16)
1.一种虚拟建筑模型的生成方法,其特征在于,所述方法包括:
获取用于生成虚拟建筑模型的第一基础结构;
根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构;
获取用于生成所述虚拟建筑模型的状态信息,所述状态信息为表征所述虚拟建筑模型在所述预设建筑风格下的预设表现形式的信息;
根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型。
2.根据权利要求1所述的方法,其特征在于,所述预设表现形式表现为以下形式中的至少一种:所述虚拟建筑模型的形状、所述虚拟建筑模型的尺寸、所述虚拟建筑模型的附属物的形状及数量。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构,包括:
根据所述第一基础结构,获得多个用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构;
所述获取用于生成所述虚拟建筑模型的状态信息,包括:
获取多个用于生成所述虚拟建筑模型的状态信息;
所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据多个所述第二基础结构和多个所述状态信息,生成多个所述虚拟建筑模型。
4.根据权利要求1所述的方法,其特征在于,所述获取用于生成虚拟建筑模型的第一基础结构,包括:
响应于针对构建模式的选择操作,获取所述第一基础结构;
其中,所述构建模式为以下模式中的一种:盒子模式、动态网格模式、静态网格模式。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一基础结构,获得用于生成所述虚拟建筑模型的第二基础结构,包括:
响应于针对所述第一基础结构对应的第一参数的变更操作,生成第二参数,所述第二参数为表征所述预设建筑风格的参数;
根据所述第二参数,对所述第一基础结构进行结构调整,获得所述第二基础结构。
6.根据权利要求1所述的方法,其特征在于,所述第一基础结构为立方体网格,所述第二基础结构为根据所述第一基础结构获取的变形立方体网格。
7.根据权利要求1所述的方法,其特征在于,所述状态信息包括:针对所述虚拟建筑模型的预设轮廓信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述预设轮廓信息,将至少一个所述第二基础结构组合为所述虚拟建筑模型的预设结构,所述预设结构为所述预设轮廓信息表征的结构。
8.根据权利要求1所述的方法,其特征在于,所述状态信息还包括:针对所述虚拟建筑模型的预设窗口信息,所述预设窗口信息至少包括窗口尺寸信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述窗口尺寸信息,判断所述第二基础结构是否能够布放预设窗口,所述预设窗口为所述窗口尺寸信息表征的窗口;
若所述第二基础结构能够布放所述预设窗口,则在所述第二基础结构的中心位置布放一个所述预设窗口。
9.根据权利要求1所述的方法,其特征在于,所述状态信息还包括:针对所述虚拟建筑模型的预设屋顶信息,所述预设屋顶信息至少包括:屋顶形状信息、屋顶尺寸信息、屋顶上预设瓦片的瓦片尺寸信息;所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述屋顶尺寸信息,生成所述虚拟建筑模型的屋顶框架;
根据所述屋顶框架和所述瓦片尺寸信息,确定所述屋顶框架上可布放的预设瓦片的数量,所述预设瓦片为所述瓦片尺寸信息表征的瓦片;
根据所述屋顶形状信息,将可布放的所述预设瓦片渲染为瓦片贴图,贴合在所述屋顶框架上。
10.根据权利要求1所述的方法,其特征在于,所述第一基础结构为样条组件,所述第二基础结构为根据所述第一基础结构获取的变形样条组件。
11.根据权利要求10所述的方法,其特征在于,所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
根据所述虚拟建筑模型的状态信息,将多个所述第二基础结构组合为原始建筑模型,所述原始建筑模型为所述状态信息表征的二维建筑模型;
将所述原始建筑模型投影在预设的布放所述虚拟建筑模型的场景中,形成所述虚拟建筑模型,所述虚拟建筑模型为所述状态信息表征的三维建筑模型。
12.根据权利要求1所述的方法,其特征在于,所述根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型,包括:
响应于针对目标函数的编辑操作,生成针对所述虚拟建筑模型的构建函数,其中,所述目标函数为采用节点图形式生成虚拟建筑模型的函数;
将所述第二基础结构和所述状态信息输入所述构建函数中,通过所述构建函数生成所述虚拟建筑模型。
13.根据权利要求1所述的方法,其特征在于,所述预设建筑风格为卡通风格。
14.一种虚拟建筑模型的生成装置,其特征在于,所述装置包括:第一基础结构获取单元、第二基础结构获取单元、状态信息获取单元、虚拟建筑模型生成单元;
所述第一基础结构获取单元,用于获取用于生成虚拟建筑模型的第一基础结构;
所述第二基础结构获取单元,用于根据所述第一基础结构,获得用于生成预设建筑风格的所述虚拟建筑模型的第二基础结构;
所述状态信息获取单元,用于获取用于生成所述虚拟建筑模型的状态信息,所述状态信息为表征所述虚拟建筑模型在所述预设建筑风格下的预设表现形式的信息;
所述虚拟建筑模型生成单元,用于根据所述第二基础结构和所述状态信息,生成所述虚拟建筑模型。
15.一种电子设备,其特征在于,包括:存储器、处理器;
所述存储器,用于存储一条或多条计算机指令;
所述处理器,用于执行所述一条或多条计算机指令,以实现如权利要求1-13任意一项所述的方法。
16.一种计算机可读存储介质,其上存储有一条或多条计算机指令,其特征在于,该指令被处理器执行以实现如权利要求1-13任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211600498.6A CN116246012A (zh) | 2022-12-12 | 2022-12-12 | 一种虚拟建筑模型的生成方法、装置、以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211600498.6A CN116246012A (zh) | 2022-12-12 | 2022-12-12 | 一种虚拟建筑模型的生成方法、装置、以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116246012A true CN116246012A (zh) | 2023-06-09 |
Family
ID=86633881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211600498.6A Pending CN116246012A (zh) | 2022-12-12 | 2022-12-12 | 一种虚拟建筑模型的生成方法、装置、以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116246012A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113256790A (zh) * | 2021-05-21 | 2021-08-13 | 珠海金山网络游戏科技有限公司 | 建模方法及装置 |
CN118037981A (zh) * | 2024-04-12 | 2024-05-14 | 肺鱼文化科技(大连)有限公司 | 一种基于人工智能生成的三维大世界地形的方法 |
-
2022
- 2022-12-12 CN CN202211600498.6A patent/CN116246012A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113256790A (zh) * | 2021-05-21 | 2021-08-13 | 珠海金山网络游戏科技有限公司 | 建模方法及装置 |
CN113256790B (zh) * | 2021-05-21 | 2024-06-07 | 珠海金山数字网络科技有限公司 | 建模方法及装置 |
CN118037981A (zh) * | 2024-04-12 | 2024-05-14 | 肺鱼文化科技(大连)有限公司 | 一种基于人工智能生成的三维大世界地形的方法 |
CN118037981B (zh) * | 2024-04-12 | 2024-07-05 | 肺鱼文化科技(大连)有限公司 | 一种基于人工智能生成的三维大世界地形的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116246012A (zh) | 一种虚拟建筑模型的生成方法、装置、以及电子设备 | |
CN108520557B (zh) | 一种图形图像融合的海量建筑绘制方法 | |
US20140267228A1 (en) | Mapping augmented reality experience to various environments | |
JP2021514775A (ja) | 現実世界の仮想現実マップを用いた仮想現実(vr)ゲーム環境の構築 | |
CN111340928A (zh) | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 | |
CN113066160B (zh) | 一种室内移动机器人场景数据的生成方法 | |
WO2023226583A1 (zh) | 对象处理方法、装置、设备、计算机可读存储介质及计算机程序产品 | |
CN116070334B (zh) | 一种面向数字孪生应用的多维模型构建方法 | |
CN111310344B (zh) | 一种林火蔓延模拟中考虑风场与火场耦合作用的方法 | |
Hu et al. | Extended interactive and procedural modeling method for ancient Chinese architecture | |
CN104463934A (zh) | 一种“质点-弹簧”系统驱动的点集模型动画自动生成方法 | |
CN116721218B (zh) | 一种三维不动产模型轻量化方法、系统及设备 | |
Silveira et al. | Real-time procedural generation of personalized facade and interior appearances based on semantics | |
WO2023241212A1 (zh) | 对象处理方法、装置、设备、计算机可读存储介质及计算机程序产品 | |
Xiong et al. | ShapeArchit: shape-inspired architecture design with space planning | |
CN117994411A (zh) | 虚拟建筑的处理方法、装置、设备及计算机可读存储介质 | |
Chen et al. | Data-driven Reconstruction for Massive Buildings within Urban Scenarios: A Case Study | |
Santos | Procedural Modeling for Sustainable Urban Development and Planning: A Blender Plugin for 3D Modeling of Philippine Cities | |
Dong | Research and application of virtual reality technology in the restoration of ancient buildings in Huizhou1 | |
Vasin et al. | AUTOMATED 3D MODELING AND 3D VISUALIZATION OF INTERNAL STRUCTURE OBJECTS OF BUILDINGS AND FACILITIES1, 2, 3 | |
Marson et al. | Real-time Procedural Generation of Personalized Façade and Interior Appearances Based on Semantics | |
Zhang | Animation Scene Design and Machine Vision Rendering Optimization Combining Generative Models | |
Hu et al. | Dynamic Simulation and Real-time Rendering of Environmental Design Using Computer-aided Design and Multimedia Technology | |
CN116564153A (zh) | 一种基于三维架构的作战仿真引擎 | |
Zhang | Research on Virtual Scene Design Methods for Unity3D Games |
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 |