CN109814736A - 一种摇杆数值的处理方法 - Google Patents

一种摇杆数值的处理方法 Download PDF

Info

Publication number
CN109814736A
CN109814736A CN201811478040.1A CN201811478040A CN109814736A CN 109814736 A CN109814736 A CN 109814736A CN 201811478040 A CN201811478040 A CN 201811478040A CN 109814736 A CN109814736 A CN 109814736A
Authority
CN
China
Prior art keywords
rocking bar
increment
offset
mobile increment
numerical value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201811478040.1A
Other languages
English (en)
Inventor
蒙浩程
郭霖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Snail Digital Technology Co Ltd
Original Assignee
Suzhou Snail Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Snail Digital Technology Co Ltd filed Critical Suzhou Snail Digital Technology Co Ltd
Priority to CN201811478040.1A priority Critical patent/CN109814736A/zh
Publication of CN109814736A publication Critical patent/CN109814736A/zh
Withdrawn legal-status Critical Current

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

一种摇杆数值的处理方法,包括以下步骤:上报摇杆数值并进行预处理;对摇杆偏移量进行区间划分并标识;计算每个区间的移动增量;输出最终的移动增量;根据模拟触点的当前位置和最终的移动增量计算下一时刻的触点位置。本发明的摇杆数值的处理方法,可以让视角控制更加友好,针对***瞄准等精细调整视角的场景,瞄准体验有大幅度提升,从而增强游戏的体验。

Description

一种摇杆数值的处理方法
技术领域
本发明涉及游戏引擎技术领域,特别是涉及一种摇杆数值的处理方法。
背景技术
在手机等智能平台中,有些游戏原本并不支持摇杆,一种解决办法是把摇杆的数值转换成屏幕上的触摸点,可以达到控制角色位置移动、视角转动(下面简称视角)的效果。本文主要讨论用于控制视角的场景(后面称视野模式)。
在视野模式中,所模拟的触点是从屏幕中某个预设的点出发,然后根据摇杆偏移量计算模拟触点移动的增量(单位为像素),上一时刻的触点位置和每次计算出来的增量共同决定下一时刻触点的位置。
游戏中有多种视角控制的场景:较大视角移动场景、小范围微调视角场景、类似***瞄准操作极精细调整视角场景,不同场景下需要不同的视角转动速度。因此如何根据摇杆的偏移量计算触点增量是影响摇杆体验的关键因素。
目前常见的技术解决方案有以下三种:
1.常量方案:只要偏移量不为0,则增量为常量。此种方案的缺点是增量并没有根据偏移量变化而变化,因此只有一种角速度,无法同时满足不同的视角控制场景——无法精细视角调整。
2.线性方案:增量=偏移量 x 加速系数,并取整。此种方案的缺点是增量随偏移量成线性变化,虽然在一定程度上缓解了常量方案存在的问题,但在需要精细调整视角的场景仍然力不从心。
3.分段加速方案: 在“线性方案”的基础上,把偏移量划分为若干区间,并为每个定义不同的加速系数。此种方案的缺点是在线性方案的基础上强化了各种角速度的区别,但在需要精细调整视角的场景没有本质上的改善。
4.曲线拟合方案:把从偏移量到增量的关系拟合成一条曲线函数(其中偏移量为自变量,增量为从变量),计算结果取整。此种方案的缺点和分段加速方案的缺点一样。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种摇杆数值的处理方法,可以让视角控制更加友好,大幅度提升瞄准体验。
为实现上述目的,本发明提供的一种摇杆数值的处理方法,包括:
上报摇杆数值并进行预处理;
对摇杆偏移量进行区间划分并标识;
计算每个区间的移动增量;
输出最终的移动增量;
根据模拟触点的当前位置和最终的移动增量计算下一时刻的触点位置。
进一步地,所述对摇杆偏移量进行区间划分并标识的步骤,进一步包括:
根据不同的视角转动速度对摇杆偏移量划分为不同的三个区间分别为:大偏移量区间、微调区间和精调区间。
进一步地,所述计算每个区间的移动增量的步骤,包括:
计算大偏移量区间的移动增量,公式为:
FunA= d*ViewSpeed;
其中,FunA 为大角度转动视角场景对应的移动增量,d为偏移量,ViewSpeed为预设的视角速度;
计算微调区间的移动增量,公式为:
FuncB=fPrecision * (d +800)/1000;
其中,FuncB为小角度转动视角场景对应的移动增量,fPrecision为微调精度,d为偏移量;
计算精调区间的移动增量,公式为:
FuncC= fPrecision * d / L;
其中,FuncC为精调视角场景对应的移动增量,fPrecision为微调精度,d为偏移量,L为取值常量。
更进一步地,所述输出最终的移动增量的步骤,进一步包括:如果移动增量绝对值大于1,则输出其整数部分作为最终的移动增量;否则将移动增量累加。
为实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行如上文所述的摇杆数值的处理方法步骤。
为实现上述目的,本发明还提供一种游戏设备,其特征在于,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行如上文所述的摇杆数值的处理方法步骤。
本发明的一种摇杆数值的处理方法,具有以下有益效果:
1)让视角控制更加友好:针对快速转身、小范围调整方向、***瞄准等场景分别提供快速、慢速、极慢速三种不同的视角转动速度。
2)针对***瞄准等精细调整视角的场景,本专利提供了前所未有的数值处理手段,在原理上有重大突破,使瞄准体验有大幅度提升。
3)增强了游戏设备的总体体验。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的摇杆数值的处理方法流程图;
图2为根据本发明的根据摇杆偏移量计算模拟触点的移动增量流程图;
图3为根据本发明的摇杆理论数值分布图和摇杆理想数据分布图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为根据本发明的摇杆数值的处理方法流程图,下面将参考图1,对本发明的摇杆数值的处理方法进行详细描述。
首先,在步骤101,上报摇杆数值并对腰杆数值进行预处理。该步骤中,对数据预处理包括去抖等。
在步骤102,根据摇杆偏移量计算模拟触点的移动增量。
图2为根据本发明的根据摇杆偏移量计算模拟触点的移动增量流程图,下面将参考图2,对计算模拟触点的移动增量进行详细描述。
在步骤201,将摇杆偏移量划分为大、中、小三个区间,并分别标识为第一区间、第二区间和第三区间,这样,三个不同的视角转动速度可以定义不同的区间。
在步骤202,如果当前偏移量在第一区间,则按公式FuncA计算移动增量。第一区间代表大偏移量区间,FuncA代表大角度转动视角场景对应的移动增量,计算公式为:
FunA= d*ViewSpeed;
其中,d为偏移量,ViewSpeed为预设的视角速度;ViewSpeed可由用户根据实际情况进行调整,参考取值范围[3,30]。
在步骤203,如果当前偏移量在第二区间,则按公式FuncB计算移动增量。第二区间代表微调区间,FuncB代表小角度转动视角场景对应的移动增量,计算公式为:
FuncB=fPrecision * (d + 800)/1000;
其中,d为偏移量,fPrecision为微调精度,参考取值范围[1.0,3.0]。
在步骤204,如果当前偏移量在第三区间,则按公式FuncC计算移动增量。第三区间代表精调区间,FuncC代表精调视角场景(如***瞄准)对应的移动增量,计算公式为:
FuncC= fPrecision * d / L;
其中,L为取值常量,L取值越大视角转动越慢,可根据实际调试效果调整,参考取值范围[800,1500]。
在步骤205,最终移动增量的输出:如果本次移动增量绝对值大于1,则输出其整数部分,否则把移动增量累加。移动增量的累加只对偏移量在第三区间的情况生效,属于精调视角的后半部分。
在该步骤中,移动增量的累加,针对不同场景下用户的不同操作需求,可以考虑以下策略:
1)当d = (800, 1000], a=d*ViewSpeed;
2)当d = (300, 800],a= fPrecision * (d + 800)/1000;
3)当d = (0, 300], a’ = fPrecision * d / 800;
如果 a’ > 1.0, a = a’
否则 a += a’(累计增量)
4)当d = 0,触点抬起。
其中,ViewSpeed表示视野移动速度,fPrecision表示调整精度,均由用户设定,a’为本次计算的临时移动增量,a为累计增量。
a += a’等价于:a = a + a’,这就是移动增量的计算方法。例如当前a=0,并有连续10次偏移量输入(在0~300区间),假设10次计算出来的a’都是0.1,那么a的值是这样变化的:
第1次输入后: a = a + a’ = 0 + 0.1 = 0.1
第2次输入后: a = a + a’ = 0.1 + 0.1 = 0.2
第3次输入后: a = a + a’ = 0.2 + 0.1 = 0.3
第4次输入后: a = a + a’ = 0.3 + 0.1 = 0.4
第5次输入后: a = a + a’ = 0.4 + 0.1 = 0.5
第6次输入后: a = a + a’ = 0.5 + 0.1 = 0.6
第7次输入后: a = a + a’ = 0.6 + 0.1 = 0.7
第8次输入后: a = a + a’ = 0.7 + 0.1 = 0.8
第9次输入后: a = a + a’ = 0.8 + 0.1 = 0.9
第10次输入后: a = a + a’ = 0.9 + 0.1 = 1.0
可以看到,前9次输入得到的累加移动增量都小于1,因此输出的移动增量为0;而第10次输入后,得到的累加移动增量刚好等于1,此时会输出的移动增量是1(像素)。
在步骤103,根据模拟触点的当前位置和移动增量计算下一时刻的模拟触点位置。该步骤中,本发明生效的条件是以“根据摇杆数值模拟触点来控制视角”为背景。
在摇杆事件转换成触摸事件过程中,经过本发明的摇杆数值的处理方法处理的摇杆数值模拟触点来控制视角,用户在瞄准的时候可以更加准确地瞄准目标。
图3为根据本发明的摇杆理论数值分布图和摇杆理想数据分布图,如图3所示,摇杆数据由{X,Y}坐标构成,X与Y正交,其理论可能的取值组合在二维平面上的分布是正方形。而一般摇杆根部成球状,理想的摇杆数据分布是正圆。工作时摇杆定时上报当前位置,上报数值与所在位置成线性关系。
视野模式下模拟的是一个自由的触点,从预先设定的位置出发,然后根据摇杆每次上报的坐标(x,y)计算出本次的触点增量,这个增量与上一时刻触点的位置共同决定触点下一个时刻的位置。值得注意的是,这个增量也是二维的。考虑到X与Y的对等性,我们在分别计算其增量时的处理方法也是完全一致的。因此下面的讨论以X为例,Y不再赘述。
摇杆的数值范围不尽相同,下面以0~2000为例说明本专利的实现方法:
设x为某次上报的X值, d=x-1000表示摇杆在X轴上的偏移量,a为根据d计算出来的模拟触点的移动增量。此时视角的策略转换成了对a值的计算。
针对不同场景下用户的不同操作需求,可以考虑以下策略:
1)当d = (800, 1000], a=d*ViewSpeed;
2)当d = (300, 800], a= fPrecision * (d + 800)/1000;
3)当d = (0, 300], a’ = fPrecision * d / 800;
如果 a’ > 1.0, a = a’
否则 a += a’(累计增量)
4)当d = 0,触点抬起。
其中ViewSpeed表示视野移动速度,fPrecision表示调整精度,均由用户设定。
有必要对不同区间的效果预期作简要说明:
区间(800, 1000]:视角快速移动,满足较大视角移动场景;
区间(300, 800]:视角微调,满足小范围微调视角场景;
区间(0, 300]:视角精细调整,满足***瞄准等需要精细调整视角的场景;
区间[0, 0]:视角停止转动。
需要特别说明的是(0, 300)的区间,a’= fPrecision * d / 800中的800需要根据实际效果来调整,其值越大,调整越精细。其中最有价值的是当增量不足1.0时进行累加,这样做的效果是:虽然本次上报的数值未使触点位置立即发生移动,但是多次上报后会因累计增量大于1.0而使触点移动0一个像素。这样用户就可以在瞄准的时候精确瞄准目标了。
上述几个区间的具体划分可根据实际情况调整,并非一定要划分成上例中的数值。
本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行如上文所述的摇杆数值的处理方法步骤。
本发明还提供一种游戏设备,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行如上文所述的摇杆数值的处理方法步骤。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种摇杆数值的处理方法,包括以下步骤:
上报摇杆数值并进行预处理;
对摇杆偏移量进行区间划分并标识;
计算每个区间的移动增量;
输出最终的移动增量;
根据模拟触点的当前位置和最终的移动增量计算下一时刻的触点位置。
2.根据权利要求1所述的方法,其特征在于,所述对摇杆偏移量进行区间划分并标识的步骤,进一步包括:
根据不同的视角转动速度对摇杆偏移量划分为不同的三个区间分别为:大偏移量区间、微调区间和精调区间。
3.根据权利要求1所述的方法,其特征在于,所述计算每个区间的移动增量的步骤,包括:
计算大偏移量区间的移动增量,公式为:
FunA= d*ViewSpeed;
其中,FunA 为大角度转动视角场景对应的移动增量,d为偏移量,ViewSpeed为预设的视角速度;
计算微调区间的移动增量,公式为:
FuncB=fPrecision * (d +800)/1000;
其中,FuncB为小角度转动视角场景对应的移动增量,fPrecision为微调精度,d为偏移量;
计算精调区间的移动增量,公式为:
FuncC= fPrecision * d / L;
其中,FuncC为精调视角场景对应的移动增量,fPrecision为微调精度,d为偏移量,L为取值常量。
4.根据权利要求所述的方法,其特征在于,所述输出最终的移动增量的步骤,进一步包括:如果移动增量绝对值大于1,则输出其整数部分作为最终的移动增量;否则将移动增量累加。
5.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至4任一项所述的摇杆数值的处理方法步骤。
6.一种游戏设备,其特征在于,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行权利要求1至4任一项所述的摇杆数值的处理方法步骤。
CN201811478040.1A 2018-12-05 2018-12-05 一种摇杆数值的处理方法 Withdrawn CN109814736A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811478040.1A CN109814736A (zh) 2018-12-05 2018-12-05 一种摇杆数值的处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811478040.1A CN109814736A (zh) 2018-12-05 2018-12-05 一种摇杆数值的处理方法

Publications (1)

Publication Number Publication Date
CN109814736A true CN109814736A (zh) 2019-05-28

Family

ID=66601915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811478040.1A Withdrawn CN109814736A (zh) 2018-12-05 2018-12-05 一种摇杆数值的处理方法

Country Status (1)

Country Link
CN (1) CN109814736A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104548596A (zh) * 2015-02-02 2015-04-29 陈荣 一种射击游戏的瞄准方法及装置
US20160041717A1 (en) * 2011-10-04 2016-02-11 Microsoft Technology Licensing, Llc Game controller on mobile touch-enabled devices
CN105446525A (zh) * 2015-11-10 2016-03-30 网易(杭州)网络有限公司 一种游戏角色行为的控制方法
CN106292727A (zh) * 2015-05-22 2017-01-04 浙江大华技术股份有限公司 一种通过网络键盘摇杆控制云台转动的方法及装置
CN108027660A (zh) * 2015-08-07 2018-05-11 索尼互动娱乐股份有限公司 用于使用mems投影仪来确定hmd或另一控制器的光电传感器的取向的***和方法
CN108854063A (zh) * 2018-04-24 2018-11-23 网易(杭州)网络有限公司 射击游戏中的瞄准方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160041717A1 (en) * 2011-10-04 2016-02-11 Microsoft Technology Licensing, Llc Game controller on mobile touch-enabled devices
CN104548596A (zh) * 2015-02-02 2015-04-29 陈荣 一种射击游戏的瞄准方法及装置
CN106292727A (zh) * 2015-05-22 2017-01-04 浙江大华技术股份有限公司 一种通过网络键盘摇杆控制云台转动的方法及装置
CN108027660A (zh) * 2015-08-07 2018-05-11 索尼互动娱乐股份有限公司 用于使用mems投影仪来确定hmd或另一控制器的光电传感器的取向的***和方法
CN105446525A (zh) * 2015-11-10 2016-03-30 网易(杭州)网络有限公司 一种游戏角色行为的控制方法
CN108854063A (zh) * 2018-04-24 2018-11-23 网易(杭州)网络有限公司 射击游戏中的瞄准方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN106945042B (zh) 一种机械手的离散s型曲线速度控制方法
CN109064514A (zh) 一种基于投影点坐标回归的六自由度位姿估计算法
CN108064197B (zh) 确定码垛点位置信息的方法、装置及机器人
US20010027358A1 (en) Method for controlling/regulating a process in a motor vehicle and device for implementing the method
CN105446525A (zh) 一种游戏角色行为的控制方法
CN105096384A (zh) 调整虚拟物件位置及姿态角的方法及装置
CN107844058B (zh) 一种运动曲线离散动态规划方法
CN104570735A (zh) 一种码垛机器人弧形运动轨迹算法
CN106292727A (zh) 一种通过网络键盘摇杆控制云台转动的方法及装置
CN111191359A (zh) 一种基于少量实际数据防空导弹空间杀伤区模型构建和射击诸元解算方法
CN105160442B (zh) 一种用于圆形件的物理排样算法
CN102626554B (zh) 机械皮影结构及其运动角度和移动定位的控制方法
CN109814736A (zh) 一种摇杆数值的处理方法
CN110007786A (zh) 一种手柄映射到鼠标灵敏度的优化方法和相关装置
CN108549759A (zh) 一种针对自动化喷涂工艺的零件涂层厚度计算和仿真方法
CN105278462A (zh) 机器人控制***轨迹加减速插补算法
CN105224179A (zh) 信息显示方法及装置
CN104847889A (zh) 一种车辆的电控气动换挡控制方法及***
CN100421451C (zh) 虚拟演播室***中瞬间初始化定位方法
CN112597612A (zh) 机器人优化方法、装置、终端设备及计算机可读存储介质
CN110231823B (zh) 一种双轮机器人的直接控制方法
CN109388063A (zh) 自适应卡尔曼滤波复合控制方法
CN112560326B (zh) 压力场的确定方法及装置
CN112847340B (zh) 一种控制方法、控制装置及机器人
Zhang et al. Research on dynamic model and control strategy of auto-leveling system for vehicle-borne platform

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20190528