本发明涉及计算机图像处理,具体而言,涉及一种基于场景切换的视觉显示方法、装置及电子设备。
背景技术:
1、对于一些带有交互功能的软件程序,例如,具备三维空间的游戏、元宇宙等软件产品。其内在的空间往往基于实际的算力、调度、以及游戏内容的规划被划分为不同的场景。进而针对不同的场景的切换,需要设置一些数据的加载点或载入机制来完成不同场景对应的数据的调取、处理以及渲染呈现。
2、其中,一种较为常规的手段为模拟传送门,其作用在于,以门的形式串联不同的场景,当用户控制的虚拟角色穿过该传送门时,完成场景间的切换与数据的加载,以便是的整个场景的切换平滑,提高用户的沉浸体验。
3、然而,现有技术中,当用户处于传送的一侧时,为了使得传送门在视觉层面趋近于逼真,往往需要将另一侧的场景在传送门中进行视觉展示。现有技术通常将另一侧的场景渲染到该传送门的模型上,实现具有立体感地观察另外一个场景的传送门效果。但是,此种渲染技术会因为渲染额外的场景,而带来极大的性能压力。
技术实现思路
1、有鉴于此,本发明实施例的目的在于,提供一种基于场景切换的视觉显示方法、装置及电子设备以至少部分地改善上述问题。
2、为了实现上述目的,本发明实施例采用的技术方案如下:
3、第一方面,本发明实施例提供了一种基于场景切换的视觉显示方法,所述方法包括:
4、获取场景切换位置模型,所述场景切换位置模型用于衔接第一空间场景与第二空间场景;
5、当虚拟角色位于第一空间场景,且所述虚拟角色的视点朝向所述场景切换位置模型时,获取所述第二空间场景对应的背景图像;所述背景图像用于表征预设尺寸的第二空间场景的图像;
6、将所述背景图像映射于所述场景切换位置模型上;
7、以满足所述虚拟角色的视点对应空间关系的形式,显示具有所述背景图像的场景切换位置模型。
8、可选地,所述以满足所述虚拟角色的视点对应空间关系的形式,显示具有所述背景图像的场景切换位置模型的步骤包括:
9、根据所述场景切换位置模型,生成所述场景切换位置模型的第一纹理坐标;所述第一纹理坐标为二维坐标;
10、根据透视原理以及所述第一纹理坐标,计算出第二纹理坐标,并根据所述第二纹理坐标对所述背景图像进行采样,以使所述背景图像显示于所述第一空间场景。
11、可选地,所述根据所述场景切换位置模型,生成所述场景切换位置模型的第一纹理坐标之后还包括:
12、判断所述第一纹理坐标的宽高比与所述背景图像的宽高比是否匹配;
13、若否,根据所述背景图像的宽高比,将所述第一纹理坐标进行比例缩放,以使比例缩放后的第一纹理坐标的宽高比与所述背景图像的宽高匹配。
14、可选地,所述根据所述背景图像的宽高比,将所述第一纹理坐标进行比例缩放的步骤包括:
15、将所述第一纹理坐标的中心点与所述背景图像的中心点对齐;
16、根据所述背景图像的宽高比,将所述第一纹理坐标的x轴和/或y轴进行比例缩放。
17、可选地,所述根据透视原理以及所述第一纹理坐标,计算出第二纹理坐标的步骤包括:
18、根据所述场景切换位置模型的宽高、所述背景图像的宽高、第一距离以及第二距离,计算出所述背景图像的缩放系数;所述第一距离为所述视点到所述场景切换位置模型的距离,所述第二距离为所述背景图像与所述场景切换位置模型的距离;
19、根据所述第一纹理坐标以及所述背景图像的缩放系数,计算出远近缩放后的第三纹理坐标;
20、根据所述场景切换位置模型的中心点对称性,计算出半最大偏移量;
21、根据所述虚拟角色的视点位置、所述第一距离、所述第二距离、所述背景图像的宽高以及所述半最大偏移量,计算出第三纹理坐标的偏移量;
22、根据所述第三纹理坐标的偏移量以及所述第三纹理坐标,计算出所述第二纹理坐标。
23、可选地,所述根据所述场景切换位置模型的宽高、所述背景图像的宽高、第一距离以及第二距离,计算出所述背景图像的缩放系数的步骤包括:
24、基于背景图像缩放公式,根据所述场景切换位置模型的宽高、所述背景图像的宽高以及所述背景图像与所述场景切换位置模型的距离,得到第三距离以及第四距离;所述第三距离为所述背景图像宽度最大缩放时,所述视点与所述场景切换位置模型的距离;所述第四距离为所述背景图像高度最大缩放时,所述视点与所述场景切换位置模型的距离;所述背景图像缩放公式为:
25、s_w_d=(ps.w*bd)/(bs.w-ps.w)
26、s_h_d=(ps.h*bd)/(bs.h-ps.h)
27、其中,s_w_d为第三距离,s_h_d为第四距离,ps为所述场景切换位置模型的宽高,bs为所述背景图像的宽高,bd为所述第二距离;
28、基于第一距离处理公式,根据所述第一距离、所述第三距离以及所述第四距离,得到处理后的第一距离;所述第一距离处理公式为:
29、vd=max(min(s_w_d,s_h_d),vd)
30、其中,vd为所述第一距离;min为数学函数,返回参数中的最小值;max为数学函数,返回参数中的最大值;
31、基于缩放系数计算公式,根据处理后的第一距离、第二距离以及所述背景图像宽高比,得到所述背景图像的缩放系数;所述缩放系数计算公式为:
32、bsf=(bd+abs(vd))*bar/abs(vd)
33、其中,bsf为所述背景图像的缩放系数;bar为所述背景图像的宽高比。
34、可选地,所述根据所述场景切换位置模型的中心点对称性,计算出半最大偏移量的步骤包括:
35、基于半最大偏移量计算公式,根据背景图像的缩放系数以及所述背景图像的宽高比,计算出半最大偏移量;所述半最大偏移量计算公式为:
36、half_offset_range.x=(1-bsf)*0.5
37、half_offset_range.y=(1-bsf*bar)*0.5
38、其中,half_offset_range为所述半最大偏移量;bsf为所述背景图像的缩放系数;bar为所述背景图像的宽高比。
39、可选地,所述根据所述虚拟角色的视点位置、所述第一距离、所述第二距离、所述背景图像的宽高以及所述半最大偏移量,计算出第三纹理坐标的偏移量的步骤包括:
40、基于偏移量计算公式,根据所述虚拟角色的视点位置、所述第一距离、所述第二距离以及所述背景图像的宽高,计算出第三纹理坐标的偏移量;所述偏移量计算公式为:
41、eye_pos_offset.x=(2*eye_pos.x*bd)/(vd*bs.w)
42、eye_pos_offset.y=(2*eye_pos.y*bd)/(vd*bs.h)
43、其中,eye_pos_offset为所述第三纹理坐标的偏移量;eye_pos为所述虚拟角色的视点位置;vd为所述第一距离;bd为所述第二距离;bs为所述背景图像的宽高;
44、基于上下限限制公式,根据所述半最大偏移量,得到处理后的所述第三纹理坐标的偏移量;所述上下限限制公式为:
45、eye_pos_offset.x=clamp(eye_pos_offset.x,-half_offset_range.x,
46、half_offset_range.x)
47、eye_pos_offset.y=clamp(eye_pos_offset.y,-half_offset_range.y,
48、half_offset_range.y)
49、其中,clamp为数学函数,当第一个参数小于第二个参数时返回第二个参数,当第一个参数大于第三个参数时返回第三个参数,否则返回第一个参数;half_offset_range所述半最大偏移量。
50、第二方面,本发明实施例提供了一种基于场景切换的视觉显示装置,所述装置包括:
51、场景切换位置模型获取单元,用于获取场景切换位置模型,所述场景切换位置模型用于衔接第一空间场景与第二空间场景;
52、背景图像获取单元,用于当虚拟角色位于第一空间场景,且所述虚拟角色的视点朝向所述场景切换位置模型时,获取所述第二空间场景对应的背景图像;所述背景图像用于表征预设尺寸的第二空间场景的图像;
53、背景图像映射单元,用于将所述背景图像映射于所述场景切换位置模型上;
54、背景图像显示单元,用于以满足所述虚拟角色的视点对应空间关系的形式,显示具有所述背景图像的场景切换位置模型。
55、第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的方法。
56、本发明实施例提供了一种基于场景切换的视觉显示方法、装置及电子设备,通过获取场景切换位置模型,当虚拟角色位于第一空间场景,且虚拟角色的视点朝向所述场景切换位置模型时,获取第二空间场景预设的对应的背景图像,将所述背景图像映射于场景切换位置模型上,以满足虚拟角色的视点对应空间关系的形式,显示具有预设的背景图像的场景切换位置模型。从而不用将第二空间场景渲染到第一空间场景中,减少渲染额外的场景带来的性能压力。