CN104635921B - 触觉触发控制方法、***及计算机可读介质 - Google Patents

触觉触发控制方法、***及计算机可读介质 Download PDF

Info

Publication number
CN104635921B
CN104635921B CN201410641497.5A CN201410641497A CN104635921B CN 104635921 B CN104635921 B CN 104635921B CN 201410641497 A CN201410641497 A CN 201410641497A CN 104635921 B CN104635921 B CN 104635921B
Authority
CN
China
Prior art keywords
haptic
trigger
data
haptic effect
effect definition
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.)
Expired - Fee Related
Application number
CN201410641497.5A
Other languages
English (en)
Other versions
CN104635921A (zh
Inventor
R·拉克罗伊克斯
D·格兰特
H·达考斯塔
S·D·兰克
D·伯恩鲍姆
W·瑞赫恩
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.)
Immersion Corp
Original Assignee
Immersion Corp
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 Immersion Corp filed Critical Immersion Corp
Publication of CN104635921A publication Critical patent/CN104635921A/zh
Application granted granted Critical
Publication of CN104635921B publication Critical patent/CN104635921B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • A63F13/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/54Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/302Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device specially adapted for receiving control signals not targeted to a display device or game input means, e.g. vibrating driver's seat, scent dispenser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/015Force feedback applied to a joystick

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

提供了触觉触发控制***。更具体而言,提供了一种控制在触发器处体验到的触觉效果的***。该***接收包括触觉数据的触觉效果定义。该***还接收包括以下各项中的至少一者的触发数据:***设备的触发器的位置;或者***设备的触发器的范围。该***还基于接收到的触发数据来判定是否达到触发条件。该***还在达到触发条件时向***设备发送触觉指令和触觉效果定义。该***还使得触觉输出设备(或者多个触觉输出设备)响应于触觉指令在***设备处产生基于触觉效果定义的触觉效果。

Description

触觉触发控制方法、***及计算机可读介质
相关申请的交叉引用
本申请要求2013年11月14日递交的序列号为61/904,342的美国临时专利申请的优先权,特此通过引用并入该申请的公开内容。
技术领域
一个实施例概括而言涉及设备,更具体而言涉及产生触觉效果 (haptic effect)的设备。
背景技术
视频游戏和视频游戏***已变得极为流行。视频游戏设备或控制器通常使用视觉和听觉线索来向用户提供反馈。在一些接口设备中,还向用户提供动觉反馈(例如作用力和阻力反馈)和/或触感反馈(例如振动、纹理和热量),它们更概括而言被统称为“触觉反馈”或“触觉效果”。触觉反馈可提供增强并简化用户与视频游戏控制器或其他电子设备的交互的线索。具体而言,振动效果或者说振动触感触觉效果在向视频游戏控制器或其他电子设备的用户提供线索以就特定事件提醒用户或者提供逼真的反馈以产生在仿真或虚拟环境内的更强的感官沉浸方面可能是有用的。
用户在其中与用户输入元件交互以引起动作的其他设备,例如医疗设备、汽车控制器、遥控器和其他类似设备,也受益于触觉反馈或触觉效果。作为示例而非限制,医疗设备上的用户输入元件可被用户在医疗设备的近端部在患者的身体外加以操作以在医疗设备的远端处在患者的身体内引起动作。可以使用触觉反馈或触觉效果来就特定事件提醒用户,或者向用户提供关于医疗设备在医疗设备的远端与患者的交互的逼真反馈。
发明内容
一个实施例是一种控制在***设备处体验到的触觉效果的***。该***接收包括触觉数据的触觉效果定义。该***还接收包括以下各项中的至少一者的触发数据:***设备的触发器的位置;或者***设备的触发器的范围。该***还基于接收到的触发数据来判定是否达到触发条件。该***还在达到触发条件时向***设备发送触觉指令和触觉效果定义。该***还使得触觉输出设备(或者多个触觉输出设备) 响应于触觉指令在***设备处产生基于触觉效果定义的触觉效果。
附图说明
更多实施例、细节、优点和修改将通过以下要结合附图来理解的对优选实施例的详细描述而变清楚。
图1示出了根据本发明的一个实施例的***的框图。
图2根据本发明的实施例示出了一种控制器。
图3根据本发明的实施例示出了图2的控制器的另一视图。
图4根据本发明的实施例示出了控制器结合主机计算机和显示器的框图。
图5根据本发明的实施例示出了***的触发触觉效果软件栈的框图。
图6根据本发明的实施例示出了用于设计触发触觉效果的示例用户界面。
图7根据本发明的实施例示出了用于设计触发触觉效果的组件的框图。
图8根据本发明的实施例示出了用于创作用于直接重放的触发触觉效果的组件的框图和用于保存该触发触觉效果的组件的框图。
图9根据本发明的实施例示出了用于创作用于交越重放 (crossover playback)的触发触觉效果的组件的框图和用于保存该触发触觉效果的组件的框图。
图10根据本发明的实施例示出了用于直接播放触发触觉效果的组件的框图。
图11根据本发明的实施例示出了用于利用可编程的交越来播放触发触觉效果的组件的框图。
图12根据本发明的实施例示出了触发触觉效果的示例四声道直接重放。
图13根据本发明的实施例示出了触发触觉效果的示例交越重放。
图14根据本发明的实施例示出了触发引擎的示例用户界面。
图15根据本发明的实施例示出了空间化引擎的示例用户界面。
图16根据本发明的实施例示出了触发触觉效果应用编程接口的体系结构图。
图17根据本发明的实施例示出了产生触发触觉效果的固件的体系结构图。
图18根据本发明的实施例示出了用于控制器的示例方向性模型。
图19根据本发明的实施例示出了触发触觉效果固件栈的框图。
图20根据本发明的实施例示出了提供在控制器的触发器处体验到的触发触觉效果的***的体系结构图。
图21根据本发明的实施例示出了用于预览和修改触发触觉效果的示例用户界面。
图22根据本发明的实施例示出了用于将音频信号转换成触发触觉效果的示例用户界面。
图23根据本发明的实施例示出了用于基于对象参数来创建触发触觉效果的示例用户界面。
图24根据本发明的实施例示出了预览触发触觉效果的***的体系结构图。
图25根据本发明的实施例示出了产生触发触觉效果的***的体系结构图。
图26根据本发明的实施例示出了产生触发触觉效果的固件的体系结构图。
图27根据本发明的实施例示出了示例音频体系结构。
图28根据本发明的实施例示出了将音频效果转换成触发触觉效果的示例音频驱动器。
图29根据本发明的实施例示出了以第一格式生成触发触觉效果,其以第二格式再创建触发触觉效果。
图30根据本发明的实施例示出了另一种以第一格式生成触发触觉效果,其以第二格式再创建触发触觉效果。
图31根据本发明的实施例示出了触觉触发控制模块的功能的流程图。
图32根据本发明的实施例示出了驻留在API或库中的示例空间化引擎。
图33根据本发明的实施例示出了驻留在控制器中的示例空间化引擎。
具体实施方式
一个实施例是一种提供在诸如游戏控制器或游戏手柄之类的***设备处体验到的触觉反馈的***。例如,该***可提供在控制器的触发器或者某种其他***设备处体验到的触发触觉效果。触发触觉效果可补充也在控制器或其他***设备处体验到的轰鸣(rumble)触觉效果。作为另一示例,***可提供在控制器、游戏手柄或其他***设备的用户输入元件处体验到的一般触觉效果。可以创造许多种触觉反馈感觉,例如止动(detent)、振动、纹理以及刚度。触觉反馈感觉可补充也可由***执行的游戏应用,或者其他软件应用。触觉反馈感觉可适用于特定种类的游戏,例如:第一人称射手;幻想/角色扮演;竞赛;或者体育。在替换实施例中,诸如游戏控制器或游戏手柄之类的***设备可以在***设备的手柄上分离相隔离的振动区域。
***可首先接收触觉效果定义。***可进一步接收触发数据,例如触发器的位置和/或范围,或者来自触发器或者其他用户输入元件 (例如摇杆)的位置信息。这种触发数据的示例可包括将触发器放置在特定位置,将触发器挥扫过特定位置,将触发器放置在特定范围内,或者将触发器挥扫过特定范围。***可基于接收到的触发数据来修改触觉效果定义。***可以可选地进一步基于空间化数据来修改触觉效果定义,空间化数据例如是基于触觉效果定义的触觉效果的方向和/ 或流动。***随后可使得控制器、游戏手柄或其他***设备的一个或多个马达或致动器基于经修改的触觉效果定义来播放或以其他方式输出触觉反馈,从而使得触觉反馈被体验到。换言之,***可使得控制器、游戏手柄或其他***设备基于触觉效果定义来重放触觉效果。如本领域普通技术人员所理解的,“重放”是再现数据(例如,音频数据、视频数据或触觉数据)的动作或实例。从而,在一个示例中,***可使得整体触发触觉效果在控制器的触发器处被体验到。
在一个实施例中,***可包括数个可被选择的触觉预设,例如触发触觉效果预设。***可包括触觉预设的综合库。可在图形用户界面内修改每个选择的触觉效果预设。可在游戏应用或其他软件应用的执行内编译并执行经修改的触觉效果预设,其中在该游戏应用或其他软件应用中,控制器、游戏手柄或其他***设备可产生触觉效果,例如触发触觉效果。
在另一实施例中,***可包括手动内容驱动工具组。该工具组允许用户与音频效果定义一起设计触觉效果定义。***随后可将触觉效果定义编码到可具有音频格式或者可与音频文件一起存储的触觉文件中。驻留在控制器、游戏手柄或其他***设备中的解码器随后可对经编码的触觉效果定义解码。另外,设计的触觉效果定义可被加载到触发引擎和/或空间化引擎中,以便基于设计的触觉效果定义来发动触觉效果。触发引擎可允许触觉效果发动被映射到触发运动或其他触发行为,并且空间化引擎可四处移动每个触觉效果以创造触觉效果源自于特定方向的感觉。可在离线工具中提供触发引擎和/或空间化引擎,在这里用户可以与这些引擎以图形方式交互,并且一旦触觉效果被加载到引擎中就可在其手中感受控制器、游戏手柄或其他***设备内的触觉重放。
在另一实施例中,***可包括自动内容驱动工具组。该工具组可自动地将音频效果定义转换成触觉效果定义。该工具组可以以音频文件的形式接收音频效果定义。该工具组可修改一个或多个参数以控制音频效果定义到触觉效果定义的转换。作为示例,一个或多个参数可包括:(a)音频文件参数,其标识包含要转换的音频效果定义的音频文件;(b)转换控制参数,其定义音频效果定义的音频数据如何被分割到两个或更多个不同的频率带中,这些频率带随后被应用到两个或更多个不同的输出(例如,低轰鸣马达或致动器;中轰鸣马达或致动器;以及触发马达或致动器);(c)动态参数,其控制从音频效果定义映射到触觉效果定义的幅度,并且可根据需要调整噪声基底和动态范围(伸展或压缩动态);以及(d)控制触觉效果定义的最终幅度(或强度)的幅度(或强度)参数。在替换实施例中,代替接收音频效果定义,该工具组可接收可被转换成触觉效果定义的触觉指令。该触觉指令可采取由游戏应用接收的玩游戏参数,诸如,可以确定触觉效果的持续时间的在游戏内来自武器的射击速率,可以确定视觉效果的开始点和结束点的在游戏内动画中的关键帧,用于触觉效果的轴上的方向性的动画数据,可以确定视觉效果的幅度的在游戏内武器的伤害量等。另外,如前所述,经转换的触觉效果定义可被加载到触发引擎和/或空间化引擎中,以便基于设计的触觉效果定义来发动触觉效果。如前所述,可在离线工具中提供触发引擎和/或空间化引擎。
在另外一个实施例中,***可包括触觉效果工作室引擎。可提供触觉效果工作室来允许用户为特定的马达或致动器定义触觉效果定义。如前所述,设计的触觉效果定义可被加载到触发引擎和/或空间化引擎中,以便基于设计的触觉效果定义来发动触觉效果。如前所述,可在离线工具中提供触发引擎和/或空间化引擎。
图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只是与当前可用于视频游戏控制台***的许多“游戏手柄”具有类似的形状和大小的控制器的一个示例实施例,例如
Figure BDA0000607350040000101
Xbox OneTM控制器或者
Figure BDA0000607350040000102
DualShockTM控制器,并且将会认识到,可以使用具有用户输入元件的其他配置、形状和大小的控制器,包括但不限于诸如WiiTM遥控或WiiTMU控制器、
Figure BDA0000607350040000103
SixAxisTM控制器或
Figure BDA0000607350040000104
Wand控制器之类的控制器,以及形状设置为真实世界物体(例如网球拍、高尔夫球杆、棒球棒等等)和其他形状的控制器,或者具有显示器或者头盔式显示器的控制器。
控制器100包括若干个用户输入元件,其中包括模拟或数字摇杆 110、按钮114和触发器118。当在本文中使用时,用户输入元件指的是被用户操纵以与主机计算机104交互的接口设备,例如触发器、按钮、模拟或数字摇杆等等。如从图2和图3中可见,以及如本领域技术人员已知的,在控制器100上可包括多于一个每种用户输入元件,并且可包括额外的用户输入元件。因此,例如,当前对于触发器118 的描述不将控制器100限于单个触发器。另外,图4的框图只示出了模拟或数字摇杆110、按钮114和触发器118的每一者中的一(1)个。然而,本领域技术人员将会理解,可以使用多个模拟或数字摇杆、按钮和触发器以及其他用户输入元件,如上所述。
从图4的框图中可见,控制器100包括针对性致动器或马达以直接驱动其用户输入元件中的每一个,并且在用户的手部一般所在的位置包括可操作地耦合到壳体102的一个或多个一般或轰鸣致动器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提供定向的或针对性的动觉效果。这种针对性动觉效果与沿着控制器的整个主体的由一般致动器122、124产生的一般或轰鸣触觉效果是可辨别或者可区分的。总体触觉效果向用户提供了在游戏中的更大沉浸感,因为同时采用了多种形态,例如视频、音频和触觉。被配置为产生触觉的控制器的更多细节在2014年4月22日递交的标题为“GAMINING DEVICEHAVING 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”)。触发触觉效果API504包括一组计算机可读函数或例程,这些函数或例程被暴露于游戏输入管理代码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与直接重放/交越505、触发引擎506和空间化引擎507交互,并且还可根据由游戏输入管理代码501调用的请求来管理直接重放/交越 505、触发引擎506和空间化引擎507。另外,触发触觉效果API504 可存储与***固件510的通信所需要的以及一个或多个触发触觉效果的生成所需要的数据。在替换实施例中,触发触觉效果API 504可驻留在***固件510内而不是设备500内。在下文中结合图16来更详细地进一步描述触发触觉效果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内。在下文中结合图14来更详细地进一步描述触发引擎 506。
设备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内。在下文中结合图15、图32和图33来更详细地进一步描述空间化引擎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 可以是由AvidTechnology,Inc.出品的“Pro
Figure BDA0000607350040000191
”。***可进一步使用单端***越音频流输入/输出(audio stream input/output,“ASIO”)驱动器710或四端口ASIO驱动器720来对触觉效果定义或音频效果定义进行流传输。单端***越驱动器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.出品的“Pro
Figure BDA0000607350040000211
”。
一旦***的用户已利用音频创作组件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 AudioFile,“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;可利用具有60Hz的值的峰值/抽选滤波器来转换通道MR;并且可利用具有200Hz–2kHz的范围的峰值/抽选滤波器来转换通道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的触发引擎506)生成的一个或多个触发触觉效果。用户界面1400 还可允许用户以编程方式管理一个或多个触发触觉效果。如前所述,触发引擎可接收触发触觉效果定义并且可基于控制器的触发器的位置和/或范围来修改触发触觉效果定义。根据该实施例,用户界面1400 显示触发视图1410,其中触发视图1410是触发器的可视化。触发视图1410可显示触发器输入范围1420,其中触发器输入范围1420是触发器的有效输入范围的可视化。在图示的实施例中,触发器输入范围 1420可由范围从0到255的整数值的谱来表示。触发器驻留在触发器输入范围1420内的0的初始位置。通过按压或挤压触发器,用户可将触发器的位置调整到触发器输入范围1420内的任何有效位置。当用户释放触发器时,触发器的位置调整回到触发器输入范围1420内的位置 0。
利用用户界面1400,用户可创建一个或多个触发定义,其中触发定义限定了引起触发触觉效果被生成或修改的条件。在一些实施例中,条件可以是触发器的位置,其中该位置在触发器输入范围1420内。在其他实施例中,条件可以是触发器的范围,其中该范围在触发器输入范围1420内。用户界面1400包括阈值触发定义1430,其是触发定义的示例。阈值触发定义1430使得当触发器到达指定的位置时,基于指定的触发触觉效果定义的触发触觉效果被生成,其中指定的位置在图示的实施例中是99。阈值触发定义1430可限定触发触觉效果仅在按压触发器时生成,仅在释放触发器时生成,或者在按压和释放触发器时都生成。在替换实施例中,阈值触发定义1430可以被位置触发定义所替代,位置触发定义使得基于指定的触发触觉效果定义的触发触觉效果仅在触发器驻留在指定位置时而不仅仅是到达指定位置时被生成。用户界面1400还包括范围触发定义1440,其是触发定义的另一示例。范围触发定义1440使得当触发器到达指定的范围时,基于指定的触发触觉效果定义的触发触觉效果被生成,其中指定的范围在图示的实施例中是164到255。
图15根据本发明的实施例示出了空间化引擎的示例用户界面 1500。用户界面1500是可编辑的可视区域,其能够可视化原本由触发引擎(例如图5的触发引擎506)生成并且由空间化引擎(例如图5 的空间化引擎507)进一步修改的触发触觉效果。用户界面1500还可允许用户以编程方式管理空间化引擎对触发触觉效果的一个或多个修改。这种修改还可被记录以便将来进行动态重放。如前所述,空间化引擎可修改原本由触发引擎生成的触觉效果定义,以便对于控制器的一个或多个针对性马达、针对性致动器、轰鸣马达或轰鸣致动器来缩放触发触觉效果。更具体而言,空间化引擎可修改应用到每个针对性马达、针对性致动器、轰鸣马达或轰鸣致动器的触觉效果定义,以传达由控制器的用户体验到的触发触觉效果的方向的感觉。对触觉效果定义的每个修改可基于由空间化引擎定义的触发触觉效果的期望方向和/或流动。另外,每个修改也可基于由控制器接收的输入,其中该输入指示出用户的手部在控制器上的位置。从而,空间化引擎可接收原本由触发引擎生成的触觉效果定义,并且可基于触发触觉效果的“空间化”方面(例如,触发触觉效果的位置和/或流动)来修改触觉效果定义。在替换实施例中,空间化引擎可修改原始触觉效果定义(与由原本由触发引擎生成的触觉效果定义生成的相反),使得对于控制器的一个或多个针对性马达、针对性致动器、轰鸣马达或轰鸣致动器来缩放触觉效果。
用户界面1500包括流动1510。流动1510允许用户以编程方式管理触发触觉效果的流动。流动是一种时间性的重放开始偏移量修改,以在控制器的个体针对性马达、针对性致动器、轰鸣马达或轰鸣致动器上延迟重放。或者,流动可以是持续时间修改,以修改在控制器的针对性马达、针对性致动器、轰鸣马达或轰鸣致动器处体验到的触觉效果的持续时间。例如,可以定义流动,以使得触觉重放首先在左针对性马达或针对性致动器上开始,然后在中间轰鸣马达或轰鸣致动器上开始,随后进一步在右针对性马达或针对性致动器上开始。在此示例中,整体触发触觉效果的流动是左到右,因为控制器的用户首先在触发器的左侧体验到整体触发触觉效果的触觉重放,然后在控制器的中间体验到,再然后在控制器的右侧体验到。流动可以是从左到右或者反之,从前到后或者反之,或者这两者的组合。从而,流动可以定义触觉重放向量。流动1510可在用户界面1500内被可视化为可在用户界面1500内水平、垂直或者对角放置的箭头。从而,通过与流动 1510交互,用户可修改应用到控制器的各种马达或致动器的一个或多个延迟以错开触觉重放。
用户界面1500还包括方向1520。方向1520允许用户以编程方式修改触发触觉效果的方向。方向是一种幅度(或强度)修改,以在控制器的各种马达或致动器之间强调前后和/或左右偏置(或平衡)。或者,方向可以是频率修改。例如,可以定义方向,以使得触发触觉效果的触觉重放在控制器的右侧最强。方向1520可在用户界面1500内被可视化为由两个轴限定的二维网格或空间内的一点。从而,通过与方向1520交互,用户可修改应用到各种马达或致动器的幅度(或强度) 以强调左右和/或前后偏置(或平衡)。
用户界面1500还包括强度1530。强度1530允许用户在重放之前或重放期间以编程方式修改整体触发触觉效果的幅度(或强度)。强度1530可在用户界面1500内被可视化为滑动条。从而,通过与强度 1530交互,用户可修改触发触觉效果的整体幅度(或强度)。用户界面1500还包括播放速度1540。播放速度1540允许用户以编程方式修改***(例如图1的***10)处理触发触觉效果的触发触觉效果定义以便重放触发触觉效果的播放速度或速率。播放速度1540可在用户界面1500内被可视化为滑动条。从而,通过与播放速度1540交互,用户可修改触发触觉效果的播放速度或速率。用户界面1500还包括循环 1550。循环1550允许用户以编程方式修改触发触觉效果的重放是否循环。循环1550可在用户界面1500内被可视化为按钮。从而,通过与循环1550交互,用户可控制触发触觉效果的循环。在下文中结合图 32和33来更详细地进一步描述空间化引擎的更多细节。
图16根据本发明的实施例示出了触发触觉效果API 1600的体系结构图。触发触觉效果API 1600包括一组计算机可读函数或例程,这些计算机可读函数或例程允许开发者在控制器的用户输入元件——例如触发器——处播放触觉效果,例如触发触觉效果。触发触觉效果API 可包括宏大的触觉效果库,其中包含用于许多游戏种类的预定义触觉效果定义,例如驾驶/赛车、武器/战争以及体育(例如,足球、橄榄球、棒球、高尔夫球或曲棍球)。在一个实施例中,触发触觉效果API 可包括一组C++类,并且不需要使用高级的特征,例如异常和运行时类型信息,这些特征在客户端应用中可被关闭。在替换实施例中,触发触觉效果API可使用其他语言绑定,例如C、Java或C#。另外,触发触觉效果API可以为某些游戏引擎提供插件,例如Unity 3DTM和MarmaladeTM
根据该实施例,触发触觉效果API 1600可被应用1610访问,应用1610是可在***(例如图1的***10)上执行的软件应用,例如游戏应用。另外,触发触觉效果API 1600可访问效果库1620,其中效果库1620可包括一个或多个触觉效果定义,例如触觉效果定义1621(在图16中标识为“效果1621”)。如前所述,触觉效果定义的示例是触发触觉效果定义。另外,触发触觉效果API 1600包括一个或多个设备定义,例如设备定义1601(在图16中标识为“设备1601”)。设备定义包括定义要在该处播放触觉效果的硬件设备的设备数据,该硬件设备例如是控制器、游戏手柄或者其他***设备。触发触觉效果 API 1600还包括一个或多个定时器定义,例如定时器定义1602(在图 16中标识为“定时器1602”)。定时器定义包括定义如下时间段的定时器数据:在该时间段中,注册到特定硬件设备的所有触觉效果定义被更新。触发触觉效果API 1600还包括触发器定义1603(在图16中标识为“触发器1603”)。触发器定义包括定义特定硬件设备的触发器的触发器数据。触发触觉效果API 1600还包括协议定义1604(在图16 中标识为“协议1604”)。协议定义描述触发触觉效果API 1600用来与特定硬件设备通信的通信接口的协议。利用协议定义1604,触发触觉效果API 1600可与设备固件1630(在图16中标识为“FW 1630”) 通信,其中设备固件1630是特定硬件设备的固件。利用设备固件1630,触发触觉效果API 1600还可与硬件设备1640(在图16中标识为“HW1640”)通信,其中硬件设备1640是该特定硬件设备。
在一个实施例中,应用1610可访问设备定义1601以获取要在该处播放触觉效果的目标硬件设备(即,HW 1640)。通过访问设备定义1601,应用1610可进一步访问定时器定义1602、触发器定义1603 和协议定义1604。应用1610还可访问来自效果库1620的触觉效果定义1621以实例化触觉效果。应用1610还可通过经由触发触觉效果API 1600和FW 1630向目标硬件设备(即,HW 1640)发送指令来使得触觉效果在目标硬件设备(即,HW 1640)处被播放。
图17根据本发明的实施例示出了产生触发触觉效果的固件的体系结构图。体系结构包括通信接口1700。通信接口1700支持触发触觉效果API(例如图16的触发触觉效果API1600)与用于诸如控制器或游戏手柄之类的***设备的固件之间的通信。体系结构还包括效果槽1710。效果槽定义一类触觉效果,并且可包括以下参数:幅度(或强度);频率(或周期);包络(例如,出动水平、出动时间、消退水平和消退时间);致动器(例如,具体致动器或虚拟致动器,例如“轰鸣”或“方向性”);方向(例如,一个或两个角度,或者二维向量);距离(例如,可用于模块化整个触觉效果);开始/结束触觉效果定义(例如,可被内插以创建内插触觉效果的开始触觉效果定义和结束触觉效果定义)。一种特定类型的效果槽1710是被触发效果槽 1720。被触发效果槽定义一类触发触觉效果,并且除了效果槽的上述参数以外,还可包括以下额外的参数:触发按钮(例如,无、左或者右);触发开始/停止点和方向(例如,当触发按钮在一定方向上移动的同时到达一定位置时开始/停止触发触觉效果);以及触发结束点(例如,在播放触发触觉效果的同时在开始触发触觉效果定义和结束触发触觉定义之间内插)。
体系结构还包括触发引擎1730。如前所述,触发引擎1730可接收触发触觉效果定义并且可基于触发数据——例如控制器的触发器的位置和/或范围——来修改触发触觉效果定义。体系结构还包括触发硬件接口1740(在图17中标识为“触发HW接口1740”)。触发硬件接口1740是允许触发引擎1730从诸如控制器或游戏手柄之类的***设备接收触发数据的通信接口。体系结构还包括空间化引擎1750。如前所述,空间化引擎1750可修改触觉效果定义,例如触发触觉效果定义,以便对于控制器的一个或多个针对性马达、针对性致动器、轰鸣马达或轰鸣致动器来缩放触觉效果,例如触发触觉效果。体系结构还包括偏置效果渲染引擎1760。偏置效果渲染引擎1760基于触觉效果定义,例如触发触觉效果定义,为马达或致动器渲染触觉效果,例如触发触觉效果。体系结构还包括致动器硬件接口1770(在图17中标识为“致动器HW接口1770”)。致动器硬件接口1770是允许偏置效果渲染引擎1760向马达或致动器发送所渲染的触觉效果内包括的触觉数据以使得马达或致动器播放该触觉效果的通信接口。
图18根据本发明的实施例示出了用于控制器的示例方向性模型。根据该实施例,控制器包括轰鸣马达1810和1820,以及针对性马达 1830和1840,其中针对性马达1830和1840各自可操作地耦合到控制器的触发器。轰鸣马达1810和1820可具有互补的振动范围。另外,针对性马达1830和1840可生成在空间上更孤立的高频振动。可以理解,对于左/右空间化的触觉效果使用轰鸣马达1810和1820提供了非对称振动体验(即,对于大多数用户在空间上没有良好分离的不同频率内容)。从而,触觉效果定义可包括左前、右前和无方向通道。另外,通过将振动从轰鸣马达1810和1820转变到针对性马达1830和 1840,可以加强前/后方向性。从而,轰鸣马达1810和1820可用于无方向低频触觉效果。轰鸣马达1810和1820可以可选地也用于后/前方向性。另外,针对性马达1830和1840可用于左/右方向性。
图19根据本发明的实施例示出了触发触觉效果固件栈的框图。触发触觉效果固件栈可以用于***设备的固件,例如图5的***固件 510。触发触觉效果固件栈可包括触发控制器触觉API 1900。触发控制器触觉API 1900包括一组计算机可读函数或例程,这些计算机可读函数或例程允许固件在控制器的用户输入元件——例如触发器——处播放触觉效果,例如触发触觉效果。触发控制器触觉API 1900可包括基本效果定义1901。效果定义1901包括一个或多个触觉效果定义,例如触发触觉效果定义。触发控制器触觉API 1900还可包括效果库代码1902。效果库代码1902包括一组计算机可读指令,这些指令可基于存储在效果定义1901内的触觉效果定义来实例化触觉效果。作为基于触觉效果定义的触觉效果的实例化的一部分,效果库代码1902可提供一个或多个效果特定参数。触发控制器触觉API1900还可包括方向性引擎1903。方向性引擎1903可修改触觉效果定义,例如触发触觉效果定义,以便对于控制器的一个或多个针对性马达、针对性致动器、轰鸣马达或轰鸣致动器来缩放触觉效果,例如触发触觉效果。触发控制器触觉API 1900还包括模拟器1904。模拟器1904基于触觉效果定义,例如触发触觉效果定义,对于控制器的一个或多个马达或致动器(例如四个马达)渲染触觉效果,例如触发触觉效果。触发控制器触觉API 1900还利用控制器API 1910将渲染的触觉效果发送到控制器 1920(或者某个其他***设备)。
图20根据本发明的实施例示出了提供在控制器的触发器处体验到的触发触觉效果的***(例如图1的***10)的体系结构图。***包括应用2000(在图20中标识为“应用2000”)。应用2000是可在***上执行的软件应用,例如游戏应用。***还包括触发触觉效果API 2010(在图20中标识为“API 2010”)。在一个实施例中,触发触觉效果API 2010与图19的触发控制器触觉API 1900相同。根据该实施例,触发触觉效果API 2010可以是用于所有控制器、游戏手柄或其他***设备的单个API。从而,触发触觉效果API 2010可抽象控制器、游戏手柄和其他***设备之间的差异。另外,触发触觉效果API 2010 可包括内置的效果库,该效果库包括一个或多个内置的触觉效果定义。内置的触觉效果定义是数据结构,该数据结构封装相应的触觉效果的一个或多个属性。
一类内置的触觉效果定义是静态触觉效果定义2011(在图20中标识为“静态2011”)。静态触觉效果定义2011是一组一个或多个周期性或幅度挥扫效果定义,其产生不随着时间变化的静态触觉效果。示例包括撞车、火箭发射器以及用户界面确认。静态触觉效果定义 2011可由应用2000基于游戏内的事件来直接调用。静态触觉效果定义2011产生的静态触觉效果可用作触发触觉效果。
另一类内置的触觉效果定义是动态触觉效果定义2012(在图20 中标识为“动态2012”)。动态触觉效果定义2012是一种算法,其接收一个或多个参数2014作为输入并且产生连续变化的触觉效果 (即,动态触觉效果)。示例包括引擎的每分钟转速(“RPM”)、滑雪板和***。静态触觉效果定义可通过包括向量(即,距离和方向) 和一个或多个按钮或轴的输入位置/状态而被变成动态触觉效果定义。动态触觉效果可基于可从应用2000传递来的游戏变量。动态触觉效果也可基于控制器输入,例如触发器输入。
另一类内置的触觉效果定义是直接控制触觉效果定义2013(在图 20中标识为“直接控制2013”)。在直接控制情境中,直接控制触觉效果定义2013可以如下方式定义:允许到输出设备的直接渲染,而当直接控制触觉效果定义2013行进通过核心效果库2020时非常少的处理被应用到直接控制触觉效果定义2013。在这一情境中,直接控制触觉效果定义2013可以包括对应于并且直接精确映射到输出设备上的多个输出致动器的多个不同的数据通道。替代地,直接控制触觉效果定义2013可包含超过在输出设备上可用的输出致动器数目的多个不同的数据通道,并且核心效果库2020可以选择多个通道,其中每个通道被选择成使得其最佳映射到输出设备中的特定致动器,并且核心效果库2020然后可以将所选择的通道的数据传送给映射的致动器。
***还包括核心效果库2020(在图20中标识为“核心2020”)。核心效果库2020包括一个或多个触觉效果定义2021(在图20中标识为“FX 2021”)。触觉效果定义2021可包括触发触觉效果定义2022 (在图20中标识为“触发效果2022”)。触觉效果定义的示例可包括***触觉效果定义、RPM触觉效果定义,滑雪板触觉效果定义和其他触觉效果定义。核心效果库还包括混合器2023(在图20中标识为“混合器/优先级区分2023”)。混合器2023可对一个或多个触觉效果定义进行混合或优先级区分。
***还包括低级别API 2030。低级别API 2030可接收基于触觉效果定义来播放触觉效果的指令,并且可将该指令转换成可被控制器 2040解释的低级别指令。低级别API2030的示例是微软公司的
Figure BDA0000607350040000381
API 2031,并且控制器2040的示例是微软公司的
Figure BDA0000607350040000382
控制器2041。
图21根据本发明的实施例示出了用于预览和修改触发触觉效果的示例用户界面2100。***(例如图1的***10)可向用户提供用户界面2100作为触发触觉效果预览和修改工具。根据该实施例,用户界面2100包括开放效果2110。开放效果2110可显示可用于选择的一个或多个触觉效果预设,例如触发触觉效果预设。用户界面2100还包括效果库2120。效果库2120可显示包括在触觉效果库内的一个或多个触觉效果预设,例如触发触觉效果预设。效果库2120可按类别显示一个或多个触觉效果预设。
用户界面2100还包括时间线2130。根据该实施例,用户可选择在开放效果2110内显示的触觉效果预设,并且时间线2130可显示由所选择的触觉效果预设表示的触觉效果定义的图形表示。在图示的实施例中,触觉效果定义包括四个通道,其中每个通道包括为特定的输出所映射的触觉数据(例如,(1)用于右触发器的针对性马达或致动器;(2)用于左触发器的针对性马达或致动器;(3)右轰鸣马达或致动器;以及(4)左轰鸣马达或致动器),并且每个通道被沿着时间线来显示。然而,在其他实施例中,触觉效果定义可包括任意数目的通道。另外,用户可通过与时间线2130内的一个或多个显示元素交互来修改所选择的触觉效果定义的一个或多个通道。通过修改触觉效果定义的一个或多个通道,可以修改相应的触觉效果的一个或多个属性。
用户界面2100还包括效果属性2140。效果属性2140是可编辑的可视区域,其能够可视化由触发引擎(例如图5的触发引擎506)生成的触发触觉效果。如前所述,触发引擎可接收触发触觉效果定义并且可基于控制器的触发器的位置和/或范围来修改触发触觉效果定义。从而,效果属性2140可显示触发器的可视化,包括触发器的实际位置。另外,效果属性2140可显示对于触发触觉效果定义所定义的触发器的位置和/或范围,其中该位置和/或范围可使得触发引擎修改触发触觉效果定义。用户可编辑为触发触觉效果定义所定义的触发器的位置和/ 或范围。另外,效果属性2140可显示用于控制器的触发器的列表,以便用户可编辑为触发触觉效果定义所定义的触发器。此外,效果属性 2140可显示触发触觉效果定义的幅度(或强度),并且用户可修改该幅度(或强度)。
用户界面2100还包括空间化2150。空间化2150是可编辑的可视区域,其能够可视化原本由触发引擎生成并且由空间化引擎(例如图 5的空间化引擎507)进一步修改的触发触觉效果。如前所述,空间化引擎可修改触发触觉效果定义,以便对于控制器的一个或多个针对性马达、针对性致动器、轰鸣马达或轰鸣致动器来缩放触发触觉效果。从而,空间化2150可显示控制器的可视化。空间化2150还可显示在控制器的每个针对性马达、针对性致动器、轰鸣马达或轰鸣致动器处体验到的触发触觉效果的可视化。用户可编辑在控制器的每个针对性马达、针对性致动器、轰鸣马达或轰鸣致动器处体验到的触发触觉效果的缩放,以及编辑触发触觉效果的源的缩放。
图22根据本发明的实施例示出了用于将音频信号转换成触发触觉效果的示例用户界面2200。根据该实施例,触觉效果设计可成为被包含到用户界面2200中的音频设计过程的一部分。更具体而言,在用户界面2200内显示的音频效果定义3-8可被转换成触觉效果定义,其中触觉效果定义可被导出。
图23根据本发明的实施例示出了用于基于对象参数来创建触发触觉效果的示例用户界面2300。根据该实施例,用户界面2300包括显示触觉效果定义的名称的触觉效果定义名称2310。用户界面2300 还包括显示触觉效果定义的一个或多个对象参数的对象参数2320。实施例中图示的示例对象参数包括:类型;射击速率;风格;强度(或幅度);频率;以及声音效果。用户界面2300还包括触发修改2330, 其允许用户修改触觉效果定义的触发方面,例如触发投掷和触发激活。用户界面2300还包括强度(或幅度)修改2340,其允许用户修改触觉效果定义的强度(或幅度)方面,例如:随机强度(或幅度);最大幅度(或强度);或者最小强度(或幅度)。用户界面2300还包括持续时间修改2350,其允许用户修改触觉效果定义的持续时间方面,例如:随机化长度;最小持续时间;或者最大持续时间。用户界面2300还包括触觉效果可视化2360,其允许用户基于触觉效果定义来可视化触觉效果。用户界面2300还包括保存2370,其允许用户保存经修改的触觉效果定义。
图24根据本发明的实施例示出了预览触发触觉效果的***(例如图1的***10)的体系结构图。该***包括用户界面2400。在一个实施例中,用户界面2400是Qt用户界面,其中Qt是跨平台应用和用户界面框架。***还包括适配器层2410。***还包括触发API层2420。***还包括触发固件层2430。
用户界面2400包括绘图器2401。绘图器2401取得由用户指定的触觉效果定义作为输入,并且将触觉效果定义内包括的触觉数据通过适配器层2410发送到触发API层2420。触发API层2420发回个体通道数据,绘图器2401在用户界面2400内显示该个体通道数据。渲染器2402从控制器GUI 2403取得输入并且开始触觉播放器渲染循环。输入被路由经过适配器层2410,适配器层2410具有与触发API 层2420的回调设置以中继从控制器2414发送的控制器输入2413(例如按钮和触发输入)。在渲染循环正在运行以更新用户界面2400的同时,适配器层2410也可与绘图器2401通信。控制器GUI 2403也可利用控制器选择器2412来选择控制器2414,并且可以示出连接了什么。控制器GUI 2403还可设置触发激活点。另外,导入器/导出器2404 可取得输入音频文件并且将它们转换成触觉文件。在一个实施例中,音频文件是WAV文件。另外,适配器层2410可被嵌入在用户界面 2400内,或者可以是单独的库。当适配器层2410是单独的库时,适配器层2410可以是单独的C++库。
图25根据本发明的实施例示出了产生触发触觉效果的***(例如图1的***10)的体系结构图。***包括游戏应用2500(在图25中标识为“游戏2500”)。游戏应用2500包括一组计算机可读指令,这些指令在软件游戏或其他类型的软件应用的情境中管理由控制器、游戏手柄或其他***设备提供的输入。在一个实施例中,游戏应用 2500包括触觉效果库2501,其中触觉效果库2501包括一个或多个触觉效果定义。
***还包括触觉引擎2510。触觉引擎2510是高级别API,其可利用低级别API来执行触觉效果的播放,以及将触觉效果添加到游戏应用2500。触觉引擎2510可以加载、开始、停止和渲染触觉效果。触觉引擎2510可与触觉效果解析器2520相接口以解析/获得关于触觉效果的信息。触觉引擎2510还可与触觉混合器2530相接口以开始或停止效果以及修改混合器缓冲器。触觉引擎2510还可与触觉设备处理程序2550相接口以获得控制器、游戏手柄或其他***设备的设备句柄,并且在控制器、游戏手柄或其他***设备上渲染触觉效果。
***还包括触觉效果解析器2520。触觉效果解析器2520包括一 API,该API中可在存储器中加载触觉效果,验证其格式,并且获得关于该触觉效果的信息,例如大小、持续时间和触觉数据。***还包括触觉混合器2530。触觉混合器2530支持同时重放多个触觉效果。***还包括触觉设备处理程序2540。触觉设备处理程序2540可发起并管理与控制器、游戏手柄或其他***设备的通信。触觉设备处理程序2540可与通用串行总线(“USB”)通信层相接口并且获得控制器、游戏手柄或其他***设备的设备句柄。触觉设备处理程序2540还可初始化对于触觉效果重放关键的若干个状态机结构。
***还包括触发触觉报告处理程序2550。触发触觉报告处理程序 2550可根据触发通信协议将触觉数据封装到USB HID封包中。***还包括平台遵从USB HID库2560。平台遵从USB HID库2560包括一个或多个计算机可读例程以与控制器、游戏手柄或其他***设备的 USB HID和蓝牙HID类相接口。***还包括***固件2570(在图25 中标识为“游戏手柄固件2570”)。***固件2570是用于控制器、游戏手柄或其他***设备的固件。***还包括***输入读取器2580 (在图25中标识为“游戏手柄输入读取器2580”)。***输入读取器2580接收控制器、游戏手柄或其他***设备发送的***输入。***输入读取器2580还解释***输入并且将***输入发送到游戏应用 2500。
图26根据本发明的实施例示出了产生触发触觉效果的固件的体系结构图。固件体系结构可以使得固件模块化,可以将硬件无关组件与硬件相关组件分离开来,并且可以使得从一个微计算机单元到另一个微计算机单元的移植更容易。硬件无关层可通过功能指针与硬件相关层通信。可基于实现模板来将硬件相关层移植到另一微控制器单元。所有硬件相关例程可与板配置文件相接口,该文件可给出具有不同端口/按钮定义的硬件的内部样子。
图26包括主机软件2600(在图26中标识为“主机SW 2600”)。主机软件2600包括一组计算机可读指令,这些指令在软件游戏或其他类型的软件应用的情境中管理由控制器、游戏手柄或其他***设备提供的输入。主机软件2600可以在软件空间内。图26还包括USBHID 处理程序2605。USB HID处理程序2605可以是控制器、游戏手柄或其他***设备与主机软件2600之间的所有通信的主入口点。USB HID 处理程序2605可包括一个或多个计算机可读函数或例程来根据触发通信协议对诸如触觉数据之类的数据进行编码/解码。USB HID处理程序2605还可存储所有USB描述符和例程以处理USB通信。USB HID处理程序2605可在固件空间内。
图26还包括通信接口2610。通信接口2610可解析传入的封包并且调用命令处理程序2615来采取适当的动作。图26还包括命令处理程序2615。命令处理程序2615可包括一个或多个计算机可读函数或例程来处理支持致动器上的触觉重放的触发协议所支持的命令。图26 还包括触觉驱动处理程序2620。触觉驱动处理程序2620可更新触觉重放引擎的状态,更新致动器的驱动值并且控制致动器。触觉驱动处理程序2620可通过函数指针机制与硬件相关定时器处理程序2635和致动器控制2625相接口。通信接口2610、命令处理程序2615和触觉驱动处理程序2620可以都在固件空间内。
图26还包括致动器控制2625(在图26中标识为“致动器驱动控制2625”)。致动器控制2625可控制致动器并设定驱动值。致动器控制2625可包括一个或多个计算机可读函数或例程来与脉冲宽度调制生成单元相接口并且与致动器驱动器芯片相接口。图26还包括控制器输入读取器2630(在图26中标识为“游戏手柄输入读取器2630”)。控制器输入读取器2630可与平台相关输入读取器2640相接口以获得控制器、游戏手柄或其他***设备的不同输入的状态,封装这些输入,并且将这些输入发送到通信接口2610以被进一步发送到主机软件2600。图26还包括定时器处理程序2635。定时器处理程序2635是硬件相关层,该层可对负责生成周期性中断以调用为致动器更新驱动值的例程的定时器进行控制。图26还包括输入读取器2640。输入读取器2640是能够获得控制器、游戏手柄或其他***设备的所有电位计和数字输入的状态的硬件相关层。图26还包括***和接口驱动器2650。***和接口驱动器2650可包括一个或多个计算机可读函数或例程来控制通信接口和硬件***设备。致动器控制2625、控制器输入读取器 2630、定时器处理程序2635、输入读取器2640和***和接口驱动器 2650全都可以在固件空间内。
图26还包括微控制器单元2660,其可包括组件,例如计算机处理单元2661、USB2662、中断控制器2663、定时器外设1664和其他外设2665。这些组件的功能是相关领域普通技术人员已知的。图26 还包括控制器硬件2670(在图26中标识为“游戏手柄硬件2670”)。控制器硬件2670的功能也是相关领域普通技术人员已知的。微控制器单元2660和控制器硬件2670全都可以在固件空间内。另外,通信接口2610、命令处理程序2615、触觉驱动处理程序2625和控制器输入读取器2630全都可以是硬件无关组件,而USB HID处理程序2605、致动器控制2625、定时器处理程序2635、输入读取器2640、***和接口驱动器2650、微控制器单元2660和控制器硬件2670全都可以是硬件相关组件。
在一个实施例中,控制器、游戏手柄或其他***设备可具有定制的协议,用于传达触觉数据并且用于驱动个体马达或致动器。因此,可以提供一种音频驱动器,其从音频创作组件接收包括以音频效果定义的形式创作的触觉效果的音频文件,并且将音频文件内包括的音频数据发送到控制器、游戏手柄或其他***设备。在一个实施例中,音频创作组件800可以是由Avid Technology,Inc.出品的“Pro
Figure BDA0000607350040000441
”产品。音频驱动器可在启动过程期间被加载。音频驱动器可暴露必要数目的音频通道以便使得触觉效果定义有可能使用控制器、游戏手柄或其他***设备中的所有马达或致动器。音频驱动器还可在用户空间中工作,并且可以是所有用户空间音频编辑/重放应用可访问的。音频驱动器还可读取音频创作组件发送到控制器、游戏手柄或其他***设备的音频数据。音频驱动器还可对所呈现的音频数据执行必要的处理并且可将音频数据转换成触觉数据,例如致动器驱动值。音频驱动器还可通过通信接口将触觉数据传输到控制器、游戏手柄或其他***设备。
根据该实施例,控制器、游戏手柄或其他***设备可包括四个致动器。两个致动器可用作影响触发器上的触觉反馈的触发致动器。触发致动器可以是双向的。对于触发致动器可以发生两种方向事件:推 (PUSH)和拉(PULL)。推和拉方向可以是相对于用户在触发器上的手指的。两个其他致动器可用作影响控制器、游戏手柄或其他***设备内的一般触觉反馈或轰鸣反馈的轰鸣致动器。轰鸣致动器可以是单向的。更具体而言,轰鸣致动器可以在顺时针方向或逆时针方向上旋转,但不在两个方向上旋转。运动的方向可以依从于控制器和/或控制器的驱动电子装置。
在此实施例中,对于音频驱动器可以选择以下通道布局。
通道号 通道用途
0 用于左触发器的推通道
1 用于左触发器的拉通道
2 用于右触发器的推通道
3 用于右触发器的拉通道
4 左轰鸣
5 右轰鸣
在一个实施例中,为16比特PCM选择的音频格式可以是44.1 KHz。音频驱动器可从音频创作组件接收音频数据,将音频数据转换成触觉数据(例如,驱动值),并且相应地将触觉数据传输给控制器。
图27根据本发明的实施例示出了示例音频体系结构。音频体系结构包括应用级服务2700。应用级服务2700可包括诸如以下服务:音频队列服务;音频单元;***声音;音频文件流服务;音频文件、转换器和编解码器服务;OpenAL;音频定序服务;或者核心音频时钟。应用级服务2700与硬件抽象层(“HAL”)2710通信。HAL 2710 的示例是核心乐器数字接口(“MIDI”)2711。进而,HAL 2710与输入/输出(“I/O”)套组2720、驱动器2730和硬件2740通信。I/O 套组2720、驱动器2730和硬件2740存在于内核空间中。为了接收应用级服务想要发送到硬件2740的音频数据,音频驱动器可需要HAL 2710的插件,其中该插件可接收音频数据并访问硬件2740。音频驱动器的插件可实时或近实时地从应用级服务2700接收音频数据,并且可通过对音频数据的5毫秒(“ms”)部分执行抽选来将音频数据转换成触觉数据(例如,驱动值)。结合图28来更详细地进一步描述示例音频驱动器。
图28根据本发明的实施例示出了将音频效果转换成触发触觉效果的示例音频驱动器2800(在图28中标识为“触觉触发驱动器2800”)。音频驱动器2800从一个或多个应用接收音频数据2805。音频数据可以是交织的多通道音频流,例如四通道音频流或六通道音频流。随后,分离器2815将各种通道的音频数据分离到各个通道缓冲器中。另外,音频到触觉数据转换器2825将每个通道缓冲器的音频数据转换成触觉数据。更具体而言,在一个实施例中,音频到触觉数据转换器2825 在通道缓冲器上对音频数据的一部分(例如,5ms的音频数据)执行峰值检测算法并且在每个通道的抽选值阵列中填充值。音频到触觉数据转换器2825随后基于以下公式来计算个体致动器的驱动值:
触发器的驱动值:(PushChannelDecimatedValue– PullChannelDecimatedValue)→将其缩放到[0,255]
轰鸣的驱动值:(DecimatedValue)→将其缩放到[128,255]
随后,触发协议封包管理器2835为所有致动器(例如,所有四个致动器)获得驱动值,并且根据触发通信协议将驱动值封装为数据封包,例如USB HID封包。另外,XPC处理程序2845从触发协议封包管理器2835接收数据封包,并且将数据封包发送到XPC服务2810,XPC服务2810是一个后台服务。在2855,XPC服务2810接收数据封包,并且在2865,通过USB接口将数据封包发送到控制器2820(在图28中标识为“触觉触发游戏手柄2820”)。
图29根据本发明的实施例示出了以第一格式生成触发触觉效果,其以第二格式再创建触发触觉效果。根据该实施例,不同的控制器、游戏手柄或其他***设备可具有不同类型的马达或致动器,这些不同类型的马达或致动器可在触发器处产生不同类型的触发触觉效果。例如,马达或致动器可在用于第一控制器的触发器处产生动觉反馈,而马达或致动器可在用于第二控制器的触发器处产生振动触感反馈。从而,可能有必要将触发触觉效果从第一格式转换到第二格式。这可通过将下层的触发触觉效果定义从第一格式转换到第二格式来实现。通过转换触发触觉效果定义,触发触觉效果可被优雅地降级,使得其等同于在不同的控制器处产生等同的触发触觉效果的触觉效果定义。
图29包括基于触发触觉效果定义的触发触觉效果2900。用于触发触觉效果2900的触发触觉效果定义近似地定义持续时间为75ms、频率为100Hz(即,5ms推送触觉信号和5ms间隙)的触觉信号。如图29中所示,触发触觉效果2900再创建基于单独的触发触觉效果定义的触发触觉效果2910。用于触发触觉效果2910的触发触觉效果定义定义了持续时间为75ms、频率约为100Hz的恒定触觉信号。因此,根据该实施例,触发触觉效果2900和触发触觉效果2910是“感知上等同的”,其中,用户从触发触觉效果2900和触发触觉效果2910 两者体验到相同或者基本相同的触觉反馈,并且其中,“基本相同的触觉反馈”是与原始触觉效果产生的触觉反馈相比再创建的触觉效果产生的满足相同或者类似设计预期的触觉反馈或者在其他方面相同或者类似地被体验到的触觉反馈,即使由再创建的触觉效果产生的触觉反馈不同于由原始触觉效果产生的触觉反馈。
图30根据本发明的实施例示出了另一种以第一格式生成触发触觉效果,其以第二格式再创建触发触觉效果。图30包括基于触发触觉效果的触发触觉效果3000。如图30中所示,触发触觉效果3010再创建触觉效果3000,其中触发触觉效果3010是基于单独的触觉效果定义的。用于触发触觉效果3000的触发触觉效果定义定义了出动(即,上升)时间和衰退时间。用于触发触觉效果3010的触发触觉效果定义对于触发触觉效果3000的出动时间的长度并且对于触发触觉效果 3000的衰退时间的长度定义了更低的幅度。
图31根据本发明的实施例示出了触觉触发控制模块(例如图1 的触觉触发控制模块16)的功能的流程图。在一个实施例中,图31 的功能是由存储在存储器或其他计算机可读或有形介质中并且由处理器执行的软件来实现的。在其他实施例中,功能可由硬件执行(例如通过使用专用集成电路(“ASIC”)、可编程门阵列(“PGA”)、现场可编程门阵列(“FPGA”)等等),或者由硬件和软件的任何组合执行。在某些实施例中,可以省略一些功能。
流程开始并前进到3110。在3110,包括音频数据的音频效果定义被转换成包括触觉数据的触觉效果定义。在一个实施例中,触觉效果定义可定义在***设备的用户输入元件处可体验到的或者在***设备处可体验到的触觉效果。另外,在一个实施例中,用户输入元件可以是触发器,并且***设备可以是控制器或游戏手柄。流程随后前进到 3120。在3120,接收触觉效果定义。在一个实施例中,触觉效果定义可以是触发触觉效果定义。另外,在一实施例中,触觉效果定义可再创建不同格式的触觉效果。流程随后前进到3130。
在3130,基于接收到的空间化数据来修改触觉效果定义的触觉数据。空间化数据可包括以下各项中的至少一者:触觉效果的方向;或者触觉效果的流动。在某些实施例中,修改触觉效果定义的触觉数据可包括缩放以下各项中的至少一者:触觉数据的幅度;触觉数据的频率;或者触觉数据的持续时间。流程随后前进到3140。在3140,接收触发数据。触发数据可包括以下各项中的至少一者:***设备的触发器的位置;或者***设备的触发器的范围。流程随后前进到3150。
在3150,基于接收到的触发数据来判定是否达到触发条件。流程随后前进到3160。在3160,对触觉效果定义的触觉数据编码。在某些实施例中,触觉效果定义的触觉数据可被编码在音频文件或音频流内。流程随后前进到3170。
在3170,触觉指令和触觉效果定义被发送到***设备。在某些实施例中,当达到触发条件时,触觉指令和触觉效果定义可被发送到***设备。在这些实施例中,触觉指令可以是触发指令。在某些实施例中,将触觉效果定义发送到***设备可包括将触觉效果定义的触觉数据直接发送到***设备。在其他实施例中,将触觉效果定义发送到***设备可包括:(1)将触觉效果定义的触觉数据从第一格式转换到第二格式;以及(2)将触觉效果定义的经转换的触觉数据发送到***设备。流程随后前进到3180。
在3180,对经编码的触觉效果定义的触觉数据进行解码。在某些实施例中,可通过计算可编程的交越来对经编码的触觉数据解码。流程随后前进到3190。在3190,触觉指令使得触觉输出设备在***设备处基于触觉效果定义来产生触觉效果。在某些实施例中,触觉指令可使得触觉输出设备在***设备的用户输入元件处基于触觉效果定义来产生触觉效果。在某些实施例中,触觉指令可以是触发指令,触觉效果定义可以是触发触觉效果定义,触觉输出设备可以是针对性触觉输出设备,并且针对性触觉输出设备可在***设备的触发器处产生触觉效果。在某些实施例中,针对性触觉输出设备可以是针对性致动器。在这些实施例的一些中,针对性致动器可以是针对性马达。另外,在某些实施例中,触觉指令可使得多个触觉输出设备在***设备处基于触觉效果定义产生多个触觉效果。流程随后结束。
在一实施例中,如前所述,空间化引擎可接收触觉数据,例如触发触觉效果定义,并且可基于空间化数据来修改触觉数据,其中空间化数据可包括一个或多个参数。从而,空间化引擎可局部化或空间化触觉效果。更具体而言,空间化引擎可通过基于触觉效果的距离在致动器或马达上缩放或衰减触觉效果来产生传达触觉效果的距离的触觉效果。空间化引擎还可通过在不同的致动器或马达上延迟或缩放触觉效果来产生在控制器、游戏手柄或其他***设备上传达运动的触觉效果。空间化引擎可以是API或库的组件,或者可以在用于控制器、游戏手柄或其他***设备的固件中实现。
图32根据本发明的实施例示出了驻留在API或库中的示例空间化引擎。空间化引擎是在***——例如图1的***10——上实现的。在图示的实施例中,***包括以下组件:设备3200(在图32中标识为“游戏控制台、智能电话、平板电脑或计算机(例如)3200”), 以及控制器3210(在图32中标识为“游戏手柄3210”)。设备3200 可以是任何类型的计算机设备,例如个人计算机、平板电脑、智能电话或者控制台(例如,视频游戏控制台)。控制器3210是可操作地连接到设备3200的***设备的一个示例。控制器3210可以是视频游戏控制器。在一个实施例中,控制器3210可与图1的控制器30、图2、图3和图4的控制器100以及图5的控制器520相同。
设备3200包括效果库3201,其中效果库3201可包括一个或多个触觉效果定义。在该实施例中,这些触觉效果定义可被标识为未空间化的触觉效果定义,因为它们是尚未被空间化引擎修改的触觉效果定义。设备3200还包括游戏3202,其中游戏3202是可在***上执行的软件应用,例如游戏应用。根据该实施例,游戏3202可生成一个或多个空间化参数,其中该一个或多个空间化参数可定义由存储在效果库 3201内的触觉效果定义所定义的触觉效果的位置、速度、方向和/或流动。
设备3200还包括空间化引擎3203(在图32中标识为“触觉空间化引擎3203”),其中效果库3201可将一个或多个未空间化的触觉效果定义发送到空间化引擎3203,并且其中游戏3202可将一个或多个空间化参数发送到空间化引擎3203。空间化引擎3203可接收一个或多个未空间化的触觉效果定义,并且可基于一个或多个空间化参数来修改这一个或多个未空间化的触觉效果定义。根据该实施例,空间化引擎3203可修改一个或多个未空间化的触觉效果定义,以便对于控制器3210的一个或多个致动器3211缩放或衰减一个或多个触觉效果,其中一个或多个经修改的触觉效果定义可被标识为空间化的触觉效果定义。换言之,空间化引擎3203可修改被发送到致动器3211中的每个致动器的触觉效果定义,从而修改在致动器3211中的每个致动器处体验到的触觉效果,以便传达触觉效果的位置、速度、方向和/或流动的感觉。空间化引擎3203随后可将一个或多个空间化的触觉效果定义发送到控制器3210。控制器3210随后可将每个空间化的触觉效果定义发送到致动器3211中的每个致动器,其中每个致动器可产生空间化的触觉效果。
图33根据本发明的实施例示出了驻留在控制器中的示例空间化引擎。空间化引擎是在***——例如图1的***10——上实现的。在图示的实施例中,***包括以下组件:设备3300(在图33中标识为“游戏控制台、智能电话、平板电脑或计算机(例如)3300”),以及控制器3310(在图33中标识为“游戏手柄3310”)。设备3300可以是任何类型的计算机设备,例如个人计算机、平板电脑、智能电话或者控制台(例如,视频游戏控制台)。控制器3310是可操作地连接到设备3300的***设备的一个示例。控制器3310可以是视频游戏控制器。在一个实施例中,控制器3310可与图1的控制器30、图2、图3 和图4的控制器100以及图5的控制器520相同。
设备3300包括效果库3301,其中效果库3301可包括一个或多个触觉效果定义,它们被标识为未空间化的触觉效果定义。设备3300 还包括游戏3302,其中游戏3302是可在***上执行的软件应用,例如游戏应用。根据该实施例,游戏3302可生成一个或多个空间化参数,其中该一个或多个空间化参数可定义由存储在效果库3301内的触觉效果定义所定义的触觉效果的位置、速度、方向和/或流动。
控制器3310包括空间化引擎3311(在图33中标识为“触觉空间化引擎3311”),其中效果库3301可将一个或多个未空间化的触觉效果定义发送到空间化引擎3311,并且其中游戏3302可将一个或多个空间化参数发送到空间化引擎3311。空间化引擎3311可接收一个或多个未空间化的触觉效果定义,并且可基于一个或多个空间化参数来修改这一个或多个未空间化的触觉效果定义,其中一个或多个经修改的触觉效果定义被标识为空间化的触觉效果定义。空间化引擎3311 随后可将每个空间化的触觉效果定义发送到致动器3312中的每个致动器,其中每个致动器可产生空间化的触觉效果。
从而,在一个实施例中,***可提供能够生成在诸如控制器或游戏手柄之类的***设备处体验到的触觉效果的触觉控制体系结构。触觉效果可以是在***设备的触发器处体验到的触发触觉效果。触发触觉效果可由触觉控制体系结构基于***接收的触发数据来定制,其中触发数据可包括触发器的位置和/或范围。触发触觉效果可被触觉控制体系结构进一步空间化,以便对于***设备的每个马达或致动器缩放触发触觉效果,以使得触发触觉效果包括方向性和/或流动的感觉。通过把在***设备处体验到的触觉反馈、尤其是在***设备的触发器处体验到的触觉反馈包含到由***执行的游戏应用中,可以提供更逼真并且有沉浸感的游戏体验。
在本说明书各处描述的本发明的特征、结构或特性可在一个或多个实施例中按任何适当的方式被组合。例如,在本说明书各处对“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其他类似语言的使用指的是如下事实:联系该实施例描述的特定特征、结构或特性可被包括在本发明的至少一个实施例中。从而,在本说明书各处出现的短语“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其他类似语言不一定都指同一组实施例,并且所描述的特征、结构或特性可在一个或多个实施例中按任何方式被组合。
本领域普通技术人员将容易理解,如上所述的本发明可以以具有不同顺序的步骤来实现,和/或以具有与所公开的那些不同的配置的元素来实现。因此,虽然已基于这些优选实施例描述了本发明,但本领域技术人员将清楚,在维持在本发明的精神和范围内的同时,某些修改、变化和替换构造将是明显的。因此,为了确定本发明的界限和范围,应当参考所附权利要求。
根据本发明的一些示例性实施例可以如下。
(1)一种非暂态计算机可读介质,其上存储有指令,所述指令当被处理器执行时,使得该处理器控制在***设备处体验到的触觉效果,所述控制包括:
接收包括触觉数据的触觉效果定义;
接收包括以下各项中的至少一者的触发数据:所述***设备的触发器的位置;或者所述***设备的触发器的范围;
基于接收到的触发数据来判定是否达到触发条件;
当达到所述触发条件时,将触觉指令和所述触觉效果定义发送到所述***设备;以及
使得一个或多个触觉输出设备响应于所述触觉指令在所述***设备处产生基于所述触觉效果定义的一个或多个触觉效果。
(2)如上述(1)所述的非暂态计算机可读介质,控制所述触觉效果进一步包括基于接收到的空间化方向来修改所述触觉效果定义的触觉数据,所述空间化方向包括以下各项中的至少一者:所述触觉效果的方向;或者所述触觉效果的流动。
(3)如上述(2)所述的非暂态计算机可读介质,其中,修改所述触觉效果定义的触觉数据包括缩放以下各项中的至少一者:所述触觉数据的幅度;所述触觉数据的频率;或者所述触觉数据的持续时间。
(4)如上述(1)所述的非暂态计算机可读介质,其中,将所述触觉效果定义发送到所述***设备进一步包括将所述触觉效果定义的触觉数据直接发送到所述***设备。
(5)如上述(1)所述的非暂态计算机可读介质,其中,将所述触觉效果定义发送到所述***设备进一步包括:
将所述触觉效果定义的触觉数据从第一格式转换到第二格式;以及
将所述触觉效果定义的经转换的触觉数据发送到所述***设备。
(6)如上述(1)所述的非暂态计算机可读介质,控制所述触觉效果进一步包括将所述触觉效果定义的触觉数据编码在具有音频格式的文件或流内。
(7)如上述(6)所述的非暂态计算机可读介质,控制所述触觉效果还包括对所述文件或流内的经编码的触觉数据进行解码。
(8)如上述(7)所述的非暂态计算机可读介质,对经编码的触觉数据进行解码进一步包括计算可编程的交越。
(9)如上述(1)所述的非暂态计算机可读介质,其中所述触觉效果定义再创建不同格式的触觉效果。
(10)如上述(1)所述的非暂态计算机可读介质,其中,所述***设备包括控制器或游戏手柄。
(11)如上述(1)所述的非暂态计算机可读介质,其中,使得所述一个或多个触觉输出设备产生所述一个或多个触觉效果进一步包括使得所述一个或多个触觉输出设备在所述***设备的用户输入元件处产生所述一个或多个触觉效果。
(12)如上述(11)所述的非暂态计算机可读介质,
其中,所述触觉效果定义包括触发触觉效果定义,
其中,所述触觉指令包括触发指令;
其中,所述用户输入元件包括所述触发器;并且
其中,所述一个或多个触觉输出设备包括一个或多个针对性触觉输出设备。
(13)如上述(1)所述的非暂态计算机可读介质,控制所述触觉效果进一步包括将包括音频数据的音频效果定义转换成所述触觉效果定义。
(14)如上述(1)所述的非暂态计算机可读介质,其中,所述触觉输出设备包括致动器。
(15)如上述(14)所述的非暂态计算机可读介质,其中,所述致动器包括马达。
(16)一种用于控制在***设备的用户输入元件处体验到的触觉效果的由计算机实现的方法,所述由计算机实现的方法包括:
接收包括触觉数据的触觉效果定义;
接收包括以下各项中的至少一者的触发数据:所述***设备的触发器的位置;或者所述***设备的触发器的范围;
基于接收到的触发数据来判定是否达到触发条件;
当达到所述触发条件时,将触觉指令和所述触觉效果定义发送到所述***设备;以及
使得一个或多个触觉输出设备响应于所述触觉指令在所述***设备的用户输入元件处产生基于所述触觉效果定义的一个或多个触觉效果。
(17)如上述(16)所述的由计算机实现的方法,控制所述触觉效果进一步包括基于接收到的空间化方向来修改所述触觉效果定义的触觉数据,所述空间化方向包括以下各项中的至少一者:所述触觉效果的方向;或者所述触觉效果的流动。
(18)如上述(17)所述的由计算机实现的方法,其中,修改所述触觉效果定义的触觉数据包括缩放以下各项中的至少一者:所述触觉数据的幅度;所述触觉数据的频率;或者所述触觉数据的持续时间。
(19)如上述(16)所述的由计算机实现的方法,其中,将所述触觉效果定义发送到所述***设备进一步包括将所述触觉效果定义的触觉数据直接发送到所述***设备。
(20)如上述(16)所述的由计算机实现的方法,其中,将所述触觉效果定义发送到所述***设备进一步包括:
将所述触觉效果定义的触觉数据从第一格式转换到第二格式;以及
将所述触觉效果定义的经转换的触觉数据发送到所述***设备。
(21)一种用于控制在***设备的用户输入元件处体验到的触觉效果的***,该***包括:
存储器,被配置为存储触觉触发控制模块;以及
处理器,被配置为执行存储在所述存储器上的所述触觉触发控制模块;
其中,所述处理器当执行所述触觉触发控制模块时被配置为接收包括触觉数据的触觉效果定义;
其中,所述处理器当执行所述触觉触发控制模块时还被配置为接收包括以下各项中的至少一者的触发数据:所述***设备的触发器的位置;或者所述***设备的触发器的范围;
其中,所述处理器当执行所述触觉触发控制模块时还被配置为基于接收到的触发数据来判定是否达到触发条件;
其中,所述处理器当执行所述触觉触发控制模块时还被配置为当达到所述触发条件时将触觉指令和所述触觉效果定义发送到所述***设备;并且
其中,所述处理器当执行所述触觉触发控制模块时还被配置为使得一个或多个触觉输出设备响应于所述触觉指令在所述***设备的用户输入元件处产生基于所述触觉效果定义的一个或多个触觉效果。
(22)如上述(21)所述的***,其中,所述处理器当执行所述触觉触发控制模块时还被配置为基于接收到的空间化方向来修改所述触觉效果定义的触觉数据,所述空间化方向包括以下各项中的至少一者:所述触觉效果的方向;或者所述触觉效果的流动。
(23)如上述(22)所述的***,其中,所述处理器当执行所述触觉触发控制模块时还被配置为缩放以下各项中的至少一者:所述触觉数据的幅度;所述触觉数据的频率;或者所述触觉数据的持续时间。
(24)如上述(21)所述的***,其中,所述处理器当执行所述触觉触发控制模块时还被配置为将所述触觉效果定义的触觉数据直接发送到所述***设备。
(25)如上述(21)所述的***,
其中,所述处理器当执行所述触觉触发控制模块时还被配置为将所述触觉效果定义的触觉数据从第一格式转换到第二格式;并且
其中,所述处理器当执行所述触觉触发控制模块时还被配置为将所述触觉效果定义的经转换的触觉数据发送到所述***设备。
(26)一种非暂态计算机可读介质,其上存储有指令,所述指令当被处理器执行时,使得该处理器控制在***设备处体验到的触觉效果,所述控制包括:
接收包括触觉数据的触觉效果定义;
基于接收到的空间化数据来修改所述触觉效果定义的触觉数据,所述空间化数据包括以下各项中的至少一者:所述触觉效果的方向;或者所述触觉效果的流动;
将触觉指令和所述触觉效果定义发送到所述***设备;以及
使得一个或多个触觉输出设备响应于所述触觉指令在所述***设备处产生基于所述触觉效果定义的一个或多个触觉效果。
(27)如上述(26)所述的非暂态计算机可读介质,其中,修改所述触觉效果定义的触觉数据包括缩放以下各项中的至少一者:所述触觉数据的幅度;所述触觉数据的频率;或者所述触觉数据的持续时间。
(28)如上述(26)所述的非暂态计算机可读介质,控制所述触觉效果还包括将包括音频数据的音频效果定义转换成所述触觉效果定义。
(29)如上述(26)所述的非暂态计算机可读介质,其中,使得所述一个或多个触觉输出设备产生所述一个或多个触觉效果进一步包括使得所述一个或多个触觉输出设备在所述***设备的用户输入元件处产生所述一个或多个触觉效果。
(30)如上述(29)所述的非暂态计算机可读介质,其中,所述用户输入元件包括以下各项之一:数字按钮;模拟按钮;减震器;方向手柄;模拟或者数字摇杆;驱动轮;或者触发器。

Claims (29)

1.一种非暂态计算机可读介质,其上存储有指令,所述指令当被处理器执行时,使得该处理器控制在***设备处呈现的触觉效果,所述控制包括:
接收定义与多个触觉数据通道中的每个通道相关联的多个参数的触觉效果定义数据结构,每个通道包括来自触觉效果定义数据结构的用于多个触觉输出设备中的不同的针对性触觉输出设备的一部分触觉数据;
接收包括以下各项中的至少一者的触发数据:所述***设备的触发器的位置,其中所述位置在所述触发器的输入范围内;或者所述***设备的触发器的输入范围;
基于接收到的触发数据来判定是否达到触发条件;
基于接收的空间化数据来修改所述触觉效果定义数据结构的触觉数据,所述空间化数据包括触觉效果的流动,其中,所述流动是时间性的重放开始偏移量修改或持续时间修改以延迟在所述多个触觉输出设备的各个针对性触觉输出设备处的触觉效果的重放;
在达到所述触发条件之后,通过应用编程接口将触觉指令和所述触觉效果定义数据结构发送到所述***设备;以及
使得所述多个触觉输出设备响应于所述触觉指令在所述***设备的用户输入元件或外表面处产生基于所述触觉效果定义数据结构的一个或多个触觉效果;
其中,包含在每个通道中的所述一部分触觉数据使得对应的触觉输出设备在所述***设备的对应的用户输入元件或外表面处产生一个或多个触觉效果。
2.如权利要求1所述的非暂态计算机可读介质,其中,修改所述触觉效果定义数据结构的触觉数据包括缩放以下各项中的至少一者:所述触觉数据的幅度;所述触觉数据的频率;或者所述触觉数据的持续时间。
3.如权利要求1所述的非暂态计算机可读介质,其中,每个通道耦合到不同的触觉输出设备,使得多个通道不会耦合到单个触觉输出设备。
4.如权利要求1所述的非暂态计算机可读介质,其中,将所述触觉效果定义数据结构发送到所述***设备进一步包括:
将所述触觉效果定义数据结构的触觉数据从第一格式转换到第二格式;以及
将所述触觉效果定义数据结构的经转换的触觉数据发送到所述***设备。
5.如权利要求1所述的非暂态计算机可读介质,控制所述触觉效果进一步包括将所述触觉效果定义数据结构的触觉数据编码在具有音频格式的文件或流内。
6.如权利要求5所述的非暂态计算机可读介质,控制所述触觉效果还包括对所述文件或流内的经编码的触觉数据进行解码。
7.如权利要求6所述的非暂态计算机可读介质,对经编码的触觉数据进行解码进一步包括计算可编程的交越。
8.如权利要求1所述的非暂态计算机可读介质,其中所述触觉效果定义数据结构再创建不同格式的触觉效果。
9.如权利要求1所述的非暂态计算机可读介质,其中,所述***设备包括控制器或游戏手柄。
10.如权利要求1所述的非暂态计算机可读介质,
其中,所述触觉效果定义数据结构包括触发触觉效果定义,
其中,所述触觉指令包括触发指令;
其中,至少一个用户输入元件包括所述触发器;并且
其中,所述多个触觉输出设备包括一个或多个针对性触觉输出设备。
11.如权利要求1所述的非暂态计算机可读介质,控制所述触觉效果进一步包括将包括音频数据的音频效果定义转换成所述触觉效果定义数据结构。
12.如权利要求1所述的非暂态计算机可读介质,其中,所述多个触觉输出设备中的至少一个触觉输出设备包括致动器。
13.如权利要求12所述的非暂态计算机可读介质,其中,所述致动器包括马达。
14.一种用于控制在***设备的用户输入元件处呈现的触觉效果的由计算机实现的方法,所述由计算机实现的方法包括:
接收定义与多个触觉数据通道中的每个通道相关联的多个参数的触觉效果定义数据结构,每个通道包括来自触觉效果定义数据结构的用于多个触觉输出设备中的不同的针对性触觉输出设备的一部分触觉数据;
接收包括以下各项中的至少一者的触发数据:所述***设备的触发器的位置,其中所述位置在所述触发器的输入范围内;或者所述***设备的触发器的输入范围;
基于接收到的触发数据来判定是否达到触发条件;
基于接收的空间化数据来修改所述触觉效果定义数据结构的触觉数据,所述空间化数据包括触觉效果的流动,其中,所述流动是时间性的重放开始偏移量修改或持续时间修改以延迟在所述多个触觉输出设备的各个针对性触觉输出设备处的触觉效果的重放;
在达到所述触发条件之后,通过应用编程接口将触觉指令和触觉效果定义数据结构发送到所述***设备;以及
使得多个触觉输出设备响应于所述触觉指令在所述***设备的用户输入元件或外表面处产生基于所述触觉效果定义数据结构的一个或多个触觉效果;
其中,包含在每个通道中的所述一部分触觉数据使得对应的触觉输出设备在所述***设备的对应的用户输入元件或外表面处产生一个或多个触觉效果。
15.如权利要求14所述的由计算机实现的方法,其中,修改所述触觉效果定义数据结构的触觉数据包括缩放以下各项中的至少一者:所述触觉数据的幅度;所述触觉数据的频率;或者所述触觉数据的持续时间。
16.如权利要求14所述的由计算机实现的方法,其中,将所述触觉效果定义数据结构发送到所述***设备进一步包括将所述触觉效果定义数据结构的触觉数据直接发送到所述***设备。
17.如权利要求14所述的由计算机实现的方法,其中,将所述触觉效果定义数据结构发送到所述***设备进一步包括:
将所述触觉效果定义数据结构的触觉数据从第一格式转换到第二格式;以及
将所述触觉效果定义数据结构的经转换的触觉数据发送到所述***设备。
18.一种用于控制在***设备的用户输入元件处呈现的触觉效果的***,该***包括:
存储器,被配置为存储触觉触发控制模块;以及
处理器,被配置为执行存储在所述存储器上的所述触觉触发控制模块;
其中,所述处理器当执行所述触觉触发控制模块时被配置为接收定义与多个触觉数据通道中的每个通道相关联的多个参数的触觉效果定义数据结构,每个通道包括来自触觉效果定义数据结构的用于多个触觉输出设备中的不同的针对性触觉输出设备的一部分触觉数据;
其中,所述处理器当执行所述触觉触发控制模块时还被配置为接收包括以下各项中的至少一者的触发数据:所述***设备的触发器的位置,其中所述位置在所述触发器的输入范围内;或者所述***设备的触发器的输入范围;
其中,所述处理器当执行所述触觉触发控制模块时还被配置为基于接收到的触发数据来判定是否达到触发条件;
其中,所述处理器当执行所述触觉触发控制模块时还被配置为基于接收的空间化数据来修改所述触觉效果定义数据结构的触觉数据,所述空间化数据包括触觉效果的流动,其中,所述流动是时间性的重放开始偏移量修改或持续时间修改以延迟在所述多个触觉输出设备的各个针对性触觉输出设备处的触觉效果的重放;
其中,所述处理器当执行所述触觉触发控制模块时还被配置为在达到所述触发条件之后,通过应用编程接口将触觉指令和所述触觉效果定义数据结构发送到所述***设备;并且
其中,所述处理器当执行所述触觉触发控制模块时还被配置为使得多个触觉输出设备响应于所述触觉指令在所述***设备的用户输入元件或外表面处产生基于所述触觉效果定义数据结构的一个或多个触觉效果;
其中,包含在每个通道中的所述一部分触觉数据使得对应的触觉输出设备在所述***设备的对应的用户输入元件或外表面处产生一个或多个触觉效果。
19.如权利要求18所述的***,其中,所述处理器当执行所述触觉触发控制模块时还被配置为缩放以下各项中的至少一者:所述触觉数据的幅度;所述触觉数据的频率;或者所述触觉数据的持续时间。
20.如权利要求18所述的***,其中,所述处理器当执行所述触觉触发控制模块时还被配置为将所述触觉效果定义数据结构的触觉数据直接发送到所述***设备。
21.如权利要求18所述的***,
其中,所述处理器当执行所述触觉触发控制模块时还被配置为将所述触觉效果定义数据结构的触觉数据从第一格式转换到第二格式;并且
其中,所述处理器当执行所述触觉触发控制模块时还被配置为将所述触觉效果定义数据结构的经转换的触觉数据发送到所述***设备。
22.一种非暂态计算机可读介质,其上存储有指令,所述指令当被处理器执行时,使得该处理器控制在***设备处呈现的触觉效果,所述控制包括:
接收定义与多个触觉数据通道中的每个通道相关联的多个参数的触觉效果定义数据结构,每个通道包括来自触觉效果定义数据结构的用于多个触觉输出设备中的不同的针对性触觉输出设备的一部分触觉数据;
基于接收到的空间化数据来修改所述触觉效果定义的触觉数据,所述空间化数据包括所述触觉效果的流动,其中,所述流动是时间性的重放开始偏移量修改或持续时间修改以延迟在所述多个触觉输出设备的各个针对性触觉输出设备处的触觉效果的重放;
通过应用编程接口将触觉指令和所述触觉效果定义数据结构发送到所述***设备;以及
使得所述多个触觉输出设备响应于所述触觉指令在所述***设备的用户输入元件或外表面处产生基于所述触觉效果定义数据结构的一个或多个触觉效果;
其中,包含在每个通道中的所述一部分触觉数据使得对应的触觉输出设备在所述***设备的对应的用户输入元件或外表面处产生一个或多个触觉效果。
23.如权利要求22所述的非暂态计算机可读介质,其中,修改所述触觉效果定义数据结构的触觉数据包括缩放以下各项中的至少一者:所述触觉数据的幅度;所述触觉数据的频率;或者所述触觉数据的持续时间。
24.如权利要求22所述的非暂态计算机可读介质,控制所述触觉效果还包括将包括音频数据的音频效果定义转换成所述触觉效果定义数据结构。
25.如权利要求22所述的非暂态计算机可读介质,其中,使得所述多个触觉输出设备产生所述一个或多个触觉效果进一步包括使得所述一个或多个触觉输出设备在所述***设备的用户输入元件处产生所述一个或多个触觉效果。
26.如权利要求25所述的非暂态计算机可读介质,其中,所述用户输入元件包括以下各项之一:数字按钮;模拟按钮;减震器;方向手柄;模拟或者数字摇杆;驱动轮;或者触发器。
27.一种非暂态计算机可读介质,其上存储有指令,所述指令当被处理器执行时,使得该处理器控制在***设备处体验到的触觉效果,所述控制包括:
接收定义与多个触觉数据通道中的每个通道相关联的多个参数的触觉效果定义数据结构和定义与多个触发触觉数据通道中的每个通道相关联的多个参数的触发触觉效果定义数据结构,每个通道包括一部分触觉数据并且每个通道耦合到多个触觉输出设备中的不同的触觉输出设备;
接收包括以下各项中的至少一者的触发数据:所述***设备的触发器的位置,其中所述位置在所述触发器的输入范围内;或者所述***设备的触发器的输入范围;
基于接收到的触发数据来判定是否达到触发条件;
基于接收的空间化数据来修改所述触觉效果定义数据结构的触觉数据,所述空间化数据包括触觉效果的流动,其中,所述流动是时间性的重放开始偏移量修改或持续时间修改以延迟在所述多个触觉输出设备的各个针对性触觉输出设备处的触觉效果的重放;
在达到所述触发条件之后,将所述触觉效果定义数据结构和包括触发指令的触觉指令发送到所述***设备;以及
使得多个触觉输出设备响应于所述触觉指令在所述***设备的触发元件或外表面处产生基于所述触觉效果定义数据结构的一个或多个触觉效果;
其中,包含在每个通道中的所述一部分触觉数据使得对应的触觉输出设备在所述***设备的对应的用户输入元件或外表面处产生一个或多个触觉效果。
28.如权利要求27所述的非暂态计算机可读介质,还包括:
将所述触觉效果定义数据结构的触觉数据从第一格式转换到第二格式。
29.如权利要求27所述的非暂态计算机可读介质,其中所述多个触觉输出设备包括一个或多个针对性触觉输出设备。
CN201410641497.5A 2013-11-14 2014-11-13 触觉触发控制方法、***及计算机可读介质 Expired - Fee Related CN104635921B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361904342P 2013-11-14 2013-11-14
US61/904,342 2013-11-14
US14/539,111 2014-11-12
US14/539,111 US9619029B2 (en) 2013-11-14 2014-11-12 Haptic trigger control system

Publications (2)

Publication Number Publication Date
CN104635921A CN104635921A (zh) 2015-05-20
CN104635921B true CN104635921B (zh) 2020-08-07

Family

ID=51904607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410641497.5A Expired - Fee Related CN104635921B (zh) 2013-11-14 2014-11-13 触觉触发控制方法、***及计算机可读介质

Country Status (5)

Country Link
US (2) US9619029B2 (zh)
EP (2) EP2873447B1 (zh)
JP (3) JP6181629B2 (zh)
KR (2) KR101819789B1 (zh)
CN (1) CN104635921B (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9164587B2 (en) 2013-11-14 2015-10-20 Immersion Corporation Haptic spatialization system
US9619029B2 (en) * 2013-11-14 2017-04-11 Immersion Corporation Haptic trigger control system
US10675532B2 (en) 2014-04-21 2020-06-09 Steelseries Aps Variable actuators of an accessory and methods thereof
US10022622B2 (en) 2014-04-21 2018-07-17 Steelseries Aps Programmable actuation inputs of an accessory and methods thereof
US9588586B2 (en) * 2014-06-09 2017-03-07 Immersion Corporation Programmable haptic devices and methods for modifying haptic strength based on perspective and/or proximity
US9715279B2 (en) * 2014-06-09 2017-07-25 Immersion Corporation Haptic devices and methods for providing haptic effects via audio tracks
US10185396B2 (en) 2014-11-12 2019-01-22 Immersion Corporation Haptic trigger modification system
US10073523B2 (en) * 2014-12-23 2018-09-11 Immersion Corporation Position control of a user input element associated with a haptic output device
CN104998409A (zh) * 2015-06-11 2015-10-28 将军兄弟有限公司 振动反馈***及振动反馈方法
KR102639118B1 (ko) * 2015-09-08 2024-02-22 소니그룹주식회사 정보 처리 장치, 방법 및 컴퓨터 프로그램
US9990040B2 (en) * 2015-09-25 2018-06-05 Immersion Corporation Haptic CAPTCHA
US9981182B2 (en) 2016-02-12 2018-05-29 Disney Enterprises, Inc. Systems and methods for providing immersive game feedback using haptic effects
US10556175B2 (en) 2016-06-10 2020-02-11 Immersion Corporation Rendering a haptic effect with intra-device mixing
US20180004291A1 (en) * 2016-07-01 2018-01-04 Immersion Corporation Cloud Connected Haptic Platform
EP3506645B1 (en) 2016-08-23 2023-09-06 Sony Group Corporation Control system, control apparatus, and control method
US10349196B2 (en) * 2016-10-03 2019-07-09 Nokia Technologies Oy Method of editing audio signals using separated objects and associated apparatus
US10297120B2 (en) * 2016-12-13 2019-05-21 Disney Enterprises, Inc. Haptic effect generation system
US20180232051A1 (en) * 2017-02-16 2018-08-16 Immersion Corporation Automatic localized haptics generation system
US10384123B2 (en) 2017-06-01 2019-08-20 Microsoft Technology Licensing, Llc Motor-driven adjustable-tension trigger
US10850190B2 (en) 2017-06-01 2020-12-01 Microsoft Technology Licensing, Llc Input device with clutched force-feedback trigger
US10737172B2 (en) 2017-06-01 2020-08-11 Microsoft Technology Licensing, Llc Input device with force sensor feedback trigger
US10226697B2 (en) * 2017-06-01 2019-03-12 Microsoft Technology Licensing, Llc Input device with sector geared feedback trigger
US10773159B2 (en) 2017-06-01 2020-09-15 Microsoft Technology Licensing, Llc Input device with linear geared feedback trigger
CN110709802B (zh) * 2017-06-27 2024-01-30 福特全球技术公司 触觉装置操作
KR102443324B1 (ko) * 2017-09-15 2022-09-14 풔스 디멘션 에스에이알엘 진동-촉각력 피드백 방법 및 디바이스
US10955922B2 (en) * 2017-11-29 2021-03-23 International Business Machines Corporation Simulating tactile information for haptic technology
JP7035090B2 (ja) * 2018-01-19 2022-03-14 株式会社ソニー・インタラクティブエンタテインメント 操作入力装置及びプログラム
WO2019163260A1 (ja) * 2018-02-20 2019-08-29 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
EP3579081A1 (en) * 2018-06-07 2019-12-11 Lofelt GmbH Systems and methods for generating haptic output for enhanced user experience
EP3822745B1 (en) * 2018-07-12 2024-06-05 Sony Interactive Entertainment Inc. Information processing system and method of operation therefor
WO2020035018A1 (zh) * 2018-08-16 2020-02-20 上海众链科技有限公司 一种游戏手柄及其用途
CN109005424B (zh) * 2018-08-17 2021-07-16 腾讯科技(成都)有限公司 对象的控制方法、装置及***、存储介质、电子装置
CN112955861A (zh) * 2018-09-04 2021-06-11 谷歌有限责任公司 用于预缓存特殊效果的故事阅读器进度的检测
US10800433B2 (en) 2018-09-14 2020-10-13 Honda Motor Co., Ltd. Seat haptic system and method of equalizing haptic output
US10345758B2 (en) * 2018-10-07 2019-07-09 Rising Star Pathway, a California Corporation Processor controlled energy harvester based on oscillating weight type energy collectors
US10817082B1 (en) 2019-08-02 2020-10-27 Dell Products L.P. Information handling system flexible display smart stylus
US11243578B2 (en) 2019-08-02 2022-02-08 Dell Products L.P. Gear synchronized dual axis pivot hinge
US11586243B2 (en) 2019-08-02 2023-02-21 Dell Products L.P. Information handling system flexible display rotational orientation monitoring and management
US11294431B2 (en) 2019-08-02 2022-04-05 Dell Products L.P. Synchronized dual axis pivot hinge
US11024224B2 (en) 2019-08-02 2021-06-01 Dell Products L.P. Information handling system flexible display operating condition monitoring and management
WO2021074107A1 (en) * 2019-10-14 2021-04-22 Lofelt Gmbh Systems and methods for authoring an audio signal and for transforming the authored audio signal into a haptic data file
US11013991B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller adaptive haptic feedback
US11097184B2 (en) 2019-12-31 2021-08-24 Dell Products L.P. Information handling system controller illumination
US11338197B2 (en) 2019-12-31 2022-05-24 Dell Products L.P. Information handling system controller distributable hardware and logic management
US11260291B2 (en) 2019-12-31 2022-03-01 Dell Products L.P. Information handling system and detachable game controller
USD928113S1 (en) 2019-12-31 2021-08-17 Dell Products L.P. Portable information handling system with detachable gaming controllers
US11331567B2 (en) 2019-12-31 2022-05-17 Dell Products L.P. Information handling system and game controller trigger
US11013987B1 (en) 2019-12-31 2021-05-25 Dell Products L.P. Information handling system controller scalable interface
US11097185B2 (en) 2019-12-31 2021-08-24 Dell Products L.P. Detachable information handling system game controller management
US11260288B2 (en) 2019-12-31 2022-03-01 Dell Products L.P. Disassemblable information handling system game controller
KR20210088371A (ko) * 2020-01-06 2021-07-14 주식회사 비햅틱스 촉각자극 제공 시스템
JP2022541968A (ja) * 2020-06-30 2022-09-29 バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド ビデオ処理方法、装置、電子機器及び記憶媒体
US11277084B2 (en) * 2020-07-14 2022-03-15 Qualcomm Incorporated Driver for haptics and camera voice coil motor applications
KR102608388B1 (ko) * 2020-10-20 2023-12-01 주식회사 씨케이머티리얼즈랩 햅틱 데이터 생성 장치 및 방법, 햅틱 효과 제공 장치 및 방법
US11571617B2 (en) * 2020-12-18 2023-02-07 Dell Products, Lp System and method for coordinating gaming haptic response across peripheral device ecosystem
GB2615361B (en) * 2022-02-08 2024-05-29 Sony Interactive Entertainment Europe Ltd Method for generating feedback in a multimedia entertainment system
WO2023215975A1 (en) * 2022-05-09 2023-11-16 D-Box Technologies Inc. Method and system for adaptive motion simulation in gaming
GB2624179A (en) * 2022-11-08 2024-05-15 Sony Interactive Entertainment Inc Methods and systems for providing in-game navigation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102906667A (zh) * 2010-04-23 2013-01-30 伊梅森公司 用于提供触觉效果的***和方法
CN103365415A (zh) * 2012-04-04 2013-10-23 英默森公司 使用多执行器的声音-触觉效应转换***

Family Cites Families (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6285356B1 (en) 1999-02-19 2001-09-04 Brad A. Armstrong Displacement joystick with compression-sensitive sensors
US5473126A (en) 1994-01-31 1995-12-05 Wu; Donald Joystick switch assembly
US5691898A (en) 1995-09-27 1997-11-25 Immersion Human Interface Corp. Safe and low cost computer peripherals with force feedback for consumer applications
US5959613A (en) 1995-12-01 1999-09-28 Immersion Corporation Method and apparatus for shaping force signals for a force feedback device
US6219032B1 (en) 1995-12-01 2001-04-17 Immersion Corporation Method for providing force feedback to a user of an interface device based on interactions of a controlled cursor with graphical elements in a graphical user interface
US6169540B1 (en) 1995-12-01 2001-01-02 Immersion Corporation Method and apparatus for designing force sensations in force feedback applications
US6028593A (en) 1995-12-01 2000-02-22 Immersion Corporation Method and apparatus for providing simulated physical interactions within computer generated environments
US6005551A (en) * 1997-04-25 1999-12-21 Microsoft Corporation Offline force effect rendering
US6252583B1 (en) 1997-11-14 2001-06-26 Immersion Corporation Memory and force output management for a force feedback system
US6429846B2 (en) 1998-06-23 2002-08-06 Immersion Corporation Haptic feedback for touchpads and other touch controls
US6184868B1 (en) * 1998-09-17 2001-02-06 Immersion Corp. Haptic feedback control devices
US6563487B2 (en) 1998-06-23 2003-05-13 Immersion Corporation Haptic feedback for directional control pads
JP2000195370A (ja) 1998-12-28 2000-07-14 Sony Computer Entertainment Inc 反力発生装置
US6424356B2 (en) 1999-05-05 2002-07-23 Immersion Corporation Command of force sensations in a forceback system using force effect suites
JP4587243B2 (ja) * 1999-08-31 2010-11-24 株式会社ソニー・コンピュータエンタテインメント エンタテインメント装置、エンタテインメントシステム、記録媒体及び振動設定方法
DE20080209U1 (de) 1999-09-28 2001-08-09 Immersion Corp Steuerung von haptischen Empfindungen für Schnittstellenvorrichtungen mit Vibrotaktiler Rückkopplung
US7965276B1 (en) 2000-03-09 2011-06-21 Immersion Corporation Force output adjustment in force feedback devices based on user contact
US6710764B1 (en) 2000-05-09 2004-03-23 Logitech Europe S.A. Method and system for processing force feedback effects generated at a host for playback at a physical interaction device
EP2385518A3 (en) 2000-05-24 2012-02-15 Immersion Medical, Inc. Haptic devices using electroactive polymers
CN100468294C (zh) 2000-09-28 2009-03-11 伊默逊股份有限公司 用于触觉反馈接口设备的有方向触觉反馈
US7182691B1 (en) * 2000-09-28 2007-02-27 Immersion Corporation Directional inertial tactile feedback using rotating masses
AU2001294852A1 (en) 2000-09-28 2002-04-08 Immersion Corporation Directional tactile feedback for haptic feedback interface devices
US7194287B2 (en) 2001-07-25 2007-03-20 Matsushita Electric Industrial Co., Ltd. Electric-mechanical-acoustic-transducer and portable communication device including the same
US7623114B2 (en) * 2001-10-09 2009-11-24 Immersion Corporation Haptic feedback sensations based on audio output from computer devices
KR20040062956A (ko) 2001-11-01 2004-07-09 임머숀 코퍼레이션 촉각을 제공하기 위한 방법 및 장치
JP2005056267A (ja) 2003-08-06 2005-03-03 Sony Corp 力覚フィードバック装置
JP4111278B2 (ja) 2003-11-20 2008-07-02 独立行政法人産業技術総合研究所 触力覚情報提示システム
US8164573B2 (en) 2003-11-26 2012-04-24 Immersion Corporation Systems and methods for adaptive interpretation of input from a touch-sensitive input device
US9948885B2 (en) 2003-12-12 2018-04-17 Kurzweil Technologies, Inc. Virtual encounters
US7791588B2 (en) 2003-12-22 2010-09-07 Immersion Corporation System and method for mapping instructions associated with haptic feedback
US7667687B2 (en) 2003-12-30 2010-02-23 Immersion Corporation Resistive and hybrid control schemes for haptic feedback interface devices
US8232969B2 (en) 2004-10-08 2012-07-31 Immersion Corporation Haptic feedback for button and scrolling action simulation in touch input devices
WO2007002775A2 (en) 2005-06-27 2007-01-04 Coactive Drive Corporation Synchronized vibration device for haptic feedback
US8700791B2 (en) * 2005-10-19 2014-04-15 Immersion Corporation Synchronization of haptic effect data in a media transport stream
WO2007117418A2 (en) 2006-03-31 2007-10-18 Wms Gaming Inc. Portable wagering game with vibrational cues and feedback mechanism
US8378964B2 (en) 2006-04-13 2013-02-19 Immersion Corporation System and method for automatically producing haptic events from a digital audio signal
US8000825B2 (en) 2006-04-13 2011-08-16 Immersion Corporation System and method for automatically producing haptic events from a digital audio file
US7979146B2 (en) 2006-04-13 2011-07-12 Immersion Corporation System and method for automatically producing haptic events from a digital audio signal
US20070265077A1 (en) 2006-04-27 2007-11-15 Microsoft Corporation Haptic feedback for peripheral devices
JP2007331066A (ja) * 2006-06-15 2007-12-27 Canon Inc 接触提示装置及び方法
US9370704B2 (en) 2006-08-21 2016-06-21 Pillar Vision, Inc. Trajectory detection and feedback system for tennis
JP5091488B2 (ja) 2007-01-16 2012-12-05 株式会社ソニー・コンピュータエンタテインメント コントローラ及び情報処理システム
US8621348B2 (en) 2007-05-25 2013-12-31 Immersion Corporation Customizing haptic effects on an end user device
US20090079690A1 (en) * 2007-09-21 2009-03-26 Sony Computer Entertainment America Inc. Method and apparatus for enhancing entertainment software through haptic insertion
US20090088659A1 (en) 2007-09-27 2009-04-02 Immersion Corporation Biological Sensing With Haptic Feedback
US8117364B2 (en) 2007-11-13 2012-02-14 Microsoft Corporation Enhanced protocol and architecture for low bandwidth force feedback game controller
WO2009092107A2 (en) 2008-01-17 2009-07-23 Articulate Technologies, Inc. Methods and devices for intraoral tactile feedback
JP2009233108A (ja) * 2008-03-27 2009-10-15 Namco Bandai Games Inc ゲーム装置用銃型コントローラ
CN102112887B (zh) 2008-06-03 2015-06-10 泰拉丁公司 处理存储设备
JP5217929B2 (ja) 2008-11-13 2013-06-19 ソニー株式会社 割込検出装置および情報処理システム
US20100141408A1 (en) 2008-12-05 2010-06-10 Anthony Stephen Doy Audio amplifier apparatus to drive a panel to produce both an audio signal and haptic feedback
US8057290B2 (en) * 2008-12-15 2011-11-15 Disney Enterprises, Inc. Dance ring video game
WO2010080766A2 (en) * 2009-01-06 2010-07-15 Immersion Corporation Programmable game-based haptic enabled gun controller
US9927873B2 (en) 2009-03-12 2018-03-27 Immersion Corporation Systems and methods for using textures in graphical user interface widgets
US8279053B2 (en) * 2009-05-19 2012-10-02 Korea Institute Of Science And Technology Apparatus and method for vibrotactile mobile device
US9370459B2 (en) 2009-06-19 2016-06-21 Andrew Mahoney System and method for alerting visually impaired users of nearby objects
KR20110005587A (ko) 2009-07-10 2011-01-18 삼성전자주식회사 휴대 단말의 진동 발생 방법 및 장치
CN102473034B (zh) * 2009-07-22 2015-04-01 意美森公司 用于在输入控制手势以及关于虚拟设备的控制期间提供复杂触觉激励的***和方法
US8540571B2 (en) 2010-03-31 2013-09-24 Immersion Corporation System and method for providing haptic stimulus based on position
US9251721B2 (en) 2010-04-09 2016-02-02 University Of Florida Research Foundation, Inc. Interactive mixed reality system and uses thereof
CN102971689B (zh) * 2010-06-28 2015-10-07 诺基亚公司 触觉表面压缩
US9223431B2 (en) 2010-09-17 2015-12-29 Blackberry Limited Touch-sensitive display with depression detection and method
US9448626B2 (en) 2011-02-11 2016-09-20 Immersion Corporation Sound to haptic effect conversion system using amplitude value
US8717152B2 (en) 2011-02-11 2014-05-06 Immersion Corporation Sound to haptic effect conversion system using waveform
US8723820B1 (en) * 2011-02-16 2014-05-13 Google Inc. Methods and apparatus related to a haptic feedback drawing device
US9083821B2 (en) * 2011-06-03 2015-07-14 Apple Inc. Converting audio to haptic feedback in an electronic device
US8480491B2 (en) 2011-06-17 2013-07-09 Ironburg Inventions Ltd. Game controller
US9462262B1 (en) 2011-08-29 2016-10-04 Amazon Technologies, Inc. Augmented reality environment with environmental condition control
US9523626B2 (en) 2011-09-29 2016-12-20 Pcb Piezotronics, Inc. Hand-held vibration sensor
US8894491B2 (en) * 2011-12-09 2014-11-25 Microsoft Corporation Multi-stage variable resistance trigger
US9050529B2 (en) 2012-01-30 2015-06-09 Microsoft Technology Licensing, Llc Force feedback triggers
KR102024006B1 (ko) 2012-02-10 2019-09-24 삼성전자주식회사 진동 장치간 진동 전달을 제어하는 장치 및 방법
EP3321780A1 (en) 2012-02-15 2018-05-16 Immersion Corporation High definition haptic effects generation using primitives
US10852093B2 (en) 2012-05-22 2020-12-01 Haptech, Inc. Methods and apparatuses for haptic systems
US9874964B2 (en) 2012-06-04 2018-01-23 Sony Interactive Entertainment Inc. Flat joystick controller
US8860563B2 (en) 2012-06-14 2014-10-14 Immersion Corporation Haptic effect conversion system using granular synthesis
US9368005B2 (en) 2012-08-31 2016-06-14 Immersion Corporation Sound to haptic effect conversion system using mapping
US9092059B2 (en) 2012-10-26 2015-07-28 Immersion Corporation Stream-independent sound to haptic effect conversion system
FR2999741B1 (fr) 2012-12-17 2015-02-06 Centre Nat Rech Scient Systeme haptique pour faire interagir sans contact au moins une partie du corps d'un utilisateur avec un environnement virtuel
US20140320629A1 (en) * 2013-01-24 2014-10-30 University Of Washington Through Its Center For Commericialization Haptically-Enabled Co-Robotics for Underwater Tasks
US8754757B1 (en) 2013-03-05 2014-06-17 Immersion Corporation Automatic fitting of haptic effects
US9557830B2 (en) * 2013-03-15 2017-01-31 Immersion Corporation Programmable haptic peripheral
US9367136B2 (en) 2013-04-12 2016-06-14 Microsoft Technology Licensing, Llc Holographic object feedback
EP2796965B1 (en) 2013-04-22 2019-12-18 Immersion Corporation Gaming device having a haptic enabled trigger
US9519346B2 (en) 2013-05-17 2016-12-13 Immersion Corporation Low-frequency effects haptic conversion system
US9908048B2 (en) 2013-06-08 2018-03-06 Sony Interactive Entertainment Inc. Systems and methods for transitioning between transparent mode and non-transparent mode in a head mounted display
US9811854B2 (en) 2013-07-02 2017-11-07 John A. Lucido 3-D immersion technology in a virtual store
EP4083758A1 (en) 2013-07-05 2022-11-02 Rubin, Jacob A. Whole-body human-computer interface
US9619980B2 (en) 2013-09-06 2017-04-11 Immersion Corporation Systems and methods for generating haptic effects associated with audio signals
US10599218B2 (en) 2013-09-06 2020-03-24 Immersion Corporation Haptic conversion system using frequency shifting
US9898086B2 (en) 2013-09-06 2018-02-20 Immersion Corporation Systems and methods for visual processing of spectrograms to generate haptic effects
US9898085B2 (en) 2013-09-06 2018-02-20 Immersion Corporation Haptic conversion system using segmenting and combining
US9576445B2 (en) 2013-09-06 2017-02-21 Immersion Corp. Systems and methods for generating haptic effects associated with an envelope in audio signals
US9514620B2 (en) * 2013-09-06 2016-12-06 Immersion Corporation Spatialized haptic feedback based on dynamically scaled values
US9711014B2 (en) 2013-09-06 2017-07-18 Immersion Corporation Systems and methods for generating haptic effects associated with transitions in audio signals
US9630105B2 (en) 2013-09-30 2017-04-25 Sony Interactive Entertainment Inc. Camera based safety mechanisms for users of head mounted displays
US9164587B2 (en) * 2013-11-14 2015-10-20 Immersion Corporation Haptic spatialization system
US9619029B2 (en) * 2013-11-14 2017-04-11 Immersion Corporation Haptic trigger control system
US9392094B2 (en) 2014-01-15 2016-07-12 Sony Corporation Mobile electronic wearable device and method for providing haptic notification
US9551873B2 (en) 2014-05-30 2017-01-24 Sony Interactive Entertainment America Llc Head mounted device (HMD) system having interface with mobile computing device for rendering virtual reality content
JP6355978B2 (ja) * 2014-06-09 2018-07-11 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置
US9773389B2 (en) 2014-07-28 2017-09-26 Ck Materials Lab Co., Ltd. Tactile information supply module
US9645646B2 (en) 2014-09-04 2017-05-09 Intel Corporation Three dimensional contextual feedback wristband device
US9799177B2 (en) 2014-09-23 2017-10-24 Intel Corporation Apparatus and methods for haptic covert communication
EP3020457A1 (en) * 2014-11-12 2016-05-18 Immersion Corporation Haptic controller
US10185396B2 (en) * 2014-11-12 2019-01-22 Immersion Corporation Haptic trigger modification system
US9174134B1 (en) * 2014-11-12 2015-11-03 Immersion Corporation Peripheral device with haptic diminishment prevention component
US20160170508A1 (en) 2014-12-11 2016-06-16 Toyota Motor Engineering & Manufacturing North America, Inc. Tactile display devices
US10166466B2 (en) 2014-12-11 2019-01-01 Elwha Llc Feedback for enhanced situational awareness
US9870718B2 (en) 2014-12-11 2018-01-16 Toyota Motor Engineering & Manufacturing North America, Inc. Imaging devices including spacing members and imaging devices including tactile feedback devices
US9922518B2 (en) 2014-12-11 2018-03-20 Elwha Llc Notification of incoming projectiles
US10073523B2 (en) * 2014-12-23 2018-09-11 Immersion Corporation Position control of a user input element associated with a haptic output device
US10268286B2 (en) * 2014-12-23 2019-04-23 Immersion Corporation Controlling power distribution to haptic output devices
US10073516B2 (en) 2014-12-29 2018-09-11 Sony Interactive Entertainment Inc. Methods and systems for user interaction within virtual reality scene using head mounted display
US9746921B2 (en) 2014-12-31 2017-08-29 Sony Interactive Entertainment Inc. Signal generation and detector systems and methods for determining positions of fingers of a user
US9843744B2 (en) 2015-01-13 2017-12-12 Disney Enterprises, Inc. Audience interaction projection system
US10322203B2 (en) 2015-06-26 2019-06-18 Intel Corporation Air flow generation for scent output
WO2017053878A1 (en) 2015-09-25 2017-03-30 Oculus Vr, Llc Haptic surface with damping apparatus
US20170103574A1 (en) 2015-10-13 2017-04-13 Google Inc. System and method for providing continuity between real world movement and movement in a virtual/augmented reality experience
US20170131775A1 (en) 2015-11-10 2017-05-11 Castar, Inc. System and method of haptic feedback by referral of sensation
US9849379B2 (en) * 2015-11-25 2017-12-26 Immersion Corporation Haptic peripheral having a deformable substrate configured for amplified deformation
WO2017095951A1 (en) 2015-11-30 2017-06-08 Nike Innovate C.V. Apparel with ultrasonic position sensing and haptic feedback for activities
US10310804B2 (en) 2015-12-11 2019-06-04 Facebook Technologies, Llc Modifying haptic feedback provided to a user to account for changes in user perception of haptic feedback
US10324530B2 (en) 2015-12-14 2019-06-18 Facebook Technologies, Llc Haptic devices that simulate rigidity of virtual objects
US10096163B2 (en) 2015-12-22 2018-10-09 Intel Corporation Haptic augmented reality to reduce noxious stimuli
US10065124B2 (en) 2016-01-15 2018-09-04 Disney Enterprises, Inc. Interacting with a remote participant through control of the voice of a toy device
US11351472B2 (en) 2016-01-19 2022-06-07 Disney Enterprises, Inc. Systems and methods for using a gyroscope to change the resistance of moving a virtual weapon
US9846971B2 (en) 2016-01-19 2017-12-19 Disney Enterprises, Inc. Systems and methods for augmenting an appearance of a hilt to simulate a bladed weapon
US10061385B2 (en) * 2016-01-22 2018-08-28 Microsoft Technology Licensing, Llc Haptic feedback for a touch input device
TWI688879B (zh) 2016-01-22 2020-03-21 宏達國際電子股份有限公司 虛擬實境環境中與真實世界互動的方法、系統與記錄媒體
US9933851B2 (en) 2016-02-22 2018-04-03 Disney Enterprises, Inc. Systems and methods for interacting with virtual objects using sensory feedback
US10555153B2 (en) 2016-03-01 2020-02-04 Disney Enterprises, Inc. Systems and methods for making non-smart objects smart for internet of things
US9981183B2 (en) * 2016-05-19 2018-05-29 Immersion Corporation Haptic peripheral having a haptically-enhanced user input element including a mechanical key and an integrated smart material actuator for providing haptic effects
US20170352185A1 (en) 2016-06-02 2017-12-07 Dennis Rommel BONILLA ACEVEDO System and method for facilitating a vehicle-related virtual reality and/or augmented reality presentation
US10155159B2 (en) 2016-08-18 2018-12-18 Activision Publishing, Inc. Tactile feedback systems and methods for augmented reality and virtual reality systems
US20180053351A1 (en) 2016-08-19 2018-02-22 Intel Corporation Augmented reality experience enhancement method and apparatus
US10779583B2 (en) 2016-09-20 2020-09-22 Facebook Technologies, Llc Actuated tendon pairs in a virtual reality device
US10372213B2 (en) 2016-09-20 2019-08-06 Facebook Technologies, Llc Composite ribbon in a virtual reality device
US10300372B2 (en) 2016-09-30 2019-05-28 Disney Enterprises, Inc. Virtual blaster
US10281982B2 (en) 2016-10-17 2019-05-07 Facebook Technologies, Llc Inflatable actuators in virtual reality
US10088902B2 (en) 2016-11-01 2018-10-02 Oculus Vr, Llc Fiducial rings in virtual reality
US20170102771A1 (en) 2016-12-12 2017-04-13 Leibs Technology Limited Wearable ultrasonic haptic feedback system
US10226697B2 (en) * 2017-06-01 2019-03-12 Microsoft Technology Licensing, Llc Input device with sector geared feedback trigger

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102906667A (zh) * 2010-04-23 2013-01-30 伊梅森公司 用于提供触觉效果的***和方法
CN103365415A (zh) * 2012-04-04 2013-10-23 英默森公司 使用多执行器的声音-触觉效应转换***

Also Published As

Publication number Publication date
US20170203207A1 (en) 2017-07-20
US9619029B2 (en) 2017-04-11
KR20180006481A (ko) 2018-01-17
JP2015095264A (ja) 2015-05-18
EP3417920A1 (en) 2018-12-26
CN104635921A (zh) 2015-05-20
JP2019040636A (ja) 2019-03-14
JP6181629B2 (ja) 2017-08-16
US10416770B2 (en) 2019-09-17
EP2873447B1 (en) 2018-08-29
US20150130706A1 (en) 2015-05-14
KR102059737B1 (ko) 2019-12-26
KR101819789B1 (ko) 2018-01-17
JP6449946B2 (ja) 2019-01-09
KR20150056066A (ko) 2015-05-22
EP2873447A1 (en) 2015-05-20
JP2017195000A (ja) 2017-10-26

Similar Documents

Publication Publication Date Title
CN104635921B (zh) 触觉触发控制方法、***及计算机可读介质
US10353471B2 (en) Haptic spatialization system
KR102004005B1 (ko) 햅틱 트리거 수정 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200807