控制虚拟对象的方法、装置及触控设备的制造方法

文档序号:10552528阅读:199来源:国知局
控制虚拟对象的方法、装置及触控设备的制造方法
【专利摘要】本公开提供了一种控制虚拟对象的方法、装置及触控设备,该方法包括:在所述触控设备上显示有一操作界面,所述操作界面中至少包括一虚拟触控部件,用于与一虚拟对象相对应,并控制所述虚拟对象的移动;检测用户对所述虚拟触控部件进行操作而产生的触控信息,所述触控信息包含按压位置和按压力度;根据所述按压位置和所述按压力度控制所述虚拟对象进行相应的转向以及加减速操作。本公开通过将加减速操作直接整合到操控虚拟对象移动方向的虚拟触控部件上,以便仅通过操作一个虚拟触控部件就能实现控制虚拟对象完成转向、加减速的操作,操作直观、快速和便捷,不需要额外设置加速按钮和减速按钮,不占用屏幕的空间,操作界面更为清爽简洁。
【专利说明】
控制虚拟对象的方法、装置及触控设备
技术领域
[0001] 本公开涉及网络技术领域,尤其涉及一种控制虚拟对象的方法、装置及触控设备。
【背景技术】
[0002] 在传统的游戏设备(例如街机、家用主机和便携掌机)的设计中,游戏中对于载具 (例如汽车、坦克、摩托、直升机等交通工具)或人物等虚拟对象进行操控,玩家利用手指在 摇杆区域上下左右的移动,对应的虚拟对象则根据手指操作方向去进行方向上的调整,直 接影响游戏中虚拟对象的移动。
[0003] 现有的游戏中一般采用摇杆与按钮结合的形式来实现对虚拟对象的操控,如图1 所示,在游戏界面的一侧显示摇杆01,玩家手指在摇杆上通过上下左右的移动,完成对载具 移动方向的操控,而加速和刹车(即令虚拟对象从高速行进转为开始停下)操作则是以按钮 形式独立显示,通常为方便玩家进行双手操作,按钮在另一侧显示,其中按钮02用于控制加 速,按钮03用于控制刹车。采用摇杆与按钮结合的形式,除了需要在摇杆之外额外设置控制 加速和刹车的两个按钮,还需要玩家在一直手操控摇杆之余,另外一只手同时点击加速和 刹车,即需要玩家双手操作。同时增加两个按钮也会影响游戏界面布局,占用更多的界面空 间。另外,现有游戏中还有采用滑动手势操作摇杆01,进行刹车或加速操作,如图2所示,以 对一行进中的汽车进行操作为例,玩家可以直接在汽车上通过向上滑实现加速,向下滑实 现减速或刹车。采用滑动手势实现加速或刹车将导致操作复杂化,需要玩家记住不同的手 势进行操作,在滑动手势操作摇杆的过程中很容易出现误操作的情况。
[0004] 可见,现有的对游戏中虚拟对象的移动进行控制的方式存在不方便玩家进行单手 操作或易造成误操作的问题,因此,需要一种新的控制虚拟对象的方法、装置及触控设备。
[0005] 在所述【背景技术】部分公开的上述信息仅用于加强对本公开的背景的理解,因此它 可以包括不构成对本领域普通技术人员已知的现有技术的信息。

【发明内容】

[0006] 为克服相关技术中存在的问题,本公开提供一种控制虚拟对象的方法、装置及触 控设备,以解决现有技术中对游戏中虚拟对象的移动进行控制的方式存在不方便玩家单手 操作或易造成误操作的技术问题。
[0007] 根据本公开实施例的第一方面,提供一种控制虚拟对象的方法,应用于可实现压 力感测的触控设备,包括:
[0008] 在所述触控设备上显示有一操作界面,所述操作界面中至少包括一虚拟触控部 件,用于与一虚拟对象相对应,并控制所述虚拟对象的移动;
[0009] 检测用户对所述虚拟触控部件进行操作而产生的触控信息,所述触控信息包含按 压位置和按压力度;
[0010] 根据所述按压位置和所述按压力度控制所述虚拟对象进行相应的转向以及加减 速操作。
[0011] 根据本公开的另一实施方式,所述虚拟触控部件包括:
[0012] 控制部和操作区;其中,所述控制部在初始状态下位于所述操作区的中心位置;当 用户进行触控操作时,所述控制部在所述操作区内移动。
[0013] 根据本公开的另一实施方式,所述方法还包括:
[0014]检测第一触点;
[0015] 判断所述第一触点是否在所述控制部初始状态所在的区域范围内,若是,则继续 检测第二触点,若否,则结束;
[0016] 判断所述第二触点是否在所述控制部初始状态所在的区域范围内,若是,则结束, 若否,则通过响应于所述虚拟触控部件的所述按压位置和所述按压力度控制所述虚拟对象 进行转向以及加减速操作。
[0017] 根据本公开的另一实施方式,所述方法还包括:
[0018]判断所述按压力度是否小于一预设阈值,如果所述按压力度小于所述预设阈值, 则所述虚拟触控部件以第一操作模式工作,通过响应于所述虚拟触控部件的所述按压位置 控制所述虚拟对象进行转向操作;
[0019] 如果所述按压力度大于等于所述预设阈值,则所述虚拟触控部件以第二操作模式 工作,通过响应于所述虚拟触控部件的所述按压位置控制所述虚拟对象进行转向以及加减 速操作,同时还通过响应于所述虚拟触控部件的所述按压力度控制所述虚拟对象转向的角 速度以及加速或减速的加速度。
[0020] 根据本公开的另一实施方式,产生所述触控信息的步骤包括:
[0021]通过检测所述第二触点在所述操作区的位置得到所述按压位置,通过检测所述第 二触点在所述操作区中施力大小得到所述按压力度。
[0022] 根据本公开的另一实施方式,所述操作区包括加速区和减速区,所述加速区为所 述操作区中与所述虚拟对象的前进方向同向的区域,所述减速区为所述操作区中与所述虚 拟对象的前进方向反向的区域。
[0023] 根据本公开的另一实施方式,所述方法还包括:
[0024] 实时检测所述虚拟对象的前进方向。
[0025] 根据本公开的另一实施方式,当所述虚拟触控部件以所述第二操作模式工作时, 如果所述按压位置在所述加速区的范围内,则所述虚拟触控部件控制所述虚拟对象进行加 速移动;如果所述按压位置在所述减速区的范围内,则所述虚拟触控部件控制所述虚拟对 象进行减速移动。
[0026] 根据本公开的另一实施方式,所述控制所述虚拟对象进行加减速操作的步骤包 括:
[0027] 根据所述按压力度计算所述虚拟对象进行加速或减速移动的加速度,计算公式 为:
[0029] 其中a为所述加速度,amax为最大加速度,f?为所述按压力度,Fmax为用户在触点上施 加的按压力度最大值。
[0030] 根据本公开的另一实施方式,所述控制所述虚拟对象进行转向操作的步骤包括:
[0031]根据所述按压力度计算所述虚拟对象在转向移动过程中的转向角速度,计算公式 为:
[0033] 其中《为所述转向角速度,《max为最大转向角速度,f为所述按压力度,Fmax为用户 在触点上施加的按压力度最大值;
[0034] 根据所述转向角速度控制所述虚拟对象进行转向,直至转向达到转向角0'为止。
[0035] 根据本公开的另一实施方式,所述转向角0'的计算步骤包括:
[0036] 根据所述第二触点与所述虚拟触控部件的中心的连线获得所述第二触点与X轴的 夹角
[0037] 根据所述夹角0换算得到所述虚拟对象在场景中的所述转向角0'。
[0038] 根据本公开实施例的第二方面,还提供一种控制虚拟对象的装置,应用于可实现 压力感测的触控设备,包括:
[0039]显示单元,用于在所述触控设备上显示有一操作界面,所述操作界面中至少包括 一虚拟触控部件,用于与一虚拟对象相对应,并控制所述虚拟对象的移动;
[0040]检测单元,用于检测用户对所述虚拟触控部件进行操作而产生的触控信息,所述 触控信息包含按压位置和按压力度;以及
[0041 ]控制单元,用于根据所述按压位置和所述按压力度控制所述虚拟对象进行相应的 转向以及加减速操作。
[0042] 根据本公开的另一实施方式,所述虚拟触控部件包括:
[0043] 控制部和操作区;其中,所述控制部在初始状态下位于所述操作区的中心位置;当 用户进行触控操作时,所述控制部在所述操作区内移动。
[0044] 根据本公开的另一实施方式,所述装置还包括触点识别单元,用于根据所检测的 触点给出相应的响应,该触点识别单元包括:
[0045] 第一检测模块,用于检测第一触点;
[0046] 第一判断模块,用于判断所述第一触点是否在所述控制部初始状态所在的区域范 围内,若是,则跳转至第二检测模块,若否,则结束;
[0047] 第二检测模块,用于检测第二触点;
[0048] 第二判断模块,用于判断所述第二触点是否在所述控制部初始状态所在的区域范 围内,若是,则结束,若否,则通过响应于所述虚拟触控部件的所述按压位置和所述按压力 度控制所述虚拟对象进行转向以及加减速操作。
[0049] 根据本公开的另一实施方式,所述触点识别单元还包括模式判断模块,用于判断 所述按压力度是否小于一预设阈值,如果所述按压力度小于所述预设阈值,则所述虚拟触 控部件以第一操作模式工作,通过响应于所述虚拟触控部件的所述按压位置控制所述虚拟 对象进行转向操作;如果所述按压力度大于等于所述预设阈值,则所述虚拟触控部件以第 二操作模式工作,通过响应于所述虚拟触控部件的所述按压位置控制所述虚拟对象进行转 向以及加减速操作,同时还通过响应于所述虚拟触控部件的所述按压力度控制所述虚拟对 象转向的角速度以及加速或减速的加速度。
[0050] 根据本公开的另一实施方式,所述检测单元包括:
[0051 ]第三检测模块,用于通过检测所述第二触点在所述操作区的位置得到所述按压位 置;以及
[0052] 第四检测模块,用于通过检测所述第二触点在所述操作区中施力大小得到所述按 压力度。
[0053] 根据本公开的另一实施方式,所述操作区包括加速区和减速区,所述加速区为所 述操作区中与所述虚拟对象的前进方向同向的区域,所述减速区为所述操作区中与所述虚 拟对象的前进方向反向的区域。
[0054]根据本公开的另一实施方式,所述检测单元还包括:
[0055] 方向检测模块,用于实时检测所述虚拟对象的前进方向。
[0056] 根据本公开的另一实施方式,所述虚拟触控部件以所述第二操作模式工作时,所 述控制模块包括加/减速模块,用于控制所述虚拟对象加速移动或减速移动,当所述加/减 速模块用于当所述按压位置在所述加速区的范围内时,所述虚拟触控部件控制所述虚拟对 象进行加速移动,所述加/减速模块用于当所述按压位置在所述减速区的范围内时,所述虚 拟触控部件控制所述虚拟对象进行减速移动。
[0057] 根据本公开的另一实施方式,所述加/减速模块中还包括加速度计算子模块,用于 根据所述按压力度计算所述虚拟对象进行加速或减速移动的加速度,计算公式为:
[0059] 其中a为所述加速度,amax为最大加速度,f?为所述按压力度,Fmax为用户在触点上施 加的按压力度最大值。
[0060] 根据本公开的另一实施方式,所述控制模块包括转向模块,用于控制所述虚拟对 象转向,所述转向模块包括:
[0061] 转向角速度计算子模块,用于根据所述按压力度计算所述虚拟对象在转向移动过 程中的转向角速度,计算公式为:
[0063] 其中《为所述转向角速度,为最大转向角速度,f为所述按压力度,Fmax为用户 在触点上施加的按压力度最大值;
[0064] 转向控制子模块,用于根据所述转向角速度控制所述虚拟对象进行转向,直至转 向达到转向角为止。
[0065]根据本公开实施例的第三方面,还提供一种触控设备,在所述触控设备上显示有 一操作界面,所述操作界面中至少包括一虚拟触控部件,用于与一虚拟对象相对应,并控制 所述虚拟对象的移动,该触控设备包括:
[0066] 处理器;以及
[0067]用于存储所述处理器可执行命令的存储器;
[0068]其中,所述处理器被配置为:
[0069] 检测用户对所述虚拟触控部件进行操作而产生的触控信息,所述触控信息包含按 压位置和按压力度;
[0070] 根据所述按压位置和所述按压力度控制所述虚拟对象进行相应的转向以及加减 速操作。
[0071] 由上述技术方案可知,本公开的有益效果在于:
[0072] 不需要额外设置加速按钮和减速按钮,可以减少界面上按钮的数量,不占用屏幕 的空间,可以令操作界面更为清爽简洁。同时将加减速操作直接整合到操控虚拟对象移动 方向的虚拟触控部件上,以便用户仅通过操作一个虚拟触控部件就能实现控制虚拟对象完 成转向、加减速的操作,令操作更为直观,同时也更为快速和便捷,可以提升玩家的操控体 验。
[0073] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不 能限制本公开。
【附图说明】
[0074] 通过结合附图考虑以下对本公开的优选实施例的详细说明,本公开的各种目标、 特征和优点将变得更加显而易见。附图仅为本公开的示范性图解,并非一定是按比例绘制。 在附图中,同样的附图标记始终表示相同或类似的部件。
[0075] 图1为相关实施例中采用摇杆结合按钮的方式控制汽车加速减速行驶。
[0076] 图2为相关实施例中采用滑动手势的方式控制汽车加速减速行驶。
[0077] 图3为本公开实施例一中提供的一种控制虚拟对象的方法的步骤流程图。
[0078] 图4为本公开实施例一中提供的虚拟触控部件没有偏转时的示意图。
[0079] 图5为本公开实施例一中提供的虚拟触控部件有偏转时的示意图。
[0080] 图6为本公开实施例一中检测识别触点的步骤流程图。
[0081 ]图7为本公开实施例一中对于触点没有响应的示意图。
[0082] 图8为本公开实施例一中提供的方法中步骤S30的步骤流程图。
[0083] 图9为本公开实施例一中第二触点X轴的夹角的示意图。
[0084] 图10为本公开实施例一中加速时转向角的示意图。
[0085] 图11为本公开实施例一中减速时转向角的示意图。
[0086] 图12为本公开实施例一中虚拟摇杆的加速区进行加速的示意图。
[0087] 图13为本公开实施例一中虚拟摇杆的减速区进行减速的示意图。
[0088] 图14为本公开实施例二中提供的控制虚拟对象的装置的示意图。
[0089 ]图15为本公开实施例二中触点识别单元的示意图。
[0090]图16为本公开实施例二中检测单元的示意图。
[0091 ]图17为本公开实施例二中控制单元的示意图。
[0092]图18为本公开实施例三中提供的触控设备的组成框图。
【具体实施方式】
[0093] 体现本公开特征与优点的典型实施例将在以下的说明中详细叙述。应理解的是, 本公开能够在不同的实施例上具有各种的变化,其皆不脱离本公开的范围,且其中的说明 及附图在本质上是当作说明之用,而非用以限制本公开。
[0094] 本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施 方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然 而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个 或更多,或者可以采用其它的方法、组件、材料等。在其它情况下,不详细示出或描述公知结 构、材料或者操作以避免模糊本公开的各方面。
[0095] 下面将参照附图示例性地给出本公开的一些实施例。应当理解,参照的实施例并 不限制本公开的范围。也就是说,本说明书中举出的任何实例都不是限制性的,而是仅仅是 示例性的。
[0096] 鉴于现有技术中提供的摇杆与按钮相结合的方式控制虚拟对象的转向、减速及减 速的操作不便于玩家进行单手操作,或者是采用基于摇杆加以滑动手势的方式控制虚拟对 象的转向、减速及减速的操作容易出现误操作的等诸多问题,本公开提供一种仅显示摇杆, 不需要额外显示加速和减速按钮的方式,就可以基于触控信息来控制虚拟对象的转向、减 速及减速的操作,简化界面设计和操作,在以下实施例中做详细介绍。
[0097] 实施例一
[0098] 本实施例中提供了一种控制虚拟对象的方法,该图3示出根据本实施例提供的基 于触控信息控制虚拟对象的方法的步骤流程图,包括以下步骤:
[0099] 步骤S10:在触控设备上显示有一操作界面,操作界面中至少包括一虚拟触控部 件。
[0100] 步骤S20:检测用户对虚拟触控部件进行操作而产生的触控信息,触控信息包含按 压位置和按压力度。
[0101] 步骤S30:根据按压位置和按压力度控制虚拟对象进行相应的转向以及加减速操 作。
[0102] 如图4所示,在触控设备的触摸屏上显示有一个游戏的操作界面,在该操作界面中 包括一个虚拟触控部件和一虚拟对象,该虚拟触控部件与一虚拟对象相对应,并控制虚拟 对象的移动。在本实施例中,虚拟触控部件可以为虚拟摇杆,例如为悬浮式的虚拟摇杆,虚 拟对象可以为一辆汽车,从而通过控制虚拟摇杆来控制汽车的移动。
[0103] 在本实施例中,虚拟触控部件包括一控制部以及一操作区,如图4所示,控制部A在 初始状态下位于操作区B的中心位置,可将所述控制部A在初始状态下所处位置的区域记为 中心区,当用户进行触控操作时控制部A用于追踪用户在触控设备上的触点,在操作区B内 移动。例如,控制部A和操作区B可分别表示为一内圆和外圆,所述控制部A为虚拟摇杆(在图 4中用小圆表示),所述操作区B为虚拟摇杆的底盘(在图4中用大圆表示),所述虚拟摇杆的 底盘的中心为坐标原点,内圆的半径为ri,外圆的半径为r2,且ri<r2。内圆(即虚拟摇杆)用 于追踪触点,也就是内圆随着用户手指的移动而移动。
[0104]另外,如图4所示,操作区B包括加速区B1和减速区B2两部分,具体的,加速区B1为 操作区中与虚拟对象的前进方向同向的区域,减速区B2为操作区中与虚拟对象的前进方向 反向的区域。如图4所示,加速区B1与减速区B2可以为面积相等的两部分,两区之间存在一 虚拟的分界线(如图4中虚线所示),图中仅为示意性示出加速区和减速区的划分,在实际显 示中并没有这条虚拟的分界线。该分界线的方向为X轴,虚拟对象的移动方向为Y轴,X轴与Y 轴的方向相互垂直。还需要说明的是,图4所示为虚拟对象很有可能不是一直朝一个方向前 进或移动,也是是前进方向可能是不断变化的,因此还需要实时检测虚拟对象的前进方向, 以便实时根据更新的前进方向决定加速区和减速区之间虚拟的分界线。
[0105] 虚拟对象的前进方向发生变化,也就是Y轴方向发生变化,相应的,X轴的方向也随 之发生变化,但是始终保持X轴与Y轴的垂直关系。X轴方向变化导致操作区中加速区和加速 区的分界线产生相应的变化,变化后加速区B1'和加速区B2'的示意图如图5所示。其中图4 和图5中所示的虚拟触控部件与虚拟对象的尺寸与实际显示的虚拟触控部件与虚拟对象的 比例并不一致,只是为突出虚拟触控部件以及更加清楚的示出加速区和加速区而做出放 大,以示说明。
[0106] 以图4所示的虚拟触控部件为例,当其处于初始状态下时,内圆与外圆的中心重 叠。之后,用户在触摸屏上有触点或因移动而产生新的触点时,工作流程如图6所示,如下:
[0107] 步骤S21:检测第一触点P1,当用户的手指按压屏幕时,以虚拟摇杆底盘(即外圆) 的中心为原点,所述第一触点pi的坐标为pi(x,y)(图中未示出),按压力度为f。
[0108] 步骤S22:判断第一触点P1是否在中心区(即控制部在初始状态下的所在区域)的 范围内,如果第一触点pi在所述中心区的范围内,则继续步骤S23,如果第一触点pi不在所述 中心区的范围内,则结束;也就是如果第一触点pr落在所述中心区的范围之外,不响应用户 的点击;如果第一触点pr落在所述中心区的范围之内,但具体如何响应还需进一步判断,即 继续检测新的触点。
[0109]步骤S23:检测第二触点p2。
[0110]步骤S24:判断第二触点口2是否在中心区的范围内,如果第二触Ap2在所述中心区 的范围内,则结束,如果第二触点P2不在所述中心区的范围内,则继续进行下一步的操作。
[0111] 如果新的触点P虽然有位置移动(也就是所述控制部与中心区不再重合,而是有偏 移),但是并未使所述控制部完全移出中心区的范围,则对于该触点没有反应。对于触点没 有响应的示意图如图7所示,则在显示上来看,虽然会给出用户该点击操作的响应,即控制 部会追踪用户的手指触点口 3^4^5进行移动,但是虚拟触控部件仍然处于非操作状态(图中 跟随用户的手指触点P3、P4、p 5移动的控制部A的位置以虚线示出),也就是不会对虚拟对象 的移动产生影响,并且在手指触点口3 44^5离开触摸屏之后,所述控制部仍然会回到原来的 位置,即回到初始状态下的中心位置,也就是所述控制部A会再次回到中心区。
[0112] 在实际使用中,为了排除触摸屏点击不精准的误操作,即便用户在触摸屏上的触 点发生移动,内圆追踪触点也进行移动,但是只要控制部没有移出中心区的范围内,均不做 出响应,也就是当控制部恰好位于中心区时或者控制部在中心区内出现偏移但是并未完全 移出中心区时,均不给出响应,而且只有当控制部与中心区出现偏移并且已完全移出中心 区时,才会给出响应以继续下一步的判断。
[0113] 步骤S25:判断按压力度f是否小于一预设阈值f i,如果按压力度f小于预设阈值f i, 则虚拟触控部件以第一操作模式工作,即通过响应于虚拟触控部件的按压位置控制虚拟对 象进行转向操作;如果按压力度f大于等于预设阈值fi,则虚拟触控部件以第二操作模式工 作,即通过响应于虚拟触控部件的按压位置控制虚拟对象进行转向以及加减速操作,同时 还通过响应于虚拟触控部件的按压力度控制虚拟对象转向的角速度以及加速或减速的加 速度。也就是说,在按压力度f小于预设阈值^时,虚拟触控部件仅做转向控制之用,不做加 减速之用,在按压力度f大于等于预设阈值^时,虚拟触控部件既做转向控制之用,又做加 减速控制之用,实现虚拟触控部件的多工作模式,以更为多样的操作需求。
[0114] 无论虚拟触控部件以第一工作模式还是第二工作模式工作,在检测触点产生触控 信息的过程中均是:通过检测第二触点p2在操作区的位置得到按压位置,通过检测第二触 点P2在操作区中施力大小得到按压力度f。如果虚拟触控部件以第一工作模式工作时,则仅 根据该按压位置控制虚拟对象的转向即可,同时根据按压力度f计算转向角速度。如果虚拟 触控部件以第二工作模式工作时,则不仅根据该按压位置控制虚拟对象的转向即可,同时 根据按压力度f计算转向角速度和加速度,还根据按压位置判断是加速还是减速,具体的, 如果按压位置在加速区的范围内,则虚拟触控部件控制虚拟对象进行加速移动;如果按压 位置在减速区的范围内,则虚拟触控部件控制虚拟对象进行减速移动,加速或减速的加速 度均是根据按压力度f?计算得到。
[0115] 在本实施例中,当虚拟触控部件以第一操作模式或者第二操作模式工作时,步骤 S30的步骤流程如图8所示,步骤S30中控制虚拟对象进行转向操作的步骤包括:
[0116] 步骤S31:根据按压力度计算虚拟对象在转向过程中的转向角速度,计算公式为:
[0118]其中《为转向角速度,《max为最大转向角速度,f为按压力度,Fmax为用户在触点上 施加的按压力度最大值。如果以上述方法应用于手游中为例,触控信息可以通过手机上3D Touch的API(Application Programming Interface,应用程序接口)来获取,从而获知到用 户手指在手机触摸屏上某一触点上施加的按压力度f,而且按压力度f?的范围为〇~F max,其 中用于判断虚拟触控部件工作模式的预设阈值心可以根据需要在0~Fmax范围内选定。其中 最大转向角速度为一预设值,可以根据具体的游戏中虚拟触控部件所控制的虚拟对象 而设定,例如某一款赛车型游戏的场景中有多辆汽车,通常对于不同类型的车转向控制的 灵敏度也不完全一致,假设游戏中要求汽车A的转向灵敏度比较高,相应的co max就比较大, 汽车A在转向时非常灵活;而汽车B转向灵敏度的要求没那么高,则相应的comax就较小一些, 汽车B在转向时就稍微笨重一些,不及汽车A灵活。
[0119]步骤S32:根据转向角速度控制虚拟对象进行转向,直至转向达到转向角0 '为止。
[0120] 在本实施例中,步骤S32之前,还包括获取转向角的步骤如下:
[0121] 首先,根据第二触点仍与中心区的圆心(也就是所述虚拟触控部件的中心)的连线 得到第二触点p2与X轴的夹角0,如图9所示;之后,根据夹角0换算得到虚拟对象在场景中的 转向角 9/,如图10所示。其中当夹角9小于90度时,转向角0'=90-0,当夹角0大于90度时,转 向角0' =0-90。其中Y轴正半轴与虚拟对象的移动方向一致,如图9和图10所示,如果第二触 点P2与中心区的圆心的连线与X轴的夹角0在X轴以上的区域,即第二触点p 2在Y轴的正半轴, 此时第二触点P2位于加速区,0°<9<180°,相应的,-90°< 9/ <90°。相反的,如图11所示, 如果第二触点p2与中心区的圆心的连线与X轴的夹角0在X轴以下的区域,即第二触点口 2在¥ 轴的负半轴,此时第二触点P2位于减速区,180° <0<36〇°,相应的,90° <9/ <270°。
[0122] 需要说明的是,本实施例中的转向角还可以采用上述步骤以外的方式计算得到, 例如夹角9为新位置与中心区的圆心的连线与X轴正方向的夹角时,转向角0'的计算公式随 之发生变化。
[0123] 继续如图8所示,当虚拟触控部件以第二操作模式工作时,步骤S30中除了包括控 制虚拟对象进行转向操作的步骤,还包括控制虚拟对象进行加减速操作的步骤,具体包括 以下步骤:
[0124]步骤S33:根据按压力度计算虚拟对象加速或减速移动的加速度,计算公式为:
[0126] 其中a为加速度,amax为最大加速度,f为按压力度,Fmax为用户在触点上施加的按压 力度最大值。
[0127] 这样,可以根据用户施加的力度值大小的不同区分出加速过程中轻踩油门(SP加 速度较小)以及重踩油门(即加速度较大)的差别,也可以区分出轻踩刹车(即加速度较小) 以及重踩刹车(即加速度较大)的差别。因此用户在操作过程中仅需要操作摇杆,并结合重 按或轻按的操作方式来实现用不同力度踩油门以及刹车过程所带来的感受,极大提升用户 在游戏中的操控体验,图12和图13分别示出所述虚拟摇杆包括加速区和减速区,通过相应 的触控操作实现游戏中虚拟对象的加速或减速的示意图。
[0128] 综上所述,通过本实施例提供的方法,不需要在虚拟摇杆之外额外设置加速和减 速的按钮,可以减少游戏界面上按钮的数量,不占用屏幕的空间,使得操作界面的设计清晰 简洁。通过将加速和减速的操作整合到操控虚拟对象移动方向的摇杆上,利用一个虚拟触 控部件就能实现控制虚拟对象完成转向、加速以及减速的操作,令操作更为直观,同时也更 为快速和便捷,可以提升玩家的操控体验。
[0129] 实施例二
[0130]本实施例提供了一种控制虚拟对象的装置,应用于可实现压力感测的触控设备, 以便在操作界面上仅通过虚拟摇杆就能控制虚拟对象完成转向、加速以及减速的操作。
[0131] 图14示出本实施例提供的控制虚拟对象的装置的示意图,该装置100包括显示单 元110、检测单元120、控制单元130和触点识别单元140。显示单元110用于在触控设备上显 示有一操作界面,操作界面中至少包括一虚拟触控部件,用于与一虚拟对象相对应,并控制 虚拟对象的移动。检测单元120用于检测用户对虚拟触控部件进行操作而产生的触控信息, 触控信息包含按压位置和按压力度。控制单元130用于根据按压位置和按压力度控制虚拟 对象进行相应的转向以及加减速操作。触点识别单元140用于根据所检测的触点给出相应 的响应。
[0132] 如图4所示,在触控设备的触摸屏上显示有一个游戏的操作界面,在该操作界面中 包括一个虚拟触控部件和一虚拟对象,该虚拟触控部件与一虚拟对象相对应,并控制虚拟 对象的移动。在本实施例中,虚拟触控部件可以为虚拟摇杆,例如为悬浮式的虚拟摇杆,虚 拟对象可以为一辆汽车,从而通过控制虚拟摇杆来控制汽车的移动。
[0133] 在本实施例中,虚拟触控部件包括一控制部以及一操作区,如图4所示,控制部A在 初始状态下位于操作区B的中心位置,并将所述控制部A在初始状态下所处位置的区域记为 中心区。当用户进行触控操作时控制部A用于追踪用户在触控设备上的触点,在操作区B移 动。例如,控制部A和操作区B可分别表示为一内圆和外圆,所述控制部A为虚拟摇杆(在图4 中用小圆表示),所述操作区B为虚拟摇杆的底盘(在图4中用大圆表示),虚拟摇杆的底盘的 中心为坐标原点,内圆的半径为n,外圆的半径为r 2,且ri$r2。内圆(即虚拟摇杆)用于追踪 触点,也就是内圆随着用户手指的移动而移动。
[0134] 另外,如图4所示,操作区B包括加速区B1和减速区B2两部分,具体的,加速区B1为 操作区中与虚拟对象的前进方向同向的区域,减速区B2为操作区中与虚拟对象的前进方向 反向的区域。当虚拟触控处于初始状态下时,内圆与外圆的中心区A重叠,内圆所在区域也 就是外圆的中心区。
[0135] 在本实施例中,虚拟触控部件在工作状态下,需要根据检测以及识别触点的变化 情况而进行相应的操作,因此本装置中还需要包括一触点识别单元。该触点识别单元140的 示意图如图15所示,包括:第一检测模块141、第一判断模块142、第二检测模块143、第二判 断模块144和模式判断模块145。
[0136] 第一检测模块141用于检测第一触点P1,当用户的手指按压屏幕时,转换成虚拟摇 杆底盘(即外圆)的中心为原点,第一触点 P1的的坐标为Pl(x,y)(图中未示出),按压力度为 f。第一判断模块142用于判断第一触点P1是否在中心区(即控制部在初始状态下的所在区 域)的范围内,如果第一触A P1在中心区的范围内,则跳转至第二检测模块143,如果第一触 点pi不在中心区的范围内,则结束。第二检测模块143用于检测第二触点p 2。第二判断模块 144用于判断第二触点是否在中心区的范围内,如果第二触点在中心区的范围内,则结束, 如果第二触点不在中心区的范围内,则通过响应于虚拟触控部件的按压位置和按压力度控 制虚拟对象进行转向以及加减速操作。模式判断模块145用于判断按压力度是否小于一预 设阈值,如果按压力度小于预设阈值,则虚拟触控部件以第一操作模式工作,通过响应于虚 拟触控部件的按压位置控制虚拟对象进行转向操作;如果按压力度大于等于预设阈值,则 虚拟触控部件以第二操作模式工作,通过响应于虚拟触控部件的按压位置控制虚拟对象进 行转向以及加减速操作,同时还通过响应于虚拟触控部件的按压力度控制虚拟对象转向的 角速度以及加速或减速的加速度。
[0137] 在本实施例中,无论虚拟触控部件以第一工作模式还是第二工作模式工作,均根 据检测单元120得到的按压位置以及按压力度的触控信息来进行相应的操作控制,检测单 元的组成示意图如图16所示,该检测单元120包括:第三检测模块121、第四检测模块122和 方向检测模块123,第三检测模块121用于通过检测第二触点口 2在操作区的位置得到按压位 置,第四检测模块122用于通过检测第二触点口2在操作区中施力大小得到按压力度f。如果 虚拟触控部件以第一工作模式工作时,则仅根据该按压位置控制虚拟对象的转向即可,同 时根据按压力度f计算转向角和转向角速度。如果虚拟触控部件以第二工作模式工作时,则 不仅根据该按压位置控制虚拟对象的转向即可,同时根据按压力度f计算转向角和转向角 速度,还根据按压位置判断是加速还是减速,具体的,如果按压位置在加速区的范围内,则 虚拟触控部件控制虚拟对象进行加速移动;如果按压位置在减速区的范围内,则虚拟触控 部件控制虚拟对象进行减速移动,加速或减速的加速度均是根据按压力度f?计算得到。无论 虚拟触控部件以哪种工作模式工作,都需要按照方向检测模块123实时检测所述虚拟对象 的前进方向,以便实时根据更新的前进方向决定加速区和减速区之间虚拟的分界线,也就 是根据虚拟对象的前进方向能够迅速改变加速和减速的操作区。
[0138] 根据上述检测单元120得到的触控信息,控制单元130进行相应的操作控制,具体 的,控制单元130的示意图如图17所示,该控制单元130包括加/减速模块131和转向模块 132〇
[0139] 虚拟触控部件以第一操作模式工作时,由于仅做转向操作,不做加减速操作,因此 仅通过转向模块132控制虚拟对象转向即可,如图16所示,该转向模块132包括转向角速度 计算子模块1321和转向控制子模块1322,转向角速度计算子模块1321用于根据按压力度计 算虚拟对象在转向移动过程中的转向角速度,计算公式为:
[0141]其中《为转向角速度,《max为最大转向角速度,f为按压力度,Fmax为用户在触点上 施加的按压力度最大值。其中最大转向角速度c〇max为一预设值,可以根据具体的游戏中虚 拟触控部件所控制的虚拟对象而设定,例如某一款赛车型游戏的场景中有多辆汽车,通常 对于不同类型的车转向控制的灵敏度也不完全一致,假设游戏中要求汽车A的转向灵敏度 比较高,相应的c〇 max就比较大,汽车A在转向时非常灵活;而汽车B转向灵敏度的要求没那么 高,则相应的《 mx就较小一些,汽车B在转向时就稍微笨重一些,不及汽车A灵活。
[0142 ]转向控制子模块1322用于根据转向角速度控制虚拟对象进行转向,直至转向达到 转向角9'为止,获取该转向角的方式可参考实施例一以及图9-图11所示,此处不再赘述。
[0143]虚拟触控部件以第二操作模式工作时,不仅做转向处理,还根据按压位置在加速 区还是减速区进行相应的加减速操作,因此该控制单元130中包括加/减速模块131,如图17 所示,该加/减速模块131包括加减速控制子模块1311和加速度计算子模块1312,加减速控 制子模块1311用于当按压位置在加速区的范围内时,虚拟触控部件控制虚拟对象进行加速 移动,还用于当按压位置在减速区的范围内时,虚拟触控部件控制虚拟对象进行减速移动。 加速度计算子模块1312用于根据按压力度计算虚拟对象进行加速或减速移动的加速度,计 算公式为:
[0145] 其中a为加速度,amax为最大加速度,f为按压力度,Fmax为用户在触点上施加的按压 力度最大值。
[0146] 综上所述,该装置可以适用于手游终端,可以根据用户施加的力度值大小的不同 区分出加速过程中轻踩油门(即加速度较小)以及重踩油门(即加速度较大)的差别,也可以 区分出轻踩刹车(即加速度较小)以及重踩刹车(即加速度较大)的差别。因此用户在操作过 程中仅需要操作摇杆,并结合重按或轻按的操作方式来实现用不同力度踩油门以及刹车过 程所带来的感受,极大提升用户在游戏中的操控体验。不需要额外设置加速按钮和减速按 钮,可以减少界面上按钮的数量,不占用屏幕的空间,可以令操作界面更为清爽简洁。同时 把加速和减速操作直接整合到操控载具方向上的摇杆上,利用一个摇杆作为虚拟触控部件 就能实现控制虚拟对象完成转向、加速以及减速的操作,令操作更为直观,同时也更为快速 和便捷,可以提升玩家的操控体验。
[0147] 实施例三
[0148]本实施例中提供一种触控设备,如图18所不,该触控设备1000具有一触摸屏1010, 触摸屏1010上显示有一操作界面,操作界面中至少包括一虚拟触控部件1011以及虚拟触控 部件所对应并控制的虚拟对象1012,虚拟触控部件1011控制虚拟对象1012的移动。该触控 设备可以是智能设备,例如可以是手机,除了触摸屏,该移动终端1000包括处理器1020以及 用于存储处理器器可执行命令的存储器1030。
[0149]其中,处理器被配置为:检测用户对虚拟触控部件进行操作而产生的触控信息,触 控信息包含按压位置和按压力度;根据按压位置和按压力度控制虚拟对象进行相应的转向 以及加减速操作。
[0150]在示例性实施例中,移动终端可以被一个或多个应用专用集成电路(ASIC)、数字 信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列 (FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0151]存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静 态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPR0M),可擦除可编程只读存储 器(EPROM),可编程只读存储器(PR0M),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光 盘。
[0152] 相应的,本发明还提供一种非临时性计算机可读存储介质,例如包括指令的存储 器,上述指令可由装置的处理器执行以完成上述方法。例如,所述非临时性计算机可读存储 介质可以是R0M、随机存取存储器(RAM)、CD-R0M、磁带、软盘和光数据存储设备等。当所述存 储介质中的指令由终端的处理器执行时,使得终端能够执行上述反馈方法。
[0153] 移动终端可以操作基于存储在存储器的操作系统,例如Windows Server TM,Mac OS XTM,Unix TM, Linux TM,Free BSDTM或类似。
[0154] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施 方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开 实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失 性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算 设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的 方法。
[0155] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其 它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或 者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识 或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的 权利要求指出。
[0156]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并 且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
【主权项】
1. 一种控制虚拟对象的方法,应用于可实现压力感测的触控设备,其特征在于,包括: 在所述触控设备上显示有一操作界面,所述操作界面中至少包括一虚拟触控部件,用 于与一虚拟对象相对应,并控制所述虚拟对象的移动; 检测用户对所述虚拟触控部件进行操作而产生的触控信息,所述触控信息包含按压位 置和技压力度; 根据所述按压位置和所述按压力度控制所述虚拟对象进行相应的转向W及加减速操 作。2. 根据权利要求1所述的方法,其特征在于,所述虚拟触控部件包括: 控制部和操作区;其中,所述控制部在初始状态下位于所述操作区的中屯、位置;当用户 进行触控操作时,所述控制部在所述操作区内移动。3. 根据权利要2所述的方法,其特征在于,所述方法还包括: 检测第一触点; 判断所述第一触点是否在所述控制部初始状态所在的区域范围内,若是,则继续检测 第二触点;若否,则结束; 判断所述第二触点是否在所述控制部初始状态所在的区域范围内,若是,则结束;若 否,则通过响应于所述虚拟触控部件的所述按压位置和所述按压力度控制所述虚拟对象进 行转向W及加减速操作。4. 根据权利要3所述的方法,其特征在于,所述方法还包括: 判断所述按压力度是否小于一预设阔值,如果所述按压力度小于所述预设阔值,则所 述虚拟触控部件W第一操作模式工作,通过响应于所述虚拟触控部件的所述按压位置控制 所述虚拟对象进行转向操作; 如果所述按压力度大于等于所述预设阔值,则所述虚拟触控部件W第二操作模式工 作,通过响应于所述虚拟触控部件的所述按压位置控制所述虚拟对象进行转向W及加减速 操作,同时还通过响应于所述虚拟触控部件的所述按压力度控制所述虚拟对象转向的角速 度W及加速或减速的加速度。5. 根据权利要求3所述的方法,其特征在于,产生所述触控信息的步骤包括: 通过检测所述第二触点在所述操作区的位置得到所述按压位置,通过检测所述第二触 点在所述操作区中施力大小得到所述按压力度。6. 根据权利要求4所述的方法,其特征在于,所述操作区包括加速区和减速区,所述加 速区为所述操作区中与所述虚拟对象的前进方向同向的区域,所述减速区为所述操作区中 与所述虚拟对象的前进方向反向的区域。7. 根据权利要求6所述的方法,其特征在于,所述方法还包括: 实时检测所述虚拟对象的前进方向。8. 根据权利要求6所述的方法,其特征在于,当所述虚拟触控部件W所述第二操作模式 工作时,如果所述按压位置在所述加速区的范围内,则所述虚拟触控部件控制所述虚拟对 象进行加速移动;如果所述按压位置在所述减速区的范围内,则所述虚拟触控部件控制所 述虚拟对象进行减速移动。9. 根据权利要求8所述的方法,其特征在于,所述控制所述虚拟对象进行加减速操作的 步骤包括: 根据所述按压力度计算所述虚拟对象进行加速或减速移动的加速度,计算公式为:其中a为所述加速度,Qmax为最大加速度,f为所述按压力度,Fmax为用户在触点上施加的 按压力度最大值。10.根据权利要求3所述的方法,其特征在于,所述控制所述虚拟对象进行转向操作的 步骤包括: 根据所述按压力度计算所述虚拟对象在转向移动过程中的转向角速度,计算公式为:其中O为所述转向角速度,O max刃最天巧问用化设,f为所述按压力度,Fmax为用户在触 点上施加的按压力度最大值; 根据所述转向角速度控制所述虚拟对象进行转向,直至转向达到转向角0'为止。 11 .根据权利要求10所述的方法,其特征在于,所述转向角0 '的计算步骤包括: 根据所述第二触点与所述虚拟触控部件的中屯、的连线获得所述第二触点与X轴的夹角 白; 根据所述夹角0换算得到所述虚拟对象在场景中的所述转向角0 '。12. -种控制虚拟对象的装置,应用于可实现压力感测的触控设备,其特征在于,包括: 显示单元,用于在所述触控设备上显示有一操作界面,所述操作界面中至少包括一虚 拟触控部件,用于与一虚拟对象相对应,并控制所述虚拟对象的移动; 检测单元,用于检测用户对所述虚拟触控部件进行操作而产生的触控信息,所述触控 信息包含按压位置和按压力度;W及 控制单元,用于根据所述按压位置和所述按压力度控制所述虚拟对象进行相应的转向 W及加减速操作。13. 根据权利要求12所述的装置,其特征在于,所述虚拟触控部件包括: 控制部和操作区;其中,所述控制部在初始状态下位于所述操作区的中屯、位置;当用户 进行触控操作时,所述控制部在所述操作区内移动。14. 根据权利要求13所述的装置,其特征在于,所述装置还包括触点识别单元,用于根 据所检测的触点给出相应的响应,该触点识别单元包括: 第一检测模块,用于检测第一触点; 第一判断模块,用于判断所述第一触点是否在所述控制部初始状态所在的区域范围 内,若是,则跳转至第二检测模块,若否,则结束; 第二检测模块,用于检测第二触点; 第二判断模块,用于判断所述第二触点是否在所述控制部初始状态所在的区域范围 内,若是,则结束,若否,则通过响应于所述虚拟触控部件的所述按压位置和所述按压力度 控制所述虚拟对象进行转向W及加减速操作。15. 根据权利要求14所述的装置,其特征在于,所述触点识别单元还包括模式判断模 块,用于判断所述按压力度是否小于一预设阔值,如果所述按压力度小于所述预设阔值,贝U 所述虚拟触控部件W第一操作模式工作,通过响应于所述虚拟触控部件的所述按压位置控 制所述虚拟对象进行转向操作;如果所述按压力度大于等于所述预设阔值,则所述虚拟触 控部件W第二操作模式工作,通过响应于所述虚拟触控部件的所述按压位置控制所述虚拟 对象进行转向W及加减速操作,同时还通过响应于所述虚拟触控部件的所述按压力度控制 所述虚拟对象转向的角速度W及加速或减速的加速度。16. 根据权利要求14所述的装置,其特征在于,所述检测单元包括: 第=检测模块,用于通过检测所述第二触点在所述操作区的位置得到所述按压位置; W及 第四检测模块,用于通过检测所述第二触点在所述操作区中施力大小得到所述按压力 度。17. 根据权利要求15所述的装置,其特征在于,所述操作区包括加速区和减速区,所述 加速区为所述操作区中与所述虚拟对象的前进方向同向的区域,所述减速区为所述操作区 中与所述虚拟对象的前进方向反向的区域。18. 根据权利要求17所述的装置,其特征在于,所述检测单元还包括: 方向检测模块,用于实时检测所述虚拟对象的前进方向。19. 根据权利要求17所述的装置,其特征在于,所述虚拟触控部件W所述第二操作模式 工作时,所述控制模块包括加/减速模块,用于控制所述虚拟对象加速移动或减速移动; 所述加/减速模块用于当所述按压位置在所述加速区的范围内时,所述虚拟触控部件 控制所述虚拟对象进行加速移动,还用于当所述按压位置在所述减速区的范围内时,所述 虚拟触控部件控制所述虚拟对象进行减速移动。20. 根据权利要求17所述的装置,其特征在于,所述加/减速模块中还包括加速度计算 子模块,用于根据所述按压力度计算所述虚拟对象进行加速或减速移动的加速度,计算公 式为:其中a为所述加速度,Qmax为最大加速度,f为所述按压力度,Fmax为用户在触点上施加的 按压力度最大值。21. 根据权利要求13所述的装置,其特征在于,所述控制模块包括转向模块,用于控制 所述虚拟对象转向,所述转向模块包括: 转向角速度计算子模块,用于根据所述按压力度计算所述虚拟对象在转向移动过程中 的转向角速度,计算公式为:其中O为所述转向角速度,Omax为最大转向角速度,f为所述按压力度,Fmax为用户在触 点上施加的按压力度最大值; 转向控制子模块,用于根据所述转向角速度控制所述虚拟对象进行转向,直至转向达 到转向角0'为止。22. -种触控设备,在所述触控设备上显示有一操作界面,所述操作界面中至少包括一 虚拟触控部件,用于与一虚拟对象相对应,并控制所述虚拟对象的移动,其特征在于,该触 控设备包括: 处理器;W及 用于存储所述处理器可执行命令的存储器; 其中,所述处理器被配置为: 检测用户对所述虚拟触控部件进行操作而产生的触控信息,所述触控信息包含按压位 置和按压力度; 根据所述按压位置和所述按压力度控制所述虚拟对象进行相应的转向W及加减速操 作。
【文档编号】G06F3/041GK105912162SQ201610218116
【公开日】2016年8月31日
【申请日】2016年4月8日
【发明人】徐子昭, 杨青春
【申请人】网易(杭州)网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1