贴图切换方法、装置、电子设备及存储介质与流程

文档序号:30618101发布日期:2022-07-02 01:37阅读:82来源:国知局
贴图切换方法、装置、电子设备及存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种贴图切换方法、装置、电子设备及存储介质。


背景技术:

2.随着虚拟现实(virtual reality,vr)技术的发展,vr在诸多领域得到广泛应用,vr技术使用户具有身临其境的体验,极大提高了用户的使用体验。通过将vr技术应用于看房场景以及家装场景,满足了用户的购房和装修体验。
3.目前在线看房以及vr家装场景,一般采用全景漫游方式,由于浏览的是图片,若需要对虚拟房间内的模型进行更新以对虚拟房间进行换装,操作比较困难。


技术实现要素:

4.本技术实施例提供一种贴图切换方法、装置、电子设备及存储介质,以解决现有技术中在进行换装操作时存在的操作困难的问题。
5.第一方面,本技术实施例提供一种贴图切换方法,包括:
6.将目标三维空间对应的第一贴图与第一天空盒模型匹配获取第一全景天空盒、将第一对象对应的第二贴图与第二天空盒模型匹配获取第二全景天空盒,所述第一对象在所述目标三维空间中显示时位于第一位置;
7.根据所述第一全景天空盒和所述第二全景天空盒,生成在所述目标三维空间的第一位置显示所述第一对象的第一全景图;
8.在所述第一全景图上生成所述第一对象对应的目标锚点;
9.响应于对所述目标锚点的操作,确定用于替换所述第一对象的第二对象,并将所述第二对象对应的第三贴图与所述第二天空盒模型匹配,以获取第三全景天空盒,所述第二对象在所述目标三维空间中显示时位于第二位置;
10.根据所述第一全景天空盒和所述第三全景天空盒,生成在所述目标三维空间的第二位置显示所述第二对象的第二全景图。
11.第二方面,本技术实施例提供一种贴图切换装置,包括:
12.获取模块,用于将目标三维空间对应的第一贴图与第一天空盒模型匹配获取第一全景天空盒、将第一对象对应的第二贴图与第二天空盒模型匹配获取第二全景天空盒,所述第一对象在所述目标三维空间中显示时位于第一位置;
13.第一生成模块,用于根据所述第一全景天空盒和所述第二全景天空盒,生成在所述目标三维空间的第一位置显示所述第一对象的第一全景图;
14.第二生成模块,用于在所述第一全景图上生成所述第一对象对应的目标锚点;
15.处理模块,用于响应于对所述目标锚点的操作,确定用于替换所述第一对象的第二对象,并将所述第二对象对应的第三贴图与所述第二天空盒模型匹配,以获取第三全景天空盒,所述第二对象在所述目标三维空间中显示时位于第二位置;
16.第三生成模块,用于根据所述第一全景天空盒和所述第三全景天空盒,生成在所述目标三维空间的第二位置显示所述第二对象的第二全景图。
17.第三方面,本技术实施例提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的贴图切换方法的步骤。
18.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的贴图切换方法的步骤。
19.在本技术实施例中,在获取目标三维空间对应的第一全景天空盒、第一对象对应的第二全景天空盒的情况下,根据第一全景天空盒和第二全景天空盒生成在目标三维空间的第一位置显示第一对象的第一全景图,并在第一全景图上生成与第一对象关联的目标锚点,响应于对目标锚点的操作,确定用于替换第一对象的第二对象,根据第二对象对应的第三贴图更新第二全景天空盒以获取第三全景天空盒,基于第一全景天空盒和第三全景天空盒生成在目标三维空间的第二位置显示第二对象的第二全景图,可以实现基于对目标锚点的触发,对目标三维空间中的模型对象进行更新,实现一键换装,解决换装操作困难的问题,且可以提高贴图切换效率,提升用户的使用体验。
附图说明
20.图1表示本技术实施例提供的贴图切换方法的示意图;
21.图2表示本技术实施例提供的在目标三维空间显示第一对象的示意图;
22.图3表示本技术实施例提供的生成第三全景天空盒的方法示意图;
23.图4表示本技术实施例提供的贴图切换方法的一整体流程图;
24.图5表示本技术实施例提供的贴图切换装置的示意图;
25.图6表示本技术实施例提供的电子设备的示意图。
具体实施方式
26.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
28.在本技术的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
29.针对现有技术中在对虚拟房间进行换装时操作比较困难的问题,本技术实施例提供了一种贴图切换方法,以对模型对象进行更新,实现一键换装。下面对本技术实施例提供的贴图切换方法进行介绍,参见图1所示,该方法包括:
30.步骤101、将目标三维空间对应的第一贴图与第一天空盒模型匹配获取第一全景天空盒、将第一对象对应的第二贴图与第二天空盒模型匹配获取第二全景天空盒,所述第一对象在所述目标三维空间中显示时位于第一位置。
31.本技术提供的贴图切换方法,需要构建与目标三维空间对应的第一天空盒模型、构建与目标三维空间中的模型对象(家具对象)对应的第二天空盒模型,第一天空盒模型与第二天空盒模型为相同的天空盒模型,天空盒模型为对应于六个面的立方体天空盒,具体为正方体天空盒,第一对象为目标三维空间内的对象,具体为,第一对象在目标三维空间中显示时位于第一位置。
32.目标三维空间可以是基于目标房屋的图像(例如,实景图、全景图)进行相应的技术处理等构建三维空间的场景。例如可以获取目标房屋的多个实景图拼接为全景图,也可以直接获取目标房屋的全景图,根据全景图进行3d建模,构建三维空间的场景。或者先根据全景图进行2d户型建模,再基于2d户型构建三维空间的场景。在可以直接获取目标房屋户型图的情况下,也可以是基于目标房屋户型图构建的三维空间的场景。
33.目标三维空间可以基于目标房屋的至少一个功能空间构建,如可以基于目标房屋的客厅空间和/或目标房屋的卧室空间构建。第一对象位于目标三维空间中,可以为目标三维空间中的家具对象。如,参见图2所示,目标三维空间为客厅空间,第一对象为目标三维空间中的沙发对象。
34.在构建第一天空盒模型、第二天空盒模型之后,将获取的目标三维空间对应的第一贴图与第一天空盒模型进行匹配,以生成第一全景天空盒,将获取的第一对象对应的第二贴图与第二天空盒模型进行匹配,以生成第二全景天空盒。其中,第一贴图为背景贴图,将第一贴图与第一天空盒模型进行匹配的过程,可以理解为将第一贴图粘贴至第一天空盒模型上,以生成第一全景天空盒,相应的,将第二贴图与第二天空盒模型进行匹配的过程,可以理解为将第二贴图粘贴至第二天空盒模型上,以生成第二全景天空盒。
35.步骤102、根据所述第一全景天空盒和所述第二全景天空盒,生成在所述目标三维空间的第一位置显示所述第一对象的第一全景图。
36.在获取第一全景天空盒以及第二全景天空盒之后,根据第一全景天空盒和第二全景天空盒生成第一全景图。其中第一全景天空盒对应于第一全景图中的背景部分、第二全景天空盒对应于第一全景图中的主体部分,通过将第一全景天空盒和第二全景天空盒进行信息融合,可以生成包括背景部分以及主体部分的第一全景图,所生成的第一全景图为在目标三维空间的第一位置显示第一对象的全景图,第一对象为主体部分、目标三维空间为背景部分。如,第一全景图为沙发在客厅的靠墙位置的全景图,客厅空间的墙壁、地板以及天花板对应于背景部分,沙发对应于主体部分。
37.步骤103、在所述第一全景图上生成所述第一对象对应的目标锚点。
38.在基于第一全景天空盒和第二全景天空盒,生成在目标三维空间的第一位置显示第一对象的第一全景图的情况下,基于第一对象的相关信息,在第一全景图上生成第一对象对应的目标锚点,其中目标锚点与第一对象的至少一个备选对象形成链接关系,可以理解为基于第一对象的至少一个备选对象生成目标锚点,以建立第一对象的至少一个备选对象与目标锚点的链接关系、通过目标锚点实现将第一对象的至少一个备选对象进行展示。
39.步骤104、响应于对所述目标锚点的操作,确定用于替换所述第一对象的第二对
象,并将所述第二对象对应的第三贴图与所述第二天空盒模型匹配,以获取第三全景天空盒,所述第二对象在所述目标三维空间中显示时位于第二位置。
40.在显示包括目标锚点的第一全景图的情况下,可以接收用户对目标锚点的操作,如,可以接收用户对目标锚点的点击、按压操作,响应于用户对目标锚点的操作,在第一对象的至少一个备选对象中确定用于替换第一对象的第二对象,将第二对象对应的第三贴图与第二天空盒模型匹配,以实现对第二天空盒模型对应的贴图进行更新,实现将第二全景天空盒更新为第三全景天空盒。第二对象在目标三维空间中显示时位于第二位置,第二位置与第一位置可以相同,也可以是空间坐标信息至少部分相区别。
41.将第二对象对应的第三贴图与第二天空盒模型进行匹配时,需要首先清除第一对象对应的第二贴图、然后将第二对象对应的第三贴图粘贴在第二天空盒模型上,以通过更新第二全景天空盒生成第三全景天空盒;也可以在第二天空盒模型保留第二贴图的情况下,将第三贴图覆盖在第二贴图上,然后对无法覆盖的部分进行清除,以通过第二全景天空盒的更新、生成第三全景天空盒。
42.步骤105、根据所述第一全景天空盒和所述第三全景天空盒,生成在所述目标三维空间的第二位置显示所述第二对象的第二全景图。
43.在更新第二全景天空盒获得第三全景天空盒之后,根据第一全景天空盒和第三全景天空盒,生成在目标三维空间的第二位置显示第二对象的第二全景图。第一全景天空盒对应于第二全景图中的背景部分、第三全景天空盒对应于第二全景图中的主体部分,生成第二全景图的过程与生成第一全景图的过程类似。通过生成第二全景图,可以对目标三维空间中的模型对象进行更新,以针对目标三维空间进行一键换装,实现全景图的更新。例如,在生成沙发a在客厅的靠墙位置距离墙面2厘米位置显示的第一全景图的情况下,通过更新沙发a,生成沙发b在客厅的靠墙位置距离墙面4厘米位置显示的第二全景图。
44.本技术上述实施过程,在获取目标三维空间对应的第一全景天空盒、第一对象对应的第二全景天空盒的情况下,根据第一全景天空盒和第二全景天空盒生成在目标三维空间的第一位置显示第一对象的第一全景图,并在第一全景图上生成与第一对象关联的目标锚点,响应于对目标锚点的操作,确定用于替换第一对象的第二对象,根据第二对象对应的第三贴图更新第二全景天空盒以获取第三全景天空盒,基于第一全景天空盒和第三全景天空盒生成在目标三维空间的第二位置显示第二对象的第二全景图,可以实现基于对目标锚点的触发,对目标三维空间中的模型对象进行更新,实现一键换装,解决换装操作困难的问题,且可以提高贴图切换效率,提升用户的使用体验。
45.其中,步骤101将目标三维空间对应的第一贴图与第一天空盒模型匹配获取第一全景天空盒,包括:
46.按照预设划分规则将所述第一天空盒模型划分为第一数目个第一分片,所述第一数目个第一分片与所述目标三维空间对应的多个第一贴图一一对应;
47.将所述多个第一贴图与对应的所述第一分片匹配,生成所述第一全景天空盒。
48.下面对将目标三维空间对应的第一贴图与第一天空盒模型进行匹配以获取第一全景天空盒的过程进行介绍。首先,按照预设划分规则将第一天空盒模型划分为第一数目个第一分片,其中,目标三维空间对应的第一贴图为第一数目。第一数目个第一贴图基于预设划分规则确定,具体为基于预设划分规则对目标三维空间对应的背景全景画面进行划
分,得到第一数目个第一贴图。
49.第一贴图与第一分片一一对应,针对每个第一贴图,可以与一第一分片形成对应关联。在得到第一数目个第一分片以及第一数目个第一贴图之后,进行分片与贴图匹配以生成全景天空盒。将第一数目个第一贴图与第一数目个第一分片一一匹配时,可以根据第一贴图与第一分片之间的对应关系,将第一贴图粘贴在对应的第一分片上,以通过对第一天空盒模型进行贴图处理生成第一全景天空盒。
50.第一天空盒模型的每个面对应于n*n个第一分片,针对第一天空盒模型而言,对应于6*n*n个第一分片,n为大于或者等于2的正整数,第一数目即为6*n*n。本实施例在将第一天空盒模型划分时,可以针对每个面,划分为n*n个第一分片,这里的划分可以理解为针对每个面标记出n*n个第一分片。相应的,目标三维空间对应的第一贴图的数量为6*n*n。
51.针对第一天空盒模型的每个面,可对应于一个二维数组[i][j](i=0,1...,n-1;j=0,1...,n-1),从左上角开始,i表示从左至右的第i+1列,j表示从上至下的第j+1行,[i][j]对应于n*n个第一分片中的某个第一分片,如f02.jpg对应于第1列第3行的第一分片,针对每一个分片可对应于一个第一贴图,第一贴图与第一分片之间的映射关系可基于二维数组确定。
[0052]
其中,步骤101将第一对象对应的第二贴图与第二天空盒模型匹配获取第二全景天空盒,包括:
[0053]
按照预设划分规则将所述第二天空盒模型划分为第一数目个第二分片;
[0054]
根据所述第一对象对应的第二数目个第二贴图,在所述第一数目个第二分片中确定第二数目个第一目标分片;
[0055]
将所述第二数目个第二贴图与对应的所述第一目标分片匹配,生成所述第二全景天空盒。
[0056]
在将第一对象对应的第二贴图与第二天空盒模型进行匹配以获取第二全景天空盒时,首先按照预设划分规则将第二天空盒模型划分为第一数目个第二分片,其中,第二天空盒模型对应的分片与第一天空盒模型对应的分片相同,第二天空盒模型对应于6*n*n个第二分片。第一对象对应的第二贴图为第二数目,第二数目小于第一数目。然后根据第一对象对应的第二数目个第二贴图,在第一数目个第二分片中确定第二数目个第一目标分片,每一个第一目标分片对应于一第二贴图。
[0057]
在筛选出第二数目个第一目标分片之后,将第二数目个第二贴图粘贴在对应的第一目标分片上,可以通过对第二天空盒模型进行贴图处理生成第二全景天空盒。
[0058]
上述实施过程,通过按照预设划分规则将第一天空盒模型划分为第一数目个第一分片、将第二天空盒模型划分为第一数目个第二分片,将多个第一贴图与对应的第一分片匹配生成第一全景天空盒、将第二数目个第二贴图与在第二分片中筛选出的第一目标分片匹配生成第二全景天空盒,可以基于贴图与分片的对应关系获取全景天空盒。
[0059]
其中,步骤102根据所述第一全景天空盒和所述第二全景天空盒,生成在所述目标三维空间的第一位置显示所述第一对象的第一全景图,包括:
[0060]
将所述第一全景天空盒和所述第二全景天空盒各坐标点对应的三维坐标转换为屏幕坐标;
[0061]
根据所述第一全景天空盒和所述第二全景天空盒各坐标点对应的屏幕坐标,生成
所述第一全景图。
[0062]
在获取第一全景天空盒和第二全景天空盒之后,将第一全景天空盒和第二全景天空盒各坐标点对应的三维坐标转换为屏幕坐标,将三维坐标转化为屏幕坐标的过程即为将三维坐标投影至屏幕,根据第一全景天空盒和第二全景天空盒各坐标点对应的屏幕坐标,生成第一全景图,以通过三维坐标(世界坐标)与屏幕坐标的转换生成第一全景图。
[0063]
相应的,步骤103在所述第一全景图上生成所述第一对象对应的目标锚点,包括:
[0064]
确定目标位置对应的目标屏幕坐标,所述目标位置为所述目标三维空间中用于关联所述第一对象的备选对象的位置;
[0065]
根据所述目标屏幕坐标在所述第一全景图上渲染所述目标锚点。
[0066]
在生成第一对象对应的目标锚点时,将基于第一对象在目标三维空间中的位置所确定的目标位置投影至屏幕,确定目标位置对应的目标屏幕坐标,根据目标屏幕坐标在第一全景图上渲染出第一对象对应的目标锚点,其中,目标位置为目标三维空间中的位于第一对象周缘的位置或者第一对象上的位置,相应的,目标锚点显示在第一对象的周缘或者显示在第一对象上。目标位置为关联第一对象的备选对象的位置,基于目标位置可以确定与第一对象的备选对象关联的目标锚点,以实现利用目标锚点展示第一对象的至少一个备选对象。
[0067]
上述实施过程,可以基于三维坐标与屏幕坐标的转换,在第一全景图上渲染第一对象对应的目标锚点,以提供第一对象的更新入口。
[0068]
其中,在响应于对所述目标锚点的操作,确定用于替换所述第一对象的第二对象,并将所述第二对象对应的多个第三贴图与所述第二天空盒模型匹配时,参见图3所示,包括如下步骤:
[0069]
步骤1041、响应于对所述目标锚点的操作,在所述第一对象对应的至少一个备选对象中确定所述第二对象。
[0070]
步骤1042、根据所述第二对象对应的第三数目个第三贴图,在所述第二天空盒模型对应的第一数目个第二分片中确定第三数目个第二目标分片。
[0071]
步骤1043、将所述第三数目个第三贴图与对应的所述第二目标分片匹配,以获取所述第三全景天空盒。
[0072]
在展示包括目标锚点的第一全景图的情况下,接收到用户对目标锚点的操作时,响应于用户的操作,在第一对象对应的至少一个备选对象中确定出第二对象,然后针对第二对象,根据第二对象对应的第三数目个第三贴图,在第二天空盒模型对应的第一数目个第二分片中确定第三数目个第二目标分片,第三数目小于第一数目。
[0073]
在确定第三数目个第二目标分片时,可以根据第三数目个第三贴图,在第一数目个第二分片中筛选出对应的第三数目个第二目标分片。在筛选出第三数目个第二目标分片之后,将第三数目个第三贴图粘贴在对应的第二目标分片上,以通过贴图处理更新第二全景天空盒、生成第三全景天空盒。需要说明的是,可以预先将第二分片上粘贴的第二贴图清除,也可以在保留第二贴图的情况下,将第三贴图覆盖在第二贴图上(对应于当前分片既属于第二目标分片也属于第一目标分片的情况),然后对无法覆盖的部分进行清除,以通过更新第二全景天空盒、生成第三全景天空盒上述实施过程,通过响应于对目标锚点的操作,在至少一个备选对象中确定用于替换第一对象的第二对象,将第二对象对应的第三数目个第
三贴图与在第一数目个第二分片中确定的第三数目个第二目标分片进行匹配,可以基于贴图与分片的对应关系更新贴图,以生成第三全景天空盒,获取更新后的全景天空盒。
[0074]
其中,在响应于对所述目标锚点的操作,在所述第一对象对应的至少一个备选对象中确定所述第二对象时,包括如下步骤:
[0075]
响应于对所述目标锚点的操作,按照预设筛选规则在所述至少一个备选对象中筛选出所述第二对象;或者
[0076]
响应于对所述目标锚点的操作,显示所述至少一个备选对象分别对应的第一控件,响应于在至少一个第一控件中的选择操作,确定选中的第一目标控件对应的备选对象为所述第二对象。
[0077]
在根据用户对目标锚点的操作在第一对象对应的至少一个备选对象中确定第二对象时,可以响应于对目标锚点的满足第一特征的操作,按照预设筛选规则,在至少一个备选对象中筛选出第二对象。其中,若备选对象的数量为一个,则直接将其确定为第二对象,若备选对象的数量至少为两个,在筛选第二对象时,按照预设筛选规则进行筛选,可以在多个备选对象中筛选出与第一对象匹配度最高的备选对象作为第二对象、在多个备选对象中筛选出最先生成的备选对象作为第二对象、在多个备选对象中筛选出优先级最高的备选对象作为第二对象,其中备选对象的优先级可以预先设定,也可以按照备选对象的相关参数确定,备选对象的相关参数可以包括但不限于备选对象的材质、尺寸、颜色等。
[0078]
在根据用户对目标锚点的操作在第一对象对应的至少一个备选对象中确定第二对象时,可以响应于对目标锚点的满足第二特征的操作,在图形用户界面显示至少一个备选对象分别对应的第一控件,其中每个第一控件上可以显示对应的备选对象的介绍信息,包括但不限于文字介绍和/或图片介绍。接收用户在至少一个第一控件中的选择操作,响应于选择操作将选中的第一控件确定为第一目标控件,并将第一目标控件对应的备选对象确定为第二对象。针对仅显示一个备选对象对应的第一控件的情况,可以基于用户对第一控件的操作将备选对象确定为第二对象,也可以在显示第一控件后直接将备选对象确定为第二对象,还可以是直接响应于对目标锚点的操作将备选对象确定为第二对象。
[0079]
上述实施过程,在接收到对目标锚点的操作时,可以响应于对目标锚点的操作,基于预设筛选规则在备选对象中确定出第二对象,实现自动筛选第二对象;也可以响应于对目标锚点的操作显示备选对象对应的第一控件,根据用户在第一控件中的选择确定第二对象,实现由用户选择第二对象;且通过提供自动确定和用户手动确定两种实现方式,丰富了第二对象的确定途经,便于用户选择合适的途经确定第二对象。
[0080]
其中,步骤105根据所述第一全景天空盒和所述第三全景天空盒,生成在所述目标三维空间的第二位置显示所述第二对象的第二全景图,包括:
[0081]
将所述第一全景天空盒和所述第三全景天空盒各坐标点对应的三维坐标转换为屏幕坐标;
[0082]
根据所述第一全景天空盒和所述第三全景天空盒各坐标点对应的屏幕坐标,生成所述第二全景图。
[0083]
在获取第一全景天空盒和第三全景天空盒之后,将第一全景天空盒和第三全景天空盒各坐标点对应的三维坐标转换为屏幕坐标,将三维坐标转化为屏幕坐标的过程即为将三维坐标投影至屏幕,根据第一全景天空盒和第三全景天空盒各坐标点对应的屏幕坐标,
生成第二全景图,以通过三维坐标(世界坐标)与屏幕坐标的转换生成第二全景图。其中,第二全景图与第一全景图相比,背景部分一致、主体部分相区别,即通过对第一全景图进行更新以生成第二全景图。
[0084]
下面通过一整体实施流程对本技术提供的贴图切换方法进行介绍,参见图4所示,包括如下步骤:
[0085]
步骤401、按照预设划分规则将第一天空盒模型划分为第一数目个第一分片,将多个第一贴图与对应的第一分片匹配,生成第一全景天空盒。
[0086]
步骤402、按照预设划分规则将第二天空盒模型划分为第一数目个第二分片,根据第一对象对应的第二数目个第二贴图,在第一数目个第二分片中确定第二数目个第一目标分片,将第二数目个第二贴图与第一目标分片匹配,生成第二全景天空盒。
[0087]
步骤403、将第一全景天空盒和第二全景天空盒各坐标点对应的三维坐标转换为屏幕坐标,根据屏幕坐标生成第一全景图。
[0088]
步骤404、确定目标位置所对应的目标屏幕坐标,根据目标屏幕坐标在第一全景图上渲染目标锚点。
[0089]
步骤405、响应于对目标锚点的操作,在至少一个备选对象中确定第二对象。
[0090]
步骤406、根据第二对象对应的第三数目个第三贴图,在第一数目个第二分片中确定第三数目个第二目标分片,将第三数目个第三贴图与对应的第二目标分片匹配,以获取第三全景天空盒。
[0091]
步骤407、将第一全景天空盒和第三全景天空盒各坐标点对应的三维坐标转换为屏幕坐标,根据屏幕坐标生成第二全景图。
[0092]
上述为本技术实施例提供的贴图切换方法的一整体实施流程,通过基于第一全景天空盒和第二全景天空盒生成第一全景图,在第一全景图上渲染目标锚点,基于对目标锚点的操作,确定第二对象,基于第二对象对应的第三贴图获取第三全景天空盒,进而基于第一全景天空盒和第三全景天空盒生成第二全景图,可以通过贴图切换实现快速换装。
[0093]
以上为本技术实施例提供的贴图切换方法的整体实施过程,在获取目标三维空间对应的第一全景天空盒、第一对象对应的第二全景天空盒的情况下,根据第一全景天空盒和第二全景天空盒生成在目标三维空间的第一位置显示第一对象的第一全景图,并在第一全景图上生成与第一对象关联的目标锚点,响应于对目标锚点的操作,确定用于替换第一对象的第二对象,根据第二对象对应的第三贴图更新第二全景天空盒以获取第三全景天空盒,基于第一全景天空盒和第三全景天空盒生成在目标三维空间的第二位置显示第二对象的第二全景图,可以实现基于对目标锚点的触发,对目标三维空间中的模型对象进行更新,实现一键换装,解决换装操作困难的问题,且可以提高贴图切换效率,提升用户的使用体验。
[0094]
进一步地,通过按照预设划分规则将第一天空盒模型划分为第一数目个第一分片、将第二天空盒模型划分为第一数目个第二分片,将多个第一贴图与对应的第一分片匹配生成第一全景天空盒、将第二数目个第二贴图与在第二分片中筛选出的第一目标分片匹配生成第二全景天空盒,可以基于贴图与分片的对应关系获取全景天空盒。
[0095]
通过基于三维坐标与屏幕坐标的转换,在第一全景图上渲染第一对象对应的目标锚点,可以提供第一对象的更新入口。
[0096]
通过响应于对目标锚点的操作,在至少一个备选对象中确定第二对象,将第二对象对应的第三数目个第三贴图与在第一数目个第二分片中确定的第三数目个第二目标分片进行匹配,可以基于贴图与分片的对应关系更新贴图,以生成第三全景天空盒,获取更新后的全景天空盒。
[0097]
在确定第二对象时,通过提供自动确定和用户手动确定两种实现方式,丰富了第二对象的确定途经,便于用户选择合适的途经确定第二对象。
[0098]
本技术实施例还提供一种贴图切换装置,参见图5所示,包括:
[0099]
获取模块501,用于将目标三维空间对应的第一贴图与第一天空盒模型匹配获取第一全景天空盒、将第一对象对应的第二贴图与第二天空盒模型匹配获取第二全景天空盒,所述第一对象在所述目标三维空间中显示时位于第一位置;
[0100]
第一生成模块502,用于根据所述第一全景天空盒和所述第二全景天空盒,生成在所述目标三维空间的第一位置显示所述第一对象的第一全景图;
[0101]
第二生成模块503,用于在所述第一全景图上生成所述第一对象对应的目标锚点;
[0102]
处理模块504,用于响应于对所述目标锚点的操作,确定用于替换所述第一对象的第二对象,并将所述第二对象对应的第三贴图与所述第二天空盒模型匹配,以获取第三全景天空盒,所述第二对象在所述目标三维空间中显示时位于第二位置;
[0103]
第三生成模块505,用于根据所述第一全景天空盒和所述第三全景天空盒,生成在所述目标三维空间的第二位置显示所述第二对象的第二全景图。
[0104]
可选地,所述获取模块包括:
[0105]
第一划分子模块,用于按照预设划分规则将所述第一天空盒模型划分为第一数目个第一分片,所述第一数目个第一分片与所述目标三维空间对应的多个第一贴图一一对应;
[0106]
第一生成子模块,用于将所述多个第一贴图与对应的所述第一分片匹配,生成所述第一全景天空盒。
[0107]
可选地,所述获取模块包括:
[0108]
第二划分子模块,用于按照预设划分规则将所述第二天空盒模型划分为第一数目个第二分片;
[0109]
第一确定子模块,用于根据所述第一对象对应的第二数目个第二贴图,在所述第一数目个第二分片中确定第二数目个第一目标分片;
[0110]
第二生成子模块,用于将所述第二数目个第二贴图与对应的所述第一目标分片匹配,生成所述第二全景天空盒。
[0111]
可选地,所述第一生成模块包括:
[0112]
第一转换子模块,用于将所述第一全景天空盒和所述第二全景天空盒各坐标点对应的三维坐标转换为屏幕坐标;
[0113]
第三生成子模块,用于根据所述第一全景天空盒和所述第二全景天空盒各坐标点对应的屏幕坐标,生成所述第一全景图。
[0114]
可选地,所述第二生成模块包括:
[0115]
第二确定子模块,用于确定目标位置对应的目标屏幕坐标,所述目标位置为所述目标三维空间中用于关联所述第一对象的备选对象的位置
[0116]
渲染子模块,用于根据所述目标屏幕坐标在所述第一全景图上渲染所述目标锚点。
[0117]
可选地,所述处理模块包括:
[0118]
第三确定子模块,用于响应于对所述目标锚点的操作,在所述第一对象对应的至少一个备选对象中确定所述第二对象;
[0119]
第四确定子模块,用于根据所述第二对象对应的第三数目个第三贴图,在所述第二天空盒模型对应的第一数目个第二分片中确定第三数目个第二目标分片;
[0120]
匹配子模块,用于将所述第三数目个第三贴图与对应的所述第二目标分片匹配,以获取所述第三全景天空盒。
[0121]
可选地,所述第三确定子模块进一步用于:
[0122]
响应于对所述目标锚点的操作,按照预设筛选规则在所述至少一个备选对象中筛选出所述第二对象;
[0123]
或者
[0124]
响应于对所述目标锚点的操作,显示所述至少一个备选对象分别对应的第一控件,响应于在至少一个第一控件中的选择操作,确定选中的第一目标控件对应的备选对象为所述第二对象。
[0125]
可选地,所述第三生成模块包括:
[0126]
第二转换子模块,用于将所述第一全景天空盒和所述第三全景天空盒各坐标点对应的三维坐标转换为屏幕坐标;
[0127]
第四生成子模块,用于根据所述第一全景天空盒和所述第三全景天空盒各坐标点对应的屏幕坐标,生成所述第二全景图。
[0128]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0129]
另一方面,本技术实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的贴图切换方法。
[0130]
举例如下,图6示出了一种电子设备的实体结构示意图。如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,处理器610用于执行以下步骤:将目标三维空间对应的第一贴图与第一天空盒模型匹配获取第一全景天空盒、将第一对象对应的第二贴图与第二天空盒模型匹配获取第二全景天空盒,所述第一对象在所述目标三维空间中显示时位于第一位置;根据所述第一全景天空盒和所述第二全景天空盒,生成在所述目标三维空间的第一位置显示所述第一对象的第一全景图;在所述第一全景图上生成所述第一对象对应的目标锚点;响应于对所述目标锚点的操作,确定用于替换所述第一对象的第二对象,并将所述第二对象对应的第三贴图与所述第二天空盒模型匹配,以获取第三全景天空盒,所述第二对象在所述目标三维空间中显示时位于第二位置;根据所述第一全景天空盒和所述第三全景天空盒,生成在所述目标三维空间的第二位置显示所述第二对象的第二全景图。处理器610还可以实现本技术实施例中的其他步骤,这里不再一一
阐述。
[0131]
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0132]
再一方面,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例提供的贴图切换方法。
[0133]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0134]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0135]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1