对于动态事件产生触觉效果的制作方法

文档序号:6505689阅读:100来源:国知局
对于动态事件产生触觉效果的制作方法
【专利摘要】对于动态事件产生触觉效果。一种对于动态事件产生动态触觉效果的系统接收动态事件的第一端点和第二端点。第一端点包含第一端点值和相应的第一触觉效果,并且,第二端点包含第二端点值和相应的第二触觉效果。系统接收动态事件的动态值。动态值处于第一端点值和第二端点值之间。系统然后通过从第一触觉效果和第二触觉效果内插动态触觉效果从动态值确定动态触觉效果。
【专利说明】对于动态事件产生触觉效果
【技术领域】
[0001]一个实施例一般针对触觉效果,特别是响应动态事件产生触觉效果。
【背景技术】
[0002]电子装置制造商力求为用户提供丰富的界面。常规的装置使用视觉和听觉暗示,以向用户提供反馈。在一些界面装置中,还向用户提供一般统称为“触觉反馈”或“触觉效果”的肌肉运动知觉反馈(诸如主动力和抵抗力反馈)和/或触觉反馈(诸如振动、纹理和发热)。触觉反馈可提供增强并简化用户界面的暗示。具体而言,振动效果或振动触觉效果可用于向电子装置的用户提供暗示,以向用户警告特定的事件,或者,提供现实反馈以在模拟或虚拟环境中产生更大的沉浸感。
[0003]触觉反馈还越来越多地被加入称为“手持装置”或“便携式装置”的诸如蜂窝电话、个人数字助理(“PDA”)、智能电话和便携式游戏装置的便携式电子装置中。例如,一些便携式游戏应用能够以与供被配置为提供触觉反馈的大型游戏系统使用的控制装置(例如,操纵杆等)类似的方式振动。另外,诸如蜂窝电话和智能电话的装置能够通过振动向用户提供各种警告。例如,蜂窝电话可通过振动向用户警告到来的电话。类似地,智能电话可警告用户安排的日历事项,或者,向用户提供“待做”列表事项或日历任务的提醒。并且,触觉效果可被用于模拟“真实世界”动态事件,诸如视频游戏中的弹球的感觉。

【发明内容】

[0004]一个实施例是一种对于动态事件产生动态触觉效果的系统。系统接收动态事件的第一端点和第二端点。第一端点包含第一端点值和相应的第一触觉效果,并且,第二端点包含第二端点值和相应的第二触觉效果。系统接收动态事件的动态值。动态值处于第一端点值和第二端点值之间。系统然后通过从第一触觉效果和第二触觉效果内插动态触觉效果从动态值确定动态触觉效果。
【专利附图】

【附图说明】
[0005]图1示出根据本发明的一个实施例的触觉启用系统的框图。
[0006]图2示出产生产生触觉效果的力的动态事件的例子。
[0007]图3示出根据一个实施例的创建反映图2的球撞墙的触觉效果或其它的动态事件时的触觉效果设计人员和触觉效果编程人员之间的典型的交互作用。
[0008]图4是根据一个实施例的使用内插以对于动态事件自动产生触觉效果时的图1的触觉效果产生模块的功能的流程图。
【具体实施方式】
[0009]一个实施例是对于诸如模拟弹球的“动态事件”产生触觉效果的系统。系统对于诸如球接触墙壁时的最小力和最大力的动态事件的“端点”接收希望的触觉效果。系统然后使用内插以自动产生落在端点之间的动态事件的触觉效果。
[0010]一般通过确定触觉效果应有什么“感觉”的触觉效果设计人员和开发软件代码以实现设计的触觉效果的触觉效果编程人员的协作开发加入触觉效果的装置。在许多系统中,应用编程界面(“API ”)使设计人员的工作与编程人员分开,使得设计人员可通过名字呼叫希望的触觉效果,并且,API检索相应的代码或例程,以实现希望的触觉效果。用于触觉效果的API的一个例子是来自Immersion Corp的“VibeTonz” API。
[0011]触觉效果经常被用于模拟“动态”真实世界事件。例如,视频游戏可具有球弹离墙壁的特征。根据球对于墙壁的速度/力,模拟弹回的碰撞的触觉效果必须改变,以反映真实世界中的碰撞会产生的力。可通过改变参数改变触觉效果。作为另一例子,智能电话可显示接触的滚动列表。当列表滚动时,触觉效果可产生接触之间的“滴答”触觉效果。当滚动的速度增加时,滴答应变强以反映速度增加,反之亦然。在一个实施例中,当触觉效果是振动并且由致动器产生时,触觉效果可改变,以通过改变振动参数的大小、频率和持续期的任意组合模拟动态触觉事件。可产生相应的触觉效果的动态事件的其它例子包括拳击手套击打人的力、球棒击球的力、汽车碰撞另一物体的力等。
[0012]对于许多的模拟,产生相应的触觉效果的动态事件的数量可能相当多。例如,对于从墙壁弹回的球,视频游戏可根据球速规定球对于墙壁产生的十个或更多个不同的力。大多数的设计人员在对于这些力设计触觉效果时仅规定端点的参数(即,最小的力和最大的力)。编程人员然后必须通过使用线性映射或一些其它的方法在端点之间将所有的参数编程。根据中间点的数量,这可能需要编程人员的大量劳动。相反,本发明的实施例通过使用内插基于端点自动产生中间段触觉效果。
[0013]图1示出根据本发明的一个实施例的触觉启用系统10的框图。在一个实施例中,系统10是移动装置的一部分,并且,系统10对于移动装置提供触觉效果产生。虽然被示为单个系统,但是,系统10的功能可实现为分布式系统,并且可在系统10自身上产生触觉效果,或者向另一装置发送触觉效果信号或数据,该另一装置然后产生触觉效果。
[0014]系统10包含用于传送信息的总线12或其它通信机构和与总线12耦合的用于处理信息的处理器22。处理器22可以是任意类型的一般或特定用途处理器。系统10还包括用于存储要由处理器22执行的信息和指令的存储器14。存储器14可包含随机存取存储器(“RAM”)、只读存储器(“ROM”)、诸如磁盘或光盘的静态存储或任何其它类型的计算机可读介质的任意组合。
[0015]计算机可读介质可以是可被处理器22访问的任何可用的介质,并且可包含易失性和非易失性介质、可去除和不可去除介质、通信介质和存储介质。通信介质可包含计算机可读指令、数据结构、程序模块或诸如载波或其它传输机制的调制数据信号中的其它数据,并且可包含在现有技术中已知的任何其它形式的信息传输介质。存储介质可包含RAM、快擦写存储器、ROM、可擦除可编程只读存储器(“EPR0M”)、电可擦除可编程只读存储器(“EEPR0M”)、寄存器、硬盘、可去除盘、紧致盘只读存储器(“⑶-ROM”)或在现有技术中已知的任何其它形式的存储介质。
[0016]在一个实施例中,存储器14存储当由处理器22执行时提供功能的软件模块。模块包含向系统10以及一个实施例中的移动装置的剩余部分提供操作系统功能的操作系统
15。模块还包含在后面更详细地公开的通过使用内插产生触觉效果的触觉效果产生模块16。系统10 —般包括一个或更多个附加的应用模块18,以包括附加的功能,诸如与智能电话有关的应用(如系统10是智能电话)、AP1、物理系统等。系统10还可与用于存储供模块16和18使用的数据的数据库30耦合。
[0017]在实施例中传送并且/或者从远程源接收数据的系统10还包括诸如网络接口卡的通信装置20,以提供移动无线网络通信,诸如红外、无线电、W1-Fi或蜂窝网络通信。在其它的实施例中,通信装置20提供有线网络连接,诸如以太网连接或调制解调器。
[0018]处理器22通过总线12与用于向用户显示图形呈现或用户界面的诸如液晶显示器(“IXD”)的显示器24耦合。显示器24可以是被配置为发送并从处理器22接收信号的诸如触摸屏的触摸敏感输入装置,并且可以是多触摸触摸屏。处理器22还与允许用户与系统10交互作用的诸如鼠标的键盘或光标控制28耦合。
[0019]系统10在一个实施例中还包括致动器26。处理器22可向致动器26传送与产生的触觉效果相关的触觉信号,该致动器26又输出诸如振动触觉效果的触觉效果。致动器26包含致动器驱动电路。致动器26可以是例如电动机、电磁致动器、音圈、形状记忆合金、电活化聚合物、螺线管、偏心旋转质量电动机(“ERM”)、线性共振致动器(“LRA”)、压电致动器、高带宽致动器、电活化聚合物(“ΕΑΡ”)致动器、静电摩擦显示器或超声振动产生器。在其它的实施例中,与系统10分开的装置包括产生触觉效果的致动器,并且,系统10通过通信装置20向该装置发送产生的触觉效果信号。
[0020]图2示出产生产生触觉效果的力的动态事件的例子。在图2中,球击打四个墙壁中的一个。每次与墙壁的碰撞产生根据球速改变的“力”。在一个例子中,图2的“球”和“墙壁”可以是在图1的系统10的显示器24上表示的视频游戏的一部分。“物理系统”是动态事件的一部分,并且确定与动态事件相关的真实世界等同力、速度等。物理系统可以是提供诸如刚性体动力学(包含碰撞检测)、软体动力学和流体力学的某些物理系统的适当的模拟的计算机软件。在其它的实施例中,不是产生基于物理系统的动态事件,而是,输入可以是例如力随时间改变的动画中的时间。
[0021]图3示出根据一个实施例的创建反映图2的球撞墙的触觉效果或其它的动态事件时的触觉效果设计人员32和触觉效果编程人员44之间的典型的交互作用。设计人员32设计与各碰撞对应的触觉效果的“感觉”。设计人员32基于目标装置的感觉的知识规定振动参数的端点范围(例如,用于强度和周期的最小和最大值Vmin35和Vmax37)。振动极限36反映范围的端点,并规定致动器26产生用于最小力的触觉效果和用于最大力的触觉效果的信号。端点可以不是范围的“绝对”端点。事实上,“端点”可以是也可被视为端点的两个附加值之间的中间端点。例如,对于I?10的范围,选择的端点可以是3和7。
[0022]编程人员44将图1的处理器22编程,使得产生触觉效果信号。编程人员44基于来自物理系统或模拟的典型值的范围的知识规定力输入的范围(例如,最小值和最大值Fmin45和Fmax47)。碰撞极限46反映球击墙壁所产生的最小力和最大力。
[0023]在操作中,实施例计算可落入端点之间的特定动态事件的碰撞力(S卩,不是最小力,也不是最大力)。从编程人员的碰撞极限46到设计人员的振动极限36内插对于致动器26的输出。
[0024]图4是根据一个实施例的使用内插以对于动态事件自动产生触觉效果时的图1的触觉效果产生模块16的功能的流程图。在一个实施例中,通过存储于存储器或其它计算机可读或可触知介质中并由处理器执行的软件实现图4的流程图的功能。在其它的实施例中,可通过硬件(例如,通过使用应用特定集成电路(“ASIC”)、可编程门阵列(“PGA”)、场可编程门阵列(“FPGA”)等)或硬件和软件的任意组合执行功能。
[0025]在402中,检测下一动态事件。作为连续的循环执行图4的功能,因此,动态事件总是得到检测。
[0026]在404中,确定是否发生了动态事件(例如,球与墙壁的碰撞)。如果在404中为否,那么功能在402上继续。如果在404中为是,那么物理系统提供动态事件值。在图2的例子中,事件是碰撞,并且,动态事件值是碰撞力(例如,刻度I?10上的8)。在称为“playDynamicEffect”的一个实施例中,动态事件值被传送到例程。在一个实施例中,动态事件值被传送到例程如下:
[0027]playDynamicEffect (“collision” , force)这里,“collision” 是触觉事件的名称,force是触觉事件的值。
[0028]例如,假定在效果文件中定义以下的效果:
[0029]名称=“collisionl”、持续期=IOms,大小=O,周期=5ms ;
[0030]名称=“collisionlO”、持续期=50ms,大小=10000,周期=5ms。在本例子中,触觉效果由三个参数即持续期、大小和周期定义。
[0031]在406中,从效果文件检索最接近动态事件值的一组效果定义。一个实施例中的线性内插需要至少两个定义。在以上的例子中,这些效果通过它们的共同的名称“collision”被发现,并且包含“collisionl”和“collisionlO”。可定义并且从效果文件检索多于两个的效果。例如,以下的三个效果可在效果文件中被定义:
[0032]名称=“collision0.25”,持续期=IOms,大小=O,周期=5ms ;
[0033]名称=“collisionl”,持续期=IOms,大小=O,周期=5ms ;
[0034]名称=“collisionlO”,持续期=50ms,大小=10000,周期=5ms。
[0035]在408和410中,确定动态事件值是否落于两个定义值之间。例如,模块16确定“8”处于在定义值的名称中编码的“ I ”和“ 10”之间。
[0036]如果动态事件值在408中比最低设定定义值大,那么在一个实施例中,不播放效果,并且,功能前进到410。这提供忽略输入力的“死区(deadband)”。在另一实施例中,可以使用组中的最小效果定义,并且,功能然后返回402。
[0037]如果在408中为否,如果动态事件值在410中小于最大设定定义值,那么在412中使用组中的最高效果定义(例如,10),并且,功能返回402。
[0038]如果在410中为是,那么在414中由内插入确定触觉效果定义,并且,功能返回402。
[0039]为了在414中通过内插确定触觉效果,在一个实施例中,通过使用下式确定内插变量“t”:
[0040]t =(动态事件值-最低值动态事件)/ (最高值动态事件-最低值动态事件)
[0041]对于以上的例子,
[0042]t =(8-1)/ (10-1),因此,t 大致等于 0.78。
[0043]在最闻值动态事件等于最低值动态事件的特定情况下,t=l以避免除以零。
[0044]在一个实施例中,在以下的线性内插函数中使用t:[0045](l-t)*A+t*B
[0046]以计算各内插的触觉效果参数,这里,“A”是用于最低值动态事件的参数值,“B”是用于最高值动态事件的参数值。对于以上的两个效果例子,参数被确定如下:
[0047]持续期=(1-t)*10+t*50=41ms
[0048]大小=(l_t)*0+t*10000 = 7778 ;
[0049]周期=(1-t)*5+t*5 = 5ms
[0050]因此,在414之后,内插的触觉参数值(即,41ms持续期、7778大小、5ms周期)间接地或直接地被输出到图1的致动器26或其它的致动器,以导致产生触觉效果。功能然后返回402以等待发生另一动态事件。
[0051]在另一实施例中,作为两个触觉效果定义(即,两个端点)的替代,如上面描述的那样使用三个触觉效果定义。在该实施例中,对于内插使用以下的二次方程:
[0052](l-t)~2*A+2* (1-t) *t*B+t~2*C
[0053]这里,C是第二定乂。
[0054]如公开的那样,实施例允许触觉效果设计人员更容易地通过规定希望的触觉效果端点实现丰富的触觉效果。实施例然后通过内插自动产生中间段触觉效果。
[0055]这里示出和/或描述了几个实施例。但是,可以理解,在不背离本发明的精神和意图的范围的情况下,公开的实施例的修改和变化由以上的教导覆盖,并且处于所附的权利要求的范围内。
【权利要求】
1.一种用于对于动态事件产生动态触觉效果的计算机实现的方法,该方法包括: 接收动态事件的第一端点和第二端点,其中,第一端点包含第一端点值和相应的第一触觉效果,并且,第二端点包含第二端点值和相应的第二触觉效果; 接收动态事件的动态值,其中,动态值处于第一端点值和第二端点值之间;和 从动态值确定动态触觉效果,其中,确定包含从第一触觉效果和第二触觉效果内插动态触觉效果。
2.根据权利要求1的方法,其中,动态触觉效果是振动触觉效果,并且包含多个参数。
3.根据权利要求1的方法,其中,多个参数包含持续期、大小和周期。
4.根据权利要求1的方法,其中,振动触觉效果由致动器产生。
5.根据权利要求1的方法,其中,动态事件包含力。
6.根据权利要求1的方法,其中,力包含接触另一模拟对象的模拟对象。
7.根据权利要求5的方法,其中,力由物理系统产生。
8.根据权利要求1的方法,其中,内插包含产生包含(动态事件值一第一端点值)/(第二端点值一第一端点值)的内插值(t); 其中,第一端点值是最低端点值,并且,第二端点值是最高端点值。
9.根据权利要求8的方法,其中,第一触觉效果包含多个第一参数,并且,第二触觉效果包含多个第二参数; 其中,对于动态触觉效果的各参数,内插包含(1-t) *A+t*B,其中,A包含相应的第一触觉效果参数,并且,B包含相应的第二触觉效果参数。
10.一种具有存储于其上面的指令的计算机可读介质,这些指令当被处理器执行时,导致处理器对于动态事件产生动态触觉效果,该产生动态触觉效果包含权利要求1~9的方法中的任一个。
11.一种对于动态事件产生动态触觉效果的系统,该系统包括: 处理器; 与处理器耦合并存储触觉效果产生模块的存储器; 通过触觉效果产生模块接收动态事件的第一端点和第二端点,其中,第一端点包含第一端点值和相应的第一触觉效果,并且,第二端点包含第二端点值和相应的第二触觉效果; 通过触觉效果产生模块接收动态事件的动态值,其中,动态值处于第一端点值和第二端点值之间;和 通过触觉效果产生模块从动态值确定动态触觉效果,其中,确定包含从第一触觉效果和第二触觉效果内插动态触觉效果。
12.根据权利要求11的系统,还包括与处理器耦合的致动器,其中,致动器响应接收动态触觉效果输出触觉效果。
13.根据权利要求12的系统,其中,触觉效果是振动触觉效果。
14.根据权利要求11的系统,其中,内插包含产生包含(动态事件值-第一端点值)/(第二端点值-第一端点值)的内插值(t); 其中,第一端点值是最低端点值,并且,第二端点值是最高端点值。
15.根据权利要求14的系统,其中,第一触觉效果包含多个第一参数,并且,第二触觉效果包含多个第二参数; 其中,对于动态触觉效果的各参数,内插包含(1-t) *A+t*B,其中,A包含相应的第一触觉效果参数,并且,B包含相应的第二触觉效果参数。
【文档编号】G06F9/455GK103544002SQ201310289773
【公开日】2014年1月29日 申请日期:2013年7月11日 优先权日:2012年7月11日
【发明者】J·D·弗莱明 申请人:英默森公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1