触觉空间化系统.pdf

上传人:le****a 文档编号:5190903 上传时间:2018-12-25 格式:PDF 页数:81 大小:20.47MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410641886.8

申请日:

2014.11.13

公开号:

CN104623897A

公开日:

2015.05.20

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):A63F 13/285申请日:20141113|||公开

IPC分类号:

A63F13/285(2014.01)I; A63F13/42(2014.01)I; A63F13/428(2014.01)I; A63F13/24(2014.01)I

主分类号:

A63F13/285

申请人:

意美森公司

发明人:

H·达考斯塔; R·拉克罗伊克斯; D·格兰特; S·D·兰克; D·布瑞恩巴姆; W·瑞赫恩

地址:

美国加利福尼亚

优先权:

61/904,342 2013.11.14 US; 14/539,122 2014.11.12 US

专利代理机构:

中国国际贸易促进委员会专利商标事务所11038

代理人:

李玲

PDF下载: PDF下载
内容摘要

涉及触觉空间化系统。提供了一种控制在外围设备处体验到的触觉效果的系统。该系统接收包括触觉数据的触觉效果定义。该系统还接收空间化数据,该空间化数据包括:触觉效果的距离;触觉效果的方向;或者触觉效果的流动。该系统还包括基于接收到的空间化数据来修改触觉效果定义。该系统还包括将触觉指令和经修改的触觉效果定义发送到外围设备。该系统还包括使得一个或多个触觉输出设备响应于触觉指令在外围设备处基于经修改的触觉效果定义产生一个或多个触觉效果。

权利要求书

权利要求书
1.  一种用于控制在外围设备的用户输入元件处体验到的触觉效果 的由计算机实现的方法,所述由计算机实现的方法包括:
接收包括触觉数据的触觉效果定义;
接收包括以下各项中的至少一者的空间化数据:所述触觉效果的 位置;所述触觉效果的距离;所述触觉效果的速度;所述触觉效果的 方向;和所述触觉效果的流动;
基于接收到的空间化数据来修改所述触觉效果定义;
将触觉指令和经修改的触觉效果定义发送到所述外围设备;以及
使得一个或多个触觉输出设备响应于所述触觉指令在所述外围设 备处基于经修改的触觉效果定义产生一个或多个触觉效果。

2.  如权利要求1所述的由计算机实现的方法,
其中,修改触觉效果定义包括将所述触觉效果定义划分成一个或 多个触觉效果定义成分;
其中,发送触觉指令和经修改的触觉效果定义包括将所述一个或 多个触觉效果定义成分发送到所述外围设备;
其中,使得一个或多个触觉输出设备基于经修改的触觉效果定义 产生一个或多个触觉效果包括使得所述一个或多个触觉输出设备基于 所述一个或多个触觉效果定义成分来产生所述一个或多个触觉效果。

3.  如权利要求2所述的由计算机实现的方法,还包括:
基于所述空间化数据来对以下各项中的至少一者进行缩放:至少 一个触觉效果定义成分的触觉数据的幅度;至少一个触觉效果成分的 触觉数据的频率;和至少一个触觉效果成分的触觉数据的持续时间。

4.  如权利要求2所述的由计算机实现的方法,还包括:
基于所述空间化数据来对以下各项中的至少一者进行衰减:至少 一个触觉效果定义成分的触觉数据的幅度;至少一个触觉效果定义成 分的触觉数据的频率;和至少一个触觉效果定义成分的触觉数据的持 续时间。

5.  如权利要求2所述的由计算机实现的方法,还包括:
使得至少一个触觉输出设备基于所述空间化数据来延迟至少一个 触觉效果的重放。

6.  一种用于控制在外围设备处体验到的触觉效果的系统,该系 统包括:
存储器,被配置为存储触觉空间化模块;以及
处理器,被配置为执行存储在所述存储器上的所述触觉空间化模 块;
其中,所述处理器当执行所述触觉空间化模块时被配置为接收包 括触觉数据的触觉效果定义;
其中,所述处理器当执行所述触觉空间化模块时还被配置为接收 包括以下各项中的至少一者的空间化数据:所述触觉效果的位置;所 述触觉效果的距离;所述触觉效果的速度;所述触觉效果的方向;和 所述触觉效果的流动;
其中,所述处理器当执行所述触觉空间化模块时还被配置为基于 接收到的空间化数据来修改所述触觉效果定义;
其中,所述处理器当执行所述触觉空间化模块时还被配置为将触 觉指令和经修改的触觉效果定义发送到所述外围设备;并且
其中,所述处理器当执行所述触觉空间化模块时还被配置为使得 一个或多个触觉输出设备响应于所述触觉指令在所述外围设备处基于 经修改的触觉效果定义产生一个或多个触觉效果。

7.  如权利要求6所述的系统,
其中,所述处理器当执行所述触觉空间化模块时还被配置为将所 述触觉效果定义划分成一个或多个触觉效果定义成分;
其中,所述处理器当执行所述触觉空间化模块时还被配置为将所 述一个或多个触觉效果定义成分发送到所述外围设备;
其中,所述处理器当执行所述触觉空间化模块时还被配置为使得 所述一个或多个触觉输出设备基于所述一个或多个触觉效果定义成分 来产生所述一个或多个触觉效果。

8.  如权利要求7所述的系统,
其中,所述处理器当执行所述触觉空间化模块时还被配置为基于 所述空间化数据来对以下各项中的至少一者进行缩放;至少一个触觉 效果定义成分的触觉数据的幅度;至少一个触觉效果成分的触觉数据 的频率;和至少一个触觉效果成分的触觉数据的持续时间。

9.  如权利要求7所述的系统,
其中,所述处理器当执行所述触觉空间化模块时还被配置为基于 所述空间化数据来对以下各项中的至少一者进行衰减;至少一个触觉 效果定义成分的触觉数据的幅度;至少一个触觉效果定义成分的触觉 数据的频率;和至少一个触觉效果定义成分的触觉数据的持续时间。

10.  如权利要求7所述的系统,
其中,所述处理器当执行所述触觉空间化模块时还被配置为使得 至少一个触觉输出设备基于所述空间化数据来延迟至少一个触觉效果 的重放。

说明书

说明书触觉空间化系统
相关申请的交叉引用
本申请要求2013年11月14日递交的序列号为61/904,342的美国 临时专利申请的优先权,特此通过引用并入该申请的公开内容。
技术领域
一个实施例概括而言涉及设备,更具体而言涉及产生触觉效果 (haptic effect)的设备。
背景技术
视频游戏和视频游戏系统已变得极为流行。视频游戏设备或控制 器通常使用视觉和听觉线索来向用户提供反馈。在一些界面设备中, 还向用户提供动觉反馈(例如作用力和阻力反馈)和/或触感反馈(例 如振动、纹理和热量),它们更概括而言被统称为“触觉反馈”或“触 觉效果”。触觉反馈可提供增强并简化用户与视频游戏控制器或其他 电子设备的交互的线索。具体而言,振动效果或者说振动触感触觉效 果在向视频游戏控制器或其他电子设备的用户提供线索以就特定事件 提醒用户或者提供逼真的反馈以产生在仿真或虚拟环境内的更强的感 官沉浸方面可能是有用的。
用户在其中与用户输入元件交互以引起动作的其他设备,例如医 疗设备、汽车控制器、遥控器和其他类似设备,也受益于触觉反馈或 触觉效果。作为示例而非限制,医疗设备上的用户输入元件可被用户 在医疗设备的近端部在患者的身体外加以操作以在医疗设备的远端处 在患者的身体内引起动作。可以使用触觉反馈或触觉效果来就特定事 件提醒用户,或者向用户提供关于医疗设备在医疗设备的远端与患者 的交互的逼真反馈。
发明内容
一个实施例是一种控制在外围设备处体验到的触觉效果的系统。 该系统接收包括触觉数据的触觉效果定义。该系统还接收空间化数据, 该空间化数据包括:触觉效果的距离;触觉效果的方向;或者触觉效 果的流动。该系统还包括基于接收到的空间化数据来修改触觉效果定 义。该系统还包括将触觉指令和经修改的触觉效果定义发送到外围设 备。该系统还包括使得一个或多个触觉输出设备响应于触觉指令在外 围设备处产生基于经修改的触觉效果定义的一个或多个触觉效果。
附图说明
更多实施例、细节、优点和修改将通过以下要结合附图来理解的 对优选实施例的详细描述而变清楚。
图1示出了根据本发明的一个实施例的系统的框图。
图2根据本发明的实施例示出了一种控制器。
图3根据本发明的实施例示出了图2的控制器的另一视图。
图4根据本发明的实施例示出了控制器结合主机计算机和显示器 的框图。
图5根据本发明的实施例示出了系统的空间化触觉效果软件栈的 框图。
图6根据本发明的实施例示出了用于设计空间化触觉效果的示例 用户界面。
图7根据本发明的实施例示出了用于设计空间化触觉效果的组件 的框图。
图8根据本发明的实施例示出了用于创作用于直接重放的空间化 触觉效果的组件的框图和用于保存该空间化触觉效果的组件的框图。
图9根据本发明的实施例示出了用于创作用于交迭重放的空间化 触觉效果的组件的框图和用于保存该空间化触觉效果的组件的框图。
图10根据本发明的实施例示出了用于直接播放空间化触觉效果 的组件的框图。
图11根据本发明的实施例示出了用于利用可编程的交迭来播放 空间化触觉效果的组件的框图。
图12根据本发明的实施例示出了空间化触觉效果的示例四声道 直接重放。
图13根据本发明的实施例示出了空间化触觉效果的示例交迭重 放。
图14根据本发明的实施例示出了空间化引擎的示例用户界面。
图15根据本发明的实施例示出了触觉效果应用编程接口的体系 结构图。
图16根据本发明的实施例示出了产生空间化触觉效果的固件的 体系结构图。
图17根据本发明的实施例示出了用于控制器的示例方向性模型。
图18根据本发明的实施例示出了空间化触觉效果固件栈的框图。
图19根据本发明的实施例示出了提供在控制器的触发器处体验 到的空间化触觉效果的系统的体系结构图。
图20根据本发明的实施例示出了用于预览和修改空间化触觉效 果的示例用户界面。
图21根据本发明的实施例示出了用于将音频信号转换成空间化 触觉效果的示例用户界面。
图22根据本发明的实施例示出了预览空间化触觉效果的系统的 体系结构图。
图23根据本发明的实施例示出了产生空间化触觉效果的系统的 体系结构图。
图24根据本发明的实施例示出了产生空间化触觉效果的固件的 体系结构图。
图25根据本发明的实施例示出了示例音频体系结构。
图26根据本发明的实施例示出了将音频效果转换成空间化触觉 效果的示例音频驱动器。
图27根据本发明的实施例示出了驻留在API或库中的示例空间 化引擎。
图28根据本发明的实施例示出了驻留在控制器中的示例空间化 引擎。
图29根据本发明的实施例示出了示例空间化触觉效果。
图30根据本发明的另一实施例示出了示例空间化触觉效果。
图31根据本发明的实施例示出了示例空间化触觉效果。
图32根据本发明的另一实施例示出了示例空间化触觉效果。
图33根据本发明的另一实施例示出了示例空间化触觉效果。
图34根据本发明的另一实施例示出了示例空间化触觉效果。
图35根据本发明的另一实施例示出了示例空间化触觉效果。
图36根据本发明的另一实施例示出了示例空间化触觉效果。
图37根据本发明的另一实施例示出了示例空间化触觉效果。
图38根据本发明的另一实施例示出了示例空间化触觉效果。
图39根据本发明的另一实施例示出了示例空间化触觉效果。
图40根据本发明的另一实施例示出了示例空间化触觉效果。
图41根据本发明的另一实施例示出了示例空间化触觉效果。
图42根据本发明的实施例示出了基于触觉效果的方向在致动器 之间分布触觉效果的示例。
图43根据本发明的实施例示出了触觉空间化模块的功能的流程 图。
具体实施方式
一个实施例是一种提供在诸如游戏控制器或游戏手柄之类的外围 设备处体验到的触觉反馈的系统。在一实施例中,空间化引擎可接收 触觉数据,例如触觉效果定义,并且可基于空间化数据来修改触觉数 据,其中空间化数据可包括一个或多个参数。从而,空间化引擎可局 部化或空间化触觉效果。更具体而言,空间化引擎可通过基于触觉效 果的位置、距离、速度、流动和/或方向在致动器或马达上缩放或衰减 触觉效果来产生表达触觉效果的位置、距离、速度、流动和/或方向的 触觉效果。相关领域的普通技术人员将明白,通过“衰减”触觉效果, 空间化引擎可基于触觉效果的期望位置、距离、速度、流动和/或方向 来减小触觉效果的幅度、频率和/或持续时间。空间化引擎还可通过在 不同的致动器或马达上延迟触觉效果的回放或者缩放触觉效果来产生 在控制器、游戏手柄或其他外围设备上表达运动的触觉效果。空间化 引擎可以是API或库的组件,或者可以在用于控制器、游戏手柄或其 他外围设备的固件中实现。
在一个实施例中,空间化引擎可接收触觉效果定义。空间化引擎 可基于一个或多个空间化参数来修改触觉效果定义,其中经修改的触 觉效果定义可被标识为空间化触觉效果定义。在一个实施例中,空间 化触觉效果定义可被划分成多个空间化触觉效果定义成分 (component),其中每个空间化触觉效果定义成分可被发送到外围 设备的单独的致动器或马达,其中每个致动器或马达可使得整体空间 化触觉效果的成分在外围设备的用户输入元件或者否则在外围设备内 被体验到。空间化引擎可基于空间化数据,例如一个或多个空间化参 数,来缩放或延迟空间化触觉效果定义成分中的一个或多个。在另一 实施例中,空间化触觉效果定义可被发送到外围设备的每个致动器或 马达,其中每个致动器或马达可使得空间化触觉效果在外围设备的用 户输入元件或者否则在外围设备内被体验到。空间化引擎还可基于空 间化数据,例如一个或多个空间化参数,来缩放或延迟空间化触觉效 果中的一个或多个。这种空间化参数可包括定义触觉效果的位置、距 离、速度、流动和/或方向的一个或多个参数。在一个实施例中,可基 于外围设备的检测到的运动和/或位置来修改空间化数据(例如,一个 或多个空间化参数)。例如,当外围设备被旋转或摇晃时,或者当外 围设备被移动到不同的位置时,空间化数据(例如,一个或多个空间 化参数)被修改。基于经修改的空间化数据,空间化数据可进一步修 改触觉效果定义,以使得用户体验到经修改的空间化触觉效果。经修 改的空间化触觉效果的示例可包括具有经修改的衰减、缩放或延迟的 空间化触觉效果。
在一个实施例中,触觉效果定义可被创作为包括多个触觉效果定 义成分,空间化引擎可修改触觉效果定义,其中触觉效果定义可被划 分为所创作的多个触觉效果定义成分,其中每个所创作的触觉效果定 义成分可被发送到外围设备的单独的制动器或马达,其中每个致动器 或马达可使得整体触觉效果的成分在外围设备的用户输入元件或者否 则在外围设备内被体验到。这样,触觉效果可表达对空间化的感觉。 在替换实施例中,取代将空间化触觉效果定义(或多个空间化触觉效 果定义成分)发送到外围设备的多个制动器或马达,空间化引擎可将 空间化触觉效果定义(或多个空间化触觉效果定义成分)发送给多个 外围设备。在替换实施例中,外围设备可以是可穿戴触觉设备,而不 是控制器或游戏手柄,其中可穿戴触觉设备是用户可穿在身上或者可 由用户保持的设备,例如腕带、头带、眼镜、戒指、腿带、集成到衣 服中的阵列,以及包括生成触觉效果的机构的设备。
图1示出了根据本发明的一个实施例的系统10的框图。在一个实 施例中,系统10是设备(例如,个人计算机或控制台,例如视频游戏 控制台)的一部分,并且系统10为该设备提供触觉触发控制功能。在 另一实施例中,系统10与设备(例如,个人计算机或控制台)分离, 并且为设备远程地提供上述功能。虽然被示为单个系统,但系统10 的功能可实现为分布式系统。系统10包括总线12或用于传输信息的 其他通信机制,以及可操作地耦合到总线12用于处理信息的处理器 22。处理器22可以是任何类型的通用或专用处理器。系统10还包括 存储器14,用于存储信息和处理器22要执行的指令。存储器14可包 括随机访问存储器(“RAM”)、只读存储器(“ROM”)、诸如 磁盘或光盘之类的静态存储装置或者任何其他类型的计算机可读介质 的任何组合。
计算机可读介质可以是任何可被处理器22访问的可用介质并且 可包括易失性介质和非易失性介质、可移除介质和不可移除介质、通 信介质以及存储介质。通信介质可包括计算机可读指令、数据结构、 程序模块或者经调制的数据信号(例如载波或其他传输机制)中的其 他数据,并且可包括本领域中已知的任何其他形式的信息输送介质。 存储介质可包括RAM、闪存、ROM、可擦除可编程只读存储器 (“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)、 寄存器、硬盘、可移除盘、致密盘只读存储器(“CD-ROM”)或者 本领域已知的任何其他形式的存储介质。
在一个实施例中,存储器14存储在被处理器22执行时提供功能 的软件模块。这些模块包括为系统10以及在一个实施例中为整个设备 的其余部分提供操作系统功能的操作系统15。这些模块还包括生成在 外围设备处体验到的空间化触觉效果的触觉空间化模块16。在某些实 施例中,触觉空间化模块16可包括多个模块,其中每个模块提供用于 生成在外围设备处体验到的空间化触觉效果的特定个体功能。系统10 通常将包括一个或多个额外的应用模块18以包括额外的功能,例如可 为外围设备(例如控制器30)提供控制功能的外围固件。
系统10在从远程源发送和/或接收数据的实施例中还包括通信设 备20,例如网络接口卡,以提供移动无线网络通信,例如红外、无线 电、Wi-Fi或蜂窝网络通信。在其他实施例中,通信设备20提供有线 网络连接,例如以太网连接或调制解调器。
系统10可操作地连接到控制器30。控制器30是用于向系统10 提供输入的外围设备。控制器30可利用无线连接或有线连接来可操作 地连接到系统10。控制器30还可包括本地处理器,该处理器可利用 无线连接或有线连接来与系统10通信。或者,控制器30可被配置为 不包括本地处理器,并且与控制器30相关联的所有输入信号和/或输 出信号可直接由系统10的处理器22来应对和处理。
控制器30还可包括一个或多个数字按钮、一个或多个模拟按钮、 一个或多个减震器、一个或多个方向手柄、一个或多个模拟或数字摇 杆、一个或多个驱动轮和/或可与用户交互并且可向系统10提供输入 的一个或多个用户输入元件。控制器30还可包括一个或多个模拟或数 字触发按钮(或“触发器”),用户可进一步与这些按钮交互并且这 些按钮可进一步向系统10提供输入。如下文更详细描述的,控制器 30还可包括被配置为向控制器30的至少一个触发器施加双向推/拉机 的马达或者另一类型的致动器或触觉输出设备。
控制器30还可包括一个或多个致动器或者其他类型的触觉输出 设备。控制器30的本地处理器或者在控制器30不包括本地处理器的 实施例中的处理器22可以向控制器30的至少一个致动器发送与触觉 效果相关联的触觉信号。致动器进而响应于触觉信号而输出诸如振动 触感触觉效果、动觉触觉效果或者形变触觉效果之类的触觉效果。在 控制器30的用户输入元件处(例如,数字按钮、模拟按钮、减震器、 方向手柄、模拟或数字摇杆、驱动轮或触发器)可体验到这些触觉效 果。或者,可在控制器30的外表面处体验到这些触觉效果。致动器包 括致动器驱动电路。致动器可以例如是电动马达、电磁致动器、音圈、 形状记忆合金、电活性聚合物、螺线管、偏心旋转质量马达(“ERM”)、 线性谐振致动器(“LRA”)、压电致动器、高带宽致动器、电活性 聚合物(“EAP”)致动器、静电摩擦显示器或者超声振动发生器。 致动器是触觉输出设备的示例,其中触觉输出设备是被配置为响应于 驱动信号而输出触觉效果的设备,例如振动触感触觉效果、静电摩擦 触觉效果、动觉触觉效果或者形变触觉效果。在替换实施例中,控制 器30内的一个或多个致动器可被某种其他类型的触觉输出设备所替 代。
控制器30还可包括一个或多个扬声器。控制器30的本地处理器 或者在控制器30不包括本地处理器的实施例中的处理器22可向控制 器30的至少一个扬声器发送音频信号,这些扬声器进而输出音频效 果。扬声器可以例如是动态扬声器、电动力扬声器、压电扬声器、磁 致伸缩扬声器、静电扬声器、带状和平面状磁性扬声器、弯曲波扬声 器、平板扬声器、海耳气动换能器、等离子弧扬声器和数字扬声器。
控制器30还可包括一个或多个传感器。传感器可被配置为检测某 种形式的能量或者其他物理属性,例如但不限于声音、运动、加速度、 生物信号、距离、流动、力/压力/应变/弯曲、湿度、线性位置、取向/ 倾斜、射频、旋转位置、旋转速度、开关的操纵、温度、振动或者可 见光强度。传感器还可被配置为将检测到的能量或者其他物理属性转 换成电信号或者任何表示虚拟传感器信息的信号,并且控制器30可将 经转换的信号发送到控制器30的本地处理器或者在控制器30不包括 本地处理器的实施例中发送到处理器22。传感器可以是任何设备,例 如但不限于加速度计、心电图仪、脑电图仪、肌电图仪、眼电图仪、 电颚仪、皮肤电反应传感器、电容传感器、霍尔效应传感器、红外传 感器、超声传感器、压力传感器、光纤传感器、屈曲传感器(或弯曲 传感器)、力敏感电阻器、测压元件、LuSense CPS2 155、微型压力 换能器、压电传感器、应变计、湿度计、线性位置触摸传感器、线性 电位计(或滑臂)、线性可变差动变压器、罗盘、测斜仪、磁性标签 (或者射频识别标签)、旋转编码器、旋转电位计、陀螺仪、通断开 关、温度传感器(例如温度计、热电偶、电阻温度检测器、热敏电阻 或者温度换能集成电路)、麦克风、光度计、测高仪、生物监视器、 相机或者光敏电阻器。
图2根据本发明的实施例示出了控制器100。在一个实施例中, 控制器100与图1的控制器30相同。另外,图3示出了控制器100 的另一视图。控制器100一般可用于可连接到计算机、移动电话、电 视机或其他类似设备的游戏系统。下文中结合图4来更详细地进一步 描述图2和图3所示的控制器100的组件(即,壳体102、模拟或数 字摇杆110、按钮114、触发器118和轰鸣致动器122和124)。
图4示出了用于游戏系统101中的控制器100的框图,游戏系统 101还包括主机计算机104和显示器106。如图4的框图中所示,控制 器100包括本地处理器108,本地处理器108经由连接105与主机计 算机104通信。连接105可以是有线连接、无线连接或者本领域技术 人员已知的其他类型的连接。控制器100或者可以被配置为不包括本 地处理器108,这样来自控制器100的所有输入/输出信号都直接由主 机计算机104来应对和处理。主机计算机104可操作地耦合到显示屏 幕106。在一实施例中,如本领域中已知的,主机计算机104是游戏 设备控制台,并且显示屏幕106是可操作地耦合到该游戏设备控制台 的监视器。在另一实施例中,如本领域技术人员已知的,主机计算机 104和显示屏幕106可被组合成单个设备。
控制器100的壳体102的形状被设置为容易适应由惯用左手的用 户或惯用右手的用户两只手握着设备。本领域技术人员将会认识到, 控制器100只是与当前可用于视频游戏控制台系统的许多“游戏手柄” 具有类似的形状和大小的控制器的一个示例实施例,例如Xbox OneTM控制器或者 DualShockTM控制器,并且将会认 识到,可以使用具有用户输入元件的其他配置、形状和大小的控制器, 包括但不限于诸如WiiTM遥控或WiiTM U控制器、 SixAxisTM控制 器或 Wand控制器之类的控制器,以及形状设置为真实世界物 体(例如网球拍、高尔夫球杆、棒球棒等等)和其他形状的控制器, 或者具有显示器或头戴式显示器的控制器。
控制器100包括若干个用户输入元件,其中包括模拟或数字摇杆 110、按钮114和触发器118。当在本文中使用时,用户输入元件指的 是被用户操纵来与主机计算机104交互的接口设备,例如触发器、按 钮、模拟或数字摇杆等等。如从图2和图3中可见,以及如本领域技 术人员已知的,在控制器100上可包括多于一个的每种用户输入元件, 并且可包括额外的用户输入元件。因此,例如,本文对于触发器118 的描述不将控制器100限于单个触发器。另外,图4的框图只示出了 模拟或数字摇杆110、按钮114和触发器118的每一者中的一(1)个。 然而,本领域技术人员将会理解,可以使用多个模拟或数字摇杆、按 钮和触发器以及其他用户输入元件,如上所述。
从图4的框图中可见,控制器100包括针对性致动器或马达以直 接驱动其用户输入元件中的每一个,并且在用户的手部一般所在的位 置包括可操作地耦合到壳体102的一个或多个一般或轰鸣(rumble) 致动器122、124。更具体而言,模拟或数字摇杆110包括与其可操作 地耦合的针对性致动器或马达112,按钮114包括与其可操作地耦合 的针对性致动器或马达116,并且触发器118包括与其可操作地耦合 的针对性致动器或马达120。除了多个针对性致动器以外,控制器100 包括与其每个用户输入元件可操作地耦合的位置传感器。更具体而言, 模拟或数字摇杆110包括与其可操作地耦合的位置传感器111,按钮 114包括与其可操作地耦合的位置传感器115,并且触发器118包括与 其可操作地耦合的位置传感器119。本地处理器108可操作地耦合到 模拟或数字摇杆110、按钮114和触发器118的针对性致动器112、116、 120以及位置传感器111、115、119。响应于从位置传感器111、115、 119接收的信号,本地处理器108指示针对性致动器112、116、120 分别直接向模拟或数字摇杆110、按钮114和触发器118提供定向 (directed)的或针对性(targeted)的动觉效果。这种针对性动觉效 果与沿着控制器的整个主体的由一般致动器122、124产生的一般或轰 鸣触觉效果是可辨别或者可区分的。总体触觉效果向用户提供了在游 戏中的更大沉浸感,因为同时采用了多种形态,例如视频、音频和触 觉。被配置为产生触觉的控制器的更多细节在2014年4月22日递交 的标题为“GAMING DEVICE HAVING A HAPTIC-ENABLED  TRIGGER”、序列号为14/258,644的申请中更详细描述,这里通过 引用将该申请全部并入。
图5根据本发明的实施例示出了系统的空间化触觉效果软件栈的 框图。该触发触觉效果软件栈实现在系统上,例如图1的系统10。在 图示的实施例中,系统包括以下组件:设备500、外围固件510和控 制器520。设备500可以是任何类型的计算机设备,例如个人计算机、 平板电脑、智能电话或者控制台(例如,视频游戏控制台)。外围固 件510是用于能够可操作地连接到设备500的一个或多个外围设备(例 如控制器)的固件。控制器520是可操作地连接到设备500的外设的 一个示例。控制器520可以是视频游戏控制器。在一个实施例中,控 制器520可与图1的控制器30以及图2、图3和图4的控制器100相 同。
设备500包括游戏输入管理代码501。游戏输入管理代码501包 括管理在设备500内执行的游戏应用或其他类型的应用的情境中由控 制器520提供的输入的一组计算机可读指令。设备500还包括外围输 入应用编程接口(“API”)502。外围输入API 502包括一组计算机 可读函数或例程,这些函数或例程允许游戏输入管理代码501与外围 固件510交互以便接收和管理由控制器520提供的输入。设备500还 包括轰鸣API 503。轰鸣API包括一组计算机可读函数或例程,这些 函数或例程允许游戏输入管理代码501与外围固件510交互以便发送 轰鸣指令到控制器520的一个或多个轰鸣马达或轰鸣致动器(例如, 如图5中所示的轰鸣马达L和R)。轰鸣指令可使得控制器520的轰 鸣马达或者轰鸣致动器产生一般或轰鸣触觉效果。
设备500还包括触觉效果API 504(在图5中标识为“API”)。 触觉效果API 504包括一组计算机可读函数或例程,这些函数或例程 被暴露于游戏输入管理代码501,并且允许了游戏输入管理代码501 与外围固件510交互以便向控制器520发送触觉指令,例如向控制器 520的一个或多个触发器(例如,如图5中所示的触发器L和R)发 送触发指令。触觉指令可使得控制器520的一个或多个针对性马达或 针对性致动器在控制器520的一个或多个用户输入元件处产生触觉效 果。触发指令是特定类型的触觉指令,其可使得控制器520的一个或 多个针对性马达或针对性致动器(例如,如图5中所示的马达L和R) 在控制器520的一个或多个触发器(例如,如图5中所示的触发器L 和R)处产生触发触觉效果。触发触觉效果是在控制器(例如控制器 520)的触发器处体验到的特定类型的触觉效果。触觉效果API 504 可存储一个或多个触发触觉效果定义。触觉效果定义是一种数据结构, 该数据结构包括预定义的并且可被存储在诸如触觉文件或触觉流之类 的存储内的触觉数据,例如触觉信号,并且可被发送到一个或多个轰 鸣马达、轰鸣致动器、针对性马达或针对性致动器,以在控制器520 的组件或用户输入元件处产生触觉效果。触觉数据可包括相应触觉效 果的一个或多个属性,其中这些属性可被存储为参数。触觉效果定义 的示例参数包括振幅参数、频率参数、波形参数、包络参数、幅度(或 强度)参数和持续时间参数。触发触觉效果定义是特定类型的触觉效 果定义,其可被发送到控制器520的一个或多个马达或致动器(例如, 如图5中所示的马达L和R)以在控制器520的一个或多个触发器(例 如,如图5中所示的触发器L和R)处产生触发触觉效果。
根据该实施例,触觉效果API 504可允许游戏输入管理代码501 与直接重放/交迭(crossover)505、触发引擎506和空间化引擎507 交互,并且还可根据由游戏输入管理代码501调用的请求来管理直接 重放/交迭505、触发引擎506和空间化引擎507。另外,触觉效果API 504可存储与外围固件510的通信所需要的以及一个或多个触发触觉 效果的生成所需要的数据。在替换实施例中,触觉效果API 504可驻 留在外围固件510内而不是设备500内。在下文中结合图15来更详细 地进一步描述触觉效果API 504。
设备500还包括直接重放/交迭505。直接重放/交迭505接收触觉 数据作为输入,产生触觉数据作为输出并且将触觉数据发送到控制器 520的一个或多个针对性马达或针对性致动器(例如,如图5中所示 的马达L和R)。在某些实施例中,直接重放/交迭505可将输入的触 觉数据直接输出,而不修改输入的触觉数据的格式。这可导致对输入 的触觉数据的“按原样”重放。在其他实施例中,直接重放/交迭505 可以把输入的触觉数据从第一格式转换到第二格式,并且还可输出经 转换的触觉数据。取决于重放的类型,直接重放/交迭505可以可选地 使用可编程的交迭来转换触觉数据。通过转换触觉数据,设备500可 以“解构”触觉效果并且在多个致动器处忠实地重放触觉效果。在一 个实施例中,触觉数据的格式可以是触觉基本流(Haptic Elementary  Stream,“HES”)格式。HES格式是用于表示可被流传输到设备的 触觉数据的文件或数据格式。可以按与表示未压缩声音的方式相同或 相似的方式来表示触觉数据,虽然触觉数据可以在HES格式内被加 密。从而,触觉数据可被存储在触觉文件或触觉流中,其中触觉文件 或触觉流的格式是HES格式。换言之,HES格式可被触觉文件或触 觉流用来以触觉格式表示触觉数据。在替换实施例中,直接重放/交迭 505可驻留在外围固件510内而不是设备500内。下文中结合图7、图 8、图9、图10、图11、图12和图13来更详细地进一步描述直接重 放/交迭505。
设备500还包括触发引擎506。触发引擎506可接收触觉数据, 例如触发触觉效果定义,并且可基于从控制器520接收的数据,例如 触发数据(例如,如图5中所示的触发数据513),来修改触觉数据。 触发数据是包括指示控制器520的一个或多个触发器(例如,如图5 中所示的触发器L和R)的位置和/或范围的一个或多个参数的数据。 触发引擎506还可向控制器520发送触觉指令。例如,触发引擎506 可向控制器520的一个或多个触发器(例如,如图5中所示的触发器 L和R)发送触发指令。如前所述,触发指令可使得控制器520的一 个或多个针对性马达或针对性致动器(例如,如图5中所示的马达L 和R)在控制器520的一个或多个触发器(例如,如图5中所示的触 发器L和R)处产生触发触觉效果。从而,在一个实施例中,通过修 改触发触觉效果定义的触觉数据,触发引擎506可基于触发器的位置 和/或范围使得特定的触发触觉效果在触发器处被体验到。在另一实施 例中,通过修改触发触觉效果定义的触觉数据,触发引擎506可基于 触发器的位置和/或范围来为控制器520的一个或多个针对性马达或针 对性致动器(例如,如图5中所示的马达L和R)缩放触发触觉效果。 触发引擎506还可存储一个或多个触觉效果定义,例如触发触觉效果 定义。在替换实施例中,触发引擎506可驻留在外围固件510内而不 是设备500内。
设备500还包括空间化引擎507(在图5中标识为“空间化引擎”)。 空间化引擎507可接收触觉数据,例如触发触觉效果定义,并且可基 于空间化数据来修改触觉数据。空间化数据可包括指示触觉效果—— 例如触发触觉效果——的期望方向和/或流动的数据。在某些实施例 中,空间化引擎507可从游戏输入管理代码501接收包括方向和/或流 动的空间化数据。另外,空间化数据还可包括位于控制器520上的用 户的一只手或多只手的一个或多个位置。在某些实施例中,空间化引 擎507可从控制器520接收包括一个或多个手部位置的空间化数据。 另外,在某些实施例中,空间化引擎507可接收由游戏输入管理代码 501传达的包括用户的角色在游戏应用内的位置的空间化数据。
根据该实施例,空间化引擎507可修改触觉数据,以便对于控制 器520的一个或多个轰鸣马达或轰鸣致动器(例如,如图5中所示的 轰鸣马达L和R)缩放触觉效果,例如触发触觉效果,并且也对于控 制器520的一个或多个针对性马达或针对性致动器(例如,如图5中 所示的马达L和R)缩放触觉效果。换言之,空间化引擎507可修改 被发送到每个马达或致动器的触觉数据,从而修改在每个马达或致动 器处体验到的触觉效果,以便表达整体触觉效果的方向和流动的感觉。 例如,为了强调在马达或致动器处体验到的触觉效果,空间化引擎507 可缩放触觉效果的一个或多个部分。例如,空间化引擎507可缩放被 发送到马达或致动器的使得触觉效果被体验到的触觉数据,从而使得 触觉效果更为明显(例如,增大的幅度、持续时间,等等)。此外, 空间化引擎507可缩放被发送到其他马达或致动器的触觉数据,使得 在这些马达或致动器处体验到的其他触觉效果不那么明显(例如,减 小的幅度、持续时间,等等)。在某些实施例中,空间化引擎507可 实时地修改触觉数据。另外,在某些实施例中,空间化引擎507在输 入与马达或致动器输出之间可具有非线性关系,以便夸大整体触发触 觉效果。在替换实施例中,空间化引擎507可驻留在外围固件510内 而不是设备500内。在下文中结合图14、图29和图30来更详细地进 一步描述空间化引擎507。
设备500还包括编码器508。编码器508把从直接重放/交迭505、 触发引擎506和/或空间化引擎507接收的触觉数据编码成某种格式。 在一个实施例中,该格式可以是HES格式。编码器508还将经编码的 触觉数据发送到外围固件510。
外围固件510包括解码器和交迭511。解码器和交迭511从编码 器508接收经编码的触觉数据并且对经编码的触觉数据解码。在某些 实施例中,解码器和交迭511计算一种可编程的交迭以便对经编码的 触觉数据解码。在这些实施例的一些中,解码器和交迭511实时地计 算可编程的交迭。外围固件510还包括触发控件512。触发控件512 是用于控制器520的一个或多个针对性马达或针对性致动器(例如, 如图5中所示的马达L和R)的低级别控制API。触发控件512可从 设备500接收触发指令,可将触发指令转换成用于控制器520的指定 的针对性马达或针对性致动器的低级别触发指令,并且可将低级别触 发指令发送到控制器520的指定的针对性马达或针对性致动器。低级 别触发指令可使得指定的针对性马达或针对性致动器在控制器520的 特定触发器处产生触发触觉效果。
外围固件510还包括触发数据513。触发数据513如前所述是包 括一个或多个参数——例如指示控制器520的一个或多个触发器(例 如,如图5中所示的触发器L和R)的位置和/或范围的一个或多个参 数——的数据。触发数据513可由外围固件510从控制器520接收。 外围固件510还可存储触发数据513,并且还可将触发数据513发送 到设备500。外围固件510还包括其他游戏手柄功能514,这些功能是 控制器520的可由外围固件510来管理的功能。这种功能可包括有线/ 无线通信、输入报告、协议实现、功率管理等等。外围固件510还包 括轰隆控制515。轰鸣控件515是用于控制器520的一个或多个轰鸣 马达或轰鸣致动器(例如,如图5中所示的轰鸣马达L和R)的低级 别控制API。轰鸣控件515可从设备500接收轰鸣指令,可将轰鸣指 令转换成用于控制器520的指定的轰鸣马达或轰鸣致动器的低级别轰 鸣指令,并且可将低级别触发指令发送到控制器520的指定的轰鸣马 达或轰鸣致动器。
控制器520包括触发器L和R。控制器520还包括齿轮箱L和R 以及马达L和R。马达L和齿轮箱L可操作地耦合到控制器520内的 触发器L。类似地,马达R和齿轮箱R可操作地耦合到控制器520内 的触发器R。当马达L接收到触发指令时,马达L和齿轮箱L共同使 得触发触觉效果在触发器L处被体验到。类似地,当马达R接收到触 发指令时,马达R和齿轮箱R共同使得触发触觉效果在触发器R处 被体验到。根据该实施例,外围固件510利用驱动电子装置530向控 制器520的马达L和R发送触发指令。控制器520还包括电位计L 和R。电位计L可检测触发器L的位置和/或范围,并且还可将检测 到的触发器L的位置和/或范围作为触发数据发送到外围固件510。类 似地,电位计R可检测触发器R的位置和/或范围,并且还可将检测 到的触发器R的位置和/或范围作为触发数据发送到外围固件510。在 一个实施例中,电位计L和R可以各自被另一种类型的位置传感器所 替代,例如霍尔效应传感器。控制器520还包括轰鸣马达L和R。当 轰鸣马达L接收到轰鸣指令时,轰鸣马达L使得沿着控制器520的左 侧主体体验到触觉效果。类似地,当轰鸣马达R接收到轰鸣指令时, 轰鸣马达R使得沿着控制器520的右侧主体体验到触觉效果。根据该 实施例,外围固件510利用轰鸣驱动电子装置530向控制器520的轰 鸣马达L和R发送轰鸣指令。
在替换实施例中,一个或多个针对性马达或者针对性致动器可以 可操作地耦合到控制器520的一个或多个用户输入元件(例如,一个 或多个数字按钮、一个或多个模拟按钮、一个或多个减震器、一个或 多个方向手柄、一个或多个模拟摇杆、一个或多个驱动轮)。根据该 替换实施例,外围固件510可向一个或多个针对性马达或针对性致动 器发送指令,使得一个或多个针对性马达或针对性致动器产生在控制 器520的一个或多个用户输入元件处体验到的触觉效果。
图6根据本发明的实施例示出了用于设计空间化触觉效果的示例 用户界面600。系统(例如图1的系统10)可向用户提供用户界面600 作为用于设计空间化触觉效果的专用工具。在此实施例中,用户可基 于预先存在的触觉效果定义来设计空间化触觉效果,并且具有修改预 先存在的触觉效果定义的选项。根据该实施例,用户界面600包括效 果预设610。效果预设610可显示一个或多个触觉效果预设。触觉效 果预设是产生预定义的触觉效果的任意形状和/或形式的预定义的触 觉效果定义。触觉效果预设可被存储在触觉文件或触觉流内。在一个 实施例中,触觉文件或触觉流的格式可以是HES格式。用户界面600 还包括编辑区域620。根据该实施例,用户可选择在效果预设610内 显示的触觉效果预设,并且编辑区域620可显示由所选择的触觉效果 预设表示的触觉效果定义的图形表示。另外,用户可通过与编辑区域 620内的一个或多个显示元素(例如按钮)交互来修改所选择的触觉 效果定义的一个或多个参数。通过修改触觉效果定义的一个或多个参 数,可以修改相应的触觉效果的一个或多个相应属性。可以修改的触 觉效果定义的示例参数包括振幅参数、频率参数、波形参数、包络参 数、幅度(或强度)参数和持续时间参数。
用户界面600还包括效果定义630。根据该实施例,用户可将经 修改的触觉效果定义保存为新触觉效果定义,其中新触觉效果定义被 显示在效果定义630内。新触觉效果定义可被存储在触觉文件或触觉 流内。在一个实施例中,触觉文件或触觉流的格式可以是HES格式。 新触觉效果定义还可被导出到外部触觉文件或外部触觉流。用户界面 600还包括播放按钮640。与播放按钮640交互可使得系统在能够可操 作地控制的控制器处向用户界面600输出触觉效果。触觉效果可以是 所选择的预定义的触觉效果定义或者所选择的新触觉效果定义。
用户界面600还包括触发引擎区域650。触发引擎区域650是可 编辑的可视区域,其可以可视化由触发引擎(例如图5的触发引擎506) 生成的触发触觉效果。如前所述,触发引擎可接收触发触觉效果定义 并且可基于控制器的触发器的位置和/或范围来修改触发触觉效果定 义。从而,触发引擎区域650可显示触发器的可视化,包括触发器的 实际位置。另外,触发引擎区域650可显示对于触发触觉效果定义所 定义的触发器的位置和/或范围,其中该位置和/或范围可使得触发引 擎修改触发触觉效果定义。用户可编辑为触发触觉效果定义所定义的 触发器的位置和/或范围。用户界面600还包括空间化引擎区域660。 空间化引擎区域660是可编辑的可视区域,其可以可视化原本由触发 引擎生成并且由空间化引擎(例如图5的空间化引擎507)进一步修 改的触觉效果。如前所述,空间化引擎可修改触觉效果定义,以便对 于控制器的一个或多个针对性马达、针对性致动器、轰鸣马达或轰鸣 致动器来缩放触觉效果。从而,空间化引擎区域660可显示控制器的 可视化。空间化引擎区域660还可显示在控制器的每个针对性马达、 针对性致动器、轰鸣马达或轰鸣致动器处体验到的触觉效果的可视化。 用户可编辑在控制器的每个针对性马达、针对性致动器、轰鸣马达或 轰鸣致动器处体验到的触觉效果的缩放。
图7根据本发明的实施例示出了用于设计空间化触觉效果的组件 的框图。在此实施例中,系统(例如图1的系统10)可提供创作组件 700,作为用于进行以下操作的专用工具:(1)创作触觉效果(即, 通过创作触觉效果定义);或者(2)以音频效果的形式创作触觉效果 (即,通过创作音频效果定义)。在一个实施例中,创作组件700可 以是由Avid Technology, Inc.出品的“”。系统可进一步使 用单端口交迭音频流输入/输出(audio stream input/output,“ASIO”) 驱动器710或四端口ASIO驱动器720来对触觉效果定义或音频效果 定义进行流传输(stream)。单端口交迭驱动器710可将触觉效果定 义或音频效果定义作为单个通道的触觉数据或音频数据来流传输。与 之不同,四端口ASIO驱动器720可将触觉效果定义或音频效果定义 作为四个通道的触觉数据或音频数据来流传输。在替换实施例中,四 端口ASIO驱动器720可被另外的驱动器所替代,该另外的驱动器将 触觉效果定义或音频效果定义作为任意多个通道的触觉数据或音频数 据来流传输,例如六个或八个通道的触觉数据或音频数据。在用户创 作音频效果定义的实施例中,单端口交迭ASIO驱动器710或四端口 ASIO驱动器720也可将该音频效果定义转换成触觉效果定义。系统 可进一步使用HES编码器730来将音频效果定义或触觉效果定义编码 成外部格式,例如HES格式。如果系统利用单端口交迭ASIO驱动器 710将音频效果定义或触觉效果定义作为单个通道的触觉数据或音频 数据来流传输,则HES编码器730可应用交迭输入翘曲算法来将触觉 数据或音频数据分离成三个不同的频带,这三个不同频带可被映射到 三个不同的输出(例如:(1)低频轰鸣马达或者轰鸣致动器;(2) 中频轰鸣马达或轰鸣致动器;或者(3)高频针对性马达或针对性致动 器)。
交迭输入翘曲算法可存在于设备本身中,或存在于通信链路的相 反侧上,在不同于设备的处理器的处理器上执行。交迭输入翘曲算法 还可将输入数据(触觉或音频)分离为两个频带,其中较低频率被分 离出来并且然后可选地在被施加到一个或多个制动器输出之前进一步 被变换,并且较高频率被分离出来并且然后可选地在施加给不同于用 于较低频率的分离数据的那些制动器的多个制动器之前被变换。这类 数据分离可出现在任意数量的频带和制动器输出上。在替换实施例中, 输入数据(音频或触觉)可被分离为多个重叠的频率区域,然后每个 区域可选地被变换并施加给多个输出制动器。另一组实施例可创建多 个信号强度带,其中输入数据(音频或触觉)根据输出功率或强度(例 如通过峰值检测,RMS计算等)被分离,并且这些分离的数据流各自 被施加给一组或多组不同的制动器。在替换实施例中,输入数据(音 频或触觉)可根据输出功率或强度(例如通过峰值检测或RMS计算 等)被分离为不同的但重叠的数据流,而不是完全不同的数据流,其 中强度过滤算法获取重叠的强度区域,可选地向多个输出制动器施加 变换以及施加各个输出。
系统可进一步将经编码的音频效果定义或经编码的触觉效果定义 发送到驻留在控制器750上的人机界面设备(human interface device, “HID”)解释器740。HID解释器740接收并解释经编码的音频效 果定义或经编码的触觉效果定义以便在控制器750的触发器处提供触 觉效果。在一个实施例中,在系统将经编码的音频效果定义或经编码 的触觉效果定义发送到控制器750的HID解释器740之前,系统可进 一步利用触发引擎(例如图5的触发引擎506)和/或空间化引擎(例 如图5的空间化引擎507)来修改经编码的音频效果定义或经编码的 触觉效果定义。
图8根据本发明的实施例示出了用于创作用于直接重放的空间化 触觉效果的组件的框图和用于保存该空间化触觉效果的组件的框图。 在此实施例中,系统(例如图1的系统10)可提供音频创作组件800, 作为用于以音频效果的形式创作空间化触觉效果(即,通过创作音频 效果定义)的专用工具。在一个实施例中,音频创作组件800可以是 由Avid Technology,Inc.出品的“”。
一旦系统的用户已利用音频创作组件800来创作了空间化触觉效 果,用户就可预览空间化触觉效果。预览功能可允许对空间化触觉效 果的进一步定制。在预览空间化触觉效果后,系统可将创作的音频效 果定义发送到四通道输出驱动器801,其中四通道输出驱动器801可 将音频效果定义作为四个通道的音频数据来流传输。在一个实施例中, 四通道输出驱动器801可以是四通道ASIO输出驱动器。在替换实施 例中,四通道输出驱动器801可由另外的驱动器所替代,该另外的驱 动器将音频效果定义作为任意多个通道的音频数据来流传输,例如六 个或八个通道的音频数据。
另外,系统可将音频流发送到音频到触觉转换器802,其中音频 到触觉转换器802可利用触觉转换算法将音频流的音频效果定义转换 成触觉效果定义。在一个实施例中,音频效果定义的与一马达或致动 器相对应的每个单独的通道可被转换成触觉效果定义的一个通道。示 例触觉转换算法在以下专利或专利申请中描述(特此通过引用将所有 这些专利或专利申请全部并入):美国专利号7,979,146;美国专利号 8,000,825;美国专利号8,378,964;美国专利申请公布号2011/0202155; 美国专利申请公布号2011/0215913;美国专利申请公布号 2012/0206246;美国专利申请公布号2012/0206247;美国专利申请公 布号2013/0265286;美国专利申请公布号2013/0131851;美国专利申 请公布号2013/0207917;美国专利申请公布号2013/0335209;美国专 利申请公布号2014/0064516;美国专利申请序列号13/661,140;美国 专利申请序列号13/785,166;美国专利申请序列号13/788,487;美国 专利申请序列号14/078,438;美国专利申请序列号14/078,442;美国 专利申请序列号14/078,445;美国专利申请序列号14/051,933;美国 专利申请序列号14/020,461;美国专利申请序列号14/020,502;美国 专利申请序列号14/277,870;以及美国专利申请序列号14/467,184。
系统可进一步将经转换的触觉效果定义发送到HES多通道编码 器803,在这里多通道编码器803可将经转换的触觉效果定义编码成 外部格式,例如HES格式。系统可进一步将经编码和转换的触觉效果 定义发送到驻留在控制器805上的触发控制器接口(“I/F”)804。 触发控制器I/F 804可接收并解释经编码和转换的触觉效果定义以便 在控制器805的触发器处预览所创作的空间化触觉效果。
在此实施例中,系统可提供音频创作组件810,其中音频创作组 件810与音频创作组件800相同。一旦系统的用户已利用音频创作组 件810来创作了空间化触觉效果,用户就可保存空间化触觉效果。在 保存空间化触觉效果后,系统可将音频效果定义作为单独的音频文件 811导出。在音频效果定义包括四个通道的一个实施例中,音频文件 811可包括四个音频文件。在音频效果定义包括另外数目的通道的替 换实施例中,音频文件811可包括该数目的单独的音频文件。在某些 实施例中,音频文件811可以是波形音频文件(Waveform Audio File, “WAV”)格式。系统可进一步将音频文件811发送到HES编码器 图形用户界面(“GUI”)812,其中HES编码器GUI 812可将音频 文件811编码成单个音频文件。在一个实施例中,音频文件可以是HES 格式。另外,系统可将音频文件发送到音频到触觉转换器812,其中 音频到触觉转换器813可利用触觉转换算法来将音频文件的音频效果 定义转换成触觉效果定义。在一个实施例中,音频效果定义的与一马 达或致动器相对应的每个单独的通道可被转换成触觉效果定义的一个 通道。系统可进一步将经转换的触觉效果定义发送到HES多通道编码 器814,在这里多通道编码器814可将经转换的触觉效果定义编码成 外部格式,例如HES格式。系统可进一步将经编码和转换的触觉效果 定义存储在触觉文件815内。在一个实施例中,触觉文件815可以是 HES文件。
图9根据本发明的实施例示出了用于创作用于交迭重放的空间化 触觉效果的组件的框图和用于保存该空间化触觉效果的组件的框图。 在此实施例中,系统(例如图1的系统10)可提供音频创作组件900, 作为用于以音频效果的形式创作空间化触觉效果(即,通过创作音频 效果定义)的专用工具。
一旦系统的用户已利用音频创作组件900来创作了空间化触觉效 果,用户就可预览空间化触觉效果。在预览空间化触觉效果后,系统 可将创作的音频效果定义发送到单通道输出驱动器901,其中单通道 输出驱动器901可将音频效果定义作为单个通道的音频数据来流传 输。在一个实施例中,单通道输出驱动器901可以是单通道ASIO输 出驱动器。另外,系统可将音频流发送到音频到触觉转换器902,其 中音频到触觉转换器902可利用触觉转换算法将音频流的音频效果定 义转换成触觉效果定义。在一个实施例中,音频效果定义的与一马达 或致动器相对应的每个单独的通道可被转换成触觉效果定义的一个通 道。此外,系统可将经转换的触觉效果定义发送到交迭GUI 905,其 中交迭GUI 905可应用交迭输入翘曲算法来将经转换的触觉效果定义 分离成三个不同的通道,这三个不同的通道可被映射到三个不同的输 出(例如:(1)低频轰鸣马达或轰鸣致动器;(2)中频轰鸣马达中 轰鸣致动器;或者(3)高频针对性马达或针对性致动器)。
系统可进一步将经转换的触觉效果定义发送到HES多通道编码 器903,在这里多通道编码器903可将经转换的触觉效果定义编码成 外部格式,例如HES格式。系统可进一步将经编码和转换的触觉效果 定义发送到驻留在控制器906上的触发控制器I/F 904。触发控制器I/F 904可接收并解释经编码和转换的触觉效果定义以便在控制器906的 触发器处预览所创作的触发触觉效果。
在此实施例中,系统可提供音频创作组件910,其中音频创作组 件910与音频创作组件900相同。一旦系统的用户已利用音频创作组 件910来创作了空间化触觉效果,用户就可保存空间化触觉效果。在 保存空间化触觉效果后,系统可将音频效果定义作为单个音频文件 911导出。在某些实施例中,音频文件911可以是WAV格式。系统 可进一步导出交迭设定912。系统可进一步将音频文件911发送到HES 编码器GUI 913,其中HES编码器GUI 913可将音频文件911和交迭 设定912编码成单个音频文件。在一个实施例中,音频文件可以是HES 格式。系统可进一步将音频文件发送到HES单通道和交迭编码器914, 其中单通道和交迭编码器可将音频文件编码成外部格式,例如HES 格式。系统可进一步将经编码的音频文件存储在触觉文件915内。在 一个实施例中,触觉文件915可以是HES文件。
图10根据本发明的实施例示出了用于直接播放空间化触觉效果 的组件的框图。根据一实施例,系统(例如图1的系统10)可加载包 括触觉效果定义的触觉文件1000。在一个实施例中,触觉文件1000 可以是HES文件。根据该实施例,触觉文件1000内包括的触觉效果 定义包括四个通道,其中每个通道包括触觉效果定义内包括的触觉数 据的一部分。在替换实施例中,触觉文件1000内包括的触觉效果定义 可包括任意多个通道。触觉效果定义的每个通道可与针对性马达、针 对性致动器、轰鸣马达或轰鸣致动器相关联。在图示的实施例中,第 一通道(即,“通道LR”)与低轰鸣马达相关联,第二通道(即, “通道MR”)与中轰鸣马达相关联,第三通道(即,“通道LT”) 与可操作地耦合到左触发器的马达相关联,并且第四通道(即,“通 道RT”)与可操作地耦合到右触发器的针对性马达相关联。在一个 实施例中,触觉文件1000内包括的触觉效果定义可定义重放速度和重 放速率控制。
根据该实施例,系统可将触觉文件1000内包括的触觉效果定义的 四个通道发送到强度控件1010,其中强度控件1010可修改触觉效果 定义的每个通道内包括的触觉数据的强度或幅度。系统随后可将触觉 效果定义的四个通道发送到前/后(“F/B”)空间化1020,其中F/B 空间化1020可基于空间化数据来修改触觉效果定义的每个通道内包 括的触觉数据。空间化数据可包括触觉效果的方向和/或流动。在一个 实施例中,触觉效果的方向和/或流动可以是向前或向后方向。另外, 空间化数据可包括一个或多个手部位置。根据该实施例,F/B空间化 1020可修改每个通道内包括的触觉数据,以便对于每个马达或致动器 缩放触觉效果。系统随后可将通道LR发送到低轰鸣马达1030(在图 10中标识为“LowR马达”),并且可进一步将通道MR发送到中轰 鸣马达1040(在图10中标识为“MidR马达”)。通道LR内包含的 触觉数据可使得低轰鸣马达1030产生一般或轰鸣触觉效果,并且通道 MR内包含的触觉数据可使得中轰鸣马达1040产生一般或轰鸣触觉效 果。
系统可进一步将通道LT和RT发送到左/右(“L/R”)空间化 1050,其中L/R空间化1050可基于空间化数据来修改通道LT和RT 内包括的触觉数据。空间化数据可包括触觉效果的方向和/或流动。在 一个实施例中,触觉效果的方向和/或流动可以是左或右方向。另外, 空间化数据可包括一个或多个手部位置。根据该实施例,L/R空间化 1050可修改每个通道内包括的触觉数据,以便对于每个马达或致动器 缩放触觉效果。系统随后可将通道LT发送到左触发针对性马达1060 (在图10中标识为“LT马达”),并且可进一步将通道RT发送到 右触发针对性马达1070(在图10中标识为“RT马达”)。通道LT 内包含的触觉数据可使得左触发针对性马达1060在左触发器处产生 触发触觉效果,并且通道RT内包含的触觉数据可使得右触发针对性 马达1070在右触发器处产生触发触觉效果。
图11根据本发明的实施例示出了用于利用可编程的交迭来播放 空间化触觉效果的组件的框图。根据一实施例,系统(例如图1的系 统10)可加载包括触觉效果定义的触觉文件1100。在一个实施例中, 触觉文件1100可以是HES文件。根据该实施例,触觉文件1100内包 括的触觉效果定义包括单个通道,其中该通道包括触觉效果定义内包 括的触觉数据。另外,根据该实施例,触觉文件1100内包含的触觉效 果定义包括一个或多个交迭参数,其中该一个或多个交迭参数可以是 用于交迭输入翘曲算法的参数。在一个实施例中,触觉文件1100内包 括的触觉效果定义可定义重放速度和重放速率控制。
根据该实施例,系统可将触觉文件1100内包括的触觉效果定义的 通道和触觉文件1100内也包括的一个或多个交迭参数发送到可编程 交迭1110。可编程交迭1110可利用一个或多个交迭参数来应用交迭 输入翘曲算法以将该通道分离成三个不同的通道:低频通道;中频通 道;以及高频通道。低频通道包括触觉效果定义内包括的触觉数据的 包括一个或多个低频的部分。中频通道包括触觉效果定义内包括的触 觉数据的包括一个或多个中频的部分。高频通道包括触觉效果定义内 包括的触觉数据的包括一个或多个高频的部分。
系统随后可将触觉效果定义的三个通道发送到F/B空间化1120, 其中F/B空间化1120可基于空间化数据来修改触觉效果定义的每个通 道内包括的触觉数据。空间化数据可包括触觉效果的方向和/或流动。 在一个实施例中,触觉效果的方向和/或流动可以是向前或向后方向。 另外,空间化数据可包括一个或多个手部位置。根据该实施例,F/B 空间化1120可修改每个通道内包括的触觉数据,以便对于每个马达或 致动器缩放触觉效果。系统随后可将低频通道发送到低轰鸣马达1130 (在图11中标识为“LowR马达”),并且可进一步将中频通道发送 到中轰鸣马达1140(在图11中标识为“MidR马达”)。低频通道内 包含的触觉数据可使得低轰鸣马达1130产生一般或轰鸣触觉效果,并 且中频通道内包含的触觉数据可使得中轰鸣马达1140产生一般或轰 鸣触觉效果。
系统可进一步将高频通道发送到L/R空间化1150,其中L/R空间 化1150可基于空间化数据来修改高频通道内包括的触觉数据。在一个 实施例中,触觉效果的方向和/或流动可以是左或右方向。另外,空间 化数据可包括一个或多个手部位置。根据该实施例,L/R空间化1150 可修改该通道内包括的触觉数据,以便对于每个马达或致动器缩放触 觉效果。系统随后可将高频通道发送到左触发针对性马达1160(在图 11中标识为“LT马达”),并且可进一步将高频通道发送到右触发 针对性马达1170(在图11中标识为“RT马达”)。高频通道内包含 的触觉数据可使得左触发针对性马达1160在左触发器处产生触发触 觉效果,并且高频通道内包含的触觉数据可使得右触发针对性马达 1170在右触发器处产生触发触觉效果。
图12根据本发明的实施例示出了空间化触觉效果的示例四声道 直接重放。根据一实施例,系统(例如图1的系统10)可加载包括音 频效果定义的音频文件1200。在一个实施例中,音频文件1200可以 是HES文件。根据该实施例,音频文件1200内包括的音频效果定义 包括四个通道,其中每个通道包括音频效果定义内包括的音频数据的 一部分。在替换实施例中,音频文件1200内包括的音频效果定义可包 括任意多个通道。触觉效果定义的每个通道可与针对性马达、针对性 致动器、轰鸣马达或轰鸣致动器相关联。在图示的实施例中,第一通 道(即,“通道LR”)与低轰鸣马达相关联,第二通道(即,“通 道MR”)与中轰鸣马达相关联,第三通道(即,“通道LT”)与可 操作地耦合到左触发器的针对性马达相关联,并且第四通道(即,“通 道RT”)与可操作地耦合到右触发器的针对性马达相关联。
根据该实施例,系统可将音频文件1200内包括的音频效果定义的 四个通道发送音频到触觉转换器1210,其中音频到触觉转换器1210 可利用触觉转换算法将音频效果定义转换成触觉效果定义。在一个实 施例中,音频效果定义的每个单独的通道可被转换成触觉效果定义的 一个通道。在图示的实施例中:可利用具有小于60赫兹(“Hz”) 的范围的峰值/抽选滤波器来转换通道LR;可利用具有60 Hz的值的 峰值/抽选滤波器来转换通道MR;并且可利用具有200 Hz–2 kHz的 范围的峰值/抽选滤波器来转换通道LT和RT中的每一个。
系统可进一步将经转换的触觉效果定义的四个通道发送到编码器 /解码器1220,其中编码器/解码器1220可将经转换的触觉效果定义的 每个通道编码成外部格式,例如HES格式。系统随后可将经转换的触 觉效果定义的四个经编码的通道发送到F/B空间化1230,其中F/B空 间化1230可基于空间化数据来修改经转换的触觉效果定义的每个经 编码的通道内包括的经转换的触觉数据。空间化数据可包括触觉效果 的方向和/或流动。在一个实施例中,触觉效果的方向和/或流动可以 是向前或向后方向。另外,空间化数据可包括一个或多个手部位置。 根据该实施例,F/B空间化1230可修改每个经编码的通道内包括的经 转换的触觉数据,以便对于每个马达或致动器缩放触觉效果。系统随 后可将经编码的通道LR发送到低轰鸣马达1240(在图12中标识为 “LowR马达”),并且可进一步将经编码的通道MR发送到中轰鸣 马达1250(在图12中标识为“MidR马达”)。通道LR内包含的经 转换的触觉数据可使得低轰鸣马达1240产生一般或轰鸣触觉效果,并 且通道MR内包含的经转换的触觉数据可使得中轰鸣马达1250产生 一般或轰鸣触觉效果。
系统可进一步将经编码的通道LT和RT发送到L/R空间化1260, 其中L/R空间化1260可基于空间化数据来修改经编码的通道LT和 RT内包括的经转换的触觉数据。空间化数据可包括触觉效果的方向 和/或流动。在一个实施例中,触觉效果的方向和/或流动可以是左或 右方向。另外,空间化数据可包括一个或多个手部位置。根据该实施 例,L/R空间化1260可修改每个通道内包括的触觉数据,以便对于每 个马达或致动器缩放触觉效果。系统随后可将通道LT发送到左触发 针对性马达1270(在图12中标识为“LT马达”),并且可进一步将 通道RT发送到右触发针对性马达1280(在图12中标识为“RT马达”)。 通道LT内包含的触觉数据可使得左触发针对性马达1270在左触发器 处产生触发触觉效果,并且通道RT内包含的触觉数据可使得右触发 针对性马达1280在右触发器处产生触发触觉效果。
图13根据本发明的实施例示出了空间化触觉效果的示例交迭重 放。根据一实施例,系统(例如图1的系统10)可加载包括音频效果 定义的音频文件1300。在一个实施例中,音频文件1300可以是HES 文件。根据该实施例,音频文件1300内包括的音频效果定义包括单个 通道,其中该通道包括音频效果定义内包括的音频数据。在一实施例 中,音频文件1300内包含的音频效果定义包括一个或多个交迭参数, 其中该一个或多个交迭参数可以是用于交迭输入翘曲算法的参数。
根据该实施例,系统可以向可编程交迭1310发送音频文件1300 内包括的音频效果定义的通道,并且在一个实施例中发送也包括在音 频文件1300内的一个或多个交迭参数。可编程交迭1310可应用交迭 输入翘曲算法(在一个实施例中,利用一个或多个交迭参数)以将该 通道分离成三个不同的通道:低频通道;中频通道;以及高频通道。 可编程交迭1310可进一步利用触觉转换算法将音频效果定义转换成 触觉效果定义。在一个实施例中,音频效果定义的每个单独的通道可 被转换成触觉效果定义的一个通道。在图示的实施例中:可利用具有 小于60赫兹(“Hz”)的范围的峰值/抽选滤波器来转换低频通道; 可利用具有60Hz的值的峰值/抽选滤波器来转换中频通道;并且可利 用具有200Hz–2kHz的范围的峰值/抽选滤波器来转换通道每个高频 通道。
系统可进一步将经转换的触觉效果定义的三个通道发送到编码器 /解码器1320,其中编码器/解码器1320可将经转换的触觉效果定义的 每个通道编码成外部格式,例如HES格式。系统随后可将触觉效果定 义的三个通道发送到F/B空间化1330,其中F/B空间化1330可基于 空间化数据来修改触觉效果定义的每个通道内包括的触觉数据。空间 化数据可包括触觉效果的方向和/或流动。在一个实施例中,触觉效果 的方向和/或流动可以是向前或向后方向。另外,空间化数据可包括一 个或多个手部位置。根据该实施例,F/B空间化1330可修改每个通道 内包括的触觉数据,以便对于每个马达或致动器缩放触觉效果。系统 随后可将低频通道发送到低轰鸣马达1340(在图13中标识为“LowR 马达”),并且可进一步将中频通道发送到中轰鸣马达1350(在图13 中标识为“MidR马达”)。低频通道内包含的触觉数据可使得低轰 鸣马达1340产生一般或轰鸣触觉效果,并且中频通道内包含的触觉数 据可使得中轰鸣马达1350产生一般或轰鸣触觉效果。
系统可进一步将高频通道发送到L/R空间化1360,其中L/R空间 化1360可基于空间化数据来修改高频通道内包括的触觉数据。在一个 实施例中,触觉效果的方向和/或流动可以是左或右方向。另外,空间 化数据可包括一个或多个手部位置。根据该实施例,L/R空间化1360 可修改该通道内包括的触觉数据,以便对于每个马达或致动器缩放触 觉效果。系统随后可将高频通道发送到左触发针对性马达1370(在图 13中标识为“LT马达”),并且还可将高频通道发送到右触发针对 性马达1380(在图13中标识为“RT马达”)。高频通道内包含的触 觉数据可使得左触发针对性马达1370在左触发器处产生触发触觉效 果,并且高频通道内包含的触觉数据可使得右触发针对性马达1380 在右触发器处产生触发触觉效果。
图14根据本发明的实施例示出了空间化引擎的示例用户界面 1400。用户界面1400是可编辑的可视区域,其能够可视化原本生成并 由空间化引擎(例如图5的空间化引擎507)进一步修改的触觉效果。 在一个实施例中,触觉效果可以是原本由触发引擎(例如图5的触发 引擎506)生成的触发触觉效果。用户界面1400还可允许用户以编程 方式管理空间化引擎对触觉效果的一个或多个修改。这种修改还可被 记录以便将来进行动态重放。如前所述,空间化引擎可修改原本生成 的触觉效果定义,以便对于控制器的一个或多个针对性马达、针对性 致动器、轰鸣马达或轰鸣致动器来缩放触发触觉效果。更具体而言, 空间化引擎可修改应用到每个针对性马达、针对性致动器、轰鸣马达 或轰鸣致动器的触觉效果定义,以表达由控制器的用户体验到的触觉 效果的方向的感觉。对触觉效果定义的每个修改可基于由空间化引擎 定义的触觉效果的期望方向和/或流动。另外,每个修改也可基于由控 制器接收的输入,其中该输入指示出用户的手部在控制器上的位置。 从而,空间化引擎可接收原本生成的触觉效果定义,并且可基于触觉 效果的“空间化”方面(例如,触觉效果的位置和/或流动)来修改触 觉效果定义。
用户界面1400包括流动1410。流动1410允许用户以编程方式管 理触觉效果的流动。流动是一种时间性的重放开始偏移量修改,以在 触发器的个体针对性马达、针对性致动器、轰鸣马达或轰鸣致动器上 延迟重放。或者,流动可以是持续时间修改,以修改在触发器的针对 性马达、针对性致动器、轰鸣马达或轰鸣致动器处体验到的触觉效果 的持续时间。例如,可以定义流动,以使得触觉重放首先在左针对性 马达或针对性致动器上开始,然后在中间轰鸣马达或轰鸣致动器上开 始,随后进一步在右针对性马达或针对性致动器上开始。在此示例中, 整体触觉效果的流动是左到右,因为控制器的用户首先在触发器的左 侧体验到整体触觉效果的触觉重放,然后在控制器的中间体验到,再 然后在控制器的右侧体验到。流动可以是从左到右或者反之,从前到 后或者反之,或者这两者的组合。从而,流动可以定义触觉重放向量。 流动1410可在用户界面1400内被可视化为可在用户界面1400内水 平、垂直或者对角放置的箭头。从而,通过与流动1410交互,用户可 修改被应用到控制器的各种马达或致动器的一个或多个延迟以错开触 觉重放。
用户界面1400还包括方向1420。方向1420允许用户以编程方式 修改触发触觉效果的方向。方向是一种幅度(或强度)修改,以在控 制器的各种马达或致动器之间强调前后和/或左右偏置(或平衡)。或 者,方向可以是频率修改。例如,可以定义方向,以使得触觉效果的 触觉重放在控制器的右侧最强。方向1420可在用户界面1400内被可 视化为由两个轴限定的二维网格或空间内的一点。从而,通过与方向 1420交互,用户可修改被应用到各种马达或致动器的幅度(或强度) 以强调左右和/或前后偏置(或平衡)。
用户界面1400还包括强度1430。强度1430允许用户在重放之前 或重放期间以编程方式修改整体触觉效果的幅度(或强度)。强度1430 可在用户界面1400内被可视化为滑动条。从而,通过与强度1430交 互,用户可修改触觉效果的整体幅度(或强度)。用户界面1400还包 括播放速度1440。播放速度1440允许用户以编程方式修改系统(例 如图1的系统10)处理触觉效果的触觉效果定义以便重放触觉效果的 播放速度或速率。播放速度1440可在用户界面1400内被可视化为滑 动条。从而,通过与播放速度1440交互,用户可修改触觉效果的播放 速度或速率。用户界面1400还包括循环1450。循环1450允许用户以 编程方式修改触觉效果的重放是否循环。循环1450可在用户界面1400 内被可视化为按钮。从而,通过与循环1450交互,用户可控制触觉效 果的循环。在下文中结合图29和30来更详细地进一步描述空间化引 擎的更多细节。
图15根据本发明的实施例示出了触觉效果API 1500的体系结构 图。触觉效果API 1500包括一组计算机可读函数或例程,这些计算机 可读函数或例程允许开发者在控制器的用户输入元件——例如触发器 ——处播放触觉效果,例如触发触觉效果。触觉效果API可包括宏大 的触觉效果库,其中包含用于许多游戏种类的预定义触觉效果定义, 例如驾驶/赛车、武器/战争以及体育(例如,足球、橄榄球、棒球、 高尔夫球或曲棍球)。在一个实施例中,触觉效果API可包括一组 C++类,并且不需要使用高级的特征,例如异常和运行时类型信息, 这些特征在客户端应用中可被关闭。在替换实施例中,触觉效果API 可使用其他语言绑定,例如C、Java或C#。另外,触觉效果API可 以为某些游戏引擎提供插件,例如Unity 3DTM和MarmaladeTM。
根据该实施例,触觉效果API 1500可被应用1510访问,应用1510 是可在系统(例如图1的系统10)上执行的软件应用,例如游戏应用。 另外,触觉效果API 1500可访问效果库1520,其中效果库1520可包 括一个或多个触觉效果定义,例如触觉效果定义1521(在图15中标 识为“效果1521”)。如前所述,触觉效果定义的示例是触发触觉效 果定义。另外,触觉效果API 1500包括一个或多个设备定义,例如设 备定义1501(在图15中标识为“设备1501”)。设备定义包括定义 要在该处播放触觉效果的硬件设备的设备数据,该硬件设备例如是控 制器、游戏手柄或者其他外围设备。触觉效果API 1500还包括一个或 多个定时器定义,例如定时器定义1502(在图15中标识为“定时器 1502”)。定时器定义包括定义如下时间段的定时器数据:在该时间 段中,注册到特定硬件设备的所有触觉效果定义被更新。触觉效果API 1500还包括触发器定义1503(在图15中标识为“触发器1503”)。 触发器定义包括定义特定硬件设备的触发器的触发器数据。触觉效果 API 1500还包括协议定义1504(在图15中标识为“协议1504”)。 协议定义描述触觉效果API 1500用来与特定硬件设备通信的通信接 口的协议。利用协议定义1504,触觉效果API 1500可与设备固件1530 (在图15中标识为“FW 1530”)通信,其中设备固件1530是特定 硬件设备的固件。利用设备固件1530,触觉效果API 1500还可与硬 件设备1540(在图15中标识为“HW 1540”)通信,其中硬件设备 1540是该特定硬件设备。
在一个实施例中,应用1510可访问设备定义1501以获取要在该 处播放触觉效果的目标硬件设备(即,HW 1540)。通过访问设备定 义1501,应用1510可进一步访问定时器定义1502、触发器定义1503 和协议定义1504。应用1510还可访问来自效果库1521的触觉效果定 义1520以实例化触觉效果。应用1510还可通过经由触觉效果API 1500和FW 1530向目标硬件设备(即,HW 1540)发送指令来使得 触觉效果在目标硬件设备(即,HW 1540)处被播放。图16根据本发 明的实施例示出了产生触觉效果的固件的体系结构图。体系结构包括 通信接口1600。通信接口1600支持触觉效果API(例如图15的触觉 效果API 1500)与用于诸如控制器或游戏手柄之类的外围设备的固件 之间的通信。体系结构还包括效果槽1610。效果槽定义触觉效果的类 型,并且可包括以下参数:幅度(或强度);频率(或周期);包络 (例如,出动水平、出动时间、消退水平和消退时间);致动器(例 如,具体致动器或虚拟致动器,例如“轰鸣”或“方向性”);方向 (例如,一个或两个角度,或者二维向量);距离(例如,可用于模 块化整个触觉效果);开始/结束触觉效果定义(例如,可被内插以创 建内插触觉效果的开始触觉效果定义和结束触觉效果定义)。一种特 定类型的效果槽1610是被触发效果槽1620。被触发效果槽定义一类 触发触觉效果,并且除了效果槽的上述参数以外,还可包括以下额外 的参数:触发按钮(例如,无、左或者右);触发开始/停止、点和方 向(例如,当触发按钮在一定方向上移动的同时到达一定位置时开始/ 停止触发触觉效果);以及触发结束点(例如,在播放触发触觉效果 的同时在开始触发触觉效果定义和结束触发触觉定义之间内插)。
体系结构还包括触发引擎1630。如前所述,触发引擎1630可接 收触发触觉效果定义并且可基于触发数据——例如控制器的触发器的 位置和/或范围——来修改触发触觉效果定义。体系结构还包括触发硬 件接口1640(在图16中标识为“触发HW接口1640”)。触发硬件 接口1640是允许触发引擎1630从诸如控制器或游戏手柄之类的外围 设备接收触发数据的通信接口。体系结构还包括空间化引擎1650。如 前所述,空间化引擎1650可修改触觉效果定义,例如触发触觉效果定 义,以便对于控制器的一个或多个针对性马达、针对性致动器、轰鸣 马达或轰鸣致动器来缩放触觉效果,例如触发触觉效果。体系结构还 包括偏置效果渲染引擎1660。偏置效果渲染引擎1660基于触觉效果 定义,例如触发触觉效果定义,为马达或致动器渲染触觉效果,例如 触发触觉效果。体系结构还包括致动器硬件接口1670(在图16中标 识为“致动器HW接口1670”)。致动器硬件接口1670是允许偏置 效果渲染引擎1660向马达或致动器发送所渲染的触觉效果内包括的 触觉数据以使得马达或致动器播放该触觉效果的通信接口。
图17根据本发明的实施例示出了用于控制器的示例方向性模型。 根据该实施例,控制器包括轰鸣马达1710和1720,以及针对性马达 1730和1740,其中针对性马达1730和1740各自可操作地耦合到控制 器的触发器。轰鸣马达1710和1720可具有互补的振动范围。另外, 针对性马达1730和1740可生成在空间上更孤立的高频振动。可以理 解,对于左/右空间化的触觉效果使用轰鸣马达1710和1720提供了非 对称振动体验(即,对于大多数用户在空间上没有良好分离的不同频 率内容)。从而,触觉效果定义可包括左前、右前和无方向通道。另 外,通过将振动从轰鸣马达1710和1720转变到针对性马达1730和 1740,可以加强前/后方向性。从而,轰鸣马达1710和1720可用于无 方向低频触觉效果。轰鸣马达1710和1720可以可选地也用于后/前方 向性。另外,针对性马达1730和1740可用于左/右方向性。
图18根据本发明的实施例示出了触觉效果固件栈的框图。触觉效 果固件栈可以用于外围设备的固件,例如图5的外围固件510。触发 触觉效果固件栈可包括控制器触觉API 1800(在图18中标识为“触 发控制器触觉API 1800”)。控制器触觉API 1800包括一组计算机 可读函数或例程,这些计算机可读函数或例程允许固件在控制器的用 户输入元件——例如触发器——处播放触觉效果,例如触发触觉效果。 控制器触觉API 1800可包括基本效果定义1801。效果定义1801包括 一个或多个触觉效果定义,例如触发触觉效果定义。控制器触觉API 1800还可包括效果库代码1802。效果库代码1802包括一组计算机可 读指令,这些指令可基于存储在效果定义1801内的触觉效果定义来实 例化触觉效果。作为基于触觉效果定义的触觉效果的实例化的一部分, 效果库代码1802可提供一个或多个效果特定参数。控制器触觉API 1800还可包括方向性引擎1803。方向性引擎1803可修改触觉效果定 义,例如触发触觉效果定义,以便对于控制器的一个或多个针对性马 达、针对性致动器、轰鸣马达或轰鸣致动器来缩放触觉效果,例如触 发触觉效果。控制器触觉API 1800还包括模拟器1804。模拟器1804 基于触觉效果定义,例如触发触觉效果定义,对于控制器的一个或多 个马达或致动器(例如四个马达)渲染触觉效果,例如触发触觉效果。 控制器触觉API 1800还利用控制器API 1820将渲染的触觉效果发送 到控制器1820(或者某个其他外围设备)。
图19根据本发明的实施例示出了提供在控制器处体验到的触觉 效果的系统(例如图1的系统10)的体系结构图。系统包括应用1900 (在图19中标识为“应用1900”)。应用1900是可在系统上执行的 软件应用,例如游戏应用。系统还包括触觉效果API 1910(在图19 中标识为“API 1910”)。在一个实施例中,触觉效果API 1910与图 18的控制器触觉API 1800相同。根据该实施例,触觉效果API 1910 可以是用于所有控制器、游戏手柄或其他外围设备的单个API。从而, 触觉效果API 1910可抽象控制器、游戏手柄和其他外围设备之间的差 异。另外,触觉效果API 1910可包括内置的效果库,该效果库包括一 个或多个内置的触觉效果定义。内置的触觉效果定义是数据结构,该 数据结构封装相应的触觉效果的一个或多个属性。
一类内置的触觉效果定义是静态触觉效果定义1911(在图19中 标识为“静态1911”)。静态触觉效果定义1911是一组一个或多个 周期性或幅度挥扫效果定义,其产生不随着时间变化的静态触觉效果。 示例包括撞车、火箭发射器以及用户界面确认。静态触觉效果定义 1911可由应用1900基于游戏内的事件来直接调用。静态触觉效果定 义1911产生的静态触觉效果可用作触发触觉效果。
另一类内置的触觉效果定义是动态触觉效果定义1912(在图19 中标识为“动态1912”)。动态触觉效果定义1912是一种算法,其 接收一个或多个参数1914作为输入并且产生连续变化的触觉效果 (即,动态触觉效果)。示例包括引擎的每分钟转速(“RPM”)、 滑雪板和爆炸。静态触觉效果定义可通过包括向量(即,距离和方向) 和一个或多个按钮或轴的输入位置/状态而被变成动态触觉效果定义。 动态触觉效果可基于可从应用1900传递来的游戏变量。动态触觉效果 也可基于控制器输入,例如触发器输入。
另一类内置的触觉效果定义是直接控制触觉效果定义1913(在图 19中标识为“直接控制1913”)。在直接控制场景中,直接控制触觉 效果定义1913可以以允许对输出设备进行直接渲染的方式来定义,其 中在直接控制触觉效果定义1913通过核心效果库1920时向其施加非 常小的处理。在该场景中,直接控制触觉效果定义1913可包括多个直 接数据通道,其对应于并且精确映射到输出设备上的多个输出制动器。 可选地,直接控制触觉效果定义1913可以包括多个不同的数据通道, 其超过输出设备上的可用输出制动器的数量,并且核心效果库1920 可选择多个通道,其中选择每个通道以使得其最佳地映射到输出设备 中的特定制动器,并且核心效果库1920然后可以将所选择的通道的数 据发送到所映射的制动器。
系统还包括核心效果库1920(在图19中标识为“核心19”)。 核心效果库1920包括一个或多个触觉效果定义1921(在图19中标识 为“FX 1921”)。触觉效果定义1921可包括触发触觉效果定义1922 (在图19中标识为“触发效果1922”)。触觉效果定义的示例可包 括爆炸触觉效果定义、RPM触觉效果定义,滑雪板触觉效果定义和其 他触觉效果定义。核心效果库还包括混合器1923(在图19中标识为 “混合器/优先级区分1923”)。混合器1923可对一个或多个触觉效 果定义进行混合或优先级区分。
系统还包括低级别API 1930。低级别API 1930可接收基于触觉 效果定义来播放触觉效果的指令,并且可将该指令转换成可被控制器 1940解释的低级别指令。低级别API 1930的示例是微软公司出品的 API 2031,并且控制器1940的示例是微软公司出品的控制器2041。
图20根据本发明的实施例示出了用于预览和修改空间化触觉效 果的示例用户界面2000。系统(例如图1的系统10)可向用户提供用 户界面2000作为空间化触觉效果预览和修改工具。根据该实施例,用 户界面2000包括开放效果2010。开放效果2010可显示可用于选择的 一个或多个触觉效果预设,例如触发触觉效果预设。用户界面2000 还包括效果库2020。效果库2020可显示包括在触觉效果库内的一个 或多个触觉效果预设,例如触发触觉效果预设。效果库2020可按类别 显示一个或多个触觉效果预设。
用户界面2100还包括时间线2030。根据该实施例,用户可选择 在开放效果2010内显示的触觉效果预设,并且时间线2030可显示由 所选择的触觉效果预设表示的触觉效果定义的图形表示。在图示的实 施例中,触觉效果定义包括四个通道,其中每个通道包括为特定的输 出所映射的触觉数据(例如,(1)用于右触发器的针对性马达或致动 器;(2)用于左触发器的针对性马达或致动器;(3)右轰鸣马达或 致动器;以及(4)左轰鸣马达或致动器),并且每个通道被沿着时间 线来显示。然而,在其他实施例中,触觉效果定义可包括任意数目的 通道。另外,用户可通过与时间线2030内的一个或多个显示元素交互 来修改所选择的触觉效果定义的一个或多个通道。通过修改触觉效果 定义的一个或多个通道,可以修改相应的触觉效果的一个或多个属性。
用户界面2000还包括效果属性2040。效果属性2040是可编辑的 可视区域,其能够可视化由触发引擎(例如图5的触发引擎506)生 成的触发触觉效果。如前所述,触发引擎可接收触发触觉效果定义并 且可基于控制器的触发器的位置和/或范围来修改触发触觉效果定义。 从而,效果属性2040可显示触发器的可视化,包括触发器的实际位置。 另外,效果属性2040可显示对于触发触觉效果定义所定义的触发器的 位置和/或范围,其中该位置和/或范围可使得触发引擎修改触发触觉 效果定义。用户可编辑为触发触觉效果定义所定义的触发器的位置和/ 或范围。另外,效果属性2040可显示用于控制器的触发器的列表,以 便用户可编辑为触发触觉效果定义所定义的触发器。此外,效果属性 2040可显示触发触觉效果定义的幅度(或强度),并且用户可修改该 幅度(或强度)。
用户界面2000还包括空间化2050。空间化2050是可编辑的可视 区域,其能够可视化原本生成并由空间化引擎(例如图5的空间化引 擎507)进一步修改的触觉效果。如前所述,空间化引擎可修改触觉 效果定义,以便对于控制器的一个或多个针对性马达、针对性致动器、 轰鸣马达或轰鸣致动器来缩放触觉效果。从而,空间化2050可显示控 制器的可视化。空间化2050还可显示在控制器的每个针对性马达、针 对性致动器、轰鸣马达或轰鸣致动器处体验到的触觉效果的可视化。 用户可编辑在控制器的每个针对性马达、针对性致动器、轰鸣马达或 轰鸣致动器处体验到的触觉效果的缩放,以及编辑触觉效果的源的缩 放。
图21根据本发明的实施例示出了用于将音频信号转换成触觉效 果的示例用户界面2100。根据该实施例,触觉效果设计可成为被包含 到用户界面2100中的音频设计过程的一部分。更具体而言,在用户界 面2100内显示的音频效果定义3-8可被转换成触觉效果定义,其中触 觉效果定义可被导出。
图22根据本发明的实施例示出了预览空间化触觉效果的系统(例 如图1的系统10)的体系结构图。该系统包括用户界面2200。在一个 实施例中,用户界面2200是Qt用户界面,其中Qt是跨平台应用和 用户界面框架。系统还包括适配器层2210。系统还包括触发API层 2220。系统还包括触发固件层2230。
用户界面2200包括绘图器2201。绘图器2201取得由用户指定的 触觉效果定义作为输入,并且将触觉效果定义内包括的触觉数据通过 适配器层2210发送到触发API层2220。触发API层2220发回个体 通道数据,绘图器2201在用户界面2200内显示该个体通道数据。渲 染器2202从控制器GUI 2203取得输入并且开始触觉播放器渲染循 环。输入被路由经过适配器层2210,适配器层2220具有与触发API 层2213的回调设置以中继从控制器2214发送的控制器输入2413(例 如按钮和触发输入)。在渲染循环正在运行以更新用户界面2200的同 时,适配器层2210也可与绘图器2201通信。控制器GUI 2203也可 利用控制器选择器2212来选择控制器2214,并且可以示出连接了什 么。控制器GUI 2203还可设置触发激活点。另外,导入器/导出器2204 可取得输入音频文件并且将它们转换成触觉文件。在一个实施例中, 音频文件是WAV文件。另外,适配器层2210可被嵌入在用户界面 2200内,或者可以是单独的库。当适配器层2210是单独的库时,适 配器层2210可以是单独的C++库。
图23根据本发明的实施例示出了产生空间化触觉效果的系统(例 如图1的系统10)的体系结构图。系统包括游戏应用2300(在图23 中标识为“游戏2300”)。游戏应用2300包括一组计算机可读指令, 这些指令在软件游戏或其他类型的软件应用的情境中管理由控制器、 游戏手柄或其他外围设备提供的输入。在一个实施例中,游戏应用 2300包括触觉效果库2301,其中触觉效果库2301包括一个或多个触 觉效果定义。
系统还包括触觉引擎2310。触觉引擎2310是高级别API,其可 利用低级别API来执行触觉效果的播放,以及将触觉效果添加到游戏 应用2300。触觉引擎2310可以加载、开始、停止和渲染触觉效果。 触觉引擎2310可与触觉效果解析器2320相接口以解析/获得关于触觉 效果的信息。触觉引擎2310还可与触觉混合器2330相接口以开始或 停止效果以及修改混合器缓冲器。触觉引擎2310还可与触觉设备处理 装置2350相接口以获得控制器、游戏手柄或其他外围设备的设备句 柄,并且在控制器、游戏手柄或其他外围设备上渲染触觉效果。
系统还包括触觉效果解析器2320。触觉效果解析器2320包括一 API,该API中可在存储器中加载触觉效果,验证其格式,并且获得 关于该触觉效果的信息,例如大小、持续时间和触觉数据。系统还包 括触觉混合器2330。触觉混合器2330支持同时重放多个触觉效果。 系统还包括触觉设备处理装置2340。触觉设备处理装置2340可发起 并管理与控制器、游戏手柄或其他外围设备的通信。触觉设备处理装 置2340可与通用串行总线(“USB”)通信层相接口并且获得控制器、 游戏手柄或其他外围设备的设备句柄。触觉设备处理装置2340还可初 始化对于触觉效果重放关键的若干个状态机结构。
系统还包括触发触觉报告处理装置2350。触发触觉报告处理装置 2350可根据触发通信协议将触觉数据封装到USB HID封包中。系统 还包括平台遵从USB HID库2360。平台遵从USB HID库2360包括 一个或多个计算机可读例程以与控制器、游戏手柄或其他外围设备的 USB HID和蓝牙HID类相接口。系统还包括外围固件2370(在图23 中标识为“游戏手柄固件2370”)。外围固件2370是用于控制器、 游戏手柄或其他外围设备的固件。系统还包括外围输入读取器2380 (在图23中标识为“游戏手柄输入读取器2380”)。外围输入读取 器2380接收控制器、游戏手柄或其他外围设备发送的外围输入。外围 输入读取器2380还解释外围输入并且将外围输入发送到游戏应用 2300。
图24根据本发明的实施例示出了产生空间化触觉效果的固件的 体系结构图。固件体系结构可以使得固件模块化,可以将硬件无关组 件与硬件相关组件分离开来,并且可以使得从一个微计算机单元到另 一个微计算机单元的移植更容易。硬件无关层可通过功能指针与硬件 相关层通信。可基于实现模板来将硬件相关层移植到另一微控制器单 元。所有硬件相关例程可与板配置文件相接口,该文件可给出具有不 同端口/按钮定义的硬件的内部样子。
图24包括主机软件2400(在图24中标识为“主机SW 2400”)。 主机软件2400包括一组计算机可读指令,这些指令在软件游戏或其他 类型的软件应用的情境中管理由控制器、游戏手柄或其他外围设备提 供的输入。主机软件2400可以在软件空间内。图24还包括USB HID 处理装置2405。USB HID处理装置2405可以是控制器、游戏手柄或 其他外围设备与主机软件2400之间的所有通信的主入口点。USB HID 处理装置2405可包括一个或多个计算机可读函数或例程来根据触发 通信协议对诸如触觉数据之类的数据进行编码/解码。USB HID处理 装置2405还可存储所有USB描述符和例程以处理USB通信。USB  HID处理装置2405可在固件空间内。
图24还包括通信接口2410。通信接口2410可解析传入的封包并 且调用命令处理装置2415来采取适当的动作。图24还包括命令处理 装置2415。命令处理装置2415可包括一个或多个计算机可读函数或 例程来处理支持致动器上的触觉重放的触发协议所支持的命令。图24 还包括触觉驱动处理装置2420。触觉驱动处理装置2420可更新触觉 重放引擎的状态,更新致动器的驱动值并且控制致动器。触觉驱动处 理装置2420可通过函数指针机制与硬件相关定时器处理装置2435和 致动器控件2425相接口。通信接口2410、命令处理装置2415和触觉 驱动处理装置2420可以都在固件空间内。
图24还包括致动器控件2425(在图24中标识为“致动器驱动控 制2425”)。致动器控件2425可控制致动器并设定驱动值。致动器 控件2425可包括一个或多个计算机可读函数或例程来与脉冲宽度调 制生成单元相接口并且与致动器驱动器芯片相接口。图24还包括控制 器输入读取器2430(在图24中标识为“游戏手柄输入读取器2430”)。 控制器输入读取器2430可与平台相关输入读取器2440相接口以获得 控制器、游戏手柄或其他外围设备的不同输入的状态,封装这些输入, 并且将这些输入发送到通信接口2410以被进一步发送到主机软件 2400。图24还包括定时器处理装置2435。定时器处理装置2435是硬 件相关层,该层可对负责生成周期性中断以调用为致动器更新驱动值 的例程的定时器进行控制。图24还包括输入读取器2440。输入读取 器2440是能够获得控制器、游戏手柄或其他外围设备的所有电位计和 数字输入的状态的硬件相关层。图24还包括外围和接口驱动器2450。 外围和接口驱动器2450可包括一个或多个计算机可读函数或例程来 控制通信接口和硬件外围设备。致动器控件2425、控制器输入读取器 2430、定时器处理装置2435、输入读取器2440和外围和接口驱动器 2450全都可以在固件空间内。
图24还包括微控制器单元2460,其可包括组件,例如计算机处 理单元2461、USB 2462、中断控制器2463、定时器外设2464和其他 外设2465。这些组件的功能是相关领域普通技术人员已知的。图26 还包括控制器硬件2470(在图24中标识为“游戏手柄硬件2470”)。 控制器硬件2470的功能也是相关领域普通技术人员已知的。微控制器 单元2460和控制器硬件2470全都可以在固件空间内。另外,通信接 口2410、命令处理装置2415、触觉驱动处理装置2425和控制器输入 读取器2430全都可以是硬件无关组件,而USB HID处理装置2405、 致动器控件2425、定时器处理装置2435、输入读取器2440、外围和 接口驱动器2450、微控制器单元2460和控制器硬件2470全都可以是 硬件相关组件。
在一个实施例中,控制器、游戏手柄或其他外围设备可具有定制 的协议,用于表达触觉数据并且用于驱动个体马达或致动器。因此, 可以提供一种音频驱动器,其从音频创作组件接收包括以音频效果定 义的形式创作的触觉效果的音频文件,并且将音频文件内包括的音频 数据发送到控制器、游戏手柄或其他外围设备。在一个实施例中,音 频创作组件800可以是由Avid Technology,Inc.出品的“” 产品。音频驱动器可在启动过程期间被加载。音频驱动器可暴露必要 数目的音频通道以便使得触觉效果定义有可能使用控制器、游戏手柄 或其他外围设备中的所有马达或致动器。音频驱动器还可在用户空间 中工作,并且可以是所有用户空间音频编辑/重放应用可访问的。音频 驱动器还可读取音频创作组件发送到控制器、游戏手柄或其他外围设 备的音频数据。音频驱动器还可对所呈现的音频数据执行必要的处理 并且可将音频数据转换成触觉数据,例如致动器驱动值。音频驱动器 还可通过通信接口将触觉数据传输到控制器、游戏手柄或其他外围设 备。
根据该实施例,控制器、游戏手柄或其他外围设备可包括四个致 动器。两个致动器可用作影响触发器上的触觉反馈的触发致动器。触 发致动器可以是双向的。对于触发致动器可以发生两种方向事件:推 (PUSH)和拉(PULL)。推和拉方向可以是相对于用户在触发器上 的手指的。两个其他致动器可用作影响控制器、游戏手柄或其他外围 设备内的一般触觉反馈或轰鸣反馈的轰鸣致动器。轰鸣致动器可以是 单向的。更具体而言,轰鸣致动器可以在顺时针方向或逆时针方向上 旋转,但不在两个方向上旋转。运动的方向可以依从于控制器和/或控 制器的驱动电子装置。
在此实施例中,对于音频驱动器可以选择以下通道布局。
通道号 通道用途 0 用于左触发器的推通道 1 用于左触发器的拉通道 2 用于右触发器的推通道 3 用于右触发器的拉通道 4 左轰鸣 5 右轰鸣
在一个实施例中,为16比特PCM选择的音频格式可以是44.1 KHz。音频驱动器可从音频创作组件接收音频数据,将音频数据转换 成触觉数据(例如,驱动值),并且相应地将触觉数据传输给控制器。
图25根据本发明的实施例示出了示例音频体系结构。音频体系结 构包括应用级服务2500。应用级服务2500可包括诸如以下服务:音 频队列服务;音频单元;系统声音;音频文件流服务;音频文件、转 换器和编解码器服务;OpenAL;音频定序服务;或者核心音频时钟。 应用级服务2500与硬件抽象层(“HAL”)2510通信。HAL 2510 的示例是乐器数字接口(Musical Instrument Digital Interface, “MIDI”)2511。进而,HAL 2510与输入/输出(“I/O”)套组2520、 驱动器2530和硬件2540通信。I/O套组2520、驱动器2530和硬件 2540存在于内核空间中。为了接收应用级服务想要发送到硬件2540 的音频数据,音频驱动器可需要HAL 2510的插件,其中该插件可接 收音频数据并访问硬件2540。音频驱动器的插件可实时或近实时地从 应用级服务2700接收音频数据,并且可通过对音频数据的5毫秒 (“ms”)部分执行抽选来将音频数据转换成触觉数据(例如,驱动 值)。结合图26来更详细地进一步描述示例音频驱动器。
图26根据本发明的实施例示出了将音频效果转换成触觉效果的 示例音频驱动器2600(在图26中标识为“触觉触发驱动器2600”)。 音频驱动器2600从一个或多个应用接收音频数据2605。音频数据可 以是交织的多通道音频流,例如四通道音频流或六通道音频流。随后, 分离器2615将各种通道的音频数据分离到各个通道缓冲器中。另外, 音频到触觉数据转换器2625将每个通道缓冲器的音频数据转换成触 觉数据。更具体而言,在一个实施例中,音频到触觉数据转换器2625 在通道缓冲器上对音频数据的一部分(例如,5 ms的音频数据)执行 峰值检测算法并且在每个通道的抽选值阵列中填充值。音频到触觉数 据转换器2625随后基于以下公式来计算个体致动器的驱动值:
触发器的驱动值:(PushChannelDecimatedValue– PullChannelDecimatedValue)→将其缩放到[0,255]
轰鸣的驱动值:(DecimatedValue)→将其缩放到[128,255]
随后,触发协议封包管理器2635为所有致动器(例如,所有四个 致动器)获得驱动值,并且根据触发通信协议将驱动值封装为数据封 包,例如USB HID封包。另外,XPC处理装置2645从触发协议封包 管理器2635接收数据封包,并且将数据封包发送到XPC服务2610, XPC服务2810是一个后台服务。在2655,XPC服务2610接收数据 封包,并且在2665,通过USB接口将数据封包发送到控制器2620(在 图26中标识为“触觉触发游戏手柄2620”)。
图27根据本发明的实施例示出了驻留在API或库中的示例空间 化引擎。空间化引擎是在系统(例如图1的系统10)上实现的。在图 示的实施例中,系统包括以下组件:设备2700(在图27中标识为“游 戏控制台、智能电话、平板电脑或计算机(例如)2700”),以及控制 器2710(在图27中标识为“游戏手柄2710”)。设备2700可以是任 何类型的计算机设备,例如个人计算机、平板电脑、智能电话或者控 制台(例如,视频游戏控制台)。控制器2710是可操作地连接到设备 2700的外围设备的一个示例。控制器2710可以是视频游戏控制器。 在一个实施例中,控制器2710可与图1的控制器30、图2、图3和图 4的控制器100以及图5的控制器520相同。
设备2700包括效果库2701,其中效果库2701可包括一个或多个 触觉效果定义。在该实施例中,这些触觉效果定义可被标识为未空间 化的触觉效果定义,因为它们是尚未被空间化引擎修改的触觉效果定 义。设备2700还包括游戏2702,其中游戏2702是可在系统上执行的 软件应用,例如游戏应用。根据该实施例,游戏2702可生成一个或多 个空间化参数,其中该一个或多个空间化参数可定义由存储在效果库 2701内的触觉效果定义所定义的触觉效果的位置、距离、速度、方向 和/或流动。
设备2700还包括空间化引擎2703(在图27中标识为“触觉空间 化引擎2703”),其中效果库2701可将一个或多个未空间化的触觉 效果定义发送到空间化引擎2703,并且其中游戏2702可将一个或多 个空间化参数发送到空间化引擎2703。空间化引擎2703可接收一个 或多个未空间化的触觉效果定义,并且可基于一个或多个空间化参数 来修改这一个或多个未空间化的触觉效果定义。根据该实施例,空间 化引擎2703可修改一个或多个未空间化的触觉效果定义,以便对于控 制器2710的一个或多个致动器2711缩放或衰减一个或多个触觉效果, 其中一个或多个经修改的触觉效果定义可被标识为空间化的触觉效果 定义。换言之,空间化引擎2703可修改被发送到致动器2711中的每 个致动器的触觉效果定义,从而修改在致动器2711中的每个致动器处 体验到的触觉效果,以便表达触觉效果的位置、距离、速度、方向和/ 或流动的感觉。空间化引擎2703随后可将一个或多个空间化的触觉效 果定义发送到控制器2710。控制器2710随后可将每个空间化的触觉 效果定义发送到致动器2711中的每个致动器,其中每个致动器可产生 空间化的触觉效果。
图28根据本发明的实施例示出了驻留在控制器中的示例空间化 引擎。空间化引擎是在系统——例如图1的系统10——上实现的。在 图示的实施例中,系统包括以下组件:设备2800(在图28中标识为 “游戏控制台、智能电话、平板电脑或计算机(例如)2800”),以及 控制器2810(在图28中标识为“游戏手柄2810”)。设备2800可以 是任何类型的计算机设备,例如个人计算机、平板电脑、智能电话或 者控制台(例如,视频游戏控制台)。控制器2810是可操作地连接到 设备2800的外围设备的一个示例。控制器2810可以是视频游戏控制 器。在一个实施例中,控制器2810可与图1的控制器30、图2、图3 和图4的控制器100以及图5的控制器520相同。
设备2800包括效果库2801,其中效果库2801可包括一个或多个 触觉效果定义,它们被标识为未空间化的触觉效果定义。设备2800 还包括游戏2802,其中游戏2802是可在系统上执行的软件应用,例 如游戏应用。根据该实施例,游戏2802可生成一个或多个空间化参数, 其中该一个或多个空间化参数可定义由存储在效果库2801内的触觉 效果定义所定义的触觉效果的位置、距离、速度、流动和/或方向。
控制器2810包括空间化引擎2811(在图28中标识为“触觉空间 化引擎2811”),其中效果库2801可将一个或多个未空间化的触觉 效果定义发送到空间化引擎2811,并且其中游戏2802可将一个或多 个空间化参数发送到空间化引擎2811。空间化引擎2811可接收一个 或多个未空间化的触觉效果定义,并且可基于一个或多个空间化参数 来修改这一个或多个未空间化的触觉效果定义,其中一个或多个经修 改的触觉效果定义被标识为空间化的触觉效果定义。空间化引擎2811 随后可将每个空间化的触觉效果定义发送到致动器2812中的每个致 动器,其中每个致动器可产生空间化的触觉效果。
图29根据本发明的实施例示出了示例空间化触觉效果2900。空 间化触觉效果2900涉及基于空间化触觉效果定义以多个不同但恒定 的衰减在外围设备的多个轰鸣致动器处输出触觉效果。虽然空间化触 觉效果2900对于将触觉效果的位置表达给外围设备的用户可能不总 是有效的,但空间化触觉效果2900可有效地表达触觉效果的频率。如 前所述,轰鸣致动器是可操作地耦合到外围设备的壳体或其他部分的 致动器。
图30根据本发明的另一实施例示出了示例空间化触觉效果3000。 空间化触觉效果3000涉及基于空间化触觉效果定义以多个不同但恒 定的衰减在外围设备的多个触发致动器处输出触觉效果。空间化触觉 效果3000可有效地表达触觉效果的位置,但可能仅在单触发器情况中 才可有效地表达触觉效果的位置,例如仅左触发器的情况,或者仅右 触发器的情况。如前所述,触发致动器是可操作地耦合到外围设备的 触发器的致动器。在某些实施例中,可以用可操作地耦合到用户输入 元件的针对性致动器来替代触发致动器。
图31根据本发明的实施例示出了示例空间化触觉效果3100。空 间化触觉效果3100涉及基于空间化触觉效果定义通过逆倾斜衰减在 外围设备的多个轰鸣致动器处输出触觉效果。空间化触觉效果3100 可有效地表达运动,例如从左到右运动或从右到左运动。
图32根据本发明的另一实施例示出了示例空间化触觉效果3200。 空间化触觉效果3200涉及基于空间化触觉效果定义通过逆倾斜衰减 在外围设备的多个触发致动器处输出触觉效果。空间化触觉效果3200 可有效地表达运动,例如从左到右运动或从右到左运动。在某些实施 例中,可以用可操作地耦合到用户输入元件的针对性致动器来替代触 发致动器。
图33根据本发明的另一实施例示出了示例空间化触觉效果3300。 空间化触觉效果3300涉及基于空间化触觉效果定义通过从轰鸣致动 器到触发致动器逆倾斜衰减来在外围设备的多个轰鸣和触发致动器处 输出触觉效果。空间化触觉效果3300可有效地表达运动,例如从后到 前运动。在某些实施例中,可以用可操作地耦合到用户输入元件的针 对性致动器来替代触发致动器。
图34根据本发明的另一实施例示出了示例空间化触觉效果3400。 空间化触觉效果3400涉及基于空间化触觉效果定义通过从触发致动 器到轰鸣致动器逆倾斜衰减来在外围设备的多个触发和轰鸣致动器处 输出触觉效果。空间化触觉效果3400可有效地表达运动,例如从前到 后运动。在某些实施例中,可以用可操作地耦合到用户输入元件的针 对性致动器来替代触发致动器。
图35根据本发明的另一实施例示出了示例空间化触觉效果3500。 空间化触觉效果3500涉及基于空间化触觉效果定义通过按顺时针或 逆时针顺序逆倾斜衰减来在外围设备的多个轰鸣和/或触发致动器处 输出触觉效果。空间化触觉效果3500可有效地表达运动,例如旋转运 动。在某些实施例中,可以用可操作地耦合到用户输入元件的针对性 致动器来替代触发致动器。
图36根据本发明的另一实施例示出了示例空间化触觉效果3600。 空间化触觉效果3600涉及基于空间化触觉效果定义以小延迟(例如, 大约50-100 ms)在外围设备的多个轰鸣致动器处输出触觉效果。空间 化触觉效果3600可有效地表达短效果运动,例如从左到右运动或从右 到左运动。
图37根据本发明的另一实施例示出了示例空间化触觉效果3700。 空间化触觉效果3700涉及基于空间化触觉效果定义以小延迟(例如, 大约50-100 ms)在外围设备的多个触发致动器处输出触觉效果。空间 化触觉效果3700可有效地表达短效果运动,例如从左到右运动或从右 到左运动。在某些实施例中,可以用可操作地耦合到用户输入元件的 针对性致动器来替代触发致动器。
图38根据本发明的另一实施例示出了示例空间化触觉效果3800。 空间化触觉效果3800涉及基于空间化触觉效果定义从轰鸣致动器到 触发致动器以小延迟(例如,大约50-100 ms)在外围设备的多个轰鸣 和触发致动器处输出触觉效果。空间化触觉效果3800可有效地表达短 效果运动,例如从后到前运动。在某些实施例中,可以用可操作地耦 合到用户输入元件的针对性致动器来替代触发致动器。
图39根据本发明的另一实施例示出了示例空间化触觉效果3900。 空间化触觉效果3900涉及基于空间化触觉效果定义从触发致动器到 轰鸣致动器以小延迟(例如,大约50-100 ms)在外围设备的多个触发 和轰鸣致动器处输出触觉效果。空间化触觉效果3800可有效地表达短 效果运动,例如从前到后运动。在某些实施例中,可以用可操作地耦 合到用户输入元件的针对性致动器来替代触发致动器。
图40根据本发明的另一实施例示出了示例空间化触觉效果4000。 空间化触觉效果4000涉及基于空间化触觉效果定义按顺时针或逆时 针顺序以小延迟(例如,大约50-100 ms)在外围设备的多个轰鸣和/ 或触发致动器处输出触觉效果。空间化触觉效果400可有效地表达运 动,例如旋转运动。在某些实施例中,可以用可操作地耦合到用户输 入元件的针对性致动器来替代触发致动器。
从而,在一个实施例中,可以通过基于空间化触觉效果定义仅在 左触发器上或者仅在右触发器上播放触觉效果来表达触觉效果的位 置。另外,在另一实施例中,可通过基于空间化触觉效果定义以小延 迟(例如,大约50–100 ms)在不同的致动器上播放触觉效果来表达 短效果(例如,大约50–200 ms)运动。此外,在另一实施例中,可 以通过基于空间化触觉效果定义在不同致动器上逆倾斜触觉效果来表 达长效果(例如,大约大于200 ms)运动。另外,在上述实施例中, 基于空间化触觉效果定义在不同致动器处播放相同的触觉效果。然而, 在替换实施例中,可基于空间化触觉效果定义在不同致动器处播放不 同触觉效果。
在一个实施例中,可由空间化引擎利用以下各项来表达空间化触 觉效果的距离:(1)衰减;(2)“扩散”或“分散”;和/或(3) 定时。关于衰减,空间化触觉效果定义可依据触觉效果行经的维度的 数目(例如,一个维度、二个维度、三个维度)来定义不同的触觉衰 减特性。例如,行经横杆或棒子的触觉效果可行经一个维度。作为另 一示例,行经地板或桌子的触觉效果可行经两个维度。作为另一示例, 行经地面的触觉效果可行经三个维度。另外,触觉效果的不同频率可 不同地衰减。例如,高频可以更迅速地衰减。关于“扩散”或“分散”, 由于触觉效果的幅度或强度消散在多个维度上,触觉效果可随着距离 而减弱,其中幅度的减小可以是依从于频率的。空间化引擎可混合先 前力值的窗口来减弱触觉效果。窗口大小可取决于触觉效果的距离。 关于定时,作为行经固体媒介(例如,地面)的振动触感触觉效果的 触觉效果可以比经过空气的声音行进得更快。例如,游戏中遥远的爆 炸可在爆炸的音频被听到之前在外围设备内被感觉为振动。
现在更详细描述空间化触觉效果的衰减。根据一实施例,触觉效 果在游戏应用或其他类型的软件应用内可具有位置。触觉效果的位置 可以是绝对位置,其中外围设备的用户在游戏应用或其他类型的软件 应用内也可具有位置。或者,触觉效果的位置可以是相对位置,其中 触觉效果的位置是相对于外围设备的用户在游戏应用或其他类型的软 件应用内的位置的。另外,触觉效果可随着距离而失去幅度或强度, 因为触觉效果可被游戏应用或其他类型的软件应用内的其他物体或表 面“吸收”。另外,触觉效果也可由于“扩散”或“分散”而衰减。 这种触觉效果的示例可包括:爆炸;脚步;狂奔;遥远的重型缓行车 辆(例如,火车、公共汽车、卡车、坦克);遥远的车流;间接碰撞; 或者一般间接冲击。
在一个实施例中,触觉效果的衰减可以是一维的。在触觉效果的 一维衰减中,没有“扩散”或“分散”。基于以下公式,触觉效果可 由于吸收而在每单位距离失去一定部分的幅度或强度:
y=xF-r/D
其中“y”是触觉效果的衰减的幅度或强度;“x”是触觉效果的原始 (即,未衰减)幅度或强度;“F”是参考吸收距离上的吸收因子(即, 触觉效果在参考吸收距离上衰减1/F);“r”是触觉效果行经的距离; 并且“D”是参考吸收距离。
触觉效果的一维衰减的示例可包括:来自大且宽的地下源的振动 触感触觉效果;或者行经横杆或棒子的触觉效果。
在另一实施例中,触觉效果的衰减可以是二维的。在触觉效果的 二维衰减中,由于触觉效果的幅度或强度在两个维度内“扩散”或“分 散”,与一维衰减相比,有一额外的衰减。基于以下公式,触觉效果 可由于吸收和扩散而在每单位距离失去一定部分的幅度或强度:
y = x if r R x F ( R - r ) / D ( R r ) if r > R ]]>
其中“y”是触觉效果的衰减的幅度或强度;“x”是触觉效果的原始 (即,未衰减)幅度或强度;“F”是参考吸收距离上的吸收因子(即, 触觉效果在参考吸收距离上衰减1/F);“r”触觉效果行经的距离; “D”是参考吸收距离;并且“R”是触觉效果的半径。
触觉效果的二维衰减的示例可包括:触觉效果行过地板或桌子; 源自公路车流的振动触感触觉效果;经过的火车、运输、狂奔、或者 来自某个其他长的地平面源;或者来自长且窄的地下源的振动触感触 觉效果。
在另一实施例中,触觉效果的衰减可以是三维的。在触觉效果的 三维衰减中,由于触觉效果的幅度或强度在三个维度内“扩散”或“分 散”,与二维衰减相比,有一额外的衰减。基于以下公式,触觉效果 可由于吸收和扩散而在每单位距离失去一定部分的幅度或强度:
y = x if r R x F ( R - r ) / D ( R r ) 2 if r > R ]]>
其中“y”是触觉效果的衰减的幅度或强度;“x”是触觉效果的原始 (即,未衰减)幅度或强度;“F”是参考吸收距离上的吸收因子(即, 触觉效果在参考吸收距离上衰减1/F);“r”是触觉效果行经的距离; “D”是参考吸收距离;并且“R”是触觉效果的半径。
触觉效果的三维衰减的示例包括触觉效果从较小的源(例如点) 行经地面。
根据一实施例,可利用以下公式来表示一般衰减:
y = x if r R x F ( R - r ) / D ( R r ) P if r > R ]]>
其中“y”是触觉效果的衰减的幅度或强度;“x”是触觉效果的原始 (即,未衰减)幅度或强度;“F”是参考吸收距离上的吸收因子(即, 触觉效果在参考吸收距离上衰减1/F);“r”是触觉效果行经的距离; “D”是参考吸收距离;“R”是触觉效果的半径;并且“P”是扩散 指数(例如,对于一维扩散是0;对于二维扩散是1;对于三维扩散是 2;等等)。
现在更详细描述空间化触觉效果的流动。根据一实施例,空间化 触觉效果可具有速度(即,速率和方向)。空间化触觉效果的速度可 被标识为“流动”。在一个实施例中,可以生成整体触觉效果,其中 触觉效果包括多个触觉效果成分,其中每个触觉效果成分对应于用于 外围设备的多个致动器中的一个致动器。每个触觉效果成分可被致动 器播放以生成整体触觉效果,其中整体触觉效果表达“流动”。空间 化触觉效果的一个示例是“嗖嗖”触觉效果,其是从一组致动器移动 到另一组的触觉效果。嗖嗖触觉效果的示例可包括:附近经过的车辆; 附近的嗖嗖的子弹;一般的附近经过的物体。空间化触觉效果的另一 个示例是“弹跳”触觉效果,其是在两组致动器之间反复弹跳的触觉 效果。弹跳触觉效果的示例可包括:咒语集结;或者能量集结。空间 化触觉效果的另一个示例是“旋转”触觉效果,其是在控制器、游戏 手柄或其他外围设备内或者在游戏内的用户周围顺时针或逆时针旋转 的触觉效果。旋转触觉效果的示例可包括:咒语集结;能量集结; “spin-o-rama”;或者涡流。
图41根据本发明的另一实施例示出了示例空间化触觉效果4100。 空间化触觉效果4100涉及在外围设备的多个致动器处输出与不同触 觉效果成分相对应的不同触觉效果,其中,基于空间化触觉效果定义, 在一致动器处与触觉效果成分相对应的触觉效果的重放可被延迟。另 外,触觉效果的与重叠的触觉效果成分相对应的部分在各个致动器处 可被倾斜。速度可基于以下公式来决定延迟:
delay = delay _ factor speed ]]>
根据一实施例,空间化触觉效果可具有方向。方向可决定使用哪 些致动器来生成空间化触觉效果。
图42根据本发明的实施例示出了基于触觉效果4200的方向在致 动器之间分布触觉效果4200的示例。根据该实施例,基于空间化触觉 效果定义,可在多个致动器(例如,左触发致动器;右触发致动器; 左(大)轰鸣致动器;以及右(小)致动器)之间分布触觉效果4200, 其中空间化触觉效果定义可限定触觉效果4200的方向。例如,如果空 间化触觉效果定义限定了右方向或“东”方向,则可在右(小)轰鸣 致动器和右触发致动器处播放触觉效果4200。如果空间化触觉效果定 义限定了右上方向,或者“东北”方向,则可以仅在右触发致动器处 播放触觉效果4200。如果空间化触觉效果定义限定了上方向,或者 “北”方向,则可以仅在左触发致动器和右触发致动器处播放触觉效 果4200。如果空间化触觉效果定义限定了左上方向,或者“西北”方 向,则可以仅在左触发致动器处播放触觉效果4200。如果空间化触觉 效果定义限定了左方向或“西”方向,则可在左(大)轰鸣致动器和 左触发致动器处播放触觉效果4200。如果空间化触觉效果定义限定了 左下方向,或者“西南”方向,则可以仅在左(大)轰鸣致动器处播 放触觉效果4200。如果空间化触觉效果定义限定了下方向或“南”方 向,则可在左(大)轰鸣致动器和右(小)轰鸣致动器处播放触觉效 果4200。如果空间化触觉效果定义限定了右下方向,或者“东南”方 向,则可以仅在右(小)轰鸣致动器处播放触觉效果4200。另外,如 果空间化触觉效果定义限定了上述八个方向之一之间的方向,则可以 在两个致动器处播放触觉效果4200,但其中触觉效果4200的幅度在 致动器之一处被减弱。例如,如果空间化触觉效果限定了上方向和左 上方向之间的方向,即“西北偏北方向”,则可在左触发致动器和右 触发致动器处播放触觉效果4200,其中在右触发致动器处减弱触觉效 果4200的幅度。
另外,在一个实施例中,空间化引擎可以在运行时使空间化触觉 效果指向左触发致动器或右触发致动器。这种空间化触觉效果的示例 包括在赛车游戏中体验左或右停车振动带;或者在拳击游戏中中体验 左拳击或右拳击。
图43根据本发明的实施例示出了触觉空间化模块(例如图1的触 觉空间化模块16)的功能的流程图。在一个实施例中,图43的功能 是由存储在存储器或其他计算机可读或有形介质中并且由处理器执行 的软件来实现的。在其他实施例中,功能可由硬件执行(例如通过使 用专用集成电路(“ASIC”)、可编程门阵列(“PGA”)、现场可 编程门阵列(“FPGA”)等等),或者由硬件和软件的任何组合执 行。在某些实施例中,可以省略一些功能。
流程开始并前进到4310。在4310,接收触觉效果定义。触觉效果 定义包括触觉数据。流程随后前进到4320。
在4320,接收空间化数据。空间化数据可包括一个或多个空间化 参数。一个或多个空间化参数可包括以下各项中的至少一者:触觉效 果的位置;触觉效果的距离;触觉效果的速度;触觉效果的方向;或 者触觉效果的流动。流程随后前进到4330。
在4330,基于接收到的空间化数据来修改触觉效果定义。在某些 实施例中,触觉效果定义可被划分成一个或多个触觉效果定义成分。 在这些实施例的一些之中,可以基于空间化数据来对以下各项中的至 少一者进行缩放或衰减:至少一个触觉效果定义成分的触觉数据的幅 度;至少一个触觉效果定义成分的触觉数据的频率;或者至少一个触 觉效果定义成分的触觉效果数据的持续时间。在其他实施例中,可以 使得至少一个触觉输出设备基于空间化数据来延迟至少一个触觉效果 的重放。在某些实施例中,一个或多个触觉效果定义成分可以是不同 的。在其他实施例中,一个或多个触觉效果定义成分可以是相同的。 在某些实施例中,可以检测外围设备的运动、位置变化或取向变化, 可以基于检测到的运动来修改触觉数据,并且随后可基于经修改的空 间化数据来修改经修改的触觉效果定义。流程随后前进到4340。
在4340,触觉指令和经修改的触觉效果定义被发送到外围设备。 在某些实施例中,一个或多个触觉效果定义成分也可被发送到外围设 备。在某些实施例中,外围设备可以是控制器或游戏手柄。在经修改 的触觉效果定义随后被修改的实施例中,随后修改的触觉效果定义可 被发送到外围设备。流程随后前进到4350。
在4350,触觉指令使得一个或多个触觉输出设备在外围设备处基 于经修改的触觉效果定义产生一个或多个触觉效果。在某些实施例中, 触觉指令可使得一个或多个触觉输出设备基于一个或多个触觉效果定 义成分产生一个或多个触觉效果。另外,在某些实施例中,触觉指令 可使得一个或多个触觉输出设备在外围设备的一个或多个用户输入元 件处产生一个或多个触觉效果。在某些实施例中,至少一个用户输入 元件可以是以下之一:数字按钮;模拟按钮;减震器;方向手柄;模 拟或数字摇杆;驱动轮;或者触发器。另外,在某些实施例中,至少 一个触觉输出设备可以是致动器。在经修改的触觉效果定义随后被修 改的实施例中,触觉指令使得一个或多个触觉输出设备在外围设备处 基于随后修改的触觉效果定义来产生一个或多个经修改的触觉效果。
在某些实施例中,触觉指令可使得多个致动器基于经修改的触觉 效果定义以多个不同的衰减来输出一个或多个触觉效果。在其他实施 例中,触觉指令可使得多个致动器基于经修改的触觉效果定义通过逆 倾斜衰减来输出一个或多个触觉效果。在其他实施例中,触觉指令可 使得多个轰鸣致动器和针对性致动器基于经修改的触觉效果定义通过 从轰鸣致动器到针对性致动器逆倾斜衰减来输出一个或多个触觉效 果。在其他实施例中,触觉指令可使得多个轰鸣致动器和针对性致动 器基于经修改的触觉效果定义通过从针对性致动器到轰鸣致动器逆倾 斜衰减来输出一个或多个触觉效果。在其他实施例中,触觉指令可使 得多个致动器基于经修改的触觉效果定义带有延迟地输出一个或多个 触觉效果。在其他实施例中,触觉指令可使得多个轰鸣致动器和触发 致动器基于经修改的触觉效果定义从轰鸣致动器到针对性致动器带有 延迟地输出一个或多个触觉效果。在其他实施例中,触觉指令可使得 多个轰鸣致动器和触发致动器基于经修改的触觉效果定义从针对性致 动器到轰鸣致动器带有延迟地输出一个或多个触觉效果。在其他实施 例中,触觉指令可使得多个致动器基于经修改的触觉效果定义按顺时 针或逆时针顺序带有延迟地输出一个或多个触觉效果。流程随后结束。
从而,在一个实施例中,系统可提供在诸如控制器或游戏手柄之 类的外围设备处体验到的空间化触觉效果。通过生成空间化触觉效果, 系统可生成在外围设备的每个马达或致动器处缩放或延迟的触觉效 果,从而使得空间化触觉效果包括距离、方向性和/或流动的感觉。通 过把在外围设备处体验到的空间化触觉反馈、尤其是在外围设备的用 户输入元件——例如触发器——处体验到的空间化触觉反馈包含到由 系统执行的游戏应用中,可以提供更逼真并且有沉浸感的游戏体验。
在一个实施例中,提供一种用于控制在外围设备处体验到的触觉 效果的方法,所述方法可包括:接收包括触觉数据的触觉效果定义; 接收包括以下各项中的至少一者的空间化数据:所述触觉效果的位置; 所述触觉效果的距离;所述触觉效果的速度;所述触觉效果的方向; 和所述触觉效果的流动;基于接收到的空间化数据来修改所述触觉效 果定义;将触觉指令和经修改的触觉效果定义发送到所述外围设备; 以及使得一个或多个触觉输出设备响应于所述触觉指令在所述外围设 备处基于经修改的触觉效果定义产生一个或多个触觉效果。
在该实施例的一个示例中,其中,修改触觉效果定义可包括将所 述触觉效果定义划分成一个或多个触觉效果定义成分;其中,发送触 觉指令和经修改的触觉效果定义可包括将所述一个或多个触觉效果定 义成分发送到所述外围设备;其中,使得一个或多个触觉输出设备基 于经修改的触觉效果定义产生一个或多个触觉效果可包括使得所述一 个或多个触觉输出设备基于所述一个或多个触觉效果定义成分来产生 所述一个或多个触觉效果。
在该实施例的一个示例中,所述方法还可包括:基于所述空间化 数据来对以下各项中的至少一者进行缩放:至少一个触觉效果定义成 分的触觉数据的幅度;至少一个触觉效果成分的触觉数据的频率;和 至少一个触觉效果成分的触觉数据的持续时间。
在该实施例的一个示例中,所述方法还可包括:基于所述空间化 数据来对以下各项中的至少一者进行衰减:至少一个触觉效果定义成 分的触觉数据的幅度;至少一个触觉效果定义成分的触觉数据的频率; 和至少一个触觉效果定义成分的触觉数据的持续时间。
在该实施例的一个示例中,所述方法还可包括:使得至少一个触 觉输出设备基于所述空间化数据来延迟至少一个触觉效果的重放。
在该实施例的一个示例中,其中,所述一个或多个触觉效果定义 成分可以是不同的。
在该实施例的一个示例中,其中,所述一个或多个触觉效果定义 成分可以是相同的。
在该实施例的一个示例中,其中,所述外围设备可包括控制器或 游戏手柄。
在该实施例的一个示例中,其中,使得一个或多个触觉输出设备 产生一个或多个触觉效果可包括使得所述一个或多个触觉输出设备在 所述外围设备的一个或多个用户输入元件处产生所述一个或多个触觉 效果。
在该实施例的一个示例中,其中,至少一个用户输入元件可包括 以下各项之一:数字按钮;模拟按钮;减震器;方向手柄;模拟或数 字摇杆;驱动轮;和触发器。
在该实施例的一个示例中,其中,至少一个触觉输出设备可包括 致动器。
在该实施例的一个示例中,其中,使得一个或多个触觉输出设备 基于经修改的触觉效果定义产生一个或多个触觉效果可包括基于经修 改的触觉效果定义以多个不同的衰减在多个致动器处输出所述一个或 多个触觉效果。
在该实施例的一个示例中,其中,使得一个或多个触觉输出设备 基于经修改的触觉效果定义产生一个或多个触觉效果可包括基于经修 改的触觉效果定义通过逆倾斜衰减来在多个致动器处输出所述一个或 多个触觉效果。
在该实施例的一个示例中,其中,使得一个或多个触觉输出设备 基于经修改的触觉效果定义产生一个或多个触觉效果可包括基于经修 改的触觉效果定义通过从轰鸣致动器到针对性致动器逆倾斜衰减来在 多个轰鸣致动器和针对性致动器处输出所述一个或多个触觉效果。
在该实施例的一个示例中,其中,使得一个或多个触觉输出设备 基于经修改的触觉效果定义产生一个或多个触觉效果可包括基于经修 改的触觉效果定义通过从针对性致动器到轰鸣致动器逆倾斜衰减来在 多个轰鸣致动器和针对性致动器处输出所述一个或多个触觉效果。
在该实施例的一个示例中,其中,使得一个或多个触觉输出设备 基于经修改的触觉效果定义产生一个或多个触觉效果可包括基于经修 改的触觉效果定义带有延迟地在多个致动器处输出所述一个或多个触 觉效果。
在该实施例的一个示例中,其中,使得一个或多个触觉输出设备 基于经修改的触觉效果定义产生一个或多个触觉效果可包括基于经修 改的触觉效果定义从轰鸣致动器到针对性致动器带有延迟地在多个轰 鸣致动器和针对性致动器处输出所述一个或多个触觉效果。
在该实施例的一个示例中,其中,使得一个或多个触觉输出设备 基于经修改的触觉效果定义产生一个或多个触觉效果可包括基于经修 改的触觉效果定义从针对性致动器到轰鸣致动器带有延迟地在多个轰 鸣致动器和针对性致动器处输出所述一个或多个触觉效果。
在该实施例的一个示例中,其中,使得一个或多个触觉输出设备 基于经修改的触觉效果定义产生一个或多个触觉效果可包括基于经修 改的触觉效果定义按顺时针或逆时针顺序带有延迟地在多个致动器处 输出所述一个或多个触觉效果。
在该实施例的一个示例中,其中,修改触觉效果定义可包括检测 所述外围设备的运动、位置变化或取向变化,基于检测到的运动、检 测到的位置变化或检测到的取向变化来修改所述空间化数据,并且随 后基于经修改的空间化数据来修改经修改的触觉效果定义;其中,发 送触觉指令和经修改的触觉效果定义可包括将随后修改的触觉效果定 义发送到所述外围设备;其中,使得一个或多个触觉输出设备基于经 修改的触觉效果定义产生一个或多个触觉效果可包括使得所述一个或 多个触觉输出设备基于随后修改的触觉效果定义来产生一个或多个经 修改的触觉效果。
在本说明书各处描述的本发明的特征、结构或特性可在一个或多 个实施例中按任何适当的方式被组合。例如,在本说明书各处对“一 个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或 其他类似语言的使用指的是如下事实:联系该实施例描述的特定特征、 结构或特性可被包括在本发明的至少一个实施例中。从而,在本说明 书各处出现的短语“一个实施例”、“一些实施例”、“某个实施例”、 “某些实施例”或其他类似语言不一定都指同一组实施例,并且所描 述的特征、结构或特性可在一个或多个实施例中按任何方式被组合。
本领域普通技术人员将容易理解,如上所述的本发明可以以具有 不同顺序的步骤来实现,和/或以具有与所公开的那些不同的配置的元 素来实现。因此,虽然已基于这些优选实施例描述了本发明,但本领 域技术人员将清楚,在维持在本发明的精神和范围内的同时,某些修 改、变化和替换构造将是明显的。因此,为了确定本发明的界限和范 围,应当参考所附权利要求。

触觉空间化系统.pdf_第1页
第1页 / 共81页
触觉空间化系统.pdf_第2页
第2页 / 共81页
触觉空间化系统.pdf_第3页
第3页 / 共81页
点击查看更多>>
资源描述

《触觉空间化系统.pdf》由会员分享,可在线阅读,更多相关《触觉空间化系统.pdf(81页珍藏版)》请在专利查询网上搜索。

涉及触觉空间化系统。提供了一种控制在外围设备处体验到的触觉效果的系统。该系统接收包括触觉数据的触觉效果定义。该系统还接收空间化数据,该空间化数据包括:触觉效果的距离;触觉效果的方向;或者触觉效果的流动。该系统还包括基于接收到的空间化数据来修改触觉效果定义。该系统还包括将触觉指令和经修改的触觉效果定义发送到外围设备。该系统还包括使得一个或多个触觉输出设备响应于触觉指令在外围设备处基于经修改的触觉效果。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1