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

基于目标的鼠标敏感度推荐的制作方法

2022-07-13 12:19:54 来源:中国专利 TAG:

基于目标的鼠标敏感度推荐
1.相关申请的交叉引用
2.本技术要求获得于2020年12月24日提交、序列号为63/130,579的题为"基于目标的鼠标灵敏度推荐"的美国临时专利申请的优先权利益。该相关申请的主题内容在此通过引用而并入。
技术领域
3.本公开的实施例一般涉及计算机科学和计算机游戏技术,更具体地说,涉及基于目标的鼠标灵敏度推荐。
4.相关技术的描述
5.鼠标灵敏度是指硬件鼠标的物理运动与物理运动在基于计算机的环境或软件应用程序中引起的虚拟运动之间的关系。虚拟运动包括但不限于平移运动(例如,基于指针的任务)、旋转运动(例如,视图旋转)和分类运动(例如,方向选择)。鼠标灵敏度通常是不同硬件和软件因素的产物,例如硬件鼠标的传感器分辨率、操作系统的增益系数(例如,操作系统鼠标速度设置)和应用程序的增益系数(例如,游戏内灵敏度设置)。
6.在视频游戏的上下文中,鼠标敏感度通常是基于目标的任务中玩家表现的一个重要因素。例如,在视频游戏中,动态目标在不同的虚拟距离具有不同的大小和位置,给定的玩家必须快速准确地选择动态目标,以便与其他玩家成功竞争。与相同时间和位移下较低的鼠标灵敏度产生的虚拟运动相比,较高的鼠标灵敏度会产生更快的虚拟运动。然而,更快的虚拟运动也使得玩家更难准确地选择动态目标。相反,较慢的虚拟运动使玩家能够更准确地选择动态目标。因此,高鼠标灵敏度导致玩家更快地到达动态目标,同时具有更低的准确度,而低鼠标灵敏度导致玩家具有更高的准确度,但到达动态目标更慢。因此,选择特定的鼠标灵敏度需要用虚拟运动速度平衡准确度。
7.适用于给定玩家的鼠标灵敏度取决于许多因素,包括给定玩家使用的硬件和/或软件配置、正在玩的特定视频游戏、正在玩的特定角色或特性、给定玩家的游戏特征,以及特定玩家的物理特征。例如,当玩家在视频游戏中扮演第一个角色时,玩家可能需要快速移动,但目标更大(即,不需要高准确度)。当玩家在视频游戏中扮演第二个角色时,玩家可能需要高准确度,但不需要快速移动。因此,尽管玩家正在玩同一个视频游戏,但玩家可能会根据所玩角色的不同而偏好不同的鼠标敏感度。另一个例子是,两名球员可能有不同的手臂运动范围和不同的手臂运动速度。如果两个玩家使用相同的鼠标敏感度,即使玩相同的角色和相同的游戏,他们也会达到不同的准确度。实际上,两个玩家都需要不同的鼠标敏感度。
8.通常,要选择给定的鼠标灵敏度,玩家可以使用正在玩的视频游戏实现的默认鼠标灵敏度,使用其他玩家推荐的鼠标灵敏度,或者从特定玩家组常用的一系列鼠标灵敏度中选择鼠标灵敏度。但是,由于最佳鼠标灵敏度因玩家而异,因此默认鼠标灵敏度、其他玩家推荐的鼠标灵敏度以及其他玩家常用的鼠标灵敏度通常不适用于给定的单个玩家。因此,给定的玩家通常必须对最初选择的鼠标灵敏度进行多次调整和/或选择许多不同的鼠
标灵敏度,以获得合适的鼠标灵敏度。因此,在传统方法中,在给定的玩家能够在选择初始鼠标灵敏度后优化鼠标灵敏度之前,通常需要大量的试错。
9.如上所述,本领域所需的是向个人用户推荐鼠标灵敏度的更有效方法。


技术实现要素:

10.本公开的一个实施例阐述了用于生成鼠标灵敏度推荐的计算机实现方法。该方法包括生成与用户在与软件应用程序交互时执行的一个或更多个鼠标移动相对应的鼠标移动数据。该方法还包括基于鼠标移动数据针对包括在多个鼠标敏感度水平中的每个鼠标敏感度水平生成预测效率。此外,该方法包括基于该预测效率确定要提供给用户的一个或更多个鼠标灵敏度水平。
11.相对于现有技术,所公开的技术的至少一个技术优势在于,通过所公开的技术,单个玩家的特征用于为该单个玩家生成鼠标敏感性推荐。特别是,通过分析单个玩家的鼠标运动产生的虚拟运动,可以预测该玩家的指向效率。然后使用指向效率为单个玩家生成鼠标灵敏度推荐。因此,所公开的技术产生特定于单个玩家所做的鼠标移动类型的推荐鼠标灵敏度,从而为玩家提供合适的鼠标灵敏度,同时避免使用现有技术方法经常经历的低效试错过程。此外,所公开的技术在为单个玩家生成鼠标敏感度推荐时不依赖于其他玩家使用的鼠标敏感度。因此,所公开的技术可用于为视频游戏的单个玩家生成鼠标敏感度推荐,其中其他玩家使用的鼠标敏感度和关于通用鼠标敏感度的信息不可用。与现有技术方法相比,这些技术优势提供了一个或更多个技术进步。
附图说明
12.为了能够详细理解各种实施例的上述特征,可以通过参考各种实施例(其中一些在附图中示出)对上述简要总结的发明概念进行更具体的描述。然而,应注意,附图仅示出了本发明概念的典型实施例,因此不应被视为以任何方式限制范围,并且存在其他同样有效的实施例。
13.图1是一个框图,说明了配置为实现各种实施例的一个或更多个方面的计算机系统;
14.图2是根据各种实施例的图1的灵敏度推荐应用的更详细说明;
15.图3是根据各种实施例的显示屏幕空间、游戏世界空间和鼠标驱动空间之间关系的图示;
16.图4示出了根据各种实施例的游戏世界空间、显示屏幕空间和鼠标驱动空间中的示例目标大小和位置;
17.图5示出了根据各种实施例的与图4的玩家相关联的示例距离速度图和速度误差图;
18.图6示出了根据其他各种实施例的游戏世界空间、显示屏幕空间和鼠标驱动空间的其他示例目标尺寸和位置;
19.图7示出了根据其他各种实施例的与图6的玩家相关联的示例距离速度图和速度误差图;
20.图8是根据各种实施例的自动为用户生成一个或更多个鼠标灵敏度水平的方法步
骤流程图;和
21.图9是根据各种实施例自动细化选定鼠标灵敏度水平的方法步骤流程图。
具体实施方式
22.在以下描述中,阐述了许多具体细节,以提供对各种实施例的更透彻理解。然而,对于本领域技术人员来说显而易见的是,可以在没有这些特定细节中的一个或更多个的情况下实践本发明概念。
23.系统概述
24.图1是示出根据一个实施例的配置为实现本发明的一个或更多个方面的计算机系统100的框图。如图所示,计算机系统100包括但不限于经由存储器桥接器105和通信路径113耦合到并行处理子系统112的中央处理单元(cpu)102和系统存储器104。存储器桥接器105经由通信路径106进一步耦合到i/o(输入/输出)桥107,并且i/o桥107依次耦合到开关116。
25.在操作中,i/o桥107被配置为从输入设备108(例如键盘或鼠标)接收用户输入信息,并将输入信息转发给cpu 102,以便经由通信路径106和存储器桥接器105进行处理。开关116被配置为提供i/o桥107和计算机系统100的其他组件(例如网络适配器118和各种插入卡120和121)之间的连接。
26.如图所示,i/o桥107耦合到系统盘114,系统磁盘114可配置为存储内容、应用程序和数据,供cpu 102和并行处理子系统112使用。一般而言,系统盘114为应用和数据提供非易失性存储,并可包括固定或可移除硬盘驱动器、闪存设备和cd-rom(光盘只读存储器)、dvd-rom(数字多功能光盘rom)、蓝光、hd-dvd(高清晰度dvd)或其他磁性、光学、或固态存储设备。最后,尽管未明确示出,但诸如通用串行总线或其他端口连接、光盘驱动器、数字多功能光盘驱动器、胶片记录设备等的其他组件也可以连接到i/o桥107。
27.在各种实施例中,存储器桥接器105可以是北桥芯片,而i/o桥107可以是南桥芯片。此外,通信路径106和113以及计算机系统100内的其他通信路径可以使用任何技术上合适的协议来实现,包括但不限于agp(加速图形端口)、超级传输或本领域已知的任何其他总线或点对点通信协议。
28.在一些实施例中,并行处理子系统112包括图形子系统,该图形子系统将像素传送到显示设备110,显示设备110可以是任何常规阴极射线管、液晶显示器、发光二极管显示器等。在这些实施例中,并行处理子系统112合并了针对图形和视频处理而优化的电路,例如,包括视频输出电路。这种电路可以跨包括在并行处理子系统112内的一个或更多个并行处理单元(ppu)被合并。在其他实施例中,并行处理子系统112合并了针对通用和/或计算处理而优化的电路。同样,这种电路可以跨包括在并行处理子系统112内的一个或更多个ppu被合并,并行处理子系统112被配置为执行这种通用和/或计算操作。在又一其它实施例中,包括在并行处理子系统112内的一个或更多个ppu可被配置为执行图形处理、通用处理和计算处理操作。
29.系统存储器104包括至少一个设备驱动器103,其配置用于管理并行处理子系统112内的一个或更多个ppu的处理操作。系统存储器104还包括在cpu 102上执行的多个软件应用,例如灵敏度推荐应用125和视频游戏130。如下文进一步详细解释的,灵敏度推荐应用
125分析用户在玩视频游戏130时所做的鼠标移动,并为用户生成鼠标灵敏度推荐。
30.在各种实施例中,并行处理子系统112可与图1的一个或更多个其他元件集成以形成单个系统。例如,并行处理子系统112可以与cpu 102和单个芯片上的其他连接电路集成,以形成片上系统(soc)。
31.应当理解,本文所示的系统是说明性的,并且可以进行变更和修改。可以根据需要修改连接拓扑,包括网桥的数量和布置、cpu 102的数量和并行处理子系统112的数量。例如,在一些实施例中,系统存储器104可以直接连接到cpu 102,而不是通过存储器桥接器105,并且其他设备将通过存储器桥接器105和cpu 102与系统存储器104通信。在其他替代拓扑中,并行处理子系统112可以连接到i/o桥107或直接连接到cpu 102,而不是连接到存储器桥接器105。在其它实施例中,i/o桥107和存储器桥接器105可以集成到单个芯片中,而不是作为一个或更多个分立设备存在。在一些实施例中,计算机系统100包括多个计算实例(未示出),每个实例包括图1的一个或更多个元件。计算实例可以跨多个地理位置分布,或者以任何组合在一个或更多个云计算环境(即,封装的共享资源、软件、数据等)中实现。最后,在某些实施例中,图1所示的一个或更多个组件可能不存在。例如,可以消除开关116,并且网络适配器118和插入卡120、121将直接连接到i/o桥107。
32.生成鼠标敏感度推荐
33.图2是根据本公开的各种实施例的图1的灵敏度推荐应用125的更详细说明。如图所示,灵敏度推荐应用125从视频游戏130和一个或更多个输入设备108接收数据,并生成一个或更多个灵敏度推荐236。
34.视频游戏130是一种基于计算机的电子游戏。在一些实施例中,视频游戏130是第一人称射击(fps)游戏。在fps游戏中,从玩家角色的角度(即,从第一人称角度)在玩家的显示屏上呈现游戏世界。
35.玩家使用一个或更多个输入设备108(例如鼠标和键盘)与视频游戏130交互。在一些实施例中,用户使用键盘控制玩家角色的移动,并使用鼠标控制玩家角色的旋转。视频游戏130接收对应于鼠标移动的输入,并将鼠标移动转换为玩家角色在游戏世界空间内的虚拟运动,例如基于鼠标移动量将玩家角色旋转若干度。玩家角色的视野和/或视线根据玩家角色的移动和/或旋转而变化。因此,在显示屏幕上呈现的游戏世界的视图也基于玩家角色的移动和/或旋转而改变。
36.图3是示出根据各种实施例的显示屏幕空间310、游戏世界空间320和鼠标驱动空间330中的位置之间的关系的框图。游戏世界空间320是虚拟的三维(欧几里德)空间,其中模拟视频游戏130的对象以及视频游戏130的对象之间的交互。例如,当玩家移动玩家角色时,玩家角色的移动在游戏世界空间320内。如图3所示,使用笛卡尔坐标322定义游戏世界空间320内的位置。
37.显示屏幕空间310是与显示设备(例如显示设备110)的屏幕相对应的二维空间。显示设备110显示游戏世界空间内的对象的二维视图。在fps游戏的情况下,显示设备110从玩家角色的角度显示二维视图。
38.为了在显示设备110上显示视频游戏130,将游戏世界空间320中的对象位置转换为显示屏幕空间310中的位置。如图3所示,游戏中的对象使用透视投影312从游戏世界空间320投影到显示屏幕空间310上。透视投影312是基于相机位置、方位和视野将三维对象投影
到二维平面上的投影映射。在一些实施例中,显示视频游戏130时的相机位置、方位和视野对应于玩家角色的位置、视线和视野。透视投影312可以使用将坐标从三维空间映射到二维空间内的坐标的任何合适技术来执行,例如帕尼尼投影、镜头扭曲、单点投影、多点投影以及其他功能或艺术投影。在一些实施例中,使用4x4投影矩阵执行透视投影312。逆变换矩阵可用于从显示屏幕空间310转换回游戏世界空间320。
39.鼠标驱动空间330是玩家移动鼠标的物理二维空间,例如鼠标垫、桌子或其他表面。在鼠标驱动空间330内由鼠标进行的鼠标移动被转换为在游戏世界空间320内的移动。例如,鼠标移动量可以转换为玩家角色的旋转角度或玩家角色的视图。类似地,游戏世界空间320内的多个旋转度可以转换为鼠标驱动空间330内的鼠标移动距离。
40.在一些实施例中,在游戏过程中,视频游戏130向玩家显示一个或更多个目标,玩家尝试选择一个或更多个目标。每个目标可以是不同的大小,并且位于游戏世界空间320内与玩家角色的不同距离处。此外,目标的大小和/或距离可能随时间而变化。例如,目标可以是视频游戏130中的另一个角色,例如另一个玩家角色或计算机控制的角色。当玩家角色和另一角色在游戏世界空间320内移动时,另一角色相对于玩家角色的大小、距离和方位改变。
41.选择目标包括调整玩家角色的视线,直到十字线与目标对齐(即,使用鼠标移动瞄准目标),以及在十字线与目标对齐后启动键或鼠标按钮。游戏世界空间320内的目标的距离和大小可以转换为鼠标驱动空间330内的目标区域。鼠标驱动空间330内的目标区域对应于鼠标驱动空间330的部分,鼠标应位于该部分中,以便将十字线与视频游戏130内的目标对齐。
42.如图3所示,目标相对于玩家角色的位置使用球面投影324从笛卡尔坐标322转换为球面坐标,以产生角度偏心326。角偏心率326以度数表示从玩家角色的视线到目标的距离。在一些实施例中,角色的视线对应于从玩家位置向角色面对的方向延伸的光线。
43.角度距离比328用于将角偏心率326转换为鼠标驱动空间330内的距离。角度距离比表示游戏世界空间320内的旋转角度数与鼠标驱动空间330内的鼠标移动距离(例如,毫米数)之间的比率。在一些实施例中,角度距离比对应于鼠标的灵敏度水平。
44.在一些实施例中,当鼠标在鼠标驱动空间330中移动给定距离时,通过确定或测量在游戏世界空间320中执行的旋转度数来计算给定视频游戏130的角度距离比。公式(1)给出了基于鼠标移动量计算角度距离比的示例公式:
45.ad_ratio=360/(turn_distance)
ꢀꢀꢀꢀꢀꢀ
(1)
46.在等式(1)中,ad_ratio表示度数与毫米数(
°
/mm)之间的比率,turn_distance表示鼠标在游戏世界空间320中旋转360度所需的移动距离,单位为毫米。
47.在一些实施例中,基于与视频游戏130相关联的转换比例来计算给定视频游戏130的角度距离比。视频游戏130的游戏内敏感度设置值可以不同于其他视频游戏130的游戏内敏感度设置值。与视频游戏130相关联的转换尺度是用于将视频游戏130的游戏内灵敏度设置值转换为公共测量单位的值,例如每毫米度数(
°
/mm),即角度距离比。公式(2)给出了用于基于与视频游戏相关联的转换比例和与视频游戏相关联的游戏内灵敏度设置值计算角度距离比的示例公式:
48.ad_ratio=conversion_scale
×
game_sensitivity
×
dpi
×
1/25.4
ꢀꢀ
(2)
49.在等式(2)中,conversion_scale表示与视频游戏相关联的转换比例,game_sensitivity表示为视频游戏选择的游戏内灵敏度值,dpi(每英寸点数)表示鼠标的传感器分辨率。如上所述,ad_ratio表示为每毫米度数。因为dpi是以英寸为单位测量的,所以在等式(2)中,1/25.4用于将测量单位从英寸转换为毫米。在各种实施例中,当在角度距离比和视频游戏灵敏度设置值之间转换时,可以包括附加比例因子,例如加速度因子。例如,可以将在计算机系统上执行的操作系统或其他应用程序配置为修改鼠标移动速度和/或加速度。
50.在鼠标驱动空间330中,根据角度偏心率326和角度距离比328计算到目标的距离。等式(3)给出了基于角偏心率和角度距离比计算距离的示例公式:
51.distance=eccentricity/ad_ratio
ꢀꢀꢀꢀꢀꢀ
(3)
52.类似地,对于给定的鼠标灵敏度,可以通过计算与距离相对应的角偏心326,将鼠标驱动空间330中的距离转换为游戏世界空间320中的距离。等式(4)给出了基于距离和角度距离比计算角偏心率的示例公式:
53.eccentricity=distance
×
ad_ratio
ꢀꢀꢀꢀꢀ
(4)
54.如等式(3)和(4)所示,游戏世界空间320中对应于鼠标移动移动距离的旋转量取决于角度距离比,即鼠标的灵敏度。然而,如等式(2)所示,鼠标灵敏度基于应用于视频游戏130的游戏内灵敏度设置、与视频游戏130相关联的转换比例以及鼠标的dpi设置而改变。因此,不同的视频游戏130使用不同的游戏内灵敏度设置,以获得相同的鼠标灵敏度。
55.此外,如上所述,适用于给定玩家的鼠标灵敏度根据各种不同因素而不同,例如给定玩家使用的硬件和/或软件配置、正在玩的特定视频游戏的特征,所扮演的特定角色或特性的特征,给定玩家的游戏风格特征,以及给定玩家的物理特征,如操作鼠标时与给定玩家手臂运动相关联的运动学。
56.为了解决这些问题,灵敏度推荐应用125分析与视频游戏相关联的数据,并根据分析确定玩家的推荐鼠标灵敏度。如下文进一步详细讨论的,推荐的鼠标灵敏度对应于最大化玩家执行鼠标移动的速度和准确性的鼠标灵敏度水平。
57.返回图2,灵敏度推荐应用125接收和/或生成与视频游戏130相关联的数据和/或与鼠标移动220相关联的数据。与视频游戏130相关联的数据包括可用于确定视频游戏130中包括的目标的距离和目标大小的任何类型的数据。如图2所示,与视频游戏130相关联的数据包括目标数据202、武器数据204、特性数据(character data)206和角色数据(role data)208。
58.目标数据202包括与视频游戏130内的目标相关联的数据,例如目标的大小、目标的位置、目标与玩家角色的距离、视频游戏130内目标的平均大小、视频游戏130内目标的大小范围、视频游戏130内目标的平均距离、视频游戏130内目标的距离范围、与目标距离相比的目标大小分布、不同目标大小和/或距离的频率、不同目标大小和/或距离的概率等。
59.武器数据204包括与视频游戏130中的武器相关联的数据,例如视频游戏130中武器的武器射程、武器的损失、武器的子弹或射弹扩散、武器的射弹轨迹、武器或射弹命中盒尺寸等。
60.特性数据206包括与视频游戏130中的特性相关联的数据。角色可以包括视频游戏130中的一个或更多个特性,对应于玩家可以选择的玩家特性选项。特性数据206可以包括
例如每个角色的角色大小、每个角色的移动速度、每个角色使用的一个或更多个武器等。
61.角色数据208包括与视频游戏130中的玩家角色相关联的数据。玩家角色描述玩家的游戏风格、玩家使用的武器类型和/或玩家使用的角色类型。例如,与扮演进攻角色和从中远程位置攻击的玩家相比,扮演防守角色的玩家可以更靠近目标并从近距离位置进行攻击。类似地,可以为不同的玩家角色分配不同的武器和/或特性,和/或更频繁地选择不同的角色。角色数据208可以包括或识别,例如,目标数据202的一个或更多个部分、武器数据204的一个或更多个部分和/或特性数据206的一个或更多个部分,这些部分对应于每个玩家角色。
62.与鼠标移动220相关联的鼠标移动数据232包括可用于确定玩家所做鼠标移动的任何类型的数据,例如鼠标位置、与鼠标位置相关联的速度、与鼠标位置相关联的时间戳、进行鼠标移动时鼠标的dpi设置,进行鼠标移动时鼠标的敏感度(游戏中或一般情况下)等。在一些实施例中,灵敏度推荐应用125跟踪和/或记录由玩家进行的鼠标移动,并生成鼠标移动数据232。在一些实施例中,灵敏度推荐应用125从视频游戏130或从捕获鼠标移动并生成鼠标移动数据232的单独应用程序接收鼠标移动数据232。
63.移动鼠标时,玩家可以使用几个小动作将鼠标定位在鼠标驱动空间330内,而不是单个长动作。例如,玩家的移动范围和手臂长度可能会限制玩家在单臂移动中移动鼠标的速度和距离。玩家可能需要提起和/或重新定位鼠标,以继续朝鼠标驱动空间330中的目标位置移动鼠标。因此,可以将鼠标从起始位置到结束位置的轨迹分割成多个子运动。如图2所示,鼠标移动220包括一个或更多个鼠标子移动222(1)-222(n)。
64.在一些实施例中,灵敏度推荐应用125处理鼠标移动数据232,以将鼠标移动220分割成多个子移动222。灵敏度推荐应用125基于与不同时间戳相关联的速度(例如,度/毫秒)确定对应于不同子运动222的开始时间和结束时间。在一些实施例中,灵敏度推荐应用125通过将给定时间戳处的速度与开始速度阈值进行比较来确定子运动的开始时间。如果灵敏度推荐应用125未识别新的子运动,则灵敏度推荐应用125将当前时间戳处的速度与开始速度阈值进行比较。如果当前时间戳处的速度高于开始速度阈值,则灵敏度推荐应用125将当前时间戳识别为子运动的开始时间。
65.在一些实施例中,灵敏度推荐应用125通过比较后续时间戳处的速度与结束速度阈值来确定子运动的结束时间。如果灵敏度推荐应用125确定了对应于当前子运动的开始时间,并且没有识别出对应于当前子运动的结束时间,则灵敏度推荐应用125将当前时间戳处的速度与结束速度阈值进行比较。如果当前时间戳处的速度低于结束速度阈值,则灵敏度推荐应用125将当前时间戳识别为当前子运动的结束时间。另外,在一些实施例中,为了确定子移动的结束时间,灵敏度推荐应用125将当前时间戳和子移动的开始时间之间的时间间隔与持续时间阈值进行比较。持续时间阈值表示子移动的最小持续时间。如果当前时间戳处的速度小于结束速度阈值,但时间间隔小于持续时间阈值,则当前时间戳不被识别为子运动的结束时间。算法1给出了解析鼠标移动数据以确定一组鼠标子移动开始和结束时间的示例算法。
66.algorithm 1
[0067][0068]
在算法1中,灵敏度推荐应用125接收一系列数据,这些数据包括多个时间戳以及对应于每个时间戳的方位角和仰角。在生成子运动数据之前,应用低通滤波器平滑方位角和仰角数据。基于与时间戳对应的方位角和仰角,为每个时间戳计算速度v。随后,对于序列中的每个时间戳,灵敏度推荐应用125确定先前是否识别了子移动。
[0069]
如果当前识别出子运动,则灵敏度推荐应用125确定速度v[t]是否小于结束速度阈值v
end
,以及自子运动开始以来的时间t
start
是否大于持续时间阈值t
min
。如果速度小于结束速度阈值,且自子运动开始以来的时间大于持续时间阈值,然后,灵敏度推荐应用125确定当前时间对应于子运动的结束,并添加当前时间戳t作为子运动的结束时间戳。
[0070]
如果当前未识别子运动,则灵敏度推荐应用125确定速度v[t]是否大于启动速度阈值t
start
。如果速度大于开始速度阈值,则灵敏度推荐应用125确定当前时间对应于子运动的开始,并添加当前时间戳t作为新子运动的开始时间戳。
[0071]
如算法1所示,灵敏度推荐应用125生成对应于不同子运动的开始时间的第一组时间戳和对应于不同子运动的结束时间的第二组时间戳。
[0072]
在一些实施例中,灵敏度推荐应用125接收或生成准确度数据230,该准确度数据230指示与玩家进行的鼠标移动相关联的准确度值和/或误差值。准确度数据230指示,对于鼠标移动或鼠标子移动,该移动或子移动是否导致玩家选择目标。在一些实施例中,对于鼠标移动或鼠标子移动,准确度数据230指示与该移动或子移动相关联的误差量。例如,准确度数据230可以指示运动或子运动的位置与目标位置之间的距离。
[0073]
在一些实施例中,鼠标移动数据232和准确度数据230基于玩家在玩视频游戏130时进行的鼠标移动222。例如,敏感性推荐应用程序125可以分析视频游戏130的游戏性,以确定玩家在玩游戏期间进行的鼠标移动,以及鼠标移动是否导致玩家成功选择目标。灵敏度推荐应用125基于分析生成鼠标移动数据232和准确度数据230。在一些实施例中,灵敏度推荐应用125与视频游戏130和/或监视视频游戏130集成,并在玩家玩视频游戏130时生成鼠标移动数据232和目标准确度数据230。在一些实施例中,灵敏度推荐应用125接收鼠标移动数据、输入数据和指示游戏事件和对象位置的游戏数据(例如,游戏日志、记录的视频、渲染的图像),以及将鼠标移动和输入数据与游戏数据相关,以确定鼠标移动是否导致玩家成功选择目标。
[0074]
在一些实施例中,鼠标移动数据232和准确度数据230基于玩家在灵敏度推荐应用程序125或模拟视频游戏目标的其他应用程序中进行的鼠标移动222。例如,灵敏度推荐应用125可以包括图形用户界面,该图形用户界面向玩家呈现具有类似于视频游戏130的大小和距离的不同目标。玩家移动鼠标并尝试选择不同的目标。灵敏度推荐应用125可以生成鼠标移动数据232,该数据232指示玩家在瞄准图形用户界面中显示的不同目标时进行的鼠标移动222,以及指示每个鼠标移动222是否导致玩家成功选择目标的目标准确度数据230。
[0075]
在一些实施例中,灵敏度推荐应用125收集和/或生成鼠标移动数据232和准确度数据230,直到收集和/或生成了阈值量的数据。例如,灵敏度推荐应用125可以收集和/或生成鼠标移动数据232和准确度数据230,直到生成了阈值数量的鼠标子移动。
[0076]
在一些实施例中,灵敏度推荐应用125分析鼠标移动数据232和准确度数据230以生成效率数据234。效率数据234包括指示与不同鼠标灵敏度水平相关联的预测效率的数据。与鼠标敏感度级别相关联的效率指示用户在鼠标敏感度水平选择目标所花费的时间量和/或在鼠标敏感度水平选择目标的准确度。在一些实施例中,效率数据234包括距离-速度关系数据和速度-误差关系数据。距离-速度关系数据表示到目标的距离与朝向目标的最大运动速度之间的关系。速度-误差关系数据表示鼠标移动或子移动的速度如何影响鼠标移动或子移动产生的错误。在一些实施例中,距离-速度关系和速度-误差关系均由一个或更多个函数表示。效率数据234可以包括指示一个或更多个功能的数据。
[0077]
在一些实施例中,灵敏度推荐应用125基于鼠标移动数据232和由给定玩家进行的鼠标移动生成的准确度数据230生成与给定玩家相关联的效率数据234。在一些实施例中,灵敏度推荐应用125还存储或接收广义或模型效率数据234。基于多个玩家和/或多个视频游戏130的鼠标移动数据和准确度数据生成通用或模型效率数据234。因此,与鼠标敏感度水平相关联的通用或模型效率数据234指示多个玩家中的玩家在鼠标敏感度水平上准确选择目标所花费的平均时间量。
[0078]
在一些实施例中,为了生成效率数据234,灵敏度推荐应用125在每次鼠标移动或鼠标子移动开始时确定从观察方向到目标的距离。灵敏度推荐应用125将到目标的距离从游戏世界空间320中的距离转换为鼠标驱动空间330中的距离。基于游戏世界空间320中的距离来计算鼠标驱动空间330中的距离,其执行方式类似于上文关于等式(1)到(3)所讨论的方式。在鼠标移动或鼠标子移动结束时,灵敏度推荐应用125计算鼠标移动或鼠标子移动的速度。在一些实施例中,鼠标移动或鼠标子移动的速度是鼠标移动或鼠标子移动持续时间内的平均速度。平均速度可以通过确定鼠标移动的距离(以鼠标驱动空间330为单位),并将该距离除以鼠标移动或鼠标子移动的持续时间来计算。例如,平均速度可以是每秒毫米数。在一些实施例中,灵敏度推荐应用125还计算与鼠标移动或鼠标子移动相关联的错误值。在一些实施例中,错误值是二进制值,指示在鼠标移动或鼠标子移动结束时,到目标的距离是否小于目标的宽度(即,在鼠标移动或子移动结束时到达目标)。在一些实施例中,误差值是鼠标移动或子移动结束时到目标的距离。
[0079]
灵敏度推荐应用125将曲线拟合到距离-速度关系,将速度-误差关系拟合到鼠标移动数据232和准确度数据230。在一些实施例中,将曲线拟合到距离-速度关系包括生成对应于多个鼠标移动或鼠标子移动的多个距离-速度数据点,其中,与鼠标移动或子移动相关的平均速度相比,每个距离速度数据点指示鼠标移动或子移动开始时到目标的距离。基于
多个距离速度数据点生成一个或更多个曲线或函数。在一些实施例中,如果多个距离速度数据点不覆盖整个距离值范围,则灵敏度推荐应用125可以外推曲线或函数,以将一个或更多个曲线或函数扩展到整个距离值范围。灵敏度推荐应用程序125使用一条或更多条曲线或函数来预测当目标距离鼠标给定距离(在鼠标驱动空间330中)时,玩家可能用于将鼠标移向目标的速度。因此,灵敏度推荐应用125可以使用距离-速度关系来预测对于给定距离,到达目标所需的移动时间。
[0080]
在一些实施例中,将曲线拟合到速度误差关系包括生成与多个鼠标移动或鼠标子移动相对应的多个速度误差数据点,其中,每个速度误差数据点指示与鼠标移动或子移动相关联的平均速度,与与鼠标移动或子移动相关联的误差量相比。基于多个速度误差数据点生成一个或更多个曲线或函数。在一些实施例中,如果多个速度误差数据点不覆盖速度值的整个范围,则灵敏度推荐应用125可以外推曲线或函数,以将一个或更多个曲线或函数扩展到整个速度值范围。灵敏度推荐应用125使用一条或更多条曲线或函数来预测当玩家以给定速度移动鼠标时,玩家可能经历的误差量。
[0081]
在各种实施例中,任何技术上可行的曲线拟合技术可用于将曲线或函数拟合到多个距离速度数据点和多个速度误差数据点。由于每个玩家的特性、每个玩家的硬件和软件配置以及上文讨论的影响鼠标灵敏度选择的其他因素的不同,每个玩家的曲线形状和/或相应功能可能不同。因此,单个玩家的距离-速度关系和速度-误差关系反映了这些不同的因素。
[0082]
灵敏度推荐应用125接收和/或生成与视频游戏130和鼠标移动220相关联的数据,例如目标数据202、武器数据204、特性数据206、角色数据208、准确度数据230、鼠标移动数据232和效率数据234中的一个或更多个,并分析数据以生成一个或更多个鼠标敏感度推荐236。一个或更多个鼠标灵敏度推荐236指示一个或更多个推荐的鼠标灵敏度水平和/或一个或更多个推荐的鼠标灵敏度水平范围。在一些实施例中,灵敏度推荐应用125使用公共测量单位(例如每毫米度数(
°
/mm))来确定一个或更多个推荐的鼠标灵敏度水平和/或推荐的鼠标灵敏度水平的一个或更多个范围。另外,灵敏度推荐应用125可以基于与视频游戏130相关联的转换尺度,计算视频游戏130的一个或更多个游戏内灵敏度设置值和/或游戏内灵敏度设置值的一个或更多个范围。例如,参考等式(2),灵敏度推荐应用125可以确定推荐的每毫米度数,并基于与视频游戏130相关联的转换比例计算视频游戏130的推荐游戏内灵敏度设置值。
[0083]
在一些实施例中,一个或更多个鼠标敏感度推荐336包括一个或更多个游戏特定的敏感度推荐、角色特定的敏感度推荐、特性特定的敏感度推荐、玩家特定的敏感度推荐,角色特定且玩家特定的敏感度推荐,或特性特定且玩家特定的敏感度推荐。
[0084]
游戏特定敏感度推荐是视频游戏130的推荐鼠标敏感度,它不特定于任何单个玩家。在一些实施例中,基于视频游戏130中包括的多个目标的大小和距离来生成游戏特定的灵敏度推荐。灵敏度推荐应用125确定视频游戏130的目标数据202,并基于目标数据202确定与多个目标相关联的大小和距离。与多个目标相关联的大小和距离可以是,例如,多个目标的平均大小和平均距离;多个目标的大小范围和距离范围;或与多个目标的多个大小和多个目标的多个距离相关联的概率。
[0085]
在一些实施例中,灵敏度推荐应用125基于一个或更多个存储的或预定义的映射
(未示出)生成一个或更多个游戏特定的灵敏度推荐,该映射将目标的大小和/或距离与不同的灵敏度值相关。灵敏度推荐应用125基于映射确定对应于与多个目标相关联的大小和距离的一个或更多个灵敏度值。例如,对于每个距离值,映射可以在鼠标驱动空间330中指示对应于距离值的不同鼠标灵敏度水平。
[0086]
在一些实施例中,敏感性推荐应用程序125基于广义或模型效率数据234生成一个或更多个游戏特定的敏感性推荐。广义或模型效率数据234包括广义速度误差关系数据和广义距离-速度关系数据。灵敏度推荐应用125基于广义距离-速度关系数据和广义速度-误差关系数据,确定使用不同鼠标灵敏度级别时的预测任务完成时间和误差值。灵敏度推荐应用125基于预测的任务完成时间和错误值生成一个或更多个鼠标灵敏度级别。
[0087]
例如,对于每个鼠标灵敏度,灵敏度推荐应用125基于鼠标灵敏度、多个目标的大小和多个目标的距离来确定与多个目标相关联的一个或更多个距离或距离范围。灵敏度推荐应用125基于距离-速度关系确定与一个或更多个距离或距离范围相对应的一个或更多个速度或速度范围。灵敏度推荐应用125基于速度-误差关系确定与一个或更多个速度或速度范围对应的一个或更多个误差值或误差值范围。此外,灵敏度推荐应用125可以基于速度-误差关系和距离-速度关系识别应该避免的距离范围和/或速度范围。灵敏度推荐应用125可以基于距离范围和/或速度范围过滤一个或更多个鼠标灵敏度。例如,灵敏度推荐应用125可以过滤与高于阈值的移动时间相对应的距离和/或误差值。作为另一示例,灵敏度推荐应用125可以过滤距离-速度关系不是线性关系和/或斜率低于阈值的距离和/或过滤速度-误差关系不是线性关系的错误值,其中斜率高于第一阈值量,和/或斜率低于第二阈值量。
[0088]
灵敏度推荐应用125识别与最高任务完成时间和/或最低误差相关联的一个或更多个鼠标灵敏度。速度和误差之间的特定平衡可根据诸如灵敏度推荐应用125的配置、玩家偏好、视频游戏130是否奖励较高速度和/或较低准确度等因素而变化。
[0089]
玩家特定的灵敏度推荐是针对视频游戏130的特定于单个玩家的推荐鼠标灵敏度。在一些实施例中,敏感性推荐应用125基于与单个玩家相关联的效率数据234生成一个或更多个玩家特定的敏感性推荐。效率数据234包括距离-速度关系数据和速度-误差关系数据。灵敏度推荐应用125基于距离-速度数据和速度-误差数据确定当使用不同的鼠标灵敏度级别时玩家的预测任务完成时间和误差值。灵敏度推荐应用125基于预测的任务完成时间和错误值确定一个或更多个鼠标灵敏度级别,类似于上面讨论的生成游戏特定的灵敏度推荐。
[0090]
特性特定的敏感度推荐是针对视频游戏130中特定于给定特性的视频游戏130的推荐鼠标敏感度。灵敏度推荐应用125基于目标数据202和特性数据206确定与给定特性相关联的目标的大小和距离。例如,如果角色从更远的距离攻击,那么与从近距离攻击的角色相比,角色将与更小、更远的目标关联。灵敏度推荐应用125可以基于给定角色的武器射程和其他特征,确定与给定角色对应的目标数据202的子集,例如多个目标的尺寸子集和到多个目标的距离子集。敏感度推荐应用125在生成游戏特定和/或玩家特定的敏感度推荐时(例如,当计算不同鼠标敏感度的鼠标驱动空间330中的目标距离时),使用目标数据202的子集而不是全套目标数据202。在生成特定于游戏的敏感度推荐时,使用特定于特性的目标数据可以识别特定于给定角色但不特定于任何单个玩家的推荐鼠标敏感度。在生成特定于
玩家的敏感度推荐时,使用特性特定的目标数据可以识别特定于给定特性的推荐鼠标敏感度。
[0091]
角色特定敏感度推荐是针对视频游戏130中特定于给定玩家角色的视频游戏130的推荐鼠标敏感度。灵敏度推荐应用125基于目标数据202和角色数据208确定与给定角色相关联的目标的大小和距离。例如,如果玩家角色通常涉及近距离攻击目标,那么该玩家角色将与距离较近的目标关联,因此,与涉及从较远距离攻击目标的玩家角色相比,该角色将更大。敏感度推荐应用125可基于玩家角色的特征(例如与玩家角色相关联的武器或武器类型、与玩家角色相关联的角色、与玩家角色相关的玩家定位或其他游戏样式信息,等等)来确定对应于给定玩家角色的目标数据202的子集。敏感度推荐应用125在生成游戏特定和/或玩家特定的敏感度推荐时(例如,当计算不同鼠标敏感度的鼠标驱动空间330中的目标距离时),使用目标数据202的子集而不是全套目标数据202。在生成游戏特定的敏感度推荐时,使用特定于角色的目标数据可以识别特定于给定玩家角色但不特定于任何单个玩家的推荐鼠标敏感度。在生成玩家特定的敏感度推荐时,使用特定于角色的目标数据,可以识别特定于特定玩家角色的推荐鼠标敏感度(由单个玩家担任)。
[0092]
在一些实施例中,在生成一个或更多个鼠标敏感度推荐336之后,敏感度推荐应用程序125向玩家显示一个或更多个鼠标敏感度推荐336。例如,灵敏度推荐应用125可以以度/毫米为单位显示推荐的鼠标灵敏度,或者将推荐的鼠标灵敏度转换为游戏内灵敏度设置值并显示游戏内灵敏度设置值。作为另一个示例,灵敏度推荐应用125可以显示推荐的鼠标灵敏度的一个或更多个范围(以度/毫米为单位)或游戏中灵敏度设置值的一个或更多个范围。玩家可以基于灵敏度推荐应用125显示的推荐336来设置游戏内灵敏度设置值。
[0093]
在一些实施例中,灵敏度推荐应用程序125自动将推荐的游戏内灵敏度设置值应用于视频游戏130。例如,如果灵敏度推荐应用125识别出单个鼠标灵敏度级别,则灵敏度推荐应用125可以与视频游戏130接口以基于推荐的鼠标灵敏度级别设置或修改游戏内灵敏度设置值。作为另一示例,如果灵敏度推荐应用125识别了多个推荐的鼠标灵敏度级别,则灵敏度推荐应用125可以显示多个推荐的鼠标灵敏度水平(例如,可选选项或滑块)以及基于选择特定的推荐鼠标灵敏度水平的用户输入来设置或修改游戏内灵敏度设置值。
[0094]
在一些实施例中,灵敏度推荐应用125生成其他类型的推荐,向玩家显示其他类型的信息,和/或基于鼠标移动数据232、准确度数据230和/或效率数据234执行其他类型的分析。在一些实施例中,灵敏度推荐应用125将鼠标移动数据232、准确度数据230和/或效率数据234发送到另一应用以进行进一步处理。例如,敏感性推荐应用程序125或另一应用程序可以向玩家显示指示鼠标移动和/或子移动习惯的信息,推荐鼠标路径优化,识别目标任务或目标任务的类型,其中该玩家与其他玩家相比表现差,等等。作为另一示例,敏感性推荐应用125或另一应用可通过分析玩家执行的鼠标移动和/或子移动来检测作弊或机器人控制的玩家,以确定鼠标移动、鼠标子移动、准确性数据、与其他玩家的鼠标移动、鼠标子移动、准确度数据和/或效率数据相比是否异常。
[0095]
尽管本文参考视频游戏描述了实施例,但灵敏度推荐应用125可用于为任何类型的软件程序或应用程序(例如包括可选图形用户界面元件的其他软件程序或应用程序)生成推荐的鼠标灵敏度。此外,尽管本文参考动态目标描述了实施例,但是灵敏度推荐应用125可用于生成视频游戏和/或具有不改变大小和/或位置的可选图形用户界面元件的其他
软件应用的推荐鼠标灵敏度。
[0096]
示例性基于目标的鼠标敏感度推荐
[0097]
图4示出了根据各种实施例的在游戏世界空间420、显示屏幕空间410和鼠标驱动空间430上的目标402的示例目标大小和位置。如图4所示,玩家404和目标402位于游戏世界空间420内的不同位置。在游戏世界空间420内,玩家404具有视线408和视野406。目标402位于远离玩家404的位置,并且稍微位于玩家404的视线408的右侧。
[0098]
基于玩家404的视野406,将游戏世界空间420投影到显示屏幕空间410上。在显示屏幕空间410中,武器十字准线414对应于玩家404的视线408的中心。因为目标402远离玩家404,所以显示的目标412显示为武器十字准线414右侧的小人物。
[0099]
为了瞄准目标402,玩家需要旋转视野406,使视线408与目标402对齐。在显示屏幕空间410内,玩家需要旋转视图,以便武器十字准线414位于显示目标412的顶部或与显示目标412重叠。如上所述,鼠标驱动空间430中目标的大小以及因此鼠标440必须移动以使视线408与目标402对准的距离取决于鼠标灵敏度。如图4所示,高鼠标灵敏度导致鼠标目标632(a)非常小但靠近鼠标440的位置,而低鼠标灵敏度导致鼠标目标432(b)更大但远离鼠标440的位置。
[0100]
图5示出了根据各种实施例的与图4的玩家404相关联的示例距离-速度图510和速度-误差图520。在距离-速度图510中,曲线512表示为玩家404生成的距离-速度关系。区域514标识应避免的距离范围,因为区域514内的距离对应于较长的移动时间。行516指示当选择高鼠标灵敏度时目标402的距离。行518指示选择低鼠标灵敏度时目标402的距离。如图5所示,高鼠标灵敏度的距离对应于较低的移动速度,而低鼠标灵敏度的距离对应于较高的移动速度。
[0101]
在速度-误差图520中,曲线522表示为玩家404生成的速度-误差关系。区域524标识应避免的错误值范围,因为区域524内的错误值对应于长移动时间。第526行指示与选择高鼠标灵敏度时使用的鼠标移动速度相对应的错误值。第528行指示与选择低鼠标灵敏度时使用的鼠标移动速度相对应的错误值。如图5所示,当选择高鼠标灵敏度时,与鼠标移动速度相对应的误差量在要避免的误差值范围内。因此,基于行516、518、526和528的位置,灵敏度推荐应用125可以为玩家404选择要使用的低鼠标灵敏度。
[0102]
图6示出了根据各种其他实施例的游戏世界空间620、显示屏幕空间610和鼠标驱动空间630中目标602的附加示例目标大小和位置。如图6所示,玩家604和目标602位于游戏世界空间620内的不同位置。在游戏世界空间620内,玩家604具有视线608和视野606。目标602位于玩家604附近,并且稍微靠近玩家604的视线608的左侧。
[0103]
游戏世界空间620基于玩家604的视野606投影到显示屏幕空间610上。在显示屏幕空间610中,武器十字准线614对应于玩家604的视线608的中心。因为目标602靠近玩家604,所以显示的目标612在显示屏幕空间610内显得大。因此,鼠标目标632(a)和632(b)的大小大于图4所示的鼠标目标432(a)和432(b)的大小。如图6所示,高鼠标灵敏度导致鼠标目标632更小但更接近鼠标640的位置,而低鼠标灵敏度导致鼠标目标632(b)更大但更远离鼠标640的位置。
[0104]
图7示出了根据各种其他实施例的与图6的玩家604相关联的示例距离-速度图710和速度-误差图720。在距离-速度图710中,曲线712表示为玩家604生成的距离-速度关系。
区域714标识应避免的距离范围,因为区域714内的距离对应于较长的移动时间。第716行指示当选择高鼠标灵敏度时目标602的距离。当选择低鼠标灵敏度时,第718行指示目标602的距离。如图7所示,高鼠标灵敏度的距离对应于较低的移动速度,而低鼠标灵敏度的距离对应于较高的移动速度。
[0105]
在速度误差图720中,曲线722表示为玩家604生成的速度误差关系。区域724标识应避免的错误值范围,因为区域724内的错误值对应于较长的移动时间。第726行指示与选择高鼠标灵敏度时使用的鼠标移动速度相对应的错误值。第728行指示与选择低鼠标灵敏度时使用的鼠标移动速度相对应的错误值。如图7所示,当选择低鼠标灵敏度时,与鼠标移动速度相对应的距离在要避免的距离范围内。因此,基于行716、718、726和728的位置,灵敏度推荐应用125可以为玩家604选择要使用的高鼠标灵敏度。
[0106]
图8是根据各种实施例为用户自动生成一个或更多个鼠标灵敏度水平的方法步骤流程图。尽管参考图1和图2的系统描述方法步骤,但本领域技术人员将理解,配置为以任何顺序实现方法步骤的任何系统都属于本发明的范围。
[0107]
如图8所示,方法800从步骤802开始,其中灵敏度推荐应用程序125接收视频游戏130的目标数据202。目标数据202包括指示与视频游戏130相关联的一个或更多个目标大小以及与视频游戏130相关联的一个或更多个目标距离的数据。此外,在一些实施例中,灵敏度推荐应用125接收视频游戏130的其他数据,例如武器数据204、特性数据206、角色数据208或其部分中的一个或更多个。在一些实施例中,灵敏度推荐应用125接收对应于一个或更多个特定武器、一个或更多个特定特性和/或一个或更多个特定角色的目标数据202的子集。
[0108]
在步骤804,灵敏度推荐应用125基于目标数据202确定视频游戏130的一个或更多个初始灵敏度推荐。在一些实施例中,一个或更多个初始敏感性推荐包括游戏特定的敏感性推荐、特性特定的敏感性推荐或角色特定的敏感性推荐中的一个或更多个。生成一个或更多个初始灵敏度推荐的方式与上文关于灵敏度推荐应用125和灵敏度推荐236讨论的方式类似。
[0109]
在一些实施例中,灵敏度推荐应用125基于一个或更多个存储的或预定义的映射生成一个或更多个游戏特定的灵敏度推荐,该映射将目标的大小和/或目标的距离与不同的灵敏度值相关。灵敏度推荐应用125基于映射确定对应于与多个目标相关联的大小和距离的一个或更多个灵敏度值。
[0110]
在一些实施例中,敏感性推荐应用125基于广义或模型效率数据生成一个或更多个游戏特定的敏感性推荐。广义或模型效率数据包括广义速度-误差关系数据和广义距离-速度关系数据。灵敏度推荐应用125基于广义距离-速度关系数据和广义速度-误差关系数据,确定使用不同鼠标灵敏度级别时的预测任务完成时间和误差值。灵敏度推荐应用125基于预测的任务完成时间和错误值选择一个或更多个鼠标灵敏度级别。
[0111]
在步骤806,灵敏度推荐应用程序125为玩家生成鼠标移动数据232。鼠标移动数据232包括指示对应于不同时间戳值的鼠标位置的数据。在一些实施例中,灵敏度推荐应用125跟踪和/或记录由玩家进行的鼠标移动,并生成鼠标移动数据232。在一些实施例中,灵敏度推荐应用125跟踪或捕获鼠标移动,并基于跟踪或捕获的鼠标移动生成鼠标移动数据232。在一些实施例中,灵敏度推荐应用125从视频游戏130或从捕获鼠标移动的单独应用程
序接收鼠标移动信息并基于鼠标移动信息生成鼠标移动数据232。
[0112]
在一些实施例中,生成鼠标移动数据232包括将鼠标移动数据232分割成多个鼠标子移动,并生成与多个鼠标子移动相关联的数据。与多个鼠标子运动相关联的数据包括子运动开始时间、子运动结束时间、子运动开始目标距离、子运动速度和子运动误差值中的一个或更多个。将鼠标移动数据232分割成多个鼠标子移动,并生成与多个鼠标子移动相关联的数据,执行方式类似于上文关于灵敏度推荐应用125、准确度数据230和鼠标移动数据232所讨论的方式。
[0113]
在一些实施例中,灵敏度推荐应用125通过将给定时间戳处的速度与开始速度阈值进行比较来确定子运动的开始时间。如果灵敏度推荐应用125未识别新的子运动,则灵敏度推荐应用125将当前时间戳处的速度与开始速度阈值进行比较。如果当前时间戳处的速度高于开始速度阈值,则灵敏度推荐应用125将当前时间戳识别为子运动的开始时间。
[0114]
在一些实施例中,灵敏度推荐应用125通过将后续时间戳处的速度与结束速度阈值进行比较来确定子运动的结束时间。如果灵敏度推荐应用125确定了对应于当前子运动的开始时间,并且没有识别出对应于当前子运动的结束时间,则灵敏度推荐应用125将当前时间戳处的速度与结束速度阈值进行比较。如果当前时间戳处的速度低于结束速度阈值,则灵敏度推荐应用125将当前时间戳识别为当前子运动的结束时间。在一些实施例中,当确定子移动的结束时间时,灵敏度推荐应用125将当前时间戳和子移动的开始时间之间的时间间隔与持续时间阈值进行比较。持续时间阈值表示子移动的最小持续时间。如果当前时间戳处的速度小于结束速度阈值,但时间间隔小于持续时间阈值,则当前时间戳不被识别为子运动的结束时间。
[0115]
在步骤808,灵敏度推荐应用125分析鼠标移动数据232以生成效率数据234。生成效率数据234的方式与上面关于灵敏度推荐应用125和效率数据234讨论的方式类似。在一些实施例中,效率数据234包括距离-速度关系数据和速度-误差关系数据。
[0116]
在一些实施例中,灵敏度推荐应用125在多个鼠标子运动的每个鼠标子运动开始时确定从观察方向到目标的距离。灵敏度推荐应用125将到目标的距离从游戏世界空间320中的距离转换为鼠标驱动空间330中的距离。在鼠标子移动结束时,灵敏度推荐应用125基于鼠标子移动期间鼠标移动的距离和鼠标子移动的持续时间来计算鼠标子移动的速度。
[0117]
在一些实施例中,灵敏度推荐应用125将曲线拟合到距离-速度关系,将速度-误差关系拟合到鼠标移动数据232和准确度数据230。在一些实施例中,将曲线拟合到距离-速度关系包括生成对应于多个鼠标移动或鼠标子移动的多个距离-速度数据点,其中,与鼠标移动或子移动相关的平均速度相比,每个距离-速度数据点指示鼠标移动或子移动开始时到目标的距离。基于多个距离-速度数据点生成一个或更多个曲线或函数。在一些实施例中,将曲线拟合到速度误差关系包括生成与多个鼠标移动或鼠标子移动相对应的多个速度误差数据点,其中,每个速度-误差数据点指示与鼠标移动或子移动相关联的误差量相比的鼠标移动或子移动相关联的平均速度。基于多个速度误差数据点生成一个或更多个曲线或函数。
[0118]
在步骤810,灵敏度推荐应用125基于效率数据234,为视频游戏130生成一个或更多个玩家特定的灵敏度推荐。一个或更多个玩家特定的灵敏度推荐可以包括一个或更多个鼠标灵敏度水平和/或一个或更多个鼠标灵敏度水平范围。生成一个或更多个玩家特定的
敏感度推荐的方式类似于上文关于敏感度推荐应用125和敏感度推荐236所讨论的方式。
[0119]
在一些实施例中,灵敏度推荐应用125基于距离-速度数据和速度-误差数据,在使用不同的鼠标灵敏度水平时确定玩家的预测任务完成时间和误差值。此外,可以基于视频游戏130中目标的大小和距离来确定预测的任务完成时间。灵敏度推荐应用125基于预测的任务完成时间和错误值确定一个或更多个鼠标灵敏度水平。在一些实施例中,灵敏度推荐应用125确定与最高任务完成时间和/或最低错误相关联的一个或更多个鼠标灵敏度。
[0120]
在步骤812,灵敏度推荐应用125确定与视频游戏130的特定角色或特性对应的目标数据202。在一些实施例中,确定对应于特定角色或特性的目标数据202包括识别对应于特定角色或特性的目标数据202的子集。目标数据202的子集包括与特定角色或特性相关联的目标的大小和/或目标距离。在一些实施例中,灵敏度推荐应用125基于目标数据202和特性数据206确定与给定特性相关联的目标的大小和距离。在一些实施例中,灵敏度推荐应用125基于目标数据202和角色数据208确定与给定角色相关联的目标的大小和距离。
[0121]
在步骤814,敏感度推荐应用程序125基于对应于特定角色或特性的目标数据202细化一个或更多个玩家特定的敏感度推荐。在一些实施例中,基于目标数据的第一集合生成一个或更多个特定于玩家的敏感度推荐,并且对应于特定角色或特性的目标数据的第二集合是目标数据的第一集合的子集。敏感度推荐应用125基于目标数据的第二集合过滤一个或更多个玩家特定的敏感度推荐,以排除对应于未包括在目标数据的第二集合中的目标数据的玩家特定的敏感度推荐。在一些实施例中,敏感性推荐应用125基于目标数据的第二集合确定一个或更多个新的玩家特定的敏感性推荐。
[0122]
在一些实施例中,在步骤810,敏感性推荐应用程序125生成一个或更多个玩家特定的敏感性推荐,而不是基于特定特性或角色细化一个或更多个玩家特定的敏感性推荐,每个玩家特定的敏感度推荐对应不同的角色或特性。
[0123]
图9是根据各种实施例的自动细化选定鼠标灵敏度水平的方法步骤流程图。尽管参考图1和图2的系统描述方法步骤,但本领域技术人员将理解,配置为以任何顺序实现方法步骤的任何系统都属于本发明的范围。
[0124]
如图9所示,方法900从步骤902开始,其中灵敏度推荐应用125确定初始灵敏度推荐236。在一些实施例中,初始敏感度推荐236是游戏特定的敏感度推荐、角色特定的敏感度推荐、特性特定的敏感度推荐、玩家特定的敏感度推荐、角色特定且玩家特定的敏感度推荐、或者特性特定且玩家特定的敏感度推荐中的一个。初始灵敏度推荐236以类似于上文关于灵敏度推荐应用125和方法800的步骤所述的方式生成。
[0125]
在步骤904,灵敏度推荐应用125修改初始的灵敏度推荐236以生成修改后的灵敏度推荐。在一些实施例中,修改初始的灵敏度推荐236包括以随机量增加或减少初始灵敏度水平。在一些实施例中,修改初始的灵敏度推荐236包括接收或生成与用户在使用初始的灵敏度推荐236标识的鼠标灵敏度水平时执行的鼠标移动相关联的鼠标移动数据。灵敏度推荐应用125可执行类似于下文所述的906-918的步骤,以确定如何修改初始的灵敏度推荐236。
[0126]
在步骤906,灵敏度推荐应用125生成与用户在使用修改的灵敏度水平时执行的鼠标移动相对应的鼠标移动数据232。另外,灵敏度推荐应用125生成与用户执行的鼠标移动相关联的准确度数据230。在一些实施例中,鼠标移动与目标任务相关联,例如使用特定武
器、角色、特性或其组合。
[0127]
在步骤908,灵敏度推荐应用125分析鼠标移动数据232和准确度数据230,以生成与用户在使用修改的灵敏度水平时执行的鼠标移动相关联的距离-速度关系数据和速度-误差关系数据。生成距离-速度关系数据和速度-误差关系数据的方式与上述关于灵敏度推荐应用125和效率数据234的方式类似。
[0128]
在步骤910,灵敏度推荐应用125确定与距离-速度关系相关联的斜率是否比与先前距离-速度关系相关联的斜率减小。灵敏度推荐应用125将与修改的灵敏度水平相关联的距离-速度关系的斜率与先前灵敏度推荐相关联的距离-速度关系的斜率进行比较。如果当前迭代是第一次迭代,则灵敏度推荐应用125将与修改的灵敏度水平相关联的距离-速度关系的斜率与初始灵敏度推荐相关联的距离-速度关系的斜率进行比较。在一些实施例中,如果与初始的灵敏度推荐相关联的距离-速度关系不可用,则灵敏度推荐应用125可以将与修改的灵敏度水平相关联的距离-速度关系的斜率与通用或模型距离-速度关系的斜率相比较。如果距离-速度关系的斜率减小,则该方法进入步骤916,其中灵敏度推荐应用125增加修改后的灵敏度推荐。方法900返回到步骤906,其中灵敏度推荐应用125生成与用户在使用增加的灵敏度水平时执行的鼠标移动相对应的鼠标移动数据232。
[0129]
如果距离-速度关系的斜率没有减小,则该方法进入步骤912,其中灵敏度推荐应用125确定与速度-误差关系相关联的斜率是否比与先前速度-误差关系相关联的斜率更平坦。灵敏度推荐应用125将与修改的灵敏度水平相关联的速度-误差关系的斜率与先前灵敏度推荐相关联的速度-误差关系的斜率进行比较。如果当前迭代是第一次迭代,则灵敏度推荐应用125将与修改的灵敏度水平相关联的速度-误差关系的斜率与初始的灵敏度推荐相关联的速度-误差关系的斜率进行比较。在一些实施例中,如果与初始法人灵敏度推荐相关联的速度-误差关系不可用,则灵敏度推荐应用125可以将与修改的灵敏度水平相关联的速度-误差关系的斜率与通用或模型速度-误差关系的斜率进行比较。如果速度-误差关系的斜率更平坦,则该方法进入步骤916。
[0130]
如果速度-误差关系的斜率不平坦,则该方法进入步骤914,其中灵敏度推荐应用125确定与速度-误差关系相关联的斜率是否比与先前速度-误差关系相关联的斜率更陡。如果速度误差关系的斜率更陡,则该方法前进到步骤918,其中灵敏度推荐应用125降低修改后的灵敏度推荐。方法900然后返回到步骤906,其中灵敏度推荐应用125生成与用户在使用降低的灵敏度水平时执行的鼠标移动相对应的鼠标移动数据232。
[0131]
如果速度误差关系的斜率不是更陡,则该方法进入步骤920,其中灵敏度推荐应用125将当前鼠标灵敏度水平确定为目标任务的推荐鼠标灵敏度水平。灵敏度推荐125输出与目标任务相关联的推荐的鼠标灵敏度。可选地,可以重复步骤906-920以确定不同目标任务的推荐鼠标敏感度水平。
[0132]
总之,公开的技术能够为用户自动生成一个或更多个推荐的鼠标灵敏度水平。灵敏度推荐应用程序确定描述视频游戏中不同目标的大小和距离的目标数据。此外,灵敏度推荐应用程序基于玩家的鼠标移动生成鼠标移动数据,并分析鼠标移动数据以生成与玩家的鼠标移动相关联的效率数据。灵敏度推荐应用程序使用效率数据预测给定的鼠标灵敏度水平、目标大小和目标距离组合下玩家的鼠标移动效率。基于视频游戏的一组目标的预测鼠标移动效率,灵敏度推荐应用程序确定一个或更多个推荐的鼠标灵敏度,或为玩家确定
一个或更多个推荐的鼠标灵敏度范围。
[0133]
相对于现有技术,所公开技术的至少一个技术优势在于,通过所公开的技术,单个玩家的特征用于生成针对该单个玩家的鼠标敏感性推荐。特别是,通过分析单个玩家的鼠标运动产生的虚拟运动,可以预测该玩家的指向效率。然后使用指向效率为单个玩家生成鼠标灵敏度推荐。因此,所公开的技术产生特定于单个玩家所做的鼠标移动类型的推荐鼠标灵敏度,从而为玩家提供合适的鼠标灵敏度,同时避免使用现有技术方法经常经历的低效试错过程。此外,所公开的技术在为单个玩家生成鼠标敏感度推荐时不依赖于其他玩家使用的鼠标敏感度。因此,所公开的技术可用于为视频游戏的单个玩家生成鼠标敏感度推荐,其中其他玩家使用的鼠标敏感度和关于通用鼠标敏感度的信息不可用。与现有技术方法相比,这些技术优势提供了一个或更多个技术进步。
[0134]
1.在一些实施例中,一种自动生成鼠标灵敏度推荐的计算机实现方法包括生成与用户在与软件应用程序交互时执行的一个或更多个鼠标移动相对应的鼠标移动数据;基于鼠标移动数据生成多个鼠标敏感度水平中所包括的每个鼠标敏感度水平的预测效率;以及基于该预测效率确定要提供给用户的一个或更多个鼠标灵敏度水平。
[0135]
2.第1条的方法,其中生成鼠标移动数据包括将一个或更多个鼠标移动分割为多个鼠标子移动。
[0136]
3.第1条或第2条所述的方法,其中,将一个或更多个鼠标移动分割成多个鼠标子移动包括,对于包括在鼠标移动数据中的多个时间戳中的每个时间戳,计算对应于该时间戳的不同的鼠标运动速度;以及基于所述多个鼠标移动速度分割所述一个或更多个鼠标移动。
[0137]
4.第1-3条中任何一条的方法,其中分割一个或更多个鼠标移动进一步基于与多个鼠标子移动相关联的最小持续时间。
[0138]
5.第1-4条中任一条的方法,还包括生成与一个或更多个鼠标移动相对应的准确度数据,其中生成多个预测效率进一步基于准确度数据。
[0139]
6.第1-5条中任何一条的方法,其中,生成多个预测效率包括基于鼠标移动数据和准确度数据,生成指示多个目标距离和多个鼠标移动之间的对应关系的第一函数和指示多个鼠标移动速度和多个误差值之间的对应关系的第二函数;以及对于包括在多个鼠标敏感度水平中的每个鼠标敏感度水平,基于第一函数或第二函数中的至少一个,预测与使用鼠标敏感度水平选择目标相关联的鼠标移动时间。
[0140]
7.第1-6条中任何一条的方法,其中,针对包括在多个鼠标灵敏度水平中的每个鼠标灵敏度水平生成预测效率还基于与软件应用程序相关联的多个目标大小或与软件应用程序相关联的多个目标距离中的至少一个。
[0141]
8.根据第1-7条中任一条所述的方法,还包括使第一鼠标敏感度水平应用于软件应用程序,所述第一鼠标敏感度水平包括在一个或更多个鼠标敏感度水平中并且已由用户选择。
[0142]
9.根据第1-8条中任一项所述的方法,其中所述软件应用程序为视频游戏。
[0143]
10.根据第1-9条中任一项所述的方法,还包括生成第二鼠标移动数据,该第二鼠标移动数据对应于用户在使用第一鼠标敏感度水平与软件应用程序交互时执行的一个或更多个第二鼠标移动;基于所述第二鼠标移动数据,针对所述多个鼠标敏感度水平中包括
的每个鼠标敏感度水平生成第二预测效率;以及基于所述第二预测效率确定要提供给用户的一个或更多个第二鼠标灵敏度水平。
[0144]
11.在一些实施例中,一个或更多个非暂时性计算机可读介质包括指令,当由一个或更多个处理器执行时,使一个或更多个处理器执行生成与用户在与软件应用程序交互时执行的一个或更多个鼠标移动相对应的鼠标移动数据的步骤;基于鼠标移动数据生成多个鼠标敏感度水平中所包括的每个鼠标敏感度水平的预测效率的步骤;以及基于预测效率确定要提供给用户的一个或更多个鼠标灵敏度水平的步骤。
[0145]
12.第11条中的一个或更多个非暂时性计算机可读介质,其中生成鼠标移动数据包括将一个或更多个鼠标移动分割为多个鼠标子移动。
[0146]
13.第11或12条所述的一个或更多个非暂时性计算机可读介质,其中,将一个或更多个鼠标移动分割成多个鼠标子移动包括,对于包括在鼠标移动数据中的多个时间戳中的每个时间戳,计算与该时间戳对应的不同的鼠标移动速度;以及基于所述多个鼠标移动速度分割所述一个或更多个鼠标移动。
[0147]
14.第11-13条中任一项的一个或更多个非暂时性计算机可读介质,其中基于多个鼠标移动速度分割一个或更多个移动包括选择多个时间戳中所包括的时间戳的子集作为鼠标子移动起始时间戳的集合,其中,包括在时间戳的子集中的每个时间戳对应于高于阈值速度的鼠标移动速度。
[0148]
15.第11-14条中任一项的一个或更多个非暂时性计算机可读介质,其中基于多个鼠标移动速度分割一个或更多个运动包括选择多个时间戳中所包括的时间戳的子集作为鼠标子运动结束时间戳的集合,其中,包括在时间戳的子集中的每个时间戳对应于低于阈值速度的鼠标移动速度。
[0149]
16.第11-15条中任一项的一个或更多个非暂时性计算机可读介质,还包括生成对应于一个或更多个鼠标移动的准确度数据,其中生成多个预测效率还基于准确度数据。
[0150]
17.第11-16条中任一项的一个或更多个非暂时性计算机可读介质,其中,生成多个预测效率包括基于鼠标移动数据和准确度数据,生成指示多个目标距离和多个鼠标移动之间的对应关系的第一函数和指示多个鼠标移动速度和多个误差值之间的对应关系的第二函数;以及对于包括在多个鼠标敏感度水平中的每个鼠标敏感度水平,基于第一函数或第二函数中的至少一个,预测与使用鼠标敏感度水平选择目标相关联的鼠标移动时间。
[0151]
18.第11-17条中任一项的一个或更多个非暂时性计算机可读介质,还包括确定与软件应用相关联的多个目标尺寸和与软件应用相关联的多个目标距离,并且其中,还基于所述多个目标尺寸和所述多个目标距离来生成包括在所述多个鼠标敏感度水平中的每个鼠标敏感度水平的预测效率。
[0152]
19.根据第11-18条中任一项所述的一个或更多个非暂时性计算机可读介质,其中所述软件应用程序是视频游戏,其中所述一个或更多个鼠标移动与用户在玩视频游戏时选择的角色或用户在玩视频游戏时选择的特性中的至少一种相关联,并且其中,所述多个目标尺寸和所述多个目标距离与所述用户选择的角色或所述用户选择的特性中的至少一个相关联。
[0153]
20.在一些实施例中,系统包括存储指令的一个或更多个存储器和耦合到一个或更多个存储器的一个或更多个处理器,并且在执行指令时,执行生成与用户在玩视频游戏
时执行的一个或更多个鼠标移动相对应的鼠标移动数据的步骤;基于鼠标移动数据生成多个鼠标敏感度水平中所包括的每个鼠标敏感度水平的预测效率的步骤;以及基于预测效率为用户选择一个或更多个鼠标灵敏度水平的步骤。
[0154]
在任何权利要求和/或本技术中描述的任何要素的任何和所有组合,以任何方式,都属于本发明和保护的预期范围。
[0155]
为了说明的目的,已经给出了各种实施例的描述,但并不打算穷尽或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说是显而易见的。
[0156]
本实施例的各个方面可以体现为系统、方法或计算机程序产品。因此,本发明的方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或结合软件和硬件方面的实施例的形式,这些方面在本文中通常可以称为“模块”、“系统”或“计算机”。此外,本公开中描述的任何硬件和/或软件技术、过程、功能、组件、引擎、模块或系统可以实现为一个电路或一组电路。此外,本发明的方面可以采取计算机程序产品的形式,该计算机程序产品体现在一个或更多个计算机可读介质中,该计算机可读介质上体现有计算机可读程序代码。
[0157]
可以使用一个或更多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是,例如,但不限于,电子、磁性、光学、电磁、红外或半导体系统、设备或装置,或上述的任何适当组合。计算机可读存储介质的更具体示例(非穷尽列表)将包括以下内容:具有一条或更多条导线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、便携式光盘只读存储器(cd-rom)、光存储设备、磁存储设备或上述任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是任何有形介质,其可以包含或存储供指令执行系统、装置或设备使用或与之相关联的程序。
[0158]
上文参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图插图和/或方框图的每个块以及流程图插图和/或方框图中的块的组合可以通过计算机程序指令来实现。这些计算机程序指令可提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器。当通过计算机或其他可编程数据处理设备的处理器执行指令时,能够实现流程图和/或框图中指定的功能/动作。此类处理器可以是但不限于通用处理器、专用处理器、专用处理器或现场可编程门阵列。
[0159]
图中的流程图和框图说明了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个块可以表示代码的模块、段或部分,其包括用于实现指定逻辑功能的一个或更多个可执行指令。还应注意的是,在一些替代实现中,在块中记录的功能可能会出现在图中记录的顺序之外。例如,连续示出的两个块实际上可以基本上并发地执行,或者有时可以根据所涉及的功能以相反顺序执行这些块。还将注意到,方框图和/或流程图插图的每个块以及方框图和/或流程图插图中的块的组合可以由执行指定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实现。
[0160]
虽然前述内容针对本发明的实施例,但在不偏离其基本范围的情况下,可以设计
本发明的其他和进一步的实施例,其范围由以下权利要求确定。
再多了解一些

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

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

相关文献