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

虚拟场景中的准星控制方法、装置、电子设备及存储介质与流程

2022-04-16 12:42:56 来源:中国专利 TAG:


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.图1是本技术实施例提供的一种虚拟场景中的准星控制方法的实施环境示意图;
66.图2是本技术实施例提供的一种虚拟场景中的准星控制方法的流程图;
67.图3是本技术实施例提供的一种虚拟场景中的准星控制方法的流程图;
68.图4是本技术实施例提供的一种吸附检测方式的原理性示意图;
69.图5是本技术实施例提供的一种目标虚拟对象的对象模型的原理性示意图;
70.图6是本技术实施例提供的一种目标虚拟对象的对象模型的原理性示意图;
71.图7是本技术实施例提供的一种目标虚拟对象的对象模型的原理性示意图;
72.图8是本技术实施例提供的一种修正系数曲线的原理性示意图;
73.图9是本技术实施例提供的一种主动吸附方式的原理性示意图;
74.图10是本技术实施例提供的一种主动吸附方式的失效条件的原理性示意图;
75.图11是本技术实施例提供的一种瞄准画面的界面示意图;
76.图12是本技术实施例提供的一种瞄准画面的界面示意图;
77.图13是本技术实施例提供的一种瞄准画面的界面示意图;
78.图14是本技术实施例提供的一种瞄准画面的界面示意图;
79.图15是本技术实施例提供的一种瞄准画面的界面示意图;
80.图16是本技术实施例提供的一种摩擦检测范围的原理性示意图;
81.图17是本技术实施例提供的一种虚拟场景中的准星控制装置的结构示意图;
82.图18是本技术实施例提供的一种终端的结构示意图;
83.图19是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
84.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
85.本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
86.本技术中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个第一位置是指两个或两个以上的第一位置。
87.本技术中术语“包括a或b中至少一项”涉及如下几种情况:仅包括a,仅包括b,以及包括a和b两者。
88.虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本技术实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。可选地,该虚拟场景还可以用于至少两个虚拟对象之间的虚拟场景对抗,在该虚拟场景中具有可供至少两个虚拟对象使用的虚拟资源。
89.虚拟对象:是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。可选地,当虚拟场景为三维虚拟场景时,可选地,虚拟对象可以是一个三维立体模型,该三维立体模型可以是基于三维人体骨骼技术构建的三维角色,同一个虚拟对象可以通过穿戴不同的皮肤来展示出不同的外在形象。在一些实施例中,虚拟对象也可以采用2.5维或2维模型来实现,本技术实施例对此不加以限定。
90.可选地,该虚拟对象可以是通过客户端上的操作进行控制的玩家角色,也还可以是设置在虚拟场景互动中的非玩家角色(non-player character,npc)。可选地,该虚拟对象可以是在虚拟场景中进行竞技的虚拟人物。可选地,该虚拟场景中参与互动的虚拟对象的数量可以是预先设置的,也可以是根据加入互动的客户端的数量动态确定的。
91.射击类游戏(shooter game,stg):是指虚拟对象使用热兵器类虚拟道具进行远程攻击的一类游戏,射击类游戏是动作类游戏的一种,带有很明显的动作类游戏特点。可选地,射击类游戏包括但不限于第一人称射击游戏、第三人称射击游戏、俯视射击游戏、平视射击游戏、平台射击游戏、卷轴射击游戏、键鼠射击游戏、射击场游戏等,本技术实施例不对射击类游戏的类型进行具体限定。
92.第一人称射击(first-person shooting,fps)游戏:第一人称射击游戏属于动作类游戏的一个分支,但和rts(real-time strategy,即时策略)类游戏一样,由于其在世界上的迅速风靡,使其发展成了一个单独的类型。fps游戏是指用户能够以第一人称视角(即玩家的主观视角)进行的射击游戏,游戏中的虚拟场景的画面是以终端操控的虚拟对象的视角对虚拟场景进行观察的画面。在fps游戏中,用户不再像别的游戏一样操纵屏幕中的虚拟对象进行游戏,而是身临其境的体验游戏带来的视觉冲击,大大增强了游戏的主动性和真实感。通常,fps游戏提供了更加丰富的剧情、精美的画面和生动的音效。
93.在fps游戏中,至少两个虚拟对象在虚拟场景中进行单局对抗模式,虚拟对象通过躲避其他虚拟对象发起的伤害和虚拟场景中存在的危险(比如,毒气圈、沼泽地等)来达到在虚拟场景中存活的目的,当虚拟对象在虚拟场景中的生命值为零时,虚拟对象在虚拟场景中的生命结束,最后存活在虚拟场景中的虚拟对象是获胜方。可选地,上述对抗以第一个终端加入对局的时刻作为开始时刻,以最后一个终端退出对局的时刻作为结束时刻,每个终端能够控制虚拟场景中的一个或多个虚拟对象。可选地,对抗的竞技模式包括单人对抗模式、双人小组对抗模式或者多人大组对抗模式等,本技术实施例对竞技模式不进行具体限定。
94.以fps游戏为例,用户能够控制虚拟对象在该虚拟场景的天空中自由下落、滑翔或者打开降落伞进行下落等,在陆地上中跑动、跳动、爬行、弯腰前行等,也能够控制虚拟对象在海洋中游泳、漂浮或者下潜等,当然,用户也能够控制虚拟对象乘坐虚拟载具在该虚拟场景中进行移动,例如,该虚拟载具包括虚拟汽车、虚拟飞行器、虚拟游艇等,在此仅以上述场景进行举例说明,本技术实施例对此不作具体限定。用户也能够控制虚拟对象通过虚拟道具与其他虚拟对象进行对抗,例如,该虚拟道具包括:经过投掷后才能生效的投掷类道具,将发射物发射出去才能生效的射击类道具,以及用于近距离攻击的冷兵器道具。
95.视野(field of view,fov):视野,即挂载在当前终端的主控虚拟对象上的摄像机(camera)的视场,以度为单位;换言之,在虚拟场景中该摄像机能够接收影像的角度范围,被称为主控虚拟对象的视野。在fps游戏中,由于用户以第一人称视角来观察虚拟场景,因此,fps游戏中主控虚拟对象的视野是指在显示器(即终端屏幕)上所能够看到的虚拟场景画面,这一虚拟场景画面代表了目前主控虚拟对象可观察游戏世界的视野范围。
96.准星:在fps游戏中处于视野范围内的中心点,准星用于指示用户发起射击时虚拟道具的发射物对应的落点。在趋于游戏性而非写实风格的fps游戏中,准星位于屏幕中心,用于辅助虚拟道具的瞄准操作,代表逻辑上虚拟道具的发射物的飞出方向。
97.观测设备:fps游戏通常由金属材质制成的虚拟装备。在不装配瞄准镜时,用于将虚拟道具和瞄准目标定位在同一条直线上,以辅助虚拟道具对准特定的瞄准目标,此时摄像机的角度会移动到虚拟道具的瞄准镜后面,使得虚拟道具能够精确瞄准,并且还能够提供一定的缩放比例,以在更远的范围内提供更高的可用性。在装配瞄准镜时,通常提供刻度或者特别设计的瞄准线,用于将瞄准目标的影像放大到视网膜上,使得瞄准变得更加容易和精确,放大倍率与瞄准镜的物镜直径呈正比,较大的物镜直径可使得影像更加清晰和明亮,但在高倍放大时可能会伴随着视野缩小。
98.开镜射击:即在装配了瞄准镜的情况下,先开启瞄准镜(简称开镜),调整准星使得准星对准瞄准目标后,再触发虚拟道具完成开火射击。
99.不开镜射击:即腰射,腰射是一种原始的瞄点方式射击,正是因为属于不开镜射击,所以在进行腰射时往往射击的准星准确度不高,容易发生偏差或者晃动。
100.开火动画:在射击类游戏中伴随着虚拟道具开火而播放的虚拟道具的关联动画,通常开火动画用于表现虚拟道具的躯干、零件等随着开火发生运动。例如,开火动画涉及在虚拟道具的躯干的前后动作、拉扯手柄(即躯干上的开火机关)的联动动作、上滑套的前后动作、躯干上可动零件的联动动作等,以增强开火表现的真实感和沉浸感。
101.角色动画:在射击类游戏中伴随着虚拟道具开火而播放的虚拟对象的关联动画,通常角色动画用于表现持有虚拟道具的虚拟对象的开火动作。例如,角色动画涉及虚拟对象受到虚拟道具在垂直方向和水平方向的后坐力时的动作,上述动作包括但不限于虚拟对象身体上部的摆动、下肢的随动、手臂的震动、头部动作和面部表情等,以真实表现虚拟道具开火射击时的威力,加强射击类游戏的真实感和沉浸感。
102.辅助瞄准:fps游戏在脱离键鼠操作的时候,可增加辅助瞄准功能。相较于使用键盘和鼠标来玩射击类游戏的情况,在移动端使用手柄和触屏进行操作时通常操作要求较高、操作难度较大,用户可能会不习惯其在移动端的操作方式,通过增加辅助瞄准功能,来帮助用户在移动端顺利操作游戏。在表现上,通过控制摄像机的转向,帮助准星自动对准视野内的瞄准目标。
103.主动吸附:本技术实施例涉及的主动吸附,是指玩家主动发起瞄准操作时,由于玩家存在主动将准星移向瞄准目标(即本次射击所欲瞄准的目标)的意图,因此当该瞄准目标与虚拟场景内任一虚拟对象的吸附检测范围相关联时(例如,位于吸附检测范围内,或者从外部向吸附检测范围内移动),触发主动吸附逻辑,在主动吸附逻辑下,准星会自动将瞄准目标指向该虚拟对象并短暂跟随该虚拟对象。可选地,用户移动准星或者对虚拟道具进行开火时,均可在满足上述主动吸附的判定条件时触发主动吸附逻辑。
104.被动吸附:本技术实施例涉及被动吸附,是指玩家没有进行瞄准操作时,由于准星位于虚拟场景内任一虚拟对象的吸附检测范围内,在不依赖用户的瞄准操作的条件下,自动控制准星以一定速度吸附到该虚拟对象上,并短暂跟随该虚拟对象。
105.骨骼挂点:即在虚拟对象的对象模型的骨骼上挂载的socket(挂点),本技术实施例涉及的头部骨骼点和躯体骨骼点均属于骨骼挂点,其中,头部骨骼点挂载在对象模型的头部骨骼上,躯体骨骼点挂载在对象模型的躯体骨骼上。骨骼挂点与模型骨骼的相对位置始终保持不变,即,骨骼挂点会随着模型骨骼的移动而进行移动。
106.以下,对本技术涉及的系统架构进行介绍。
107.图1是本技术实施例提供的一种虚拟场景中的准星控制方法的实施环境示意图。参见图1,该实施环境包括:第一终端120、服务器140和第二终端160。
108.第一终端120安装和运行有支持虚拟场景的应用程序。可选地,该应用程序包括:fps游戏、第三人称射击游戏、moba(multiplayer online battle arena,多人在线战术竞技)游戏、虚拟现实应用程序、三维地图程序或者多人器械类生存游戏中的任意一种。在一些实施例中,第一终端120是第一用户使用的终端,当第一终端120运行该应用程序时,第一终端120的屏幕上显示应用程序的用户界面,并基于第一用户在用户界面中的开局操作,在应用程序中加载并显示虚拟场景,第一用户使用第一终端120操作位于虚拟场景中的第一虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾
驶、拾取、射击、攻击、投掷、对抗中的至少一种。示意性的,第一虚拟对象是第一虚拟人物,比如仿真人物角色或动漫人物角色。
109.第一终端120以及第二终端160通过无线网络或有线网络与服务器140进行直接或间接地通信连接。
110.服务器140包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。服务器140用于为支持虚拟场景的应用程序提供后台服务。可选地,服务器140承担主要计算工作,第一终端120和第二终端160承担次要计算工作;或者,服务器140承担次要计算工作,第一终端120和第二终端160承担主要计算工作;或者,服务器140、第一终端120和第二终端160三者之间采用分布式计算架构进行协同计算。
111.可选地,服务器140是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)以及大数据和人工智能平台等基础云计算服务的云服务器。
112.第二终端160安装和运行有支持虚拟场景的应用程序。可选地,该应用程序包括fps游戏、第三人称射击游戏、moba游戏、虚拟现实应用程序、三维地图程序或者多人射击类生存游戏中的任意一种。在一些实施例中,第二终端160是第二用户使用的终端,当第二终端160运行该应用程序时,第二终端160的屏幕上显示应用程序的用户界面,并基于第二用户在用户界面中的开局操作,在应用程序中加载并显示虚拟场景,第二用户使用第二终端160操作位于虚拟场景中的第二虚拟对象进行活动,该活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、跳跃、驾驶、拾取、射击、攻击、投掷、对抗中的至少一种。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物角色或动漫人物角色。
113.可选地,第一终端120控制的第一虚拟对象和第二终端160控制的第二虚拟对象处于同一虚拟场景中,此时第一虚拟对象能够在虚拟场景中与第二虚拟对象进行互动。示意性地,上述第一虚拟对象以及第二虚拟对象为对抗关系,例如,第一虚拟对象与第二虚拟对象属于不同的阵营,对抗关系的虚拟对象之间,能够在陆地上进行对抗方式的互动,比如互相扔出投掷类道具。在另一些实施例中,第一虚拟对象以及第二虚拟对象为协作关系,例如,第一虚拟人物和第二虚拟人物属于同一个阵营、同一个队伍、具有好友关系或具有临时性的通讯权限。
114.可选地,第一终端120和第二终端160上安装的应用程序是相同的,或两个终端上安装的应用程序是不同操作系统平台的同一类型应用程序。第一终端120和第二终端160均泛指多个终端中的一个,本技术实施例仅以第一终端120和第二终端160来举例说明。
115.第一终端120和第二终端160的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、智能音箱、智能手表、智能掌机、便携式游戏设备、车载终端、膝上型便携计算机和台式计算机中的至少一种,但并不局限于此。例如,第一终端120和第二终端160均是智能手机,或者其他手持便携式游戏设备。以下实施例,以终端包括智能手机来举例说明。
116.本领域技术人员能够知晓,上述终端的数量为更多或更少。比如上述终端仅为一个,或者上述终端为几十个或几百个,或者更多数量。本技术实施例对终端的数量和设备类型不加以限定。
117.图2是本技术实施例提供的一种虚拟场景中的准星控制方法的流程图。参见图2,
该实施例由电子设备执行,以电子设备为终端为例进行说明,该实施例包括下述步骤:
118.201、终端在虚拟场景中显示目标虚拟对象。
119.该终端是指用户所使用的电子设备,例如该终端为智能手机、智能掌机、便携式游戏设备、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。在该终端上安装和运行有支持虚拟场景的应用程序,示意性地,该应用程序是指游戏应用或游戏客户端,例如,在本技术实施例中,将以射击类游戏的游戏客户端为例进行说明,但不应构成对游戏客户端所对应的游戏类型的限定。
120.该目标虚拟对象是指位于该虚拟场景中的可被吸附的虚拟对象,该目标虚拟对象包括但不限于:虚拟物品、虚拟建筑物、不受用户控制的虚拟对象(如野怪)、陪玩游戏ai(artificial intelligence,人工智能)对象、同一对局中由其他终端控制的虚拟对象等,本技术实施例不对目标虚拟对象的类型进行具体限定。
121.在一些实施例中,用户在终端上启动该游戏客户端,并在该游戏客户端中登录用户的游戏账号,接着,游戏客户端中显示用户界面,该用户界面中包括该游戏账号的账号信息、对局模式的选择控件、场景地图的选择控件和开局选项,用户通过该对局模式的选择控件能够选择想要开启的对局模式,通过该地图场景的选择控件能够选择想要进入的场景地图,并在用户选择完毕后,通过对该开局选项执行触发操作,触发终端进入到一轮新的游戏对局中。
122.需要说明的是,上述对场景地图的选择操作并非是必须执行的步骤,比如,在一些游戏中允许用户自行选择场景地图,在另一些游戏中不允许用户自行选择场景地图(而是由服务器在开局时随机分配本局的场景地图),或者,在一些对局模式中允许用户自行选择场景地图,在另一些对局模式中不允许用户自行选择场景地图,本技术实施例不对用户是否必须在开局前选择场景地图、用户是否具有场景地图的选择权进行具体限定。
123.以本轮游戏对局为目标对局为例,用户对开局选项执行触发操作之后,游戏客户端进入到目标对局中,加载该目标对局所对应的虚拟场景,可选地,游戏客户端从服务器中下载该虚拟场景的多媒体资源,利用渲染引擎渲染该虚拟场景的多媒体资源,从而在游戏客户端中显示该虚拟场景。其中,该目标对局是指对主控虚拟对象支持辅助瞄准功能的任一游戏对局。
124.在一些实施例中,终端在该虚拟场景中显示主控虚拟对象,其中,主控虚拟对象是指该终端当前所操控的虚拟对象(也称为主操虚拟对象、被控虚拟对象等),可选地,终端从服务器中拉取该主控虚拟对象的多媒体资源,利用渲染引擎渲染该主控虚拟对象的多媒体资源,以在该虚拟场景中显示该主控虚拟对象。
125.在一些实施例中,针对一些fps游戏,由于以第一人称视角(即主控虚拟对象的视角)来观察虚拟场景,因此在终端屏幕中显示的是基于主控虚拟对象的视角对该虚拟场景进行观察的虚拟场景画面,但在该虚拟场景画面中并非一定需要显示该主控虚拟对象,比如,仅显示主控虚拟对象的背影,或者仅显示主控虚拟对象的一部分躯体(比如上半身),或者不显示主控虚拟对象,本技术实施例对虚拟场景中是否显示主控虚拟对象不进行具体限定。
126.在一些实施例中,终端确定位于该主控虚拟对象的视野范围内的目标虚拟对象,其中,该目标虚拟对象为位于该主控虚拟对象的视野范围内的可被吸附的虚拟对象,可选
地,终端从服务器中拉取该目标虚拟对象的多媒体资源,利用渲染引擎渲染该目标虚拟对象的多媒体资源,以在该虚拟场景中显示该目标虚拟对象。
127.202、终端响应于对虚拟道具的瞄准操作,获取该瞄准操作的准星的位移方向和位移速度。
128.其中,该虚拟道具是指主控虚拟对象已装配的具有发射物的道具,该虚拟道具在经由用户的开火操作触发后,会将虚拟道具对应的发射物向准星所指示的落点发射出去,以使得发射物在到达该落点时发生作用,或者该发射物在发射途中遭遇到障碍物(比如墙壁、掩体、车辆等)时提前发生作用。
129.可选地,该虚拟道具为射击类道具或者投掷类道具,当虚拟道具为射击类道具时,该发射物是指装载于虚拟道具内部的发射物,当虚拟道具为投掷类道具时,该发射物是指虚拟道具自身,本技术实施例不对虚拟道具进行具体限定。
130.在一些实施例中,用户控制主控虚拟对象装配该虚拟道具,比如,主控虚拟对象拾取该虚拟道具后,将该虚拟道具显示在该主控虚拟对象的虚拟背包中,在用户在虚拟背包内选中该虚拟道具时,提供对该虚拟道具的装配选项,响应于对该装配选项的触发操作,主控虚拟对象将该虚拟道具装配到虚拟道具栏或者装备栏中,比如,建立该主控虚拟对象与该虚拟道具的绑定关系。
131.在一些实施例中,用户控制主控虚拟对象拾取该虚拟道具后,系统自动为主控虚拟对象装配该虚拟道具,本技术实施例不对是否在拾取后自动装配虚拟道具进行具体限定。
132.可选地,主控虚拟对象在虚拟场景中靠近该虚拟道具,即可触发对虚拟道具的自动拾取逻辑,系统自动将虚拟道具添加到主控虚拟对象的虚拟背包中。可选地,主控虚拟对象在虚拟场景中靠近该虚拟道具,即可触发对虚拟道具的手动拾取逻辑,此时在虚拟场景中浮现该虚拟道具的拾取控件,响应于对该拾取控件的触发操作,控制主控虚拟对象拾取该虚拟道具,本技术实施例不对是否自动拾取虚拟道具进行具体限定。
133.可选地,虚拟道具无需主控虚拟对象在游戏开局后进行拾取,而是由用户在开局前预先选择带入到目标对局中的虚拟道具,即主控虚拟对象在虚拟场景中初始状态下就装配了该虚拟道具,本技术实施例不对虚拟道具是开局前选择的道具还是开局后拾取的道具进行具体限定。
134.在一些实施例中,用户在装配该虚拟道具的情况下,对该虚拟道具执行触发操作,使得终端响应于对该虚拟道具的触发操作,将主控虚拟对象当前使用的道具切换被该虚拟道具,可选地,终端还将该虚拟道具显示在主控虚拟对象的指定部位,以直观展示该虚拟道具是当前使用的道具,其中,该指定部位基于虚拟道具的道具类型而确定,比如,当虚拟道具为投掷类道具时,对应的指定部位为手部,即,将投掷类道具显示在主控虚拟对象的手部,又比如,当虚拟道具为射击类道具时,对应的指定部位为肩部,即,将射击类道具显示在主控虚拟对象的肩部。
135.在一些实施例中,当主控虚拟对象当前使用的道具为该虚拟道具时,在虚拟场景中至少显示该虚拟道具的瞄准控件,从而在检测到用户对该虚拟道具的瞄准控件执行了触发操作时,基于主控虚拟对象在该虚拟场景的视野,确定虚拟道具的瞄准画面,并在游戏客户端中显示该瞄准画面,需要说明的是,本技术实施例涉及的准星吸附方式既适用于开镜
射击,也适用于不开镜射击(即腰射),因此这里不对该瞄准画面是开镜后的瞄准画面还是不开镜时的瞄准画面进行具体限定。
136.可选地,在虚拟场景中显示该虚拟道具的瞄准控件和发射控件,该瞄准控件用于开启瞄准该虚拟道具的发射物的瞄准目标,该发射控件用于触发发射虚拟道具对应的发射物。
137.可选地,在虚拟场景中仅显示该瞄准控件,在检测到对该瞄准控件执行了触发操作之后,显示该瞄准画面,取消显示该瞄准控件,同时显示该发射控件。
138.可选地,将该瞄准控件和发射控件集成到一个交互控件上,使得用户按压该瞄准控件触发调整准星,以将准星对准瞄准目标,用户对该瞄准控件松手(即不再按压)触发发射该虚拟道具的发射物,此时该交互控件可视为瞄准控件也可视为发射控件,本技术实施例对此不进行具体限定。
139.在显示瞄准画面时,对于开镜射击的情况,即主控虚拟对象装配了瞄准镜且使用开镜射击模式,此时先确定该主控虚拟对象的视野画面(即挂载在主控虚拟对象上的摄像机所能观察到的影像),然后基于瞄准镜的物镜直径和放大倍率,对该视野画面进行放大,得到该瞄准画面。
140.在显示瞄准画面时,对于不开镜射击的情况,即主控虚拟对象未装配瞄准镜,或者主控虚拟对象虽然装配了瞄准镜但使用了不开镜射击模式,此时将主控虚拟对象的视野画面(即挂载在主控虚拟对象上的摄像机所能观察到的影像)确定为该瞄准画面。
141.在一些实施例中,在该瞄准画面中显示有准星,以指示当用户对该虚拟道具执行发射操作时,该虚拟道具对应的发射物预计在该虚拟场景中的落点。其中,该瞄准画面相当于将视野范围内的虚拟场景投影到瞄准镜的目镜上的成像画面,或者,由于主控虚拟对象的双眼紧贴瞄准镜,该瞄准画面也视为将视野范围内的虚拟场景经过瞄准镜放大后投影到主控虚拟对象的视网膜上的成像画面,即,瞄准画面本质上是将虚拟场景投影到二维平面并最终显示在终端屏幕上的成像画面,因此该瞄准画面可视为是一个投影面。
142.需要说明的是,如果该发射物在飞行途中没有碰到障碍物,那么会控制该发射物从该虚拟道具的位置向该准星所指示的落点进行移动,并在该准星所指示的落点发生作用,如果该发射物在飞行途中碰到了障碍物,那么控制该发射物在与该障碍物的碰撞位置提前发生作用。其中,该发射物的作用由该虚拟道具确定,比如,当虚拟道具为伤害类型的道具,那么会对该发射物的作用范围内的虚拟对象造成伤害,体现在扣除该作用范围内的虚拟道具的虚拟生命值,又比如,当虚拟道具为遮挡视野类型的道具,那么会遮挡该发射物的作用范围内的虚拟对象的视野,体现在将该作用范围内的虚拟对象致盲一定时长(即发射物的作用时长),本技术实施例对此不进行具体限定。
143.可选地,针对一些fps游戏,为了方便用户进行瞄准,始终将准星显示在瞄准画面的中心点,使得在用户调整准星时,实际上是通过改变瞄准画面的内容来体现出来准星对准了不同的瞄准目标,从而达到真实射击场景下视线跟随准星移动来选择瞄准目标的沉浸式体验。例如,在开镜射击模式下,准星即瞄准画面的中心点,也即瞄准镜的中心,此时准星和瞄准镜的相对位置是始终的不变的,因此在调整准星时,实际上是通过转动瞄准镜来带动作为瞄准镜的中心的准星完成调整,此时准星始终位于视野中心但是观察到的瞄准画面会随着瞄准镜的转动而发生变化。
144.可选地,针对另一些fps游戏或者第三人称射击游戏,不将准星固定在瞄准画面的中心点,使得用户在调整准星时,在瞄准画面中直接显示准星的移动,本技术实施例不对准星是否固定于瞄准画面的中心点进行具体限定。示意性地,当准星在瞄准画面的中心区域内移动时,固定瞄准镜即瞄准画面不发生改变,当准星移动到瞄准画面的边缘区域(即除了中心区域之外的区域)时,带动瞄准镜一起进行同方向的移动,以显示在原本镜头以外的瞄准画面,并使得准星在新的瞄准画面中位于中心区域,其中,该中心区域或者边缘区域由技术人员进行设定,本技术实施例对此不进行具体限定。
145.由于准星指示了虚拟道具的发射物的预计落点,因此用户对该准星的调整操作,本质上也属于对该虚拟道具的瞄准操作,换言之,本技术实施例所涉及的对该虚拟道具的瞄准操作是指对准星的调整操作,该调整操作包括:对准星的位移(位置更改)、对准星的转向(朝向更改)等。可选地,在将准星固定在瞄准画面的中心点的情况下,由于准星和瞄准镜的相对位置保持不变(即准星始终是瞄准镜的中心点),因此对准星的调整操作也是指对瞄准镜的调整操作,换言之,是通过控制主控虚拟对象调整瞄准镜,从而带动位于瞄准镜中心点的准心产生对应的调整。可选地,由于瞄准镜本身也会和虚拟道具绑定,因此对瞄准镜的调整操作还能够视为对虚拟道具上挂载的摄像机的调整操作,或者,由于主控虚拟对象本身会将双眼贴近瞄准镜来进行观察,因此对瞄准镜的调整操作还能够视为对主控虚拟对象上挂载的摄像机的调整操作,本技术实施例对此不进行具体限定。
146.在一些实施例中,用户可通过如下任一种方式或者多种方式的组合来实现对准星的调整操作:1)用户点击虚拟场景中的瞄准控件触发显示瞄准画面,同时该瞄准控件变成一个互动轮盘,用户持续按压该瞄准控件并滑动手指,能够控制准星发生对应的位移;2)用户点击该瞄准控件触发显示瞄准画面后即可松手,在瞄准画面中显示一个新的互动轮盘,用户持续按压该互动轮盘并滑动手指,能够控制准星发生对应的位移;3)用户点击该瞄准控件触发显示瞄准画面后即可松手,并持续按压瞄准画面中的任一位置后滑动手指,能够控制准星发生对应的位移,即瞄准画面中任一位置均可触发调整准星,并不局限于互动轮盘;4)用户点击该瞄准控件触发显示瞄准画面后即可松手,此时用户可向任一方向转动终端,使得在传感器感测到对终端的转动操作后,能够控制准星发生对应的位移;5)用户点击该瞄准控件触发显示瞄准画面后即可松手,用户再次点击瞄准画面中的任一位置即可将准星重新聚焦在点击的位置;6)用户通过语音指令控制准星按照语音指令的指示发生对应的位移;7)用户通过手势指令控制准星按照手势指令的指示发生对应的位移,例如,敲击屏幕左边缘控制准星向左平移,又例如,单手悬浮在屏幕上方(手部不触摸屏幕),并对摄像头向左挥手控制准星向左平移等,本技术实施例不对手势指令进行具体限定。需要说明的是,这里仅是对准星的调整操作的一些示例性说明,但还可以上述方式以外的其他方式对准星进行调整操作,本技术实施例对此不进行具体限定。
147.在一些实施例中,用户通过上述任一方式对准星执行调整操作后,终端确定检测到对虚拟道具的瞄准操作,响应于该虚拟道具的瞄准操作,获取该瞄准操作的准星的位移方向和位移速度。
148.示意性地,当使用上述方式1)-3)中按压屏幕并滑动的方式调整准星时,通过终端的压力传感器能够感应到用户手指对终端屏幕施加的压力信号的压力点,并且在滑动过程中该压力点会随之不断变化构成一条滑动轨迹(也称为滑动曲线),将当前帧(即当前时刻
下的屏幕画面帧)下滑动轨迹在端点的切线方向确定为准星的位移方向,并基于用户手指在当前帧具有的滑动速度确定该准星的位移速度,例如将该滑动速度按照第一预设比例放缩后得到该位移速度,该第一预设比例为大于0的数值,该第一预设比例由技术人员进行设定。
149.示意性地,当使用上述方式4)中转动终端的方式调整准星时,通过终端的陀螺仪传感器能够感应到用户对终端的转动操作的转动方向和转动速度,以该转动方向的反方向作为该准星的位移方向,并基于该转动速度确定该准星的位移速度,例如将该转动速度按照第二预设比例放缩后得到该位移速度,该第二预设比例为大于0的数值,该第二预设比例由技术人员进行设定。
150.示意性地,当使用上述方式5)中点击某一位置使得准星移动至点击的位置时,可将从准星的当前位置指向点击的位置的射线方式作为准星的位移方向,并获取预设的位移速度,该预设的位移速度为大于0的数值,该预设的位移速度由技术人员进行设定。
151.示意性地,当使用上述方式6)中语音指令或方式7)中手势指令调整准星时,通过语音指令或者手势指令的指示,确定该准星的位移方向和位移速度,如果语音指令或者手势指令未指示位移速度,则获取预设的位移速度,这里不做赘述。
152.203、终端响应于基于该位移方向确定该瞄准操作的瞄准目标与该目标虚拟对象的吸附检测范围相关联,获取与该位移方向相匹配的吸附修正系数。
153.其中,该吸附检测范围是位于该目标虚拟对象外部,且将该目标虚拟对象包含在内的一个空间范围或者平面区域。可选地,该吸附检测范围是虚拟场景中的以目标虚拟对象的对象模型为中心的一个三维空间范围,该目标虚拟对象的对象模型位于该三维空间范围内,在一个示例中,目标虚拟对象的对象模型是胶囊体形状的模型,该三维空间范围为位于胶囊体外部且将胶囊体包含在内的一个的长方体空间范围。可选地,该吸附检测范围是瞄准画面中的以目标虚拟对象的模型投影为中心的一个二维平面区域,该目标虚拟对象的模型投影是指目标虚拟对象的对象模型在该瞄准画面中的二维投影图像,在一个示例中,该二维平面区域是将该模型投影包含在内的一个长方形平面区域。
154.在一些实施例中,由于准星能够指示该虚拟道具的发射物的预计落点,而准星的位移方向代表了用户在调整准星时所欲控制该预计落点发生改变的位移方向,即反映了用户存在对该准星附近或者对该位移方向上的目标进行瞄准的瞄准意图,换言之,代表了在准星附近或者在该位移方向上存在用户本次瞄准操作的瞄准目标。在此基础上,如果基于该位移方向,确定该瞄准目标与当前视野范围内的目标虚拟对象的吸附检测范围相关联,则代表了很可能目标虚拟对象就是本次瞄准操作的瞄准目标,因此可触发对准星的主动吸附逻辑。
155.在一些实施例中,当该准星位于该目标虚拟对象的吸附检测范围外时,如果该位移方向靠近该吸附检测范围,则确定该瞄准目标与当前视野范围内的目标虚拟对象的吸附检测范围相关联,即,虽然该准星位于吸附检测范围外,但只要准星是向靠近吸附检测范围的方向进行位移的,因此同样可视为以目标虚拟对象为瞄准目标,从而触发主动吸附逻辑。
156.在一些实施例中,当该准星位于该目标虚拟对象的吸附检测范围内时,确定该瞄准目标与当前视野范围内的目标虚拟对象的吸附检测范围相关联,即,只要该准星位于吸附检测范围内,不管准星向哪个方向进行位移,都可视为对以该目标虚拟对象为瞄准目标
的微调,从而触发主动吸附逻辑。
157.在一些实施例中,在确定该瞄准目标与当前视野范围内的目标虚拟对象的吸附检测范围相关联的情况下,可获取与该位移方向相匹配的吸附修正系数,该吸附修正系数用于调整准星原本的位移速度,即,该吸附修正系数相当于在触发主动吸附逻辑下对准星原本的位移速度的一个调整因子,可选地,对不同的位移方向预先配置不同的吸附修正系数,从而选择与该位移方向对应的预先配置的吸附修正系数,或者,通过下述实施例中描述的规则来动态确定吸附修正系数,本技术实施例不对吸附修正系数的获取方式进行具体限定。
158.204、终端显示该准星以目标吸附速度进行移动,该目标吸附速度为经过该吸附修正系数对该位移速度调整得到。
159.在一些实施例中,本技术实施例涉及的“目标吸附速度”是一种速度矢量,即,目标吸附速度不止指示准星移动的速率快慢(由矢量大小控制),还能够指示准星移动的方向(由矢量方向控制)。
160.可选地,在主动吸附逻辑下,仅调整目标吸附速度的矢量大小而不改变矢量方向,即,仅基于该吸附修正系数对该位移速度调整得到该速度矢量的矢量大小(即速率值),而将速度矢量的矢量方向确定为原本准星的该位移方向,相当于在不改变位移方向的前提下,给准星原本的位移速度施加了一个调整系数,使得在不改变用户自身对位移方向的瞄准意图的情况下,通过调整系数来方便准星快速拖动到目标虚拟对象即瞄准目标上。
161.可选地,在主动吸附逻辑下,不仅调整目标吸附速度的矢量大小,同时也调整目标吸附速度的矢量方向,即,基于该吸附修正系数对该位移速度调整得到该速度矢量的矢量大小(即速率值),基于该准星的吸附点对该位移方向调整得到该速度矢量的矢量方向,相当于不仅给准星原本的位移速度施加了一个调整系数,也给准星原本的位移方向施加了一个调整角度,使得在整体位移趋势不变的情况下,对位移方向和位移速度均进行精细化的微调,从而能够更好地使得准星快速吸附到目标虚拟对象即瞄准目标上。
162.在一些实施例中,对于准星位移过程中的每一帧,实时检测确定出当前帧的准星的位移速度和位移方向之后,终端基于该吸附修正系数,对该位移速度进行调整,得到目标吸附速度即速度矢量的矢量大小,接着,获取从准星指向吸附点的目标方向,这样基于原本的该位移速度和位移方向能够确定一个初始矢量,基于上述调整得到的矢量大小和该目标方向能够确定一个修正矢量,将初始矢量和修正矢量求矢量和,得到一个目标矢量,这一目标矢量的方向即为目标吸附速度即速度矢量的矢量方向,从而按照上述确定的矢量大小和矢量方向,能够唯一确定出一个速度矢量即目标吸附速度,这一目标吸附速度能够表征当前帧准星的速度矢量,对于下一帧由于位移方向、位移速度都发生了变化,因此需要重新执行步骤202-204确定下一帧准星的速度矢量,以此类推,这里不做赘述。需要说明的是,如果位移方向和目标方向相同,此时将目标矢量的矢量方向也等于位移方向和目标方向,即准星的位移方向不会发生变化。
163.在一些实施例中,当位移方向靠近吸附检测范围时,该吸附修正系数用于对该位移速度进行加速,以加快准星靠近目标虚拟对象的速度,方便准星快速对准目标虚拟对象,当位移方向远离吸附检测范围时,该吸附修正系数用于对该位移速度进行减速,以减慢准星远离目标虚拟对象的速度,改善用户对准星调整时由于滑动过度而造成误操作的情况。
164.针对位移方向靠近吸附检测范围的情况,在准星进行匀速运动的情况下,基于该吸附修正系数,对该位移速度进行增大,得到修正后的目标吸附速度,使得准星以大于原本位移速度的吸附修正速度进行匀速移动;或者,基于该吸附修正系数,对该位移速度施加一个固定的预设加速度,使得准星以该位移速度为初速度,在该预设加速度的作用下进行匀加速移动;或者,基于该吸附修正系数,对该位移速度施加一个可变加速度,使得准星以该位移速度为初速度,在该可变加速度的作用下进行变加速移动,例如,该可变加速度与该准星与对应吸附点之间的距离呈负相关,使得当准星离吸附点越近时,可变加速度取值越大,当准星离吸附点越远时,可变加速度取值越小。
165.在一些实施例中,在准星始终固定于瞄准画面的中心点的情况下,在控制该准星以沿着该位移方向以目标吸附速度进行移动时,由于准星与瞄准画面的相对位置保持不变,因此终端需要控制主控虚拟对象上挂载的摄像机随着该准星的移动而进行朝向的改变,即,控制该摄像机按照该目标吸附速度进行移动,从而带动该摄像机所能够观察到的瞄准画面随之进行修改,由于准星位于瞄准画面的中心,因此瞄准画面的变化会带动准星一起移动,从而经过多帧位移之后能够最终将准星对齐到目标虚拟对象的吸附点上,即在终端上呈现出瞄准镜中观察到的瞄准画面跟随准星的移动而进行同步移动的过程。
166.上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
167.本技术实施例提供的方法,通过在用户原本执行的瞄准操作的基础上,如果确定瞄准目标与目标虚拟对象的吸附检测范围相关联,代表用户对目标虚拟对象存在瞄准意图,此时给原本的位移速度施加一个吸附修正系数,并通过该吸附修正系数对位移速度进行调节,使得调节后的目标吸附速度更加贴合于用户的瞄准意图,便于准星更准确地聚焦到瞄准目标,大大提高了人机交互效率。
168.进一步的,由于上述主动吸附逻辑是基于用户手动触发的瞄准操作而开启的,因此吸附表现是在原本瞄准操作的基础上,对速率或者方向进行一个微调修正,而不会瞬间瞄准目标,因此吸附表现是自然流畅、不突兀的,且触发方式随着瞄准操作一起进行,不会出现用户没有拖动手指但突然准星对齐了某个目标虚拟对象的情况,更贴近于玩家自己操作的结果,降低了辅助瞄准过程中的用户感知。
169.进一步的,由于位移方向要么不变要么是在原本位移方向进行角度微调,因此与玩家原本瞄准操作的整体趋势相符,即使玩家想要控制准星脱离目标,也不会出现准星一直吸附在目标上、拖不动的情况,而仅仅是提供一个远离修正系数(即,吸附表现在拖动变慢,而不是拖不动),整体吸附过程不会与玩家的瞄准意图拉扯,且玩家能够个性化针对不同武器配置不同的吸附修正方式(如匀速修正、加速度修正、距离修正等),更加符合玩家的瞄准操作习惯。
170.图3是本技术实施例提供的一种虚拟场景中的准星控制方法的流程图。参见图3,该实施例由电子设备执行,以电子设备为终端为例进行说明,该实施例包括下述步骤:
171.301、终端在虚拟场景中显示目标虚拟对象。
172.上述步骤301与上述步骤201类似,这里不做赘述。
173.302、终端响应于对虚拟道具的瞄准操作,获取该瞄准操作的准星的位移方向和位移速度。
174.上述步骤303与上述步骤202类似,这里不做赘述。
175.303、终端响应于该位移方向的延长线与该目标虚拟对象的吸附检测范围存在交集,确定该瞄准操作的瞄准目标与该吸附检测范围相关联。
176.其中,该吸附检测范围是位于该目标虚拟对象外部,且将该目标虚拟对象包含在内的一个空间范围或者平面区域。
177.本技术实施例涉及的延长线与吸附检测范围“存在交集”是指:延长线与吸附检测范围(空间范围或者平面区域)相切或相交,或者,换言之,确定得到的延长线与吸附检测范围之间存在至少一个重合的像素,即认为延长线与吸附检测范围存在交集,后面将不做赘述。
178.可选地,该吸附检测范围是虚拟场景中的以目标虚拟对象的对象模型为中心的一个三维空间范围,该目标虚拟对象的对象模型位于该三维空间范围内,在一个示例中,目标虚拟对象的对象模型是胶囊体形状的模型,该三维空间范围为位于胶囊体外部且将胶囊体包含在内的一个的长方体空间范围。
179.可选地,该吸附检测范围是瞄准画面中的以目标虚拟对象的模型投影为中心的一个二维平面区域,该目标虚拟对象的模型投影是指目标虚拟对象的对象模型在该瞄准画面中的二维投影图像,在一个示例中,该二维平面区域是将该模型投影包含在内的一个长方形平面区域。
180.在上述实施例中,介绍了两种能够触发主动吸附逻辑的情况,第一种情况是准星位于该吸附检测范围外、但该位移方向靠近该吸附检测范围,第二种情况是该准星位于该目标虚拟对象的吸附检测范围内(此时无需判断位移方向)。在本技术实施例中,可通过上述步骤303的检测方式,将对上述两种情况的检测合并到同一个检测逻辑中,即,通过检测该位移方向的延长线是否与吸附检测范围存在交集,来判断该瞄准操作的瞄准目标是否与该吸附检测范围相关联,从而决策是否需要触发主动吸附逻辑。
181.下面将针对上述检测逻辑进行原理性说明,当准星位于该吸附检测范围外时,如果准星位移方向的延长线与吸附检测范围存在交集,可知准星必定存在向吸附检测范围靠近的趋势,即位移方向靠近吸附检测范围,符合上述第一种情况并触发主动吸附逻辑;当准星位于该吸附检测范围内时,无论准星位移方向指向哪一边,从吸附检测范围内任一点向任一方向所发出的射线(代表了任一位置的准星指向任一位移方向的延长线)都必定与吸附检测范围存在交集,因此符合上述第二种情况并触发主动吸附逻辑。换言之,上述步骤303的检测方式,能够仅通过检测该位移方向的延长线是否与吸附检测范围存在交集,就能够全面检测出上述实施例涉及的两种能够触发主动吸附逻辑的情况,从而在该位移方向的延长线与吸附检测范围存在交集时,确定该瞄准目标与该吸附检测范围相关联,进入下述步骤304,在该位移方向的延长线与吸附检测范围不存在交集时,代表准星位于吸附检测范围外且位移方向远离目标虚拟对象,确定该瞄准目标与该吸附检测范围没有关联关系,即用户没有对目标虚拟对象的瞄准意图,退出流程。
182.以下,将针对吸附检测范围是三维空间范围或二维平面区域的两种场景,分别说明如何判断该位移方向的延长线是否与吸附检测范围存在交集。
183.可选地,如果吸附检测范围是虚拟场景中挂载在目标虚拟对象身上的一个三维空间范围,这里的“挂载”是指吸附检测范围随着目标虚拟对象的移动而一起移动,例如,该吸
附检测范围是挂载在目标虚拟对象的对象模型上的一个检测盒子,另外,该三维空间范围的形状可与目标虚拟对象的形状一致或者不一致,这里以长方体空间范围为例说明,本技术实施例对吸附检测范围的形状不进行具体限定。在吸附检测范围是三维空间范围的情况下,由于准星的位移方向是一个基于瞄准画面确定的二维的平面向量,此时可将该准星的位移方向逆投影到虚拟场景中,即将二维的平面向量转换成一个三维的方向矢量,该方向矢量代表了准星按照瞄准画面中确定的位移方向进行移动时,准星所指示的该虚拟道具的发射物对应的预计落点在虚拟场景中的位移方向,其中,逆投影的方式可视为一个坐标转换过程,比如将该方向矢量从屏幕坐标系转换到世界坐标系。接着,由于吸附检测范围是虚拟场景中的三维空间范围,方向矢量是虚拟场景中的三维的矢量,因此可在虚拟场景中对该方向矢量绘制出一条延长线,需要说明的是,由于该方向矢量是一个有向矢量,该延长线是从该方向矢量的起点出发的一条射线而非直线(即仅确定正向延长线,不考虑反向延长线)。接着判断该方向矢量的延长线在虚拟场景中是否与目标虚拟对象身上挂载的吸附检测范围存在交集,存在交集是指该方向矢量的延长线是否穿过该吸附检测范围,或者该方向矢量的延长线是否与该吸附检测范围相交。
184.可选地,如果吸附检测范围是瞄准画面中将目标虚拟对象嵌套在内的二维平面区域,该二维平面区域的形状可与目标虚拟对象的形状一致或者不一致,这里以长方形平面区域为例进行说明,本技术实施例对吸附检测范围的形状不进行具体限定。在吸附检测范围是二维平面区域的情况下,只由于准星的位移方向本身就是在同一瞄准画面中的一个二维的平面向量,由于在瞄准画面中本身就包含了虚拟场景中目标虚拟对象在瞄准画面的二维投影图像,因此无需进行额外处理,只需要在瞄准画面中确定对位移方向的平面向量的延长线(这里也仅指正向延长线),再判断该延长线是否与二维平面区域存在交集即可,存在交集是指该平面向量的延长线是否与该二维平面区域的边界相交,或者该平面向量的延长线是否穿过该二维平面区域。
185.图4是本技术实施例提供的一种吸附检测方式的原理性示意图,如图4所示,在一个示例性场景中,以吸附检测范围为二维平面区域为例进行说明,在瞄准画面中对目标虚拟对象400确定对应的吸附检测范围410,该吸附检测范围410也称为目标虚拟对象的吸附框或吸附检测框。对准星420,沿着其位移方向绘制一条延长线430,当该延长线430与吸附检测范围410存在交集时,例如延长线430余该吸附检测范围410的边界相交,则确定瞄准目标与吸附检测范围相关联,进入下述步骤304,当该延长线430与吸附检测范围410不存在交集时,确定瞄准目标与吸附检测范围没有关联关系,退出流程。
186.304、终端获取该目标虚拟对象中与该准星对应的吸附点。
187.在通过上述步骤303,确定该瞄准操作的瞄准目标与该目标虚拟对象的吸附检测范围相关联的情况下,代表用户存在以目标虚拟对象为瞄准目标的瞄准意图,因此终端可执行步骤304-305,以获取与该位移方向相匹配的吸附修正系数。
188.在获取该吸附修正系数时,可基于该准星的水平高度,确定是吸附到目标虚拟对象的头部还是吸附到目标虚拟对象的躯体。其中,该水平高度是指准星与地平线之间的高度差。
189.在一些实施例中,以目标虚拟对象的肩线作为目标分界线,对目标虚拟对象的头部和躯体进行划分,换言之该目标分界线用于区分该目标虚拟对象的头部和躯体,因此在
该目标虚拟对象的对象模型中,目标分界线以上的模型部分为头部,目标分界线以下的模型部分为躯体。
190.接着,对该准星的水平高度与该目标分界线的水平高度进行比较。可选地,响应于该准星的水平高度大于或等于该目标分界线的水平高度,确定该目标虚拟对象的头部骨骼点为该吸附点,其中,该头部骨骼点是指挂载在目标虚拟对象的模型头部的骨骼挂点,该头部骨骼点由技术人员进行配置,例如,该头部骨骼点是目标虚拟对象的下颌最低点,或者,该头部骨骼点是目标虚拟对象的头部中心点等,本技术实施例对头部骨骼点不进行具体限定。可选地,响应于该准星的水平高度小于该目标分界线的水平高度,确定该目标虚拟对象的躯体骨骼点为该吸附点,其中,该躯体骨骼点是指挂载在目标虚拟对象的模型躯体(如脊柱)的骨骼挂点,示意性地,在脊柱上挂载预设的多个骨骼挂点(这些骨骼挂点的水平高度互不相同),并从该多个骨骼挂点中选择与该准星的水平高度最近的骨骼挂点作为该躯体骨骼点,示意性地,该脊柱上的每个位置均可被采样称为躯体骨骼点,此时在该目标虚拟对象的竖直中轴线上进行采样,将该竖直中轴线上与该准星的水平高度相同的骨骼点采样为该躯体骨骼点,换言之,此时该躯体骨骼点为该目标虚拟对象的竖直中轴线上与该准星的水平高度相同的骨骼点。
191.图5是本技术实施例提供的一种目标虚拟对象的对象模型的原理性示意图,如图5所示,示出了目标虚拟对象的对象模型500,此时该对象模型500对应于一个长方形的吸附检测范围510,该吸附检测范围510也称为目标虚拟对象的吸附框或吸附检测框。在对象模型500中以肩线作为目标分界线501,能够划分目标虚拟对象的头部和躯体,其中,在对象模型500中位于目标分界线501以上的模型部分为头部,位于目标分界线501以下的模型部分为躯体。进一步的,该吸附检测范围510也被目标分界线501划分为头部吸附区域511和躯体吸附区域512,即,当准星的水平高度大于或等于目标分界线501的水平高度时,准星会吸附到头部吸附区域511中预设的头部骨骼点上,当准星的水平高度小于目标分界线501的水平高度时,准星会吸附到躯体吸附区域512中与准星的水平高度相同的躯体骨骼点上。
192.在上述过程中,通过按照准星的水平高度,从目标虚拟对象的对象模型所挂载的骨骼挂点中,确定与该准星的水平高度适配的吸附点,使得对准星的吸附能够更加流畅和自然,因为如果不对头部设定单独的吸附点,而是均从竖直中轴线上确定与准星等高的吸附点时,可能会出现准星的水平高度超过了对象模型的头顶,导致准星的吸附点在对象模型之外这一情况,这时吸附效果会很突兀且不自然,因此通过对头部和躯体设置不同的吸附点确定逻辑,能够提升准星的吸附流畅度和自然度。
193.在另一些实施例中,还提供另外一种获取与该准星对应的吸附点的方式,也即,如果该准星的位移方向的延长线与该目标虚拟对象的竖直中轴线相交,则以该延长线与该竖直中轴线的交点为吸附点,否则,进入上述描述中按照准星的水平高度确定头部骨骼点还是躯体骨骼点作为吸附点的处理逻辑。
194.305、终端基于该准星分别在当前帧和上一帧与该吸附点之间的距离,获取吸附修正系数。
195.在上述确定了吸附点情况下,终端获取准星在当前帧(即当前时刻的屏幕画面帧)与吸附点之间的距离,以及在当前帧的上一帧与吸附点之间的距离,例如,终端逐帧计算准星与吸附点之间的距离,从而获取当前时刻对应的当前帧以及上一帧计算得到的两个距
离。
196.可选地,对于吸附点为头部骨骼点的情况,直接获取该准星的位置坐标与该头部骨骼点的位置坐标之间的直线距离,该两点之间的直线距离即为准星与吸附点之间的距离,即d=distance(准星,头部骨骼点),其中d代表准星与吸附点之间的距离,distance代表求括号内两点之间的直线距离。终端对当前帧和上一帧分别计算准星与头部骨骼点这两点之间的直线距离。
197.可选地,对于吸附点为躯体骨骼点的情况,也可对当前帧和上一帧使用上述两点之间的直线距离作为准星与吸附点之间的距离,这种距离的获取方式这里不做赘述;此外,在这种情况下还涉及另一种对准星与吸附点之间的距离的获取方式,即,在当前帧和上一帧中,对准星和吸附点分别在横轴和纵轴两个方向上确定各自的偏移量,以较大的偏移量作为准星与吸附点之间的距离。
198.换言之,终端获取该准星到该目标虚拟对象的横向偏移量和纵向偏移量,该横向偏移量是指该准星到该目标虚拟对象的竖直中轴线之间的距离,也即将该准星的水平坐标与该竖直中轴线的水平坐标之间水平坐标差的绝对值确定为横向偏移量,该纵向偏移量是指该准星到该目标虚拟对象的水平中轴线之间的距离,也即将该准星的垂直坐标与该水平中轴线的垂直坐标之间的垂直坐标差的绝对值确定为纵向偏移量,然后比较该横向偏移量和纵向偏移量的大小关系,接着,将该横向偏移量和该纵向偏移量中的最大值确定为该准星到该吸附点之间的距离。在一个示例中,以x坐标表示水平坐标即横坐标,假设横向偏移量大于纵向偏移量,此时横向偏移量和纵向偏移量中的最大值为该横向偏移量,此时d=abs(竖直中轴线x坐标

准星x坐标),d代表准星与吸附点之间的距离,abs代表求括号内数值的绝对值。
199.在上述过程中,由于头部骨骼点通常是固定不变的,因此使用两点之间的直线距离就能够精确表现出准星与吸附点之间是靠近还是远离,而躯体骨骼点则会随着准星的水平高度变化而动态变化,因此当准星和吸附点(躯体骨骼点)两者均在发生变化时,如果仍以两点之间的直线距离作为准星与吸附点之间的距离判断,会导致对准星与吸附点之间是靠近还是远离的判断准确性下降,进一步导致对吸附修正系数的配置准确度下降,因此通过计算横向偏移量和纵向偏移量,以两者之间较大的偏移量作为准星与吸附点之间的距离,可精细化判断出在移动较快的轴向上,准星与吸附点之间是靠近还是远离,从而做出对吸附修正系数的精准配置。
200.在一些实施例中,对当前帧基于上述方式获取到准星与吸附点之间的距离d,对上一帧基于上述方式同样获取到准星与吸附点之间的距离dlastframe之后,如果该准星在当前帧与吸附点之间的距离小于在上一帧与吸附点之间的距离,即d<dlastframe,执行下述步骤305-a,以第一修正系数作为吸附修正系数;如果该准星在当前帧与吸附点之间的距离大于或等于在上一帧与吸附点之间的距离,即d≥dlastframe,执行下述步骤305-b,以第二修正系数作为吸附修正系数。
201.305-a、响应于该准星在当前帧与该吸附点之间的距离小于在上一帧与该吸附点之间的距离,确定该吸附修正系数为第一修正系数。
202.在上述过程中,由于该准星在当前帧与吸附点之间的距离小于在上一帧与吸附点之间的距离,代表准星逐渐靠近目标虚拟对象上的吸附点,需要对位移速度进行加速以使
准星更快吸附到吸附点上,因此可使用第一修正系数作为该吸附修正系数,其中,该第一修正系数用于提升准星的位移速度,亦称为加速修正系数、靠近修正系数等,本技术实施例对此不进行具体限定。
203.在一些实施例中,在获取该第一修正系数时,执行下述步骤a1)至a3):
204.a1)基于该位移方向,确定吸附加速强度,该吸附加速强度用于表征对该位移速度进行加速的程度。
205.在一些实施例中,可根据该位移方向的延长线(即正向延长线)是否与目标虚拟对象的中轴线相交,从预先配置的加速强度中选择本次的吸附加速强度,可选地,技术人员在服务器侧预先配置第一加速强度adsorption1和第二加速强度adsorption2,该第一加速强度adsorption1和第二加速强度adsorption2为大于0的数值,此外,技术人员可根据业务需求来配置更多或者更少的加速强度,本技术实施例对此不进行具体限定。
206.在一个示例性场景中,以该第二加速强度adsorption2小于该第一加速强度adsorption1为例进行说明,在该延长线与该目标虚拟对象的中轴线相交的情况下,说明对该目标虚拟对象存在较强的瞄准意图,因此确定该吸附加速强度为取值较大的第一加速强度adsorption1;在该延长线与该目标虚拟对象的中轴线不相交的情况下,说明对该目标虚拟对象存在较弱的瞄准意图,因此确定该吸附加速强度为取值较小的第二加速强度adsorption2。
207.可选地,由于该目标虚拟对象实际上包括一条水平中轴线和一条竖直中轴线,因此在上述判断该延长线是否与目标虚拟对象的中轴线相交的过程中,可判断该延长线是否与水平中轴线或者竖直中轴线中任一条中轴线相交,也即,当该延长线与水平中轴线相交,或者与竖直中轴线相交,或者与水平中轴线和竖直中轴线均相交时,确定该延长线与该目标虚拟对象的中轴线相交,当该延长线与该水平中轴线和竖直中轴线均不相交时,确定该延长线与目标虚拟对象的中轴线不相交。可选地,也可仅判断该延长线是否与竖直中轴线相交,或者仅判断该延长线是否与水平中轴线相交,本技术实施例对此不进行具体限定。
208.图6是本技术实施例提供的一种目标虚拟对象的对象模型的原理性示意图,如图6所示,对于目标虚拟对象的对象模型600,其外部具有一个长方形的吸附检测范围610,并且该目标虚拟对象具有竖直中轴线601和水平中轴线602。假设在当前帧准星620位于吸附检测范围610内部,沿准星620的位移方向绘制一条延长线630,此时延长线630与目标虚拟对象的竖直中轴线601相交,因此将吸附加速强度确定为取值较大的第一加速强度adsorption1。
209.图7是本技术实施例提供的一种目标虚拟对象的对象模型的原理性示意图,如图7所示,对于目标虚拟对象的对象模型700,其外部具有一个长方形的吸附检测范围710,并且该目标虚拟对象具有竖直中轴线701和水平中轴线702。假设在当前帧准星720位于吸附检测范围710内部,沿准星720的位移方向绘制一条延长线730,此时延长线730与目标虚拟对象的竖直中轴线701和水平中轴线702均不相交,需要说明的是该水平中轴线701和竖直中轴线702均在吸附检测范围710的边界处截止而并不会在瞄准画面中无限延伸,也即该水平中轴线701和垂直中轴线702均是在吸附检测范围710的边界处停止延伸的线段,因此将吸附加速强度确定为取值较小的第二加速强度adsorption2。
210.在上述过程中,通过针对不同的情况,选择不同大小的吸附加速强度,使得该吸附
加速强度能够与用户对目标虚拟对象的瞄准意图具有更高的适配度,从而达到更加自然和流畅的吸附效果。
211.a2)获取该虚拟道具对应的吸附加速类型,该吸附加速类型用于表征对该位移速度进行加速的方式。
212.在一些实施例中,技术人员在服务器侧对不同的虚拟道具配置不同的默认情况下的吸附加速类型,可选地,如果用户没有在终端对吸附加速类型进行设置,则确定该虚拟道具对应的默认情况下的吸附加速类型,如果用户在终端对吸附加速类型进行了个性化设置,则确定用户对该虚拟道具自定义修改后的吸附加速类型,本技术实施例对吸附加速类型的获取方式不进行具体限定。
213.在一些实施例中,终端将虚拟道具的道具标识(identification,id)与对应的吸附加速类型k进行关联存储,此时如果用户没有对吸附加速类型进行设置,那么与每个虚拟道具的道具id关联存储的是默认情况下的吸附减速类型k,用户对任一虚拟道具对应的吸附加速类型k进行了个性化设置,会在缓存中修改与该虚拟道具的道具id关联存储的吸附加速类型k。接着,在获取目前虚拟道具的吸附加速类型时,只需要以当前使用的虚拟道具的道具id为索引,即可查询得到与该索引关联存储的吸附加速类型k。
214.在一些实施例中,该吸附加速类型k包括下述至少一项:匀速修正类型k1,该匀速修正类型k1用于增大该位移速度;加速度修正类型k2,该加速度修正类型k2用于为该位移速度设置预设加速度;距离修正类型k3,该距离修正类型k3用于为该位移速度设置可变加速度,该可变加速度与该准星与该吸附点之间的距离呈负相关。
215.可选地,在选中上述匀速修正类型k1时,会在以吸附加速强度进行加速的基础上,再对经过吸附加速强度修正后的位移速度进行一个k1比例的缩放,从而直接增大位移速度,此时相当于使得准星以更大的速度进行匀速移动。
216.可选地,在选中上述加速度修正类型k2时,会在以吸附加速强度进行加速的基础上,再对经过吸附加速强度修正后的位移速度施加一个预设加速度k2,从而对位移速度施加一个固定的预设加速度,此时相当于使得准星在该预设加速度的作用下进行匀加速移动。
217.可选地,在选中上述距离修正类型k3时,会在以吸附加速强度进行加速的基础上,再对经过吸附加速强度修正后的位移速度施加一个随距离变化的可变加速度k3,从而对位移速度施加一个随着准星与吸附点之间的距离变化而变化的可变加速度,此时相当于使得准星在该可变加速度的作用下进行变加速移动,例如,该可变加速度与该准星与吸附点之间的距离呈负相关,使得当准星离吸附点越近时,可变加速度取值越大,当准星离吸附点越远时,可变加速度取值越小。
218.在上述过程中,通过对不同的虚拟道具配置多种吸附加速类型,且支持用户对吸附加速类型的个性化设置,使得用户能够自行对不同虚拟道具设置个人手感最佳的吸附加速类型,从而优化吸附效果,改善用户体验。
219.a3)基于该吸附加速强度和该吸附加速类型,确定该第一修正系数。
220.在一些实施例中,将该吸附加速强度与该吸附加速类型进行融合,得到该第一修正系数,例如,将该吸附加速强度adsorption与该吸附加速类型k相乘,得到该第一修正系数,也即,该第一修正系数=adsorption
×
k,在一个示例中,对该吸附加速强度adsorption
按照准星的位移方向进行灵活配置,其取值包括adsorption1或者adsorption2,对该吸附加速类型k按照当前所使用虚拟道具的默认设置或者用户个性化设置进行灵活配置,其取值包括k1、k2或者k3,此时该吸附加速强度adsorption相当于一个基础加速因子,而吸附加速类型k相当于一个调节因子。
221.可选地,终端也可仅执行上述步骤a1并将该吸附加速强度adsorption直接确定为第一修正系数,或者仅执行上述步骤a2并将该吸附加速类型k确定为该第一修正系数,本技术实施例对此不进行具体限定。
222.305-b、响应于该准星在当前帧与该吸附点之间的距离大于或等于在上一帧与该吸附点之间的距离,确定该吸附修正系数为第二修正系数。
223.在上述过程中,由于该准星在当前帧与吸附点之间的距离大于或等于在上一帧与吸附点之间的距离,代表准星逐渐远离目标虚拟对象上的吸附点,需要对位移速度进行减速以提供一定的阻力避免用户误操作或者在屏幕上滑动过度,,因此可使用第二修正系数作为该吸附修正系数,其中,该第二修正系数用于降低准星的位移速度,亦称为减速修正系数、远离修正系数等,本技术实施例对此不进行具体限定。
224.在一些实施例中,在获取该第二修正系数时,可先确定一条修正系数曲线,该修正系数曲线的横坐标用于指示准星与吸附点在相邻两帧之间的相对位移量,该相对位移量用于表示在相邻两帧之间准星与吸附点之间的距离差值,该修正系数曲线的纵坐标用于指示第二修正系数的取值,因此,在获取到该准星在当前帧与该吸附点之间的距离以及该准星在上一帧与该吸附点之间的距离之后,可基于上述两个距离之间的距离差值,从修正系数曲线中采样得到该第二修正系数。
225.图8是本技术实施例提供的一种修正系数曲线的原理性示意图,如图8所示,将该准星在当前帧与该吸附点之间的距离作为横坐标,代入该修正系数曲线800之后计算得到的纵坐标,即为当前帧下第二修正系数的取值。
226.示意性地,以factorawaymin表示第二修正系数,以pc-》rotationinputcache.yaw表示准星与吸附点在当前帧和上一帧之间的相对位移量(即该准星在当前帧与该吸附点之间的距离以及该准星在上一帧与该吸附点之间的距离的距离差值),函数fmath::abs()代表对括号内的数值取绝对值,函数lockdegressfactorawaymid-》getfloatvalue()代表将括号内的数值代入修正系数曲线lockdegressfactorawaymid的横坐标之后计算其对应的纵坐标,因此,上述对修正系数曲线进行采样以得到第二修正系数的过程可表示为如下代码:
227.factorawaymin=lockdegressfactorawaymid-》getfloatvalue(fmath::abs(pc-》rotationinputcache.yaw));
228.306、终端基于该吸附修正系数对该准星的位移速度进行调整,得到目标吸附速度的矢量大小。
229.在一些实施例中,本技术实施例涉及的“目标吸附速度”是一种速度矢量,即,目标吸附速度不止指示准星移动的速率快慢(由矢量大小控制),还能够指示准星移动的方向(由矢量方向控制)。
230.可选地,在主动吸附逻辑下,仅调整目标吸附速度的矢量大小而不改变矢量方向,即,仅基于该吸附修正系数对该位移速度调整得到该速度矢量的矢量大小(即速率值),换
言之,该目标吸附速度为经过该吸附修正系数对该位移速度调整得到,而将速度矢量的矢量方向确定为原本准星的该位移方向,跳过下述步骤307,直接进入步骤308,相当于在不改变位移方向的前提下,给准星原本的位移速度施加了一个调整系数,使得在不改变用户自身对位移方向的瞄准意图的情况下,通过调整系数来方便准星快速拖动到目标虚拟对象即瞄准目标上。
231.在一些实施例中,终端基于该吸附修正系数,对该位移速度进行调整,得到目标吸附速度,可选地,当该准星在当前帧与该吸附点之间的距离小于在上一帧与该吸附点之间的距离时,说明准星的位移方向靠近吸附检测范围,使用上述步骤305-a获取的第一修正系数对该位移速度进行加速,以加快准星靠近目标虚拟对象的速度,方便准星快速对准目标虚拟对象,当该准星在当前帧与该吸附点之间的距离大于或等于在上一帧与该吸附点之间的距离时,说明准星的位移方向远离吸附检测范围,使用上述步骤305-b获取的第二修正系数对该位移速度进行减速,以减慢准星远离目标虚拟对象的速度,改善用户对准星调整时由于滑动过度而造成误操作的情况。
232.307、终端基于该准星的吸附点对该位移方向进行调整,得到目标吸附速度的矢量方向。
233.在本技术实施例中,以主动吸附逻辑下,不仅调整目标吸附速度的矢量大小,同时也调整目标吸附速度的矢量方向为例进行说明,即,基于该吸附修正系数对该位移速度调整得到该速度矢量的矢量大小(即速率值),基于该准星的吸附点对该位移方向调整得到该速度矢量的矢量方向,相当于不仅给准星原本的位移速度施加了一个调整系数,也给准星原本的位移方向施加了一个调整角度,使得在整体位移趋势不变的情况下,对位移方向和位移速度均进行精细化的微调,从而能够更好地使得准星快速吸附到目标虚拟对象即瞄准目标上。
234.在一些实施例中,对于准星位移过程中的每一帧,实时检测确定出当前帧的准星的位移速度和位移方向之后,终端通过上述步骤306基于该吸附修正系数,对该位移速度进行调整,得到目标吸附速度即速度矢量的矢量大小,接着,在本步骤307中,获取从准星指向吸附点的目标方向,这样基于原本的该位移速度和位移方向能够确定一个初始矢量,基于上述调整得到的矢量大小和该目标方向能够确定一个修正矢量,将初始矢量和修正矢量求矢量和,得到一个目标矢量,这一目标矢量的方向即为目标吸附速度即速度矢量的矢量方向,从而按照上述确定的矢量大小和矢量方向,能够唯一确定出一个速度矢量即目标吸附速度,这一目标吸附速度能够表征当前帧准星的速度矢量,对于下一帧由于位移方向、位移速度都发生了变化,因此需要重新执行步骤302-307确定下一帧准星的速度矢量,以此类推,这里不做赘述。需要说明的是,如果位移方向和目标方向相同,此时将目标矢量的矢量方向也等于位移方向和目标方向,即准星的位移方向不会发生变化。
235.308、终端显示该准星基于该矢量大小和矢量方向所确定的速度矢量即目标吸附速度进行移动。
236.在一些实施例中,在准星并不固定于瞄准画面的中心点的情况下,则直接在瞄准画面中显示该准星沿该位移方向、以经过吸附修正系数调整得到的目标吸附速度进行移动。
237.在另一些实施例中,在准星始终固定于瞄准画面的中心点的情况下,在控制该准
星以沿着该位移方向以目标吸附速度进行移动时,由于准星与瞄准画面的相对位置保持不变,因此终端需要控制主控虚拟对象上挂载的摄像机随着该准星的移动而进行朝向的改变,即,控制该摄像机按照该目标吸附速度进行移动,从而带动该摄像机所能够观察到的瞄准画面随之进行修改,由于准星位于瞄准画面的中心,因此瞄准画面的变化会带动准星一起移动,从而经过多帧位移之后能够最终将准星对齐到目标虚拟对象的吸附点上,即在终端上呈现出瞄准镜中观察到的瞄准画面跟随准星的移动而进行同步移动的过程。
238.图9是本技术实施例提供的一种主动吸附方式的原理性示意图,如图9所示,在基于上述步骤303的方式,确定该瞄准目标与目标虚拟对象900的吸附检测范围910相关联时,触发准星的主动吸附逻辑,该主动吸附逻辑是指:准星920将沿着用户指示的位移方向,逐渐被吸附到与该位移方向相匹配的吸附点901上。对吸附点901的获取方式请参考上述步骤304的描述,这里以吸附点901为该准星920的位移方向的延长线与目标虚拟对象900的竖直中轴线的交点为例进行说明,示意性地,该交点恰好是目标虚拟对象900的头部骨骼点。同时,在主动吸附逻辑下基于上述步骤305确定对应的吸附修正系数,由于该准星920的位移方向靠近吸附检测范围910,此时使用上述步骤305-a中涉及的第一修正系数作为吸附修正系数,以对准星920原本的位移速度进行一定程度的加速,从而加快准星920被吸附到该吸附点901的速度。
239.在一些实施例中,针对主动吸附方式提供一种可能的失效条件,即,用户将准星从目标虚拟对象的吸附检测范围内移动到吸附检测范围外,并且保持第一时长时,则取消对准星执行主动吸附逻辑,其中,该第一时长为任一大于0的时长,例如为0.5秒,或者0.3秒等。也即是说,由于用户对虚拟道具的瞄准操作是一个实时动态的过程,因此每一帧都会基于实时最新的吸附修正系数来对当前时刻的位移速度进行调整,在此基础上,响应于该准星从该吸附检测范围内移动至该吸附检测范围外,且位于该吸附检测范围外的时长超过第一时长,取消以该吸附修正系数对该位移速度进行修正,此时由于无需对位移速度进行修正,只需要控制准星在当前时刻位移方向上按照当前时刻的位移速度进行移动即可,这里不做赘述。
240.图10是本技术实施例提供的一种主动吸附方式的失效条件的原理性示意图,如图10所示,在基于上述步骤303的方式,确定该瞄准目标与目标虚拟对象1000的吸附检测范围1010相关联时,触发准星的主动吸附逻辑之后,会使用实时计算的吸附修正系数来对每一帧的位移速度进行调整,主动吸附逻辑持续生效。如果在某一帧检测到准星1020从吸附检测范围1010内移动到吸附检测范围1010外,则对该准星1020位于该吸附检测范围1010外的时长进行计时,直到该准星1020位于该吸附检测范围1010外的时长超过第一时长,则使得该主动吸附逻辑失效,即,不再实时计算吸附修正系数,也停止使用吸附修正系数对每一帧的位移速度进行调整。需要说明的是,在主动吸附逻辑失效之后,如果重新判定到符合该主动吸附逻辑的触发条件(即生效条件)时,则会再次开启主动吸附逻辑。
241.下面,将结合一种可能的fps游戏的游戏界面,介绍主动吸附方式的界面表现,本技术实施例提供的主动吸附方式能够提高用户在移动端使用虚拟道具对准瞄准目标的操作精度,且能够沿着用户所主动操作的准星的移动趋势实现辅助瞄准,通过加速或者减速准星的移动吸附,能够帮助用户在移动端快速将准星对准瞄准目标,且使得辅助瞄准的吸附表现更加自然,且能够同时适用于多种不同类型的虚拟道具所需要的不同吸附表现。
242.图11是本技术实施例提供的一种瞄准画面的界面示意图,如图11所示,在终端屏幕中显示瞄准画面1100,在该瞄准画面1100中显示有虚拟道具1101和准星1102,该虚拟道具1101是主控虚拟对象当前所使用的虚拟道具,该准星1102是固定于瞄准画面1100的中心点。示意性地,在瞄准画面1100中还显示有发射控件1103,发射控件1103俗称为开火键,用户可对该发射控件1103执行触发操作,触发主控虚拟对象控制虚拟道具发射对应的发射物,以使得该发射物向准星所指示的落点进行飞行。能够看出,在瞄准画面1100中还显示有目标虚拟对象1104,用户在主动瞄准目标虚拟对象1104的过程中,需要控制准星1102拉向目标虚拟对象1104,终端对每一帧确定该准星的位移方向,当该位移方向的延长线与该目标虚拟对象1104的吸附检测范围存在交集时,触发准星1102的主动吸附逻辑,此时准星1102会受到一个指向目标虚拟对象1104的吸附力影响,准星1102会在原本位移速度的基础上,获取一个指向目标虚拟对象1104的吸附修正系数。
243.图12是本技术实施例提供的一种瞄准画面的界面示意图,请参考图12,在终端屏幕中显示瞄准画面1200,在图11所示的基础上,在触发准星1102的主动吸附逻辑的基础上,准星1102的位移速度会受到吸附修正系数的影响,以该吸附修正系数为第一修正系数为例,第一修正系数会对位移速度提供一个加速,使得准星1102更快地移向被吸附的目标即目标虚拟对象1104,直到准星1102挪到了目标虚拟对象1104上,如图12所示,能够看出准星1102已经与目标虚拟对象1104重合,此时用户可按下发射控件1103,对虚拟道具进行开火,播放开火动画,并控制虚拟道具对应的发射物向准星1102所指示的目标虚拟对象1104进行飞行,在该发射物命中目标虚拟对象1104时,可产生对应的作用,例如,扣除目标虚拟对象1104的虚拟生命值。
244.在本技术实施例中介绍的主动吸附方式,既适用于开镜射击模式也适用于不开镜射击模式,既适用于第一人称视角下的瞄准画面也适用于第三人称视角下的瞄准画面,不同虚拟道具的吸附加速强度和吸附加速类型均可服务端预先配置或者个性化配置,以适配不同用户个人的瞄准习惯,具有很好的普适性,便于推广和应用在不同场景。
245.进一步的,在实现准星吸附时,是在用户原本就执行的瞄准操作(即调整准星的操作)基础上,如果用户手动将准星对准目标虚拟对象,则对原本位移方向上的位移速度提供一个指向性加速,与用户本来的瞄准操作的趋势保持一致,而不是瞬间将准星对准目标虚拟对象,因此准星的吸附效果自然流畅、不突兀,并且主动吸附方式在用户调整准星过程中触发,触发方式也自然流畅、不突兀,更加贴合于用户自己手动操作的瞄准结果。并且在用户手动将准星脱离目标虚拟对象时,也不会改变准星的位移方向,只是会对原本的位移速度提供一个指向性减速,即表现为准星拖动减慢,而不会造成准星拖不过去一直吸附在目标虚拟对象上的情况,即吸附表现不会与用户主观的瞄准意图造成拉扯。
246.上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
247.本技术实施例提供的方法,通过在用户原本执行的瞄准操作的基础上,如果确定瞄准目标与目标虚拟对象的吸附检测范围相关联,代表用户对目标虚拟对象存在瞄准意图,此时给原本的位移速度施加一个吸附修正系数,并通过该吸附修正系数对位移速度进行调节,使得调节后的目标吸附速度更加贴合于用户的瞄准意图,便于准星更准确地聚焦到瞄准目标,大大提高了人机交互效率。
248.在上述实施例中,详细介绍了主动吸附方式的触发条件以及如何按照吸附修正系数对位移速度进行修正,在本技术实施例中,还涉及一种不基于用户主动开启的瞄准操作的吸附逻辑(称为被动吸附逻辑),即,当准星处于第一虚拟对象的吸附检测范围内时,触发准星的被动吸附逻辑。换言之,主动吸附逻辑依赖于用户执行的瞄准操作,用户没有执行瞄准操作时不会开启主动吸附逻辑,而被动吸附逻辑则不依赖于用户执行的瞄准操作,在用户没有执行瞄准操作的情况下,只要准星处于第一虚拟对象的吸附检测范围内,就能够触发准星的被动吸附逻辑。
249.在一些实施例中,终端响应于该准星位于第一虚拟对象的吸附检测范围内,即控制准星自动移动至该第一虚拟对象,其中,该第一虚拟对象为该虚拟场景中支持被吸附的虚拟对象,该第一虚拟对象包括上述实施例中涉及目标虚拟对象。检测准星是否位于吸附检测范围内的过程,可针对游戏对局中的每一帧均进行检测,判断准星是否处于任意第一虚拟对象的吸附检测范围内,从而决策是否触发被动吸附逻辑。对于吸附检测范围为三维空间范围的情况,上述检测过程是指检测准星逆投影到虚拟场景中的投影点是否位于三维空间范围,对于吸附检测范围是二维平面区域的情况,上述检测过程是指检测准星是否位于瞄准画面中第一虚拟对象对应的二维平面区域。本技术实施例对检测准星是否位于吸附检测范围内的方式不进行具体限定。
250.在一些实施例中,控制准星移动至第一虚拟对象的过程,是指控制准星以预设吸附速度吸附到该第一虚拟对象上,其中,该预设吸附速度是指被动吸附逻辑下由技术人员预先配置的吸附速度。被动吸附逻辑下,准星所对应吸附点的获取方式与上述步骤304类似,这里不做赘述。在获取到吸附点之后,从准星指向吸附点的方向即为被动吸附逻辑下准星的位移方向,准星的吸附速度则是被动吸附逻辑下的预设吸附速度,从而控制准星沿着该位移方向以预设吸附速度自动移动至第一虚拟对象上对应的吸附点。
251.图13是本技术实施例提供的一种瞄准画面的界面示意图,如图13所示,在终端屏幕中显示瞄准画面1300,在该瞄准画面1300的中心点位置上显示有虚拟道具的准星1301,可选地,在瞄准画面1300中还显示有发射控件1302,发射控件1302俗称为开火键,用户可对发射控件1302执行触发操作,触发主控虚拟对象控制虚拟道具发射对应的发射物,以使得该发射物向准星1301所指示的落点进行飞行。示意性地,在瞄准画面1300中还显示有第一虚拟对象1303,在用户没有手动调整准星1301即没有执行瞄准操作的情况下,假设终端在当前帧检测到了准星1301位于第一虚拟对象1303的吸附检测范围内,则触发准星1301的被动吸附逻辑,即控制准星1301自动吸附到第一虚拟对象1303。
252.图14是本技术实施例提供的一种瞄准画面的界面示意图,请参考图14,在终端屏幕中显示瞄准画面1400,在图13所示的基础上,在触发准星1301的被动吸附逻辑的基础上,终端会控制准星1301自动向第一虚拟对象1303进行移动,直到准星1301挪到了第一虚拟对象1303身上对应的吸附点,如图14所示,能够看出准星1301已经与第一虚拟对象1303重合,此时用户可按下发射控件1302,对虚拟道具进行开火,播放开火动画,并控制虚拟道具对应的发射物向准星1301所指示的第一虚拟对象1303进行飞行,在该发射物命中第一虚拟对象1303时,可产生对应的作用,例如,扣除第一虚拟对象1303的虚拟生命值。
253.在一些实施例中,在开启被动吸附逻辑的情况下,有可能第一虚拟对象本身就会受到当前游戏对局中其他用户的操作,而在虚拟场景中发生位移,因此,在该第一虚拟对象
发生位移的情况下,终端可自动控制该准星以目标速度跟随该第一虚拟对象进行移动。其中,该目标速度是指准星的跟随速度,可选地,该目标速度也是由技术人员预先配置的速度,呈现一种准星异步跟随第一虚拟对象进行位移的效果,更加贴合真实场景下用户发现敌人逃走而持续追踪的视觉效果,或者该目标速度始终与第一虚拟对象的位移速度保持一致,呈现一种准星同步跟随第一虚拟对象进行位移效果,能够提升准星的瞄准精度,便于用户随时开火射击。
254.图15是本技术实施例提供的一种瞄准画面的界面示意图,如图15所示,在终端屏幕中显示瞄准画面1500,在图14所示的基础上,此时准星1301已经基于被动吸附逻辑的影响,在用户没有执行瞄准操作的情况下自动吸附到了第一虚拟对象1303身上对应的吸附点,能够看出,相较于图14来说第一虚拟对象1303在虚拟场景中发生了位移(向右平移了一段距离),但此时准星1301仍然锁定在第一虚拟对象1303身上对应的吸附点,即,准星1301跟随第一虚拟对象1303进行了移动。
255.在一些实施例中,在开启被动吸附逻辑的情况下,如果准星持续瞄准第一虚拟对象,但用户迟迟未开火射击,代表第一虚拟对象很可能不是用户的瞄准目标,因此提供一种被动吸附逻辑的失效条件,即设置准星对第一虚拟对象的吸附时长的时长阈值为第二时长,该第二时长为任一大于0的数值,例如为1秒、1.5秒等,本技术实施例对第二时长不进行具体限定。
256.可选地,在该准星对该第一虚拟对象的吸附时长小于第二时长的情况下,响应于该第一虚拟对象发生位移,控制该准星跟随该第一虚拟对象进行移动,此时被动吸附逻辑持续生效;在该准星对该第一虚拟对象的吸附时长大于或等于第二时长的情况下,不再控制准星跟随该第一虚拟对象进行移动,即取消将准星吸附到第一虚拟对象,此时被动吸附逻辑已经失效。
257.在本技术实施例中,详细介绍了被动吸附方式以及如何在无需用户执行瞄准操作的情况下,自动将准星吸附到瞄准目标,可选地,当准星位于第一虚拟对象的吸附检测范围内时,如果准星的水平高度大于或等于第一虚拟对象的目标分界线的水平高度,则以第一虚拟对象的头部骨骼点作为吸附点,如果准星的水平高度小于第一虚拟对象的目标分界线的水平高度,则以第一虚拟对象的竖直中轴线上与该准星的水平高度相同的躯体骨骼点作为吸附点。此外,上述被动吸附逻辑,在本质上可视为对挂载在主控虚拟对象身上的摄像机的朝向修改,在控制准星移动到吸附点时,可将准星从当前帧所处的当前位置通过插值运算逐渐移动到吸附点。需要说明的是,被动吸附方式既适用于开镜射击模式也适用于不开镜射击模式,既适用于第一人称视角下的瞄准画面也适用于第三人称视角下的瞄准画面,本技术实施例对此不进行具体限定。
258.在上述两个实施例中,分别详细介绍了主动吸附方式和被动吸附方式,两种吸附方式均既适用于开镜射击模式也适用于不开镜射击模式,既适用于第一人称视角下的瞄准画面也适用于第三人称视角下的瞄准画面,具有很高的普适性和广泛的应用场景,能够满足各类实时性和精确性要求较高的对抗类射击游戏,提高了虚拟道具的瞄准精度、瞄准过程的拟真度、辅助瞄准功能的易用性。
259.而在本技术实施例中,针对准星位于吸附检测范围内的情况,可根据技术人员在服务端的配置,对每个目标虚拟对象在吸附检测范围内还配置一个摩擦检测范围,该摩擦
检测范围用于判断是否需要对准星开启基于摩擦力的修正逻辑,需要说明的是,基于摩擦力的修正逻辑是与上述实施例的主动吸附逻辑或者被动吸附逻辑是能够同时生效的,即当准星位于摩擦检测范围时,由于摩擦检测范围位于吸附检测范围内部,代表准星也满足位于吸附检测范围内,可根据用户是否执行瞄准操作决定开启主动吸附逻辑还是被动吸附逻辑,来控制准星吸附到瞄准目标,同时,也会基于本技术实施例涉及的基于摩擦力的修正逻辑,直接作用于挂载在主控虚拟对象身上的摄像机,对由于摄像机的转向而带动准星的转向操作,提供一个摩擦阻力,下面进行说明。
260.在一些实施例中,在准星位于目标虚拟对象(或第一虚拟对象)的吸附检测范围内的情况下,终端对每一帧均检测准星是否位于吸附检测范围内的摩擦检测范围,响应于该准星位于该吸附检测范围内的摩擦检测范围,确定该准星对应的摩擦修正系数,其中,该摩擦修正系数是一个大于或等于0且小于或等于1的数值。接着,响应于对该准星的转向操作,基于该摩擦修正系数,对该转向操作对应的转向角度进行修正,得到目标转向角度,从而控制该准星在该虚拟场景中的朝向转动该目标转向角度。换言之,摩擦修正系数是直接作用于准星的转向操作的转向角度,是对该转向角度的一种修正逻辑。
261.在上述过程中,通过摩擦修正系数修正转向操作的转向角度,使得当准星位于摩擦检测范围内时,如果用户试图操控准星远离瞄准目标,由于目标转向角度受到了摩擦修正系数的影响,而摩擦修正系数的取值范围为[0,1],因此修正得到的目标转向角度会比原本的真实转向角度小,从而在用户感知上表现为准星转动时的转速降低,使得准星更多地停留在瞄准目标的吸附检测范围内,从而用户在控制准星进入摩擦检测范围后,会感觉到操作准星进行转向时变得吃力。
[0262]
以下,将介绍摩擦修正系数的获取方式。
[0263]
可选地,该摩擦检测范围包括第一目标点(horzontalmin,verticalmin)和第二目标点(horzontalmax,verticalmax),该第一目标点处的摩擦修正系数为最小值turninputscalefact.x,例如将该最小值turninputscalefact.x配置为0、0.1、0.2或其他数值,该第二目标点处的摩擦修正系数为最大值turninputscalefact.y,例如将该最大值turninputscalefact.y配置为1、0.9、0.8或其他数值。在配置该最小值turninputscalefact.x和最大值turninputscalefact.y时,只需要保证最小值turninputscalefact.x和最大值turninputscalefact.y均符合摩擦修正系数的取值范围[0,1],且最小值turninputscalefact.x小于最大值turninputscalefact.y即可,本技术实施例不对此进行具体限定。
[0264]
图16是本技术实施例提供的一种摩擦检测范围的原理性示意图,如图16所示,示出了目标虚拟对象1600,在目标虚拟对象1600的外部配置了一个摩擦力内框1601,摩擦力内框1601的左上顶点即为第一目标点(horzontalmin,verticalmin),当准星位于第一目标点处时,将准星的摩擦修正系数置为最小值turninputscalefact.x。在摩擦力内框1602的外部配置了一个摩擦力外框1602,摩擦力外框1602的左上顶点即为第二目标点(horzontalmax,verticalmax),当准星位于第二目标点处时,将准星的摩擦修正系数置为最大值turninputscalefact.y。其中,该摩擦力外框1602即为本技术实施例所涉及的摩擦检测范围的边界。此外,在摩擦力外框1602的外部还配置了一个吸附检测框1603,该吸附检测框1603即为本技术实施例所涉及的吸附检测范围的边界。其中,准星1604的当前位置表
示为(aim2d.x,aim2d.y),由于准星1604目前位于摩擦力外框1602内部,因此会同时受到吸附力对位移速度的影响以及摩擦力对转动角度的影响。
[0265]
在提供了最小值turninputscalefact.x和最大值turninputscalefact.y的基础上,终端可基于该准星的位置坐标(aim2d.x,aim2d.y),在该最小值turninputscalefact.x和该最大值turninputscalefact.y之间进行插值运算,得到该摩擦修正系数,其中,该摩擦修正系数与该准星到该第一目标点的距离呈正相关,即,当准星与第一目标点的距离越近时,摩擦修正系数取值越小,受到的摩擦力越大,当准星与第一目标点的距离越远时,摩擦修正系数取值越大,受到的摩擦力越小,直到准星脱离摩擦检测范围(准星位于摩擦力外框1602之外)时不再受到摩擦力的影响。
[0266]
在一些实施例中,获取该第一目标点(horzontalmin,verticalmin)到该第二目标点(horzontalmax,verticalmax)的水平距离为水平阈值,该水平阈值可表示为:horizontalmax

horizontalmin;接着,获取该第一目标点(horzontalmin,verticalmin)到该第二目标点(horzontalmax,verticalmax)的垂直距离为垂直阈值,该垂直阈值可表示为:verticalmax

verticalmin。
[0267]
在一些实施例中,在该最小值和该最大值之间进行插值运算时,可先获取该准星(aim2d.x,aim2d.y)到该第一目标点(horzontalmin,verticalmin)的水平距离和垂直距离,该水平距离可表示为aim2d.x

horizontalmin,该垂直距离可表示为aim2d.y

verticalmin。接着,获取该水平距离与该水平阈值之比hratio以及该垂直距离与该垂直阈值之比vratio,其中,hratio和vratio可分别表示为如下公式:
[0268]
hratio=(aim2d.x-horizontalmin)/(horizontalmax-horizontalmin);
[0269]
vratio=(aim2d.y-verticalmin)/(verticalmax-verticalmin);
[0270]
进一步的,在该水平距离与该水平阈值之比大于或等于该垂直距离与该垂直阈值之比的情况下,即hratio≥vratio时,基于该水平距离与该水平阈值之比,在该最小值和该最大值之间进行插值运算;在该水平距离与该水平阈值之比小于该垂直距离与该垂直阈值之比的情况下,即hratio<vratio时,基于该垂直距离与该垂直阈值之比,在该最小值和该最大值之间进行插值运算。
[0271]
示意性地,通过插值运算函数fmath::lerp(f1,f2,f3)来实现插值运算,其中,插值运算函数需要输入三个参数f1~f3,f1表示插值运算中的最小值即起点,f2表示插值运算的最大值即终点,f3则表示一个可变比例。
[0272]
示意性地,当hratio≥vratio时,对插值运算函数,配置f1=turninputscalefact.x,f2=turninputscalefact.y,f3=hratio,摩擦修正系数fact表示为如下公式:
[0273]
fact=fmath::lerp(turninputscalefact.x,turninputscalefact.y,hratio);
[0274]
示意性地,当hratio<vratio时,对插值运算函数,配置f1=turninputscalefact.x,f2=turninputscalefact.y,f3=vratio,摩擦修正系数fact表示为如下公式:
[0275]
fact=fmath::lerp(turninputscalefact.x,turninputscalefact.y,vratio);
[0276]
在这种情况下,假设用户在当前帧下对准星的转向操作的转向角度(也即对摄像机的转向角度)表示为deltarotator,那么在经过摩擦修正系数fact修正后的目标转向角
度deltarotator=deltarotator*fact,即,将摩擦修正系数与原本的转向角度的乘积deltarotator*fact赋值给deltarotator。
[0277]
换一种表述,假设摩擦力外框的边长与摩擦力内框的边长之间的边长差值称为摩擦框宽度,由于第一目标点位于摩擦力内框的左上顶点,第二目标点位于摩擦力外框的左上顶点,因此水平阈值相当于横轴上摩擦框宽度的二分之一,垂直阈值相当于纵轴上摩擦框宽度的二分之一,因此上述摩擦修正系数的公式可整合起来表示为:
[0278]
摩擦力系数=lerp(min摩擦力,max摩擦力,准星与吸附点之间的距离/(0.5
×
吸附框宽度))。
[0279]
其中,lerp仍然是指插值运算函数,min摩擦力是指摩擦修正系数的最小值turninputscalefact.x,max摩擦力是指摩擦修正系数的最大值turninputscalefact.y,准星与吸附点之间的距离/(0.5
×
吸附框宽度)取hratio和vratio两者之间的最大值。
[0280]
在本技术实施例中,通过介绍了准星位于吸附检测范围内的摩擦检测范围内时,提供了基于摩擦修正系数,将用户对准星的转向操作其转向角度进行修正,使得当准星位于摩擦检测范围内时,如果用户试图操控准星远离瞄准目标,修正得到的目标转向角度会比原本的真实转向角度小,从而在用户感知上表现为准星转动时的转速降低,使得准星更多地停留在瞄准目标的吸附检测范围内,从而用户会感觉到操作准星进行转向时变得吃力,提高了虚拟道具的瞄准精度,提高了人机交互效率。进一步的,由于使用的是hratio和vratio中的最大值完成插值运算,使得无论针对方形、矩形、圆形或者各种不规则形状的摩擦检测范围,均能够在指定第一目标点和第二目标点之后计算到两个比例hratio和vratio,并依此计算摩擦修正系数,提高了摩擦修正系数的计算精度。
[0281]
图17是本技术实施例提供的一种虚拟场景中的准星控制装置的结构示意图,请参考图17,该装置包括;
[0282]
显示模块1701,用于在虚拟场景中显示目标虚拟对象;
[0283]
第一获取模块1702,用于响应于对虚拟道具的瞄准操作,获取该瞄准操作的准星的位移方向和位移速度;
[0284]
第二获取模块1703,用于响应于基于该位移方向确定该瞄准操作的瞄准目标与该目标虚拟对象的吸附检测范围相关联,获取与该位移方向相匹配的吸附修正系数;
[0285]
该显示模块1701,还用于显示该准星以目标吸附速度进行移动,该目标吸附速度为经过该吸附修正系数对该位移速度调整得到。
[0286]
本技术实施例提供的装置,通过在用户原本执行的瞄准操作的基础上,如果确定瞄准目标与目标虚拟对象的吸附检测范围相关联,代表用户对目标虚拟对象存在瞄准意图,此时给原本的位移速度施加一个吸附修正系数,并通过该吸附修正系数对位移速度进行调节,使得调节后的目标吸附速度更加贴合于用户的瞄准意图,便于准星更准确地聚焦到瞄准目标,大大提高了人机交互效率。
[0287]
在一种可能实施方式中,该第二获取模块1703用于:
[0288]
响应于该位移方向的延长线与该吸附检测范围存在交集,确定该瞄准目标与该吸附检测范围相关联,执行该获取吸附修正系数的步骤。
[0289]
在一种可能实施方式中,基于图17的装置组成,该第二获取模块1703包括:
[0290]
获取单元,用于获取该目标虚拟对象中与该准星对应的吸附点;
[0291]
第一确定单元,用于响应于该准星在当前帧与该吸附点之间的距离小于在上一帧与该吸附点之间的距离,确定该吸附修正系数为第一修正系数;
[0292]
第二确定单元,用于响应于该准星在当前帧与该吸附点之间的距离大于或等于在上一帧与该吸附点之间的距离,确定该吸附修正系数为第二修正系数。
[0293]
在一种可能实施方式中,基于图17的装置组成,该第一确定单元包括:
[0294]
第一确定子单元,用于基于该位移方向,确定吸附加速强度,该吸附加速强度用于表征对该位移速度进行加速的程度;
[0295]
获取子单元,用于获取该虚拟道具对应的吸附加速类型,该吸附加速类型用于表征对该位移速度进行加速的方式;
[0296]
第二确定子单元,用于基于该吸附加速强度和该吸附加速类型,确定该第一修正系数。
[0297]
在一种可能实施方式中,该第一确定子单元用于:
[0298]
在该延长线与该目标虚拟对象的中轴线相交的情况下,确定该吸附加速强度为第一加速强度;
[0299]
在该延长线与该目标虚拟对象的中轴线不相交的情况下,确定该吸附加速强度为第二加速强度,该第二加速强度小于该第一加速强度。
[0300]
在一种可能实施方式中,该吸附加速类型包括下述至少一项:匀速修正类型,该匀速修正类型用于增大该位移速度;加速度修正类型,该加速度修正类型用于为该位移速度设置预设加速度;距离修正类型,该距离修正类型用于为该位移速度设置可变加速度,该可变加速度与该准星与该吸附点之间的距离呈负相关。
[0301]
在一种可能实施方式中,该第二确定单元用于:
[0302]
基于该准星在当前帧与该吸附点之间的距离和该准星在上一帧与该吸附点之间的距离的距离差值,从修正系数曲线中采样得到该第二修正系数。
[0303]
在一种可能实施方式中,该获取单元用于:
[0304]
响应于该准星的水平高度大于或等于该目标虚拟对象的目标分界线的水平高度,确定该目标虚拟对象的头部骨骼点为该吸附点,该目标分界线用于区分该目标虚拟对象的头部和躯体;
[0305]
响应于该准星的水平高度小于该目标分界线的水平高度,确定该目标虚拟对象的躯体骨骼点为该吸附点,该躯体骨骼点为该目标虚拟对象的竖直中轴线上与该准星的水平高度相同的骨骼点。
[0306]
在一种可能实施方式中,该获取单元还用于:
[0307]
在该吸附点为该躯体骨骼点的情况下,获取该准星到该目标虚拟对象的横向偏移量和纵向偏移量,该横向偏移量是指该准星到该目标虚拟对象的竖直中轴线之间的距离,该纵向偏移量是指该准星到该目标虚拟对象的水平中轴线之间的距离;
[0308]
将该横向偏移量和该纵向偏移量中的最大值确定为该准星到该吸附点之间的距离。
[0309]
在一种可能实施方式中,基于图17的装置组成,该装置还包括:
[0310]
确定模块,用于响应于该准星位于该吸附检测范围内的摩擦检测范围,确定该准星对应的摩擦修正系数;
[0311]
修正模块,用于响应于对该准星的转向操作,基于该摩擦修正系数,对该转向操作对应的转向角度进行修正,得到目标转向角度;
[0312]
第一控制模块,用于控制该准星在该虚拟场景中的朝向转动该目标转向角度。
[0313]
在一种可能实施方式中,该摩擦检测范围包括第一目标点和第二目标点,该第一目标点处的摩擦修正系数为最小值,该第二目标点处的摩擦修正系数为最大值;
[0314]
基于图17的装置组成,该确定模块包括:
[0315]
插值运算单元,用于基于该准星的位置坐标,在该最小值和该最大值之间进行插值运算,得到该摩擦修正系数,其中,该摩擦修正系数与该准星到该第一目标点的距离呈正相关。
[0316]
在一种可能实施方式中,该第一目标点到该第二目标点的水平距离为水平阈值,该第一目标点到该第二目标点的垂直距离为垂直阈值;
[0317]
该插值运算单元用于:
[0318]
获取该准星到该第一目标点的水平距离和垂直距离;
[0319]
在该水平距离与该水平阈值之比大于或等于该垂直距离与该垂直阈值之比的情况下,基于该水平距离与该水平阈值之比,在该最小值和该最大值之间进行插值运算;
[0320]
在该水平距离与该水平阈值之比小于该垂直距离与该垂直阈值之比的情况下,基于该垂直距离与该垂直阈值之比,在该最小值和该最大值之间进行插值运算。
[0321]
在一种可能实施方式中,基于图17的装置组成,该装置还包括:
[0322]
取消模块,用于响应于该准星从该吸附检测范围内移动至该吸附检测范围外,且位于该吸附检测范围外的时长超过第一时长,取消以该吸附修正系数对该位移速度进行修正。
[0323]
在一种可能实施方式中,基于图17的装置组成,该装置还包括:
[0324]
第二控制模块,用于响应于该准星位于第一虚拟对象的吸附检测范围内,控制该准星移动至该第一虚拟对象;其中,该第一虚拟对象为该虚拟场景中支持被吸附的虚拟对象。
[0325]
在一种可能实施方式中,该第二控制模块还用于:
[0326]
在该第一虚拟对象发生位移的情况下,控制该准星以目标速度跟随该第一虚拟对象进行移动。
[0327]
在一种可能实施方式中,该第二控制模块还用于:
[0328]
在该准星对该第一虚拟对象的吸附时长小于第二时长的情况下,响应于该第一虚拟对象发生位移,控制该准星跟随该第一虚拟对象进行移动。
[0329]
在一种可能实施方式中,该目标吸附速度为速度矢量,该速度矢量的矢量大小基于该吸附修正系数对该位移速度调整得到,该速度矢量的矢量方向基于该准星的吸附点对该位移方向调整得到。
[0330]
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
[0331]
需要说明的是:上述实施例提供的虚拟场景中的准星控制装置在控制准星时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述
的全部或者部分功能。另外,上述实施例提供的虚拟场景中的准星控制装置与虚拟场景中的准星控制方法实施例属于同一构思,其具体实现过程详见虚拟场景中的准星控制方法实施例,这里不再赘述。
[0332]
图18是本技术实施例提供的一种终端的结构示意图,如图18所示,该终端1800是电子设备的一种示例性说明。可选地,该终端1800的设备类型包括:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0333]
通常,终端1800包括有:处理器1801和存储器1802。
[0334]
可选地,处理器1801包括一个或多个处理核心,比如4核心处理器、8核心处理器等。可选地,处理器1801采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。在一些实施例中,处理器1801包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1801集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1801还包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0335]
在一些实施例中,存储器1802包括一个或多个计算机可读存储介质,可选地,该计算机可读存储介质是非暂态的。可选地,存储器1802还包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1802中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1801所执行以实现本技术中各个实施例提供的虚拟场景中的准星控制方法。
[0336]
在一些实施例中,终端1800还可选包括有:外围设备接口1803和至少一个外围设备。处理器1801、存储器1802和外围设备接口1803之间能够通过总线或信号线相连。各个外围设备能够通过总线、信号线或电路板与外围设备接口1803相连。具体地,外围设备包括:射频电路1804、显示屏1805、摄像头组件1806、音频电路1807和电源1808中的至少一种。
[0337]
外围设备接口1803可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1801和存储器1802。在一些实施例中,处理器1801、存储器1802和外围设备接口1803被集成在同一芯片或电路板上;在一些其他实施例中,处理器1801、存储器1802和外围设备接口1803中的任意一个或两个在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0338]
射频电路1804用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1804包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。可选地,射频电路1804通过至少一种无线通信协议来与其
它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1804还包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0339]
显示屏1805用于显示ui(user interface,用户界面)。可选地,该ui包括图形、文本、图标、视频及其它们的任意组合。当显示屏1805是触摸显示屏时,显示屏1805还具有采集在显示屏1805的表面或表面上方的触摸信号的能力。该触摸信号能够作为控制信号输入至处理器1801进行处理。可选地,显示屏1805还用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1805为一个,设置终端1800的前面板;在另一些实施例中,显示屏1805为至少两个,分别设置在终端1800的不同表面或呈折叠设计;在再一些实施例中,显示屏1805是柔性显示屏,设置在终端1800的弯曲表面上或折叠面上。甚至,可选地,显示屏1805设置成非矩形的不规则图形,也即异形屏。可选地,显示屏1805采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0340]
摄像头组件1806用于采集图像或视频。可选地,摄像头组件1806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1806还包括闪光灯。可选地,闪光灯是单色温闪光灯,或者是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,用于不同色温下的光线补偿。
[0341]
在一些实施例中,音频电路1807包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1801进行处理,或者输入至射频电路1804以实现语音通信。出于立体声采集或降噪的目的,麦克风为多个,分别设置在终端1800的不同部位。可选地,麦克风是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1801或射频电路1804的电信号转换为声波。可选地,扬声器是传统的薄膜扬声器,或者是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅能够将电信号转换为人类可听见的声波,也能够将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1807还包括耳机插孔。
[0342]
电源1808用于为终端1800中的各个组件进行供电。可选地,电源1808是交流电、直流电、一次性电池或可充电电池。当电源1808包括可充电电池时,该可充电电池支持有线充电或无线充电。该可充电电池还用于支持快充技术。
[0343]
在一些实施例中,终端1800还包括有一个或多个传感器1810。该一个或多个传感器1810包括但不限于:加速度传感器1811、陀螺仪传感器1812、压力传感器1813、光学传感器1814以及接近传感器1815。
[0344]
在一些实施例中,加速度传感器1811检测以终端1800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1811用于检测重力加速度在三个坐标轴上的分量。可选地,处理器1801根据加速度传感器1811采集的重力加速度信号,控制显示屏1805以横向
视图或纵向视图进行用户界面的显示。加速度传感器1811还用于游戏或者用户的运动数据的采集。
[0345]
在一些实施例中,陀螺仪传感器1812检测终端1800的机体方向及转动角度,陀螺仪传感器1812与加速度传感器1811协同采集用户对终端1800的3d动作。处理器1801根据陀螺仪传感器1812采集的数据,实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0346]
可选地,压力传感器1813设置在终端1800的侧边框和/或显示屏1805的下层。当压力传感器1813设置在终端1800的侧边框时,能够检测用户对终端1800的握持信号,由处理器1801根据压力传感器1813采集的握持信号进行左右手识别或快捷操作。当压力传感器1813设置在显示屏1805的下层时,由处理器1801根据用户对显示屏1805的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0347]
光学传感器1814用于采集环境光强度。在一个实施例中,处理器1801根据光学传感器1814采集的环境光强度,控制显示屏1805的显示亮度。具体地,当环境光强度较高时,调高显示屏1805的显示亮度;当环境光强度较低时,调低显示屏1805的显示亮度。在另一个实施例中,处理器1801还根据光学传感器1814采集的环境光强度,动态调整摄像头组件1806的拍摄参数。
[0348]
接近传感器1815,也称距离传感器,通常设置在终端1800的前面板。接近传感器1815用于采集用户与终端1800的正面之间的距离。在一个实施例中,当接近传感器1815检测到用户与终端1800的正面之间的距离逐渐变小时,由处理器1801控制显示屏1805从亮屏状态切换为息屏状态;当接近传感器1815检测到用户与终端1800的正面之间的距离逐渐变大时,由处理器1801控制显示屏1805从息屏状态切换为亮屏状态。
[0349]
本领域技术人员能够理解,图18中示出的结构并不构成对终端1800的限定,能够包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0350]
图19是本技术实施例提供的一种电子设备的结构示意图,该电子设备1900可因配置或性能不同而产生比较大的差异,该电子设备1900包括一个或一个以上处理器(central processing units,cpu)1901和一个或一个以上的存储器1902,其中,该存储器1902中存储有至少一条计算机程序,该至少一条计算机程序由该一个或一个以上处理器1901加载并执行以实现上述各个实施例提供的虚拟场景中的准星控制方法。可选地,该电子设备1900还具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备1900还包括其他用于实现设备功能的部件,在此不做赘述。
[0351]
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条计算机程序的存储器,上述至少一条计算机程序可由终端中的处理器执行以完成上述各个实施例中的虚拟场景中的准星控制方法。例如,该计算机可读存储介质包括rom(read-only memory,只读存储器)、ram(random-access memory,随机存取存储器)、cd-rom(compact disc read-only memory,只读光盘)、磁带、软盘和光数据存储设备等。
[0352]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,包括一条或多条程序代码,该一条或多条程序代码存储在计算机可读存储介质中。电子设备的一个或多个处理器能够从计算机可读存储介质中读取该一条或多条程序代码,该一个或多个处理器
执行该一条或多条程序代码,使得电子设备能够执行以完成上述实施例中的虚拟场景中的准星控制方法。
[0353]
本领域普通技术人员能够理解实现上述实施例的全部或部分步骤能够通过硬件来完成,也能够通过程序来指令相关的硬件完成,可选地,该程序存储于一种计算机可读存储介质中,可选地,上述提到的存储介质是只读存储器、磁盘或光盘等。
[0354]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献