本说明书一个或多个实施例涉及三维图形处理,尤其涉及一种三维古建筑模型的生成方法、装置、设备及存储介质。
背景技术:
1、目前的建筑模型搭建软件,通常用于进行现代建筑模型的搭建。由于现代建筑的部件重复率高,搭建规则较为简单,因此通常采用在资产库中设置模组模型,通过直接调用模组模型来进行建筑模型的搭建。
2、然而对于中国古建筑,由于建筑部件多种多样,重复率低,且搭建规则复杂,上述方式将导致资产库中模组模型的存储量过于庞大。目前的建筑模型搭建软件中对于中国古建筑的程序化生成尚未有有效且通用的方案。
技术实现思路
1、有鉴于此,本说明书一个或多个实施例提供一种三维古建筑模型的生成方法、装置、设备及存储介质。
2、为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
3、根据本说明书一个或多个实施例的第一方面,提出了一种三维古建筑模型的生成方法,包括:
4、获取至少一个古建筑模组的生成需求;
5、根据所述生成需求,在预先设置的三维资产库中获得匹配的模组信息,所述模组信息为由多个三维部件模型拼接得到的模组的构造信息,所述三维资产库中包含多个三维部件模型;
6、根据所述模组信息对所述三维资产库中的三维部件模型进行拼接,得到模组模型;
7、根据所述至少一个古建筑组的生成需求所生成的模组模型,得到三维古建筑模型。
8、在一些实施例中,所述三维资产库包括模组标签;
9、所述根据所述生成需求,在预先设置的三维资产库中获得匹配的模组信息,包括:
10、对所述生成需求对应的文本内容进行自然语言理解,得到所述生成需求中包含的模组标签,所述模组标签至少包括模组的类型标签;
11、根据所述模组标签在所述三维资产库中进行检索,确定与所述模组标签匹配的模组,并获取所述模组对应的模组信息。
12、在一些实施例中,所述模组标签还包括年代标签、功能标签、风格标签、尺寸标签中的至少一种。
13、在一些实施例中,所述模组标签设置有优先级;
14、所述根据所述模组标签在所述三维资产库中进行检索,确定与所述模组标签匹配的模组,包括:
15、在根据所述模组标签未得到匹配的模组的情况下,去除优先级最低的一个或多个模组标签后再次进行检索。
16、在一些实施例中,所述三维部件模型包括可尺寸变化模型;所述方法还包括:
17、在所述生成需求中的尺寸标签所指示的第一尺寸,与匹配到的模组的尺寸标签所指示的第二尺寸不同的情况下,根据所述第一尺寸和所述第二尺寸确定尺寸变换信息;
18、根据所述尺寸变换信息,对所述模组中的可尺寸变化模型进行尺寸变换,得到变换后的模组模型。
19、在一些实施例中,所述可尺寸变化模型包括多个单元块;所述根据所述尺寸变换信息,对所述模组中的可尺寸变化模型进行尺寸变换,包括:
20、根据所述尺寸变换信息,对所述单元块进行复制,实现尺寸的增加;或者,
21、根据所述尺寸变换信息,对所述单元块进行删除,实现尺寸的减小。
22、在一些实施例中,所述模组信息还包括重复参数,所述方法还包括:
23、根据所述重复参数所指示的数值对所述模组模型进行复制,并对复制结果进行拼接;
24、根据拼接结果更新所述模组模型。
25、在一些实施例中,所述模组信息包括构成所述模组的部件信息以及拼接规则;
26、所述根据所述模组信息对所述三维资产库中的三维部件模型进行拼接,得到模组模型,包括:
27、根据所述部件信息,从所述三维资产库中得到所述模组对应的三维部件模型;
28、根据所述拼接规则对所述三维部件模型进行拼接,得到所述模组模型。
29、在一些实施例中,所述模组信息还包括重复参数,所述方法还包括:
30、根据所述重复参数所指示的数值对所述模组模型进行复制,并对复制结果进行拼接;
31、根据拼接结果更新所述模组模型。
32、在一些实施例中,所述三维资产库中的三维部件模型具有部件标签,所述部件标签包括材质标签,在所述生成需求包括材质信息的情况下,所述方法还包括:
33、根据所述材质信息所指示的目标材质,对所述模组模型中的目标部件进行材质设置或变换,其中,所述目标部件为在所述三维资产库中具有材质标签指示所述目标材质的部件。
34、根据本说明书一个或多个实施例的第二方面,提出了一种三维古建筑模型的生成装置,包括:
35、生成单元,用于获取至少一个古建筑模组的生成需求;
36、匹配单元,用于根据所述生成需求,在预先设置的三维资产库中获得匹配的模组信息,所述模组信息为由多个三维部件模型拼接得到的模组的构造信息,所述三维资产库中包含多个三维部件模型;
37、拼接单元,用于根据所述模组信息对所述三维资产库中的三维部件模型进行拼接,得到模组模型;
38、得到单元,用于根据至少一个古建筑组的生成需求所生成的模组模型,得到三维古建筑模型。
39、在一些实施例中,所述三维资产库包括模组标签;
40、所述匹配单元具体用于:
41、对所述生成需求对应的文本内容进行自然语言理解,得到所述生成需求中包含的模组标签,所述模组标签至少包括模组的类型标签;
42、根据所述模组标签在所述三维资产库中进行检索,确定与所述模组标签匹配的模组,并获取所述模组对应的模组信息。
43、在一些实施例中,所述模组标签还包括年代标签、功能标签、风格标签、尺寸标签中的至少一种。
44、在一些实施例中,所述模组标签设置有优先级;
45、所述匹配单元具体用于:
46、在根据所述模组标签未得到匹配的模组的情况下,去除优先级最低的一个或多个模组标签后再次进行检索。
47、在一些实施例中,所述装置还包括样式匹配单元,用于:
48、根据所述类型标签所指示的模组类型,获取所述生成需求中包含的样式信息;
49、在与所述模组标签匹配的模组中,根据所述样式信息获取与所述样式信息匹配的模组。
50、在一些实施例中,所述三维部件模型包括可尺寸变化模型;所述装置还包括尺寸变换单元,用于:
51、在所述生成需求中的尺寸标签所指示的第一尺寸,与匹配到的模组的尺寸标签所指示的第二尺寸不同的情况下,根据所述第一尺寸和所述第二尺寸确定尺寸变换信息;
52、根据所述尺寸变换信息,对所述模组中的可尺寸变化模型进行尺寸变换,得到变换后的模组模型。
53、在一些实施例中,所述可尺寸变化模型包括多个单元块;所述尺寸设置单元具体用于:
54、根据所述尺寸变换信息,对所述单元块进行复制,实现尺寸的增加;或者,
55、根据所述尺寸变换信息,对所述单元块进行删除,实现尺寸的减小。
56、在一些实施例中,所述模组信息包括构成所述模组的部件信息以及拼接规则,
57、所述拼接单元具体用于:
58、根据所述部件信息,从所述三维资产库中得到所述模组对应的三维部件模型;
59、根据所述拼接规则对所述三维部件模型进行拼接,得到所述模组模型。
60、在一些实施例中,所述模组信息还包括重复参数,所述装置还包括重复单元,用于:
61、根据所述重复参数所指示的数值对所述模组模型进行复制,并对复制结果进行拼接;
62、根据拼接结果更新所述模组模型。
63、在一些实施例中,所述三维资产库中的三维部件模型具有部件标签,所述部件标签包括材质标签,在所述生成需求包括材质信息的情况下,所述装置还包括材质设置单元,用于:
64、根据所述材质信息所指示的目标材质,对所述模组模型中的目标部件进行材质设置或变换,其中,所述目标部件为在所述三维资产库中具有材质标签指示所述目标材质的部件。
65、根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
66、处理器;
67、用于存储处理器可执行指令的存储器;
68、其中,所述处理器通过运行所述可执行指令以实现本说明书一个或多个实施例提出的方法。
69、根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现本说明书一个或多个实施例提出的方法的步骤。
70、在本说明书实施例中,预先设置包含多个三维部件模型的三维资产库,且在所述三维资产库包含多个由多个三维部件模型拼接所能够得到的模组的模组信息,根据输入的古建筑模型的生成需求,可以在所述三维资产库中获取匹配的模组信息,并根据所述模组信息对所述模组对应的三维部件模型进行拼接,得到模组模型,根据各个生成需求所生成的模组模型得到三维古建筑模型。通过在三维资产库中存储三维部件模型以及三维部件模型所构成的模组的模组信息,而非直接存储三维模组模型,节省了资产库的存储空间,且通过在模组信息中设置适用于古建筑的构建规则,可以实现复杂结构的古建筑模型生成。