一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟场景的适配显示方法、装置、设备、介质及程序产品与流程

2022-03-23 07:21:51 来源:中国专利 TAG:

虚拟场景的适配显示方法、装置、设备、介质及程序产品
1.本技术要求申请号为202111209465.4,申请日为2021年10月18日,名称为:虚拟场景的适配显示方法、装置、设备、介质及程序产品的优先权。
技术领域
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.本技术实施例提供一种计算机程序产品,包括计算机程序或指令,计算机程序或指令被处理器执行时,实现本技术实施例提供的虚拟场景的适配显示方法。
71.本技术实施例具有以下有益效果:
72.通过结合虚拟场景的摄像机位置参数和图形处理性能参数两种参数,确定出准确以及适配的目标细节层次模型,从而基于准确且适配的目标细节层次模型进行虚拟对象的流畅切换,提高虚拟场景的人机交互的效果,并节约了相关的通信资源和计算资源。
附图说明
73.图1a是本技术实施例提供的虚拟场景的适配显示方法的应用模式示意图;
74.图1b是本技术实施例提供的虚拟场景的适配显示方法的应用模式示意图;
75.图2是本技术实施例提供的用于适配显示的电子设备的结构示意图;
76.图3a-图3c是本技术实施例提供的虚拟场景的适配显示方法的流程示意图;
77.图4a是本技术实施例提供的高端机低视角的界面示意图;
78.图4b是本技术实施例提供的高端机中等视角的界面示意图;
79.图4c是本技术实施例提供的高端机高视角的界面示意图;
80.图4d是本技术实施例提供的低端机低视角的界面示意图;
81.图5是本技术实施例提供的机型扩展的配置界面示意图;
82.图6是本技术实施例提供的机型扩展的配置界面示意图;
83.图7是本技术实施例提供的配置保存的界面示意图;
84.图8是本技术实施例提供的配置项划分的示意图;
85.图9是本技术实施例提供的虚拟场景的适配显示方法的流程示意图。
具体实施方式
86.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
87.在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
88.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
89.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
90.1)响应于:用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
91.2)客户端:终端中运行的用于提供各种服务的应用程序,例如视频播放客户端、游戏客户端等。
92.3)虚拟场景:应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本
申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。
93.4)虚拟对象:虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,例如在虚拟场景中显示的人物、动物等。该虚拟对象可以是虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
94.5)场景数据:表示虚拟场景的特征数据,例如可以是虚拟场景中建造区域的面积、虚拟场景当前所处的建筑风格等;也可以包括虚拟建筑在虚拟场景中所处的位置、以及虚拟建筑的占地面积等。
95.6)多细节层次模型(lod,level of detail for model):当虚拟场景中的虚拟对象离摄像机很远时,可以看到的细节量会大大减少,可以根据虚拟对象距离摄像机的距离来调整虚拟对象的细节量(即细节程度),也就是三角网格数,这种技术又称距离lod。根据不同的距离开启相对应的不同精度的细节层次模型,以基于不同精度的细节层次模型(lod)呈现虚拟场景中的虚拟对象。
96.7)多细节层次模型组件(lodgroup):游戏引擎(例如unity)提供的一种管理多细节层次模型的组件,可以把多细节层次模型添加至lodgroup中,并根据虚拟对象在屏幕的占比来决定使用哪个细节层次模型。
97.8)机型细节层次模型(机型lod):不同的机型提供不同的细节层次模型,以满足机型适配,让不同的机型适配对应精度的细节层次模型,以顺畅的体验游戏。
98.9)预设体(prefab):一种游戏引擎、游戏开发工具(unity3d)中的资源类型,可以保存工程资源的组合及资源信息。例如,prefab是一种存储在项目视图中的一种可反复使用的游戏对象,能够被放到多个场景中,也能够在同一个场景中放置多次,当将一个prefab放到场景中时,就创建一个对应的实例。
99.10)matrix4x4:标准的4x4转换矩阵,可以使用齐次坐标执行任意线性3d变换(即平移、旋转、缩放、剪切等)和透视变换。
100.11)图像处理器实例化(gpu instance):使用gpu instance可以一次渲染(render)相同网格的多个副本,仅使用少量描绘指令(drawcalls),适用于渲染诸如建筑、树木、草等在场景中重复出现的物体。
101.本技术实施例提供一种虚拟场景的适配显示方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够基于准确的细节层次模型流畅地切换显示虚拟对象。为便于更容易理解本技术实施例提供的虚拟场景的适配显示方法,首先说明本技术实施例提供的虚拟场景的适配显示方法的示例性实施场景,本技术实施例提供的虚拟场景的适配显示方法中的虚拟场景可以完全基于终端输出,或者基于终端和服务器协同输出。
102.在一些实施例中,虚拟场景可以是供游戏角色交互的环境,例如可以是供游戏角色在虚拟场景中进行对战,通过控制游戏角色的行动可以在虚拟场景中进行双方互动,从而使用户能够在游戏的过程中舒缓生活压力。
103.在一个实施场景中,参见图1a,图1a是本技术实施例提供的虚拟场景的适配显示方法的应用模式示意图,适用于一些完全依赖于终端400的图形处理硬件计算能力即可完
成虚拟场景100的相关数据计算的应用模式,例如单机版/离线模式的游戏,通过智能手机、平板电脑和虚拟现实/增强现实设备等各种不同类型的终端400完成虚拟场景的输出。
104.作为示例,图形处理硬件的类型包括中央处理器(cpu,central processing unit)和图形处理器(gpu,graphics processing unit)。
105.当形成虚拟场景100的视觉感知时,终端400通过图形计算硬件计算显示所需要的数据,并完成显示数据的加载、解析和渲染,在图形输出硬件输出能够对虚拟场景形成视觉感知的视频帧,例如,在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;此外,为了丰富感知效果,终端400还可以借助不同的硬件来形成听觉感知、触觉感知、运动感知和味觉感知的一种或多种。
106.作为示例,终端400上运行有客户端410(例如单机版的游戏应用),在客户端410的运行过程中输出包括有角色扮演的虚拟场景,虚拟场景可以是供游戏角色交互的环境,例如可以是用于供游戏角色进行对战的平原、街道、山谷等等;以第一人称视角显示虚拟场景100为例,在虚拟场景100中位于摄像机的视野中的虚拟对象101和平面102,虚拟对象101可以是受用户(或称玩家)控制的游戏角色,即虚拟对象101受控于真实用户(敌方),将响应于真实用户针对按钮(包括摇杆按钮、攻击按钮、防御按钮等)的操作而在虚拟场景中操作,例如当真实用户向左移动摇杆按钮时,虚拟对象将在虚拟场景中向左部移动,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);虚拟对象101也可以是通过训练设置在虚拟场景对战中的人工智能(ai,artificial intelligence);虚拟对象101还可以是设置在虚拟场景互动中的非用户角色(npc,non-player character);虚拟对象101还可以是虚拟场景100中不可活动对象或者可活动对象。
107.举例来说,以第一人称视角的俯视视角显示虚拟场景100为例,在虚拟场景中显示虚拟地面以及摄像机的视野中的虚拟对象101,在虚拟场景中受控于玩家的虚拟对象进行俯冲,即摄像机进行俯冲,则摄像机的视野中的虚拟对象101以及虚拟地面距离摄像机越来越近,通过结合虚拟场景100的摄像机位置参数和图形处理性能参数两种参数,确定出准确以及适配的细节层次模型,从而基于准确且适配的细节层次模型进行虚拟对象101以及虚拟地面的流畅切换,则能看见虚拟对象101以及虚拟地面更多合适的细节,提高虚拟场景的人机交互的效果,也提高了用户的使用体验。
108.在另一个实施场景中,参见图1b,图1b是本技术实施例提供的虚拟场景的适配显示方法的应用模式示意图,应用于终端400和服务器200,适用于依赖于服务器200的计算能力完成虚拟场景计算、并在终端400输出虚拟场景的应用模式。
109.以形成虚拟场景100的视觉感知为例,服务器200进行虚拟场景相关显示数据(例如场景数据)的计算并通过网络300发送到终端400,终端400依赖于图形计算硬件完成计算显示数据的加载、解析和渲染,依赖于图形输出硬件输出虚拟场景以形成视觉感知,例如可以在智能手机的显示屏幕呈现二维的视频帧,或者,在增强现实/虚拟现实眼镜的镜片上投射实现三维显示效果的视频帧;对于虚拟场景的形式的感知而言,可以理解,可以借助于终端400的相应硬件输出,例如使用麦克风形成听觉感知,使用振动器形成触觉感知等等。
110.作为示例,终端400上运行有客户端410(例如网络版的游戏应用),通过连接服务器200(例如游戏服务器)与其他用户进行游戏互动,终端400输出客户端410的虚拟场景100,以第一人称视角显示虚拟场景100为例,在虚拟场景100中位于摄像机的视野中的虚拟
对象101和平面102,虚拟对象101可以是受用户(或称玩家)控制的游戏角色,即虚拟对象101受控于真实用户(敌方),将响应于真实用户针对按钮(包括摇杆按钮、攻击按钮、防御按钮等)的操作而在虚拟场景中操作,例如当真实用户向左移动摇杆按钮时,虚拟对象将在虚拟场景中向左部移动,还可以保持原地静止、跳跃以及使用各种功能(如技能和道具);虚拟对象101也可以是通过训练设置在虚拟场景对战中的人工智能(ai,artificial intelligence);虚拟对象101还可以是设置在虚拟场景互动中的非用户角色(npc,non-player character);虚拟对象101还可以是虚拟场景100中不可活动对象或者可活动对象。
111.举例来说,以第一人称视角的俯视视角显示虚拟场景100为例,在虚拟场景中显示虚拟地面以及摄像机的视野中的虚拟对象101,在虚拟场景中受控于玩家的虚拟对象进行俯冲,即摄像机进行俯冲,则摄像机的视野中的虚拟对象101以及虚拟地面距离摄像机越来越近,通过结合虚拟场景100的摄像机位置参数和图形处理性能参数两种参数,确定出准确以及适配的细节层次模型,从而基于准确且适配的细节层次模型进行虚拟对象101以及虚拟地面的流畅切换,则能看见虚拟对象101以及虚拟地面更多合适的细节,提高虚拟场景的人机交互的效果,也提高了用户的使用体验。
112.在一些实施例中,终端400可以通过运行计算机程序来实现本技术实施例提供的虚拟场景的适配显示方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(native)应用程序(app,application),即需要在操作系统中安装才能运行的程序,例如策略游戏(slg,strategy game)app(即上述的客户端410);也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意app中的游戏小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
113.以计算机程序为应用程序为例,在实际实施时,终端400安装和运行有支持虚拟场景的应用程序。该应用程序可以是第一人称射击游戏(fps,first-person shooting game)、第三人称射击游戏、虚拟现实应用程序、三维地图程序或者多人枪战类生存游戏中的任意一种。用户使用终端400操作位于虚拟场景中的虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷、建造虚拟建筑中的至少一种。示意性的,该虚拟对象可以是虚拟人物,比如仿真人物角色或动漫人物角色等。
114.在一些实施例中,本技术实施例还可以借助于云技术(cloud technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
115.云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
116.示例的,图1b中的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
117.参见图2,图2是本技术实施例提供的用于适配显示的电子设备的结构示意图,以电子设备为终端400为例进行说明,图2所示的电子设备400包括:至少一个处理器420、存储器460、至少一个网络接口430和用户接口440。终端400中的各个组件通过总线系统450耦合在一起。可理解,总线系统450用于实现这些组件之间的连接通信。总线系统450除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统450。
118.处理器420可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
119.用户接口440包括使得能够呈现媒体内容的一个或多个输出装置441,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口440还包括一个或多个输入装置442,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
120.存储器460可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器460可选地包括在物理位置上远离处理器420的一个或多个存储设备。
121.存储器460包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器460旨在包括任意适合类型的存储器。
122.在一些实施例中,存储器460能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
123.操作系统461,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
124.网络通信模块462,用于经由一个或多个(有线或无线)网络接口430到达其他计算设备,示例性的网络接口430包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
125.呈现模块463,用于经由一个或多个与用户接口440相关联的输出装置441(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
126.输入处理模块464,用于对一个或多个来自一个或多个输入装置442之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
127.在一些实施例中,本技术实施例提供的虚拟场景的适配显示装置可以采用软件方式实现,图2示出了存储在存储器460中的虚拟场景的适配显示装置465,其可以是程序和插件等形式的软件,包括以下软件模块:第一确定模块4651、第二确定模块4652以及第一显示模块4653,或者,第二显示模块4654、第三显示模块4655,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。需要指出的是,在图2中为了方便表达,一次性示出了上述所有模块,但是不应视为在虚拟场景的适配显示装置465排除了可以只包
括第一确定模块4651、第二确定模块4652以及第一显示模块4653,或者,第二显示模块4654、第三显示模块4655的实施,将在下文中说明各个模块的功能。
128.在另一些实施例中,本技术实施例提供的虚拟场景的适配显示装置可以采用硬件方式实现,作为示例,本技术实施例提供的虚拟场景的适配显示装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的虚拟场景的适配显示方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
129.下面将结合附图对本技术实施例提供的虚拟场景的适配显示方法进行具体说明。本技术实施例提供的虚拟场景的适配显示方法可以由图1a中的终端400单独执行,也可以由图1b中的终端400和服务器200协同执行。
130.下面,以由图1a中的终端400单独执行本技术实施例提供的虚拟场景的适配显示方法为例进行说明。参见图3a,图3a是本技术实施例提供的虚拟场景的适配显示方法的流程示意图,将结合图3a示出的步骤进行说明。
131.需要说明的是,图3a示出的方法可以由终端400上运行的各种形式的计算机程序执行,并不局限于上述的客户端410,还可以是上文的操作系统461、软件模块和脚本,因此客户端不应视为对本技术实施例的限定。
132.在步骤101中,确定与虚拟场景的第一参数适配的多个细节层次模型;其中,第一参数是摄像机位置参数和图形处理性能参数的任意一个。
133.例如,当第一参数为图形处理性能参数时,先确定与虚拟场景的图形处理性能参数适配的多个细节层次模型,然后从多个细节层次模型中,确定与虚拟场景的摄像机位置参数适配的目标细节层次模型,并根据目标细节层次模型,显示虚拟场景中位于摄像机的视野中的虚拟对象;当第一参数为摄像机位置参数时,先确定与虚拟场景的摄像机位置参数适配的多个细节层次模型,然后从多个细节层次模型中,确定与虚拟场景的图形处理性能参数适配的目标细节层次模型,并根据目标细节层次模型,显示虚拟场景中位于摄像机的视野中的虚拟对象。
134.在一些实施例中,摄像机距离参数是以下之一:虚拟场景的摄像机与摄像机的视野中的虚拟对象之间的距离;摄像机与虚拟场景的平面(例如虚拟地面、虚拟水面、虚拟天空等参考面)之间的垂直距离;摄像机与虚拟场景的平面之间的垂直距离与虚拟对象的高度的差值。
135.例如,当虚拟场景中的虚拟对象的高度比较小时,在计算摄像机距离参数时可忽略虚拟场景中的虚拟对象的高度,从而提高摄像机距离参数的计算速率。
136.下面以第一参数为图形处理性能参数为例进行说明:
137.参见图3b,图3b是本技术实施例提供的虚拟场景的适配显示方法的一个可选的流程示意图,图3b示出图3a中的步骤101可以通过步骤1011-步骤1012实现:在步骤1011中,当第一参数为图形处理性能参数时,获取性能参数配置文件,其中,性能参数配置文件包括不同图形处理性能参数与不同细节层次模型的关联关系;在步骤1012中,基于虚拟场景的图形处理性能参数查询性能参数配置文件,得到与虚拟场景的图形处理性能参数适配的多个
细节层次模型。
138.例如,预先配置不同图形处理性能参数与不同细节层次模型的关联关系,并保存于性能参数配置文件中,在获取虚拟场景的图形处理性能参数后,基于虚拟场景的图形处理性能参数查询性能参数配置文件包括的不同图形处理性能参数与不同细节层次模型的关联关系,以查询到与虚拟场景的图形处理性能参数适配的多个细节层次模型,后续结合摄像机距离参数对多个细节层次模型进一步筛选,以得到与摄像机距离参数以及图形处理性能参数适配的目标细节层次模型,并基于目标细节层次模型,显示虚拟场景中所有的虚拟对象。
139.作为示例,虚拟场景的图形处理性能参数为性能强,基于虚拟场景的图形处理性能参数查询性能参数配置文件,得到与虚拟场景的图形处理性能参数适配的多个细节层次模型为lod1、lod2以及lod3。
140.在一些实施例中,性能参数配置文件包括针对不同虚拟对象的模型配置表,模型配置表包括不同图形处理性能参数与针对虚拟对象的不同细节层次模型的关联关系;基于虚拟场景的图形处理性能参数查询性能参数配置文件,得到与虚拟场景的图形处理性能参数适配的多个细节层次模型,包括:基于虚拟场景中的虚拟对象查询性能参数配置文件,得到针对虚拟对象的模型配置表;基于虚拟场景的图形处理性能参数查询针对虚拟对象的模型配置表,得到与虚拟场景的图形处理性能参数、虚拟对象适配的多个细节层次模型。
141.例如,本技术实施例可以基于确定出的目标细节层次模型,显示虚拟场景中所有的虚拟对象,例如虚拟对象1的细节程度为lod1,虚拟对象2的细节程度为lod1;本技术实施例还可以对虚拟场景中的虚拟对象进行个性化设置,即不同的虚拟对象可以通过不同细节程度显示,例如虚拟对象1的细节程度为lod1,虚拟对象2的细节程度为lod2。
142.针对虚拟场景中的虚拟对象进行个性化设置的情况,预先配置包括不同图形处理性能参数与针对虚拟对象的不同细节层次模型的关联关系的配置表,并保存于性能参数配置文件中,在获取虚拟场景的图形处理性能参数后,先基于虚拟场景中的某虚拟对象查询性能参数配置文件,得到针对该虚拟对象的模型配置表,并基于虚拟场景的图形处理性能参数查询针对虚拟对象的模型配置表,以查询到与虚拟场景的图形处理性能参数、该虚拟对象适配的多个细节层次模型,后续结合摄像机距离参数对多个细节层次模型进一步筛选,以得到与摄像机距离参数以及图形处理性能参数适配的目标细节层次模型,并基于目标细节层次模型,显示虚拟场景中该虚拟对象。
143.需要说明的是,通过分虚拟对象配置配置表,从而能够同时配置多个配置表,加快配置效率,也便于查阅细节层次模型的配置信息。
144.在一些实施例中,性能参数配置文件包括不同图形处理性能参数与针对不同虚拟对象的不同细节层次模型的关联关系;基于虚拟场景的图形处理性能参数查询性能参数配置文件,得到与虚拟场景的图形处理性能参数适配的多个细节层次模型,包括:基于虚拟场景中的虚拟对象以及虚拟场景的图形处理性能参数查询性能参数配置文件,得到与虚拟场景的图形处理性能参数、虚拟对象适配的多个细节层次模型。
145.针对虚拟场景中的虚拟对象进行个性化设置的情况,预先配置不同图形处理性能参数与针对不同虚拟对象的不同细节层次模型的关联关系,并保存于性能参数配置文件中,在获取虚拟场景的图形处理性能参数后,基于虚拟场景中的虚拟对象以及虚拟场景的
图形处理性能参数查询性能参数配置文件,以查询到与虚拟场景的图形处理性能参数、虚拟对象适配的多个细节层次模型,后续结合摄像机距离参数对多个细节层次模型进一步筛选,以得到与摄像机距离参数以及图形处理性能参数适配的目标细节层次模型,并基于目标细节层次模型,显示虚拟场景中该虚拟对象。
146.在一些实施例中,图形处理性能参数包括图形处理硬件参数,性能参数配置文件包括不同图形处理硬件参数与不同细节层次模型的关联关系;基于虚拟场景的图形处理性能参数查询性能参数配置文件,得到与虚拟场景的图形处理性能参数适配的多个细节层次模型,包括:在虚拟场景运行结束前,基于虚拟场景的图形处理硬件参数查询性能参数配置文件,得到与虚拟场景的图形处理硬件参数适配的多个细节层次模型;其中,图形处理硬件参数是根据显示虚拟场景的电子设备的机型查询到的,且包括以下至少之一:处理器型号、存储器容量。
147.例如,处理器包括中央处理器、图形处理器等,不同型号的处理器、不同容量的存储器,其运行软件的速率不同,在虚拟场景开始运行时或者虚拟场景运行中,基于虚拟场景的图形处理硬件参数查询性能参数配置文件,得到与虚拟场景的图形处理硬件参数适配的多个细节层次模型,例如,当显示虚拟场景的电子设备的存储器容量大、处理器能力强,则与虚拟场景的图形处理硬件参数适配的多个细节层次模型的细节程度高。
148.在一些实施例中,图形处理性能参数包括图形处理软件参数,性能参数配置文件包括不同图形处理软件参数与不同细节层次模型的关联关系;基于虚拟场景的图形处理性能参数查询性能参数配置文件,得到与虚拟场景的图形处理性能参数适配的多个细节层次模型,包括:基于虚拟场景运行时的图形处理软件参数查询性能参数配置文件,得到与虚拟场景运行时的图形处理软件参数适配的多个细节层次模型;其中,图形处理软件参数包括以下至少之一:存储器空闲容量、处理器空闲计算能力。
149.例如,处理器包括中央处理器、图形处理器等,当电子设备运行软件后,其运行软件的速率不同,在虚拟场景运行中,基于虚拟场景的图形处理软件参数查询性能参数配置文件,得到与虚拟场景的图形处理软件参数实时适配的多个细节层次模型,例如,当显示虚拟场景的电子设备的存储器空闲容量大、处理器空闲计算能力强,则与虚拟场景的图形处理硬件参数适配的多个细节层次模型的细节程度高。其中,计算能力取决于核心的个数、核心的频率、核心单时钟周期等。
150.在一些实施例中,图形处理性能参数包括图形处理软件参数以及图形处理硬件参数,性能参数配置文件包括不同图形处理硬件参数与不同细节层次模型的第一关联关系、不同图形处理软件参数与不同细节层次模型的第二关联关系;基于虚拟场景的图形处理性能参数查询性能参数配置文件,得到与虚拟场景的图形处理性能参数适配的多个细节层次模型,包括:当虚拟场景的图形处理软件参数大于性能阈值时,基于虚拟场景的图形处理硬件参数查询性能参数配置文件包括的第一关联关系,得到与虚拟场景的图形处理硬件参数适配的多个细节层次模型;当虚拟场景的图形处理软件参数小于或者等于性能阈值时,基于虚拟场景运行时的图形处理硬件参数查询性能参数配置文件包括的第二关联关系,得到与虚拟场景运行时的图形处理软件参数适配的多个细节层次模型。
151.例如,当虚拟场景的图形处理软件参数大于性能阈值时,说明其运行软件的速率比较快,此时完全可以依据不同图形处理硬件参数与不同细节层次模型的第一关联关系,
查询到与虚拟场景的图形处理硬件参数适配的多个细节层次模型,与虚拟场景的图形处理硬件参数适配的细节层次模型即可满足虚拟场景运行的流畅性;当虚拟场景的图形处理软件参数小于或者等于性能阈值时,说明其运行软件的速率比较慢,此时需要依据不同图形处理软件参数与不同细节层次模型的第二关联关系,查询到与虚拟场景的图形处理软件参数实时适配的多个细节层次模型,与虚拟场景的图形处理软件参数适配的细节层次模型即可满足虚拟场景运行的流畅性。
152.在步骤102中,从多个细节层次模型中,确定与虚拟场景的第二参数适配的目标细节层次模型;其中,第二参数是摄像机距离参数和图形处理性能参数中除第一参数的另一个。
153.以第二参数为摄像机距离参数为例,确定与虚拟场景的图形处理性能参数适配的多个细节层次模型后,从多个细节层次模型中,确定与虚拟场景的摄像机位置参数适配的目标细节层次模型,并根据目标细节层次模型,显示虚拟场景中位于摄像机的视野中的虚拟对象,从而在保证虚拟场景运行流畅的情况下,虚拟对象所呈现出来的细节程度符合实际需求。
154.下面以第二参数为摄像机距离参数为例进行说明:
155.在一些实施例中,当第二参数为摄像机距离参数时,从多个细节层次模型中,确定与虚拟场景的第二参数适配的目标细节层次模型,包括:获取距离参数配置文件,其中,距离参数配置文件包括不同摄像机距离参数与不同细节层次模型的关联关系;基于虚拟场景的摄像机距离参数查询距离参数配置文件,得到与虚拟场景的摄像机距离参数适配的目标细节层次模型。
156.例如,预先配置不同摄像机距离参数与不同细节层次模型的关联关系,并保存于距离参数配置文件中,在获取虚拟场景的摄像机距离参数后,基于虚拟场景的摄像机距离参数查询距离参数配置文件包括的不同摄像机距离参数与不同细节层次模型的关联关系,以查询到与虚拟场景的第二参数适配的目标细节层次模型,从而得到与摄像机距离参数以及图形处理性能参数适配的目标细节层次模型,并基于目标细节层次模型,显示虚拟场景中所有的虚拟对象。
157.在一些实施例中,距离参数配置文件包括不同摄像机距离区间与不同细节层次模型的关联关系,摄像机距离区间是通过对摄像机距离参数的取值区间进行划分得到的;基于虚拟场景的摄像机距离参数查询距离参数配置文件,得到与虚拟场景的摄像机距离参数适配的目标细节层次模型,包括:基于虚拟场景的摄像机距离参数查询距离参数配置文件包括的摄像机距离区间,得到与虚拟场景的摄像机距离参数对应的摄像机距离区间;基于与虚拟场景的摄像机距离对应的摄像机距离区间,查询距离参数配置文件包括的不同摄像机距离区间与不同细节层次模型的关联关系,得到与虚拟场景的摄像机距离参数适配的目标细节层次模型。
158.例如,根据虚拟对象的实际显示需求,对摄像机距离参数的取值区间进行划分,得到多个摄像机距离区间,预先配置不同摄像机距离区间与不同细节层次模型的关联关系,并保存于距离参数配置文件中,在获取虚拟场景的摄像机距离参数后,先基于虚拟场景的摄像机距离参数查询距离参数配置文件包括的摄像机距离区间,查询到与虚拟场景的摄像机距离参数对应的摄像机距离区间;基于与虚拟场景的摄像机距离对应的摄像机距离区
间,查询距离参数配置文件包括的不同摄像机距离区间与不同细节层次模型的关联关系,查询到与虚拟场景的摄像机距离参数适配的目标细节层次模型。
159.在步骤103中,根据目标细节层次模型,显示虚拟场景中位于摄像机的视野中的虚拟对象。
160.例如,确定与摄像机距离参数以及图形处理性能参数适配的目标细节层次模型后,并基于目标细节层次模型,显示虚拟场景中所有的虚拟对象,从而在保证虚拟场景运行流畅的情况下,虚拟对象所呈现出来的细节程度符合实际需求。
161.在一些实施例中,当与虚拟场景的第二参数适配的细节层次模型有多个时,获取在虚拟场景中控制虚拟对象的账号对应的用户画像;基于与虚拟场景的第二参数适配的多个细节层次模型以及用户画像调用细节层次偏好模型,得到目标细节层次模型。
162.例如,在虚拟场景中控制虚拟对象的账号对应的用户画像可以通过历史数据统计。通过细节层次偏好模型结合与虚拟场景的第二参数适配的多个细节层次模型以及用户画像进行细节层次模型的预测处理,得到账号可能偏好的细节层次模型(即目标细节层次模型)。其中,细节层次偏好模型可以为经过训练的神经网络模型,神经网络模型可以是与多个细节层次模型样本以及用户画像样本以及目标细节层次模型样本训练得到的。
163.在一些实施例中,当与虚拟场景的第二参数适配的细节层次模型有多个时,获取虚拟场景中位于摄像机的视野中的虚拟对象的复杂程度;基于与虚拟场景的第二参数适配的多个细节层次模型以及复杂程度调用细节层次预测模型,得到目标细节层次模型。
164.例如,通过细节层次偏好模型结合与虚拟场景的第二参数适配的多个细节层次模型以及复杂程度进行细节层次模型的预测处理,得到合适的细节层次模型(即目标细节层次模型)。其中,细节层次偏好模型可以为经过训练的神经网络模型,神经网络模型可以是与多个细节层次模型样本以及虚拟对象样本以及目标细节层次模型样本训练得到的。
165.在一些实施例中,根据目标细节层次模型,显示虚拟场景中位于摄像机的视野中的虚拟对象,包括:获取目标细节层次模型的模型参数,其中,模型参数包括模型网格以及模型材质;根据模型参数,显示虚拟场景中位于摄像机的视野中的虚拟对象。
166.例如,当确定了目标细节层次模型后,加载目标细节层次模型的模型参数,从而根据实时获取的模型参数,显示虚拟场景中位于摄像机的视野中的虚拟对象,以实现即取即用,避免预先加载模型参数,占用存储空间。
167.在一些实施例中,在根据目标细节层次模型,显示虚拟场景中位于摄像机的视野中的虚拟对象之前,获取每个细节层次模型的模型参数,其中,模型参数包括模型网格以及模型材质;将每个细节层次模型的模型参数存储至缓存空间;根据目标细节层次模型,显示虚拟场景中位于摄像机的视野中的虚拟对象,包括:从缓存空间获取目标细节层次模型的模型参数;根据目标细节层次模型的模型参数,显示虚拟场景中位于摄像机的视野中的虚拟对象。
168.例如,预先加载每个细节层次模型的模型参数,当确定目标细节层次模型后,及时从缓存空间中获取目标细节层次模型的模型参数;根据目标细节层次模型的模型参数,显示虚拟场景中位于摄像机的视野中的虚拟对象,从而在需要显示虚拟对象时,节约了模型参数的加载时间。
169.综上,本技术实施例提供的虚拟场景的适配显示方法通过结合虚拟场景的摄像机
位置参数和图形处理性能参数两种参数,确定出准确以及适配的目标细节层次模型,从而基于准确且适配的目标细节层次模型进行虚拟对象的流畅切换,提高虚拟场景的人机交互的效果,并节约了相关的通信资源和计算资源。
170.下面将结合附图对本技术实施例提供的虚拟场景的适配显示方法进行具体说明。本技术实施例提供的虚拟场景的适配显示方法可以由图1a中的终端400单独执行,也可以由图1b中的终端400和服务器200协同执行。
171.下面,以由图1a中的终端400单独执行本技术实施例提供的虚拟场景的适配显示方法为例进行说明。参见图3c,图3c是本技术实施例提供的虚拟场景的适配显示方法的流程示意图,将结合图3c示出的步骤进行说明。
172.需要说明的是,图3c示出的方法可以由终端400上运行的各种形式的计算机程序执行,并不局限于上述的客户端410,还可以是上文的操作系统461、软件模块和脚本,因此客户端不应视为对本技术实施例的限定。
173.在步骤201中,基于第一细节层次模型,显示虚拟场景中位于摄像机的视野中的虚拟对象。
174.例如,第一细节层次模型与当前的垂直距离适配,通过与当前的垂直距离适配的细节层次模型,显示虚拟场景中位于摄像机的视野中的虚拟对象。
175.如图4b所示,当前的垂直距离在中等距离时,摄像机距离山401(即虚拟对象)比较近,能清晰看见山401的细节。
176.在步骤202中,响应于摄像机相对于虚拟场景的平面的垂直距离发生变化,基于第二细节层次模型更新显示虚拟场景中位于摄像机的视野中的虚拟对象;其中,第二细节层次模型的细节程度与变化后的垂直距离负相关。
177.例如,当摄像机相对于虚拟场景的平面的垂直距离变短时,基于第二细节层次模型更新显示虚拟场景中位于摄像机的视野中的虚拟对象,更新显示后的虚拟对象的细节程度变高,如图4a所示,摄像机距离山401很近,可清晰看见山401的大量细节,相对于图4b,图4a中山包含的模型面数增加,模型材质也更好了;当摄像机相对于虚拟场景的平面的垂直距离变长时,基于第二细节层次模型更新显示虚拟场景中位于摄像机的视野中的虚拟对象,更新显示后的虚拟对象的细节程度变低,如图4c所示,摄像机距离山401比较远,能看见山401的部分细节,相对于图4b,图4c中山包含的模型面数减少,模型材质也简化了。
178.在一些实施例中,摄像机相对于虚拟场景的平面的垂直距离是以下之一:摄像机与虚拟场景的平面之间的垂直距离;摄像机与虚拟场景的平面之间的垂直距离与虚拟对象的高度的差值。
179.例如,当虚拟场景中的虚拟对象的高度比较小时,在计算摄像机距离参数时可忽略虚拟场景中的虚拟对象的高度,从而提高摄像机距离参数的计算速率。
180.在一些实施例中,在基于第二细节层次模型更新显示虚拟场景中位于摄像机的视野中的虚拟对象之前,确定与虚拟场景的图形处理性能参数适配的多个细节层次模型;从多个细节层次模型中,确定与变化后的垂直距离适配的第二细节层次模型。
181.例如,先确定与虚拟场景的图形处理性能参数适配的多个细节层次模型,然后从多个细节层次模型中,确定与变化后的垂直距离适配的第二细节层次模型,并根据第二细节层次模型,更新显示虚拟场景中位于摄像机的视野中的虚拟对象,从而结合摄像机的距
离参数以及图形处理性能参数,适配出准确的第二细节层次模型,并基于合适的第二细节层次模型,体现虚拟场景中的虚拟对象的细节。
182.在一些实施例中,在基于第二细节层次模型更新显示虚拟场景中位于摄像机的视野中的虚拟对象之前,确定与变化后的垂直距离适配的多个细节层次模型;从多个细节层次模型中,确定与虚拟场景的图形处理性能参数适配的第二细节层次模型。
183.例如,先确定与变化后的垂直距离适配的多个细节层次模型,然后从多个细节层次模型中,确定与虚拟场景的图形处理性能参数适配的第二细节层次模型,并根据第二细节层次模型,更新显示虚拟场景中位于摄像机的视野中的虚拟对象,从而结合摄像机的距离参数以及图形处理性能参数,适配出准确的第二细节层次模型,并基于合适的第二细节层次模型,体现虚拟场景中的虚拟对象的细节。
184.需要说明的是,与虚拟场景的图形处理性能参数适配以及与垂直距离适配的过程与上述实施例适配的过程类似。
185.综上,本技术实施例提供的虚拟场景的适配显示方法通过摄像机相对于虚拟场景的平面的垂直距离这一参数,快速确定出适配的细节层次模型,从而基于适配的细节层次模型进行虚拟对象的流畅切换,提高虚拟场景的人机交互的效果,并节约了相关的通信资源和计算资源。
186.下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
187.下面以虚拟场景为游戏为例进行说明:
188.相关技术中,unity提供的lodgroup方案在游戏开始时就加载了所有模型网格(mesh)以及模型材质,内存上会增加开销。另外,lodgroup方案也解决不了机型lod的问题。
189.为了解决上述问题,本技术实施例提供一种虚拟场景的适配显示方法,可以用于机型lod和距离lod。用于适配不同的机型,也让不同的距离加载不同细节程度的模型(即不同层次模型),以提升游戏的运行的性能;本技术实施例提供的虚拟场景的适配显示方法可以需要lod时再加载lod包括的模型网格以及模型材质,加载完后再切换显示lod,也可以提前预加载;本技术实施例中在游戏运行时,根据机型确定对应的配置文件,再根据垂直距离查询配置文件来切换不同的lod。
190.需要说明的是,越来越多的slg游戏是俯视角的,是通过改变摄像机的位置和高度来观察游戏中的整个大世界。以场景为山为例,如图4a所示,在高端机低视角下,摄像机距离山401很近,可清晰看见山401的大量细节,即游戏中山包括大量的三角网格;如图4b所示,高端机中等视角下,摄像机距离山401比较近,仍能清晰看见山401的细节;如图4c所示,高端机高视角下摄像机距离山401比较远,能看见山401的部分细节,相对于图4a,图4c中山包含的模型面数减少,模型材质也简化了;如图4d所示,低端机低视角下,摄像机距离山401很近,可清晰看见山401的大量细节,相对于图4a,图4c中山包含的模型面数减少,但肉眼上看细节与高端机所呈现的效果差不多。
191.需要说明的是,美术设计师制作提供不同模型的lod,并以lod01、lod02、lod03、lod04等进行命名,模型网格(mesh)和模型材质也以这种方式进行命名,例如xxx_01.mesh、xxx_02.mesh、xxx_03.mesh、xxx_01.mat、xxx_02.mat、xxx_03.mat等。lod的模型细节依次从高到低,以prefab的形式存在,prefab关联对应的mesh和模型材质。
192.另外,本技术实施例提供一种配置工具,可以用于美术设计师配置机型lod和距离
lod,例如,提供如表1以及表2所示的配置项。
193.表1
[0194][0195][0196]
表2
[0197][0198][0199]
下面对上述配置进行说明:
[0200]
1)表1中的maincity、表2中的hill是模块名,而mc_hav01_01是模块内部中prefab的前缀,设置在表1所示的资源菜单栏第一列里,其中,mc_hav01_01的后缀01、02、03、04是lod的索引。
[0201]
2)s、a、b、c是机型分档,分别代表极致、高、中、低,s1、s2、s3分别代表不同的高度层(实际使用时还是根据距离来划分),分别代表低、中、高。配置不同的机型lod,可以灵活的扩展到n档,n最大能与客户端的机型档位最大值匹配,如图5所示,将机型lod灵活的扩展到s档501、a档502、b档503、c档504。
[0202]
3)如表1中所示的s1的距离lod有三项,即lod1、lod2、lod3,s2和s3的距离lod有一项,如图6所示,界面中“ ”601用于添加距离lod,“x”602用于删除距离lod,“资源”那一列是lod的prefab的前缀,“距离值”那一列是物体离摄像机的最大显示距离,超过这个距离就不展示,如果有下一层,就自动切换到下一层的lod。其中,不同机型lod可以重复。
[0203]
需要说明的是,因为游戏是俯视角,所以将摄像机实际距离,简化为物体(即游戏中的虚拟对象)与摄像机的垂直距离,这样可以减少中央处理器计算的开销。当然,如果想
用于非俯视角的游戏,只需要将垂直距离改成实际距离也是可以的,只是计算量和代码复杂度要稍大一些。
[0204]
如图7所示,美术设计师配置完成后,点击“保存lod配置”按钮701,即可保存lod配置,并生成2份配置文件,一份是关于美术设计师的配置工具的信息,一份是提供给客户端的lod机型分档的配置文件。
[0205]
关于美术设计师的配置工具的信息:如图8所示,将配置项按照划分的模块分档配置保存起来,美术设计师可以同时编辑不同的模块,也便于查阅。
[0206]
关于分档配置(loddevicecfg):根据不同机型档位分不同的文件,即loddevicecfg_s、loddevicecfg_a、loddevicecfg_b、loddevicecfg_c。
[0207]
在游戏运行时,根据不同机型选对应的配置文件,再根据垂直距离来切换不同的lod,其具体的流程如图9所示:
[0208]
步骤11、游戏启动后,判断机型。
[0209]
步骤12、读取对应机型lod配置。
[0210]
步骤13、摄像机移动后,加载视野内对应地块的模型配置。例如,当摄像机移动到特定位置,根据地块保存的模型信息,来加载对应的模型配置。
[0211]
步骤14、根据模型id读取lod配置,以获取对应的配置项。
[0212]
步骤15、根据当前摄像机高度加载对应层的模型。
[0213]
步骤16、当摄像机高度(即物体与摄像机的垂直距离)发生变化时,判断模型是否需要切换,当高度不在当前的高度范围内,就需要切换lod了。
[0214]
例如,当摄像机高度所在的层次大于或者等于当前层,则加载上一层模型,并显示上一层模型,隐藏当前层;当摄像机高度所在的层次小于当前层、且小于或者等于下一层,则加载下一层模型,并显示下一层模型,隐藏当前层。
[0215]
由于加载是异步的,加载完后需要重新判断当前垂直距离是否在当前lod的距离范围内,当前垂直距离不在当前lod的距离范围内,则需要继续切换。
[0216]
需要说明的是,对于同样的模型,坐标、缩放、旋转等属性信息(transform)不同时,可以从lod系统获取对应的模型,再根据如下的情况来处理transform。
[0217]
a.如果物体不适合用图像处理器实例化(gpu instance)处理,则需要进行实例化,并修改实例中的transform信息;
[0218]
b.如果物体适合用gpu instance处理,则不需要实例化,transform信息可以转为物体的matrix4x4来处理。
[0219]
综上,本技术实施例提供的虚拟场景的适配显示方法具有以下有益效果:
[0220]
1)计算物体模型(物体对应的模型)与摄像机的距离比较简单,即将实际距离简化为摄像机垂直高度减去物体模型的垂直高度,如果物体模型较小,可以忽略物体模型的垂直高度,因此本技术实施例的距离计算简单高效,适用于对大多数slg游戏。
[0221]
2)本技术实施例需要lod时再加载lod包括的模型网格以及模型材质,并且加载完后再去做无缝切换,以减小内存开销。
[0222]
3)本技术实施例既能处理机型lod,也能处理距离lod,并且可以很方便的扩展机型lod和距离lod,更好地满足实际的项目需求。
[0223]
至此已经结合本技术实施例提供的终端的示例性应用和实施,说明本技术实施例
提供的虚拟场景的适配显示方法,下面继续说明本技术实施例提供的虚拟场景的适配显示装置465中各个模块配合实现虚拟场景的适配显示方案。
[0224]
第一确定模块4651,用于确定与所述虚拟场景的第一参数适配的多个细节层次模型;其中,所述第一参数是摄像机位置参数和图形处理性能参数的任意一个;第二确定模块4652,用于从所述多个细节层次模型中,确定与所述虚拟场景的第二参数适配的目标细节层次模型;其中,所述第二参数是所述摄像机距离参数和所述图形处理性能参数中除所述第一参数的另一个;第一显示模块4653,用于根据所述目标细节层次模型,显示所述虚拟场景中位于摄像机的视野中的虚拟对象。
[0225]
在一些实施例中,当所述第一参数为所述图形处理性能参数时,所述第一确定模块4651还用于获取性能参数配置文件,其中,所述性能参数配置文件包括不同所述图形处理性能参数与不同细节层次模型的关联关系;基于所述虚拟场景的图形处理性能参数查询所述性能参数配置文件,得到与所述虚拟场景的图形处理性能参数适配的多个细节层次模型。
[0226]
在一些实施例中,所述性能参数配置文件包括针对不同虚拟对象的模型配置表,所述模型配置表包括不同所述图形处理性能参数与针对所述虚拟对象的不同细节层次模型的关联关系;所述第一确定模块4651还用于基于所述虚拟场景中的虚拟对象查询所述性能参数配置文件,得到针对所述虚拟对象的模型配置表;基于所述虚拟场景的图形处理性能参数查询针对所述虚拟对象的模型配置表,得到与所述虚拟场景的图形处理性能参数、所述虚拟对象适配的多个细节层次模型。
[0227]
在一些实施例中,所述性能参数配置文件包括不同所述图形处理性能参数与针对不同虚拟对象的不同细节层次模型的关联关系;所述第一确定模块4651还用于基于所述虚拟场景中的虚拟对象以及所述虚拟场景的图形处理性能参数查询所述性能参数配置文件,得到与所述虚拟场景的图形处理性能参数、所述虚拟对象适配的多个细节层次模型。
[0228]
在一些实施例中,所述图形处理性能参数包括图形处理硬件参数,所述性能参数配置文件包括不同所述图形处理硬件参数与不同细节层次模型的关联关系;所述第一确定模块4651还用于在所述虚拟场景运行结束前,基于所述虚拟场景的图形处理硬件参数查询所述性能参数配置文件,得到与所述虚拟场景的图形处理硬件参数适配的多个细节层次模型;其中,所述图形处理硬件参数是根据显示所述虚拟场景的电子设备的机型查询到的,且包括以下至少之一:处理器型号、存储器容量。
[0229]
在一些实施例中,所述图形处理性能参数包括图形处理软件参数,所述性能参数配置文件包括不同所述图形处理软件参数与不同细节层次模型的关联关系;所述第一确定模块4651还用于基于所述虚拟场景运行时的图形处理软件参数查询所述性能参数配置文件,得到与所述虚拟场景运行时的图形处理软件参数适配的多个细节层次模型;其中,所述图形处理软件参数包括以下至少之一:存储器空闲容量、处理器空闲计算能力。
[0230]
在一些实施例中,所述图形处理性能参数包括图形处理软件参数以及图形处理硬件参数,所述性能参数配置文件包括不同所述图形处理硬件参数与不同细节层次模型的第一关联关系、不同所述图形处理软件参数与不同细节层次模型的第二关联关系;所述第一确定模块4651还用于当所述虚拟场景的图形处理软件参数大于性能阈值时,基于所述虚拟场景的图形处理硬件参数查询所述性能参数配置文件包括的第一关联关系,得到与所述虚
拟场景的图形处理硬件参数适配的多个细节层次模型;当所述虚拟场景的图形处理软件参数小于或者等于所述性能阈值时,基于所述虚拟场景运行时的图形处理硬件参数查询所述性能参数配置文件包括的第二关联关系,得到与所述虚拟场景运行时的图形处理软件参数适配的多个细节层次模型。
[0231]
在一些实施例中,当所述第二参数为所述摄像机距离参数时,所述第二确定模块4652还用于获取距离参数配置文件,其中,所述距离参数配置文件包括不同所述摄像机距离参数与不同细节层次模型的关联关系;基于所述虚拟场景的摄像机距离参数查询所述距离参数配置文件,得到与所述虚拟场景的摄像机距离参数适配的目标细节层次模型。
[0232]
在一些实施例中,所述距离参数配置文件包括不同所述摄像机距离区间与不同细节层次模型的关联关系,所述摄像机距离区间是通过对所述摄像机距离参数的取值区间进行划分得到的;所述第二确定模块4652还用于基于所述虚拟场景的摄像机距离参数查询所述距离参数配置文件包括的摄像机距离区间,得到与所述虚拟场景的摄像机距离参数对应的摄像机距离区间;基于与所述虚拟场景的摄像机距离对应的摄像机距离区间,查询所述距离参数配置文件包括的不同所述摄像机距离区间与不同细节层次模型的关联关系,得到与所述虚拟场景的摄像机距离参数适配的目标细节层次模型。
[0233]
在一些实施例中,所述摄像机距离参数是以下之一:所述虚拟场景的摄像机与所述摄像机的视野中的虚拟对象之间的距离;所述摄像机与所述虚拟场景的平面之间的垂直距离;所述摄像机与所述虚拟场景的平面之间的垂直距离与所述虚拟对象的高度的差值。
[0234]
在一些实施例中,所述第一显示模块4653还用于获取所述目标细节层次模型的模型参数,其中,所述模型参数包括模型网格以及模型材质;根据所述模型参数,显示所述虚拟场景中位于摄像机的视野中的虚拟对象。
[0235]
在一些实施例中,在所述根据所述目标细节层次模型,显示所述虚拟场景中位于摄像机的视野中的虚拟对象之前,所述第二确定模块4652还用于获取每个所述细节层次模型的模型参数,其中,所述模型参数包括模型网格以及模型材质;将每个所述细节层次模型的模型参数存储至缓存空间;从所述缓存空间获取所述目标细节层次模型的模型参数;根据所述目标细节层次模型的模型参数,显示所述虚拟场景中位于摄像机的视野中的虚拟对象。
[0236]
在一些实施例中,当与所述虚拟场景的第二参数适配的细节层次模型有多个时,所述第二确定模块4652还用于获取在所述虚拟场景中控制虚拟对象的账号对应的用户画像;基于与所述虚拟场景的第二参数适配的多个细节层次模型以及所述用户画像调用细节层次偏好模型,得到所述目标细节层次模型。
[0237]
在一些实施例中,当与所述虚拟场景的第二参数适配的细节层次模型有多个时,所述第二确定模块4652还用于获取所述虚拟场景中位于摄像机的视野中的虚拟对象的复杂程度;基于与所述虚拟场景的第二参数适配的多个细节层次模型以及所述复杂程度调用细节层次预测模型,得到所述目标细节层次模型。
[0238]
第二显示模块4654,用于基于第一细节层次模型,显示所述虚拟场景中位于摄像机的视野中的虚拟对象;第三显示模块4655,用于响应于所述摄像机相对于所述虚拟场景的平面的垂直距离发生变化,基于第二细节层次模型更新显示所述虚拟场景中位于摄像机的视野中的虚拟对象;其中,所述第二细节层次模型的细节程度与变化后的所述垂直距离
负相关。
[0239]
在一些实施例中,所述摄像机相对于所述虚拟场景的平面的垂直距离是以下之一:所述摄像机与所述虚拟场景的平面之间的垂直距离;所述摄像机与所述虚拟场景的平面之间的垂直距离与所述虚拟对象的高度的差值。
[0240]
在一些实施例中,在所述基于第二细节层次模型更新显示所述虚拟场景中位于摄像机的视野中的虚拟对象之前,所述第三显示模块4655还用于确定与所述虚拟场景的图形处理性能参数适配的多个细节层次模型;从所述多个细节层次模型中,确定与变化后的所述垂直距离适配的第二细节层次模型。
[0241]
在一些实施例中,在所述基于第二细节层次模型更新显示所述虚拟场景中位于摄像机的视野中的虚拟对象之前,所述第三显示模块4655还用于确定与变化后的所述垂直距离适配的多个细节层次模型;从所述多个细节层次模型中,确定与所述虚拟场景的图形处理性能参数适配的第二细节层次模型。
[0242]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的虚拟场景的适配显示方法。
[0243]
本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的虚拟场景的适配显示方法,例如,如图3a-图3c示出的虚拟场景的适配显示方法。
[0244]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0245]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0246]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0247]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0248]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献