CN107533373A - 虚拟现实中经由手与对象的场境敏感碰撞的输入 - Google Patents

虚拟现实中经由手与对象的场境敏感碰撞的输入 Download PDF

Info

Publication number
CN107533373A
CN107533373A CN201680025084.1A CN201680025084A CN107533373A CN 107533373 A CN107533373 A CN 107533373A CN 201680025084 A CN201680025084 A CN 201680025084A CN 107533373 A CN107533373 A CN 107533373A
Authority
CN
China
Prior art keywords
user
virtual
crash mode
environment
impact zone
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.)
Granted
Application number
CN201680025084.1A
Other languages
English (en)
Other versions
CN107533373B (zh
Inventor
曼纽尔·克里斯蒂安·克莱蒙特
亚历山大·詹姆斯·法堡
拉胡尔·加尔格
乔纳森·滕普松
陈世琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN107533373A publication Critical patent/CN107533373A/zh
Application granted granted Critical
Publication of CN107533373B publication Critical patent/CN107533373B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/212Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
    • 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/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets

Abstract

在一方面,描述了用于在虚拟环境中接收虚拟用户的输入的方法和系统。输入可以基于由访问虚拟环境的用户执行的多个移动。基于多个移动,该方法和系统可以包括检测虚拟用户的至少一部分在碰撞区的阈值距离之内,该碰撞区与至少一个虚拟对象相关联。所述方法和系统还可以包括基于至少一部分和至少一个虚拟对象为虚拟用户选择碰撞模式,并且基于所选择的碰撞模式动态地修改虚拟用户。

Description

虚拟现实中经由手与对象的场境敏感碰撞的输入
相关申请的交叉引用
本申请要求2015年8月4日提交的题为“Context Sensitive Hand Collisions inVirtual Reality”的美国专利申请序列号62/200,825的优先权和权益,其公开内容以引用的方式并入到本文中。
技术领域
总体上,本说明书涉及在虚拟现实(VR)环境中使用计算设备。特别地,本说明书涉及用于处理VR环境中的碰撞的技术。
背景技术
一般来说,虚拟现实可以围绕人并将人沉浸在计算机生成的三维(3D)环境中。人可以通过与特定电子设备的交互和/或实体穿戴来进入该环境。示例电子设备可以包括但不限于:包括在观看屏幕(例如,显示设备或监视器)时,用户所看的屏幕、眼镜或护目镜的头盔,配有传感器的手套和包括传感器的外部手持设备。一旦人进入VR环境,该人就可以以对于该人看起来真实的方式(例如,实体方式)与3D环境进行交互。
发明内容
一个或多个计算机的系统可以被配置为通过安装在系统上、在操作中使系统执行动作的软件、固件,硬件或它们的组合来执行特定的操作或动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定操作或动作,指令在由数据处理装置执行时使装置执行动作的指令。
在一个一般方面,计算机实施的方法包括计算机实施的方法。该方法可以包括接收用于在虚拟环境中的虚拟用户的输入。输入可以基于由访问虚拟环境的用户执行的多个移动。该方法还可以包括基于多个移动来检测虚拟用户的至少一部分在碰撞区的阈值距离内。碰撞区可以与至少一个虚拟对象相关联。该方法还可以包括基于至少一部分和至少一个虚拟对象来选择用于虚拟用户的碰撞模式,以及基于所选择的碰撞模式来动态地修改虚拟用户。该方面的其它实施例包括记录在一个或多个计算机存储设备上的相应计算机系统、装置和计算机程序,每个计算机系统,装置和计算机程序被配置为执行方法的动作
实施方式可以包括以下特征中的一个或多个。该方法还可以包括调整碰撞区以与修改的虚拟用户对准。调整可以包括在接收输入的碰撞区中提供多个可视目标。多个可视目标可以与所选择的碰撞模式相关联。输入可以包括靠近至少一个虚拟对象的悬停移动,并且阈值距离包括离至少一个虚拟对象大约0.5到1英寸。
该方法还可以包括确定虚拟环境提供可滚动内容,选择基于手掌的碰撞模式,以及响应于接收到由用户的手发起的手掌姿势来配置内容被滚动。动态地修改虚拟用户可以包括修改对应于在虚拟环境中提供输入的虚拟用户的一部分。修改该部分还可以包括检测到输入包括手指移动,并且该部分包括一个或多个虚拟手指,以及将一个或多个虚拟手指的触及范围扩展到碰撞区中。扩展可以包括使虚拟用户适于与在虚拟环境中与一个或多个虚拟手指的阈值距离内示出的虚拟对象进行交互。动态地修改虚拟用户可以包括向用户提供视觉响应、音频响应或触觉响应中的至少一个。该方法还可以包括至少部分地基于所选择的碰撞模式来提供至少一个场境敏感碰撞区,其中如果碰撞区的场境被配置为接收手指姿势,则碰撞模式被配置为精细碰撞模式,并且如果碰撞区的场境被配置为接收交互式手姿势,则碰撞模式被配置为粗略碰撞模式。可以基于与碰撞区相关联的大小来提供场境敏感碰撞区。可以基于与虚拟环境中的至少一个虚拟对象相关联的大小来提供场境敏感碰撞区。所描述技术的实施可以包括计算机可访问介质上的硬件,方法或过程或计算机软件。
一个或多个计算机的系统可以被配置为通过在系统上安装的、在操作中使系统执行动作的软件、固件、硬件或它们的组合来执行特定的操作或动作。一个或多个计算机程序可以被配置为通过包括指令来执行特定操作或动作,指令在由数据处理装置执行时使装置执行动作。一个一般方面包括一种系统,这种系统包括:在虚拟现实环境中产生虚拟现实体验的电子计算设备,该电子计算设备在实体空间内是便携式的;与电子计算设备通信的多个传感器,传感器被配置为检测与在实体空间内访问电子计算设备的用户相关联的运动;以及,至少一个处理器。处理器可以被配置为检测虚拟现实环境中的移动,由实体用户执行移动,移动在虚拟环境中表示并且与实体用户的身体部位相关联。响应于确定虚拟对象被配置为在虚拟对象的小于身体部位的区域中接收输入,该系统可以被配置为选择碰撞模式以修改利用身体部位的选择能力。至少一个处理器可以被配置为在虚拟环境中的身体部位的表示上显示修改的选择能力并维持所选择的碰撞模式,直到检测到与不同虚拟对象相关联的移动。
实施方式可以包括以下特征中的一个或多个。处理器可以被配置为在虚拟环境中的身体部位的表示上显示修改的选择能力,包括配置身体部位以发光、振动、移动、生长或缩小,该显示向实体用户指示与虚拟对象交互的机制。
在一些实施方式中,虚拟对象是键盘,身体部位是手,选择碰撞模式以缩小手的指尖区域,并且身体部位的表示包括每个手指上的指示符。在一些实施方式中,从包括全手模式、全臂模式、手指模式、全身模式和键盘模式的组中选择碰撞模式,每种模式包括精细和粗略配置。
所描述的技术的实施方式可以包括计算机可访问介质上的硬件、方法或过程或计算机软件。在另一个总体方面,提供一种包含指令的非暂时计算机可读介质,指令当由计算机系统的处理器执行时使计算机系统在虚拟环境中接收虚拟用户的输入,输入基于访问虚拟环境的用户执行的多个移动。指令还可以包括基于多个移动来检测虚拟用户的至少一部分在碰撞区的阈值距离内。碰撞区可以与至少一个虚拟对象相关联。指令还可以包括基于虚拟用户的至少一部分在碰撞区的阈值距离内来选择虚拟用户的碰撞模式,并基于所选择的碰撞模式来动态地修改虚拟用户。
实施方式可以包括以下特征中的一个或多个。指令可以包括调整碰撞区以与修改的虚拟用户对准。调整可以包括在接收输入的碰撞区中提供多个可视目标,多个可视目标与所选择的碰撞模式相关联。在一些实施方式中,输入包括悬停移动,并且阈值距离包括离至少一个虚拟对象大约0.5到1英寸。
在一些实施方式中,动态地修改虚拟用户包括修改虚拟用户的对应于在虚拟环境中提供输入的一部分。在一些实施方式中,动态地修改虚拟用户还包括检测到输入包括手指移动,并且该部分包括一个或多个虚拟手指并将一个或多个虚拟手指的触及范围扩展到碰撞区中。扩展可以包括使虚拟用户适于与在虚拟环境中离一个或多个虚拟手指在阈值距离内示出的虚拟对象进行交互。
指令可以包括至少部分地基于所选择的碰撞模式来提供至少一个场境敏感碰撞区。如果碰撞区的场境被配置为接收手指姿势,则碰撞模式可被配置为精细碰撞模式,并且如果碰撞区的场境被配置为接收交互手姿势,则将碰撞模式配置为粗略碰撞模式。该方面的其它实施例包括记录在一个或多个计算机存储设备上的相应计算机系统、装置和计算机程序,每个计算机系统、装置和计算机程序被配置为执行方法的动作
在附图和下面的描述中阐述了一个或多个实施方式的细节。从描述和附图以及权利要求,其它特征将是显而易见的。
附图说明
图1是在3D虚拟现实(VR)环境中提供场境敏感碰撞交互的示例系统的框图
图2是示出用户与计算设备交互的图。
图3A-3C是示出用户可以在头戴式显示器(HMD)设备的屏幕上观看的图像的图。
图4是示出在VR环境中提供场境敏感碰撞的过程的一个实施例的流程图。
图5示出了可以用于实施这里描述的技术的计算机设备和移动计算机设备的示例。
各附图中的相似附图标记表示相似的元件。
具体实施例
计算机生成的虚拟现实(VR)环境可以通过生成虚拟空间和虚拟对象来为用户创建沉浸式体验,虚拟空间和虚拟对象允许用户与虚拟空间交互(例如,进入虚拟空间),如同与实体对象交互。通常,VR环境可以为用户提供与虚拟空间和虚拟对象交互的多个机制。这些机制可以包括被配置为感测特定用户移动的实体设备,例如容纳电子装置的可穿戴物品(例如,头戴式设备、手套、紧身衣服、眼睛照相机等),传感器和允许用户提供对VR环境输入的其它设备。在一些实施方式中,用户可以朝向VR环境中的对象倾斜(例如,移动)或倾斜(例如,移动)进入VR环境中的对象。倾斜可以包括身体部位或部分的一些或全部。例如,用户可以在VR环境中的对象的附近(在阈值距离内)悬停他的手,并且系统100可以检测用户手的悬停/接近度。悬停可以包括在接近对象的空气中暂停,如同悬浮在对象附近(例如,在阈值距离内)的空气中持续阈值时间量。悬停可以包括基于时间的分量和基于距离的分量。例如,用户可以悬停在虚拟对象上约1到约3秒的时间,并且可以在离虚拟对象大约1英寸到大约3英寸的范围内悬停。通常,系统可以检测悬停并使用检测到的悬停作为触发与用户手的阈值距离内的特定对象相关联的菜单、动作或输出的机制。
如果用户希望与VR环境交互,则他或她可以使用一个或多个手指、手、手臂、脚、腿等触及VR环境中的虚拟对象。可以将这样的触及(例如移动)检测为在其中的输入,以模仿虚拟对象的移动和对VR环境的修改。在一些实施方式中,用户身体的部分可以被渲染以在VR环境中显示,并且当用户移动这些部分时,本文描述的系统和方法可以接收用户输入。提供给VR环境的用户输入可以解释为在虚拟对象与其它渲染的VR内容或对象之间发生的碰撞。这里描述的系统和方法可以被配置为检测这样的碰撞,并且关于检测到的碰撞,确定VR环境可以如何响应于用户。对VR环境中检测到的碰撞的响应可以包括视觉响应、音频响应和/或触觉响应的任何组合,如下面详细描述。
图1是在3D虚拟现实(VR)环境中提供场境敏感的碰撞交互的示例系统100的框图。通常,系统100可以使用本文描述的方法、组件和技术来提供3D VR环境和VR内容。特别地,系统100可以向用户提供与VR环境内的用户和/或虚拟对象相关联的移动(例如,交互)的直观响应。在一些实施方式中,系统100可以基于哪个部分(由实体用户)被选择与VR环境交互来修改虚拟用户的部分。例如,用户可以通过伸手去拿并拾取块来在VR环境中进行交互。用户可以抓住块并堆叠块。用户的手指、手掌、前臂以及可能的其它手臂或部分可能触发碰撞并影响实体世界。这使得用户能够以逼真的体验在用户手中准确地抓住物品,或者推动物品。系统100可以检测哪个部分可能首先与(虚拟)块交互,并且可以阻止与其它身体部分的其它碰撞。在另一示例中,系统100可以在手指和手靠近虚拟块时扩展手指和手的触及范围,因为系统100可以检测到用户意图使用手与虚拟对象碰撞。
系统100可以被配置为提供容纳具有交互和场境敏感的目标的虚拟对象的VR环境。如本文所使用的,目标可以指用于从用户接收输入的控制区域。控制区域可以是任何形状和尺寸,并且可以根据检测到的用户输入或用户如何与控制区域进行交互的场境,由VR环境进行修改。该输入可以指实体用户输入,诸如手部移动,手指移动或通过实体空间的其它实体移动等。输入可以导致触发VR环境中的虚拟对象中的移动,包括与虚拟对象交互(例如,碰撞)可以移动,修改或以其它方式影响虚拟对象的某些方面。响应于检测到用户输入,系统100可以执行与VR环境中的对象或内容相关联的动作。
在执行与VR环境中的对象或内容相关联的动作之前,场境敏感的目标可以考虑关于用户的许多细节。例如,可以至少部分地基于用户特定信息、用户移动信息、虚拟对象信息、VR环境信息和/或其它基于VR的信息来配置和/或操作场境敏感的目标。术语目标和场境敏感的目标可以在整个本公开中互换使用,任何一个术语都可能适用于场境敏感的目标。
通常,可以通过用户控制VR环境中的移动(例如,作为渲染的虚拟用户)来选择目标。本文所描述的系统和方法还可以被配置为响应于在目标附近或目标上检测到渲染的用户的一部分来动态地修改渲染的用户。例如,当用户开始向呈现在VR环境中的虚拟对象(与一个或多个目标相关联)倾斜(例如,悬停)时,系统100可以检测移动并在VR环境中显示多个可选区域(例如,目标),用户可以经过可选区域以触发立即或接近立即的动作(例如,功能)。特别地,响应于确定可能即将发生碰撞,系统100可以通过提供一个或多个场境敏感的目标和/或通过动态地修改渲染用户的部分(或在VR环境中执行选择的其它物品)来进行响应以帮助用户选择场境敏感的目标。
动态地修改可以由系统100执行以允许精确选择目标。在一些实施方式中,动态地修改可以由系统100执行以向用户指示用户身体部位的哪个部分(或与用户输入相关联的其它虚拟对象)被配置为与VR环境交互。例如,当用户伸向VR环境中的目标时,系统100可以确定身体部位(例如,手指,全手,手掌,肘部,脚等)的哪个部分可能与目标相撞,并且可以在所确定的部分上动态地提供视觉、音频或触觉效果。这可以确保用户了解用户身体的哪个部分将在VR环境中进行选择(或执行动作)。此外,系统100可以动态地修改身体部位的一部分,以确保该部分可以与精细的小目标交互(例如触及)。例如,系统100可以扩展和缩小虚拟用户的渲染的食指,以确保在用户的手的任何其它部分与目标相碰撞之前食指与小目标相碰撞。在另一示例中,系统100可以扩大虚拟用户的渲染的手,以模拟可用于在VR环境中移动大对象的宽手滑动。特别地,可以触发大的目标以在VR环境中的屏幕上的应用之间切换。大目标的触发器可能是五个手指,并跨越应用滑动。如果用户使用四个手指,因为他缺少一个手指或一个手指与其它手指不对齐,则系统100可以检测到丢失或未对准的手指,并且可以扩大手滑动以触发目标来切换应用。
通常,系统100可以分析VR环境中的用户交互以确定虚拟对象和用户之间的特定碰撞的场境(当用户在VR环境中渲染时)。该检测可用于向用户提供针对用户的期望意图的响应。例如,当用户试图用手抓握(例如伸手去拿)虚拟对象时,手开始接近用户界面表面,用户界面表面可以以多种不同方式做出反应。系统100可以确定哪个(基于VR环境的)反应与用户的意图相匹配,并且可以根据该意图进行反应。
例如,系统100可以被配置为对用户的延伸的手(或其它基于用户的交互)做出反应,并且该反应可以至少部分地基于延伸的手的方向、由手触及的虚拟对象、虚拟对象的大小或与VR环境相关的其它因素。在该示例中,当用户(或用户的手)接近用户界面表面时,本文中的系统和方法可以确定精确的对象选择或较不精确的对象选择是否适合于虚拟对象。特别地,如果虚拟对象通常与精确触觉交互和控制相关联,诸如浮动键盘或菜单中的项目列表,则系统100可以动态地修改用户的手的至少一部分以确保手可以正确激活预期的虚拟对象碰撞。例如,用户可以在VR环境中的键盘上键入,并且当用户在键盘上键入时,系统100可以向用户提供视觉、音频或触觉反馈。在非限制性示例中,随着用户键入,接触键盘的每个手指可以在接触之前和期间发光。类似地,每当用户选择键盘上的键时,系统100可以向用户的手指提供点击或振动。
在一些实施方式中,系统100可以被配置为在碰撞之前或期间向用户提供反馈以避免用户将整个手伸入目标并且在过程中手指碰撞/触发用户不打算碰撞的一个或多个目标的情景。这种情景可能部分原因在于VR交互中的距离难以由用户准确判断。此外,如果传感器故障或受环境设置(例如,照明,空间变形等)的不利影响,则可能会发生手跟踪系统的故障(准确度损失)。系统100可以动态地修改渲染对象(例如,用户)和虚拟对象以及相关联的虚拟内容,以向用户提供反馈,以避免提供令人沮丧的用户体验,失去存在感,降低感知到的产品优势,以及以避免用户可能的数据丢失或其它可测量的负面后果。
示例系统100包括可以通过网络101交换数据的多个计算设备。设备可以表示客户端或服务器,并且可以经由网络101或其它网络进行通信。客户端设备可以包括可用于访问VR内容的游戏设备或控制、移动设备、电子平板、膝上型计算机、照相机、VR眼镜或其它此类电子设备。
如图1所示,系统100包括移动设备102、膝上型计算设备104、头戴式显示器(HMD)设备106和VR内容系统108。设备102、104和106可以表示客户端设备。移动设备102、计算设备104和HMD设备106可以包括一个或多个处理器和一个或多个存储设备。设备102-106可以执行客户端操作系统和一个或多个客户端应用,客户端应用可以访问、控制和/或显示在每个相应设备中或连接的设备中包括的显示设备上的VR内容。
VR内容系统108可以表示服务器设备。通常,VR内容系统108可以包括任何数量的存储库,存储库存储内容和/或虚拟现实软件模块,内容和/或虚拟现实软件模块可以生成、修改或执行虚拟现实场景。在所描绘的示例中,VR内容系统108包括可以访问系统108的内容和/或控制的VR应用110。在一些实施方式中,VR应用110可以在设备102-106中的一个或多个上在本地运行。VR应用110可以被配置为在设备102、104、106和108中的任何一个或全部上执行。
HMD设备106可以表示能够显示虚拟现实内容的虚拟现实耳机、眼镜、目镜或其它可穿戴设备。在操作中,HMD设备106可以执行VR应用,其可以向用户回放接收到的和/或处理的图像。在一些实施方式中,VR应用110可以由图1所示的设备102、104、106或108中的一个或多个来托管。
在一些实施方式中,移动设备102可以被放置和/或位于HMD设备106内。移动设备102可以包括可用作HMD设备106的屏幕的显示设备。移动设备102可以包括用于执行VR应用110的硬件和/或软件。
附加设备是可能的,并且这样的设备可以被配置为彼此替代。在一些实施方式中,设备102、104、106和108可以是可使用网络101与其它计算设备或计算机系统进行通信的笔记本计算机或台式计算机、智能电话、个人数字助理、便携式媒体播放器、平板计算机、游戏设备或其它适当的计算设备。
在示例系统100中,例如,HMD设备106可以连接到设备102或设备104以访问VR内容系统108上的VR内容。设备102或104可以连接(有线或无线)到HMD设备106,HMD设备106可以提供用于显示的VR内容。
在HMD设备无线地连接到设备102或设备104的情况下,连接可以包括本文所述的一个或多个高速无线通信协议的使用。在HMD设备106有线连接到设备102或104的情况下,有线连接可以包括电缆,电缆在任一端具有适当连接器以插入设备102或设备104。例如,电缆可以在两端包括通用串行总线(USB)连接器。USB连接器可以是相同的USB型连接器,或者USB连接器可以各是不同类型的USB连接器。各种类型的USB连接器可以包括但不限于USB A型连接器、USB B型连接器、微型USB A型连接器、微型USB B型连接器、微型USB AB型连接器、USB五针迷你-b型连接器、USB四针迷你-b型连接器、USB 3.0A型连接器、USB 3.0B型连接器、USB 3.0微型B型连接器和USB C型连接器。类似地,有线连接可以包括电缆,电缆在任一端具有适当连接器,用于插入HMD设备106和设备102或设备104。例如,电缆可以在两端包括通用串行总线(USB)连接器。USB连接器可以是相同的USB型连接器,或者USB连接器可以各是不同类型的USB连接器。
在一些实施方式中,一个或多个内容服务器(例如,VR内容系统108)和一个或多个计算机可读存储设备可以使用网络101与计算设备102、104、106进行通信,以向设备102-106提供VR内容。在一些实施方式中,网络101可以是公共通信网络(例如,因特网、蜂窝数据网络、电话网络上的拨号调制解调器)或专用通信网络(例如,专用LAN、租用线路)。在一些实施方式中,计算设备102-108可以使用一个或多个高速有线和/或无线通信协议(例如,802.11变型、WiFi、蓝牙、传输控制协议/因特网协议(TCP/IP),以太网,IEEE 802.3等)与网络101通信。
在一些实施方式中,移动设备102可以执行VR应用110并提供VR环境的内容。在一些实施方式中,膝上型计算设备可以执行VR应用110,并且可以从一个或多个内容服务器(例如,VR内容系统108)提供内容。一个或多个内容服务器和一个或多个计算机可读存储设备可以使用网络101与移动设备102和/或膝上型计算设备104进行通信,以提供内容在HMD设备106中显示。
如图1所示,VR应用110包括碰撞模式模块112、移动跟踪模块114和碰撞检测模块116。碰撞模式模块112可以表示为VR环境内的特定目标选择碰撞模式的软件模块(例如,可选择的控件)。碰撞模式模块112可以至少部分地基于被访问的内容和呈现的环境,确定哪个碰撞模式可能适用于VR环境中的用户。在一些实施方式中,碰撞模式模块112可以基于输入类型(例如,键盘、手、游戏控件、触控笔、移动设备、身体部位或其它可渲染对象)来选择碰撞模式。在一些实施方式中,可以在检测到用户输入(例如利用碰撞检测模块116)时动态地选择碰撞模式。
在一些实施方式中,可能存在大量可能的碰撞模式,每个可能的碰撞模式可以基于用户与交互对象的接近度或者基于在其中渲染用户的VR环境的类型而变化。碰撞模式可以是精细的或粗略的。示例碰撞模式可以包括但不限于全手模式、全臂模式、一个或多个手指模式、全身模式和键盘模式,其中所有这些模式也可以包括提供较窄或较宽的碰撞区的子模式。例如,食指模式可以被配置为稍微修改虚拟用户手指的形状,以便准确地选择虚拟对象。在一些实施方式中,形状改变对于用户来说可能是不可见的,但被配置为与对象相碰撞的虚拟用户手指的部分可能具有在手指上能与对象相碰撞的较小有效区域。较小有效区域可以触发精细碰撞模式,其中手指适于容易地选择用户遇到的虚拟对象。碰撞模式可以被理解为一种模式,其特别地确定在细微和尺度的意义上的细节级别以及虚拟用户可以与虚拟对象交互的粒度。
在非限制性示例中,碰撞模式可适用于小区域选择(例如,键、菜单项或详细虚拟对象操纵)或大区域选择(例如,提升对象,移动块或其它虚拟内容,在虚拟空间中绘图等)。碰撞模式模块112可以基于与小目标或大目标或小虚拟对象或大虚拟对象进行交互的场境来配置虚拟用户的部分(例如,食指)从而以适当方式与虚拟对象接合。在一些实施方式中,可针对特定内容修改特定碰撞模式。例如,如果用户在VR环境中访问交互式瑜伽内容,则可能提示用户使用膝盖、脚、肩膀或吸气呼吸来执行VR环境内的特定选择和移动。
在另一个非限制性示例中,如果在虚拟对象或菜单上的一个或多个虚拟按钮上或邻近(例如,悬停在附近)的位置中检测到用户的手,则可以触发精细碰撞模式。精细碰撞模式可以向用户指示她应该使用一个或多个手指进行碰撞(例如,进行虚拟对象选择)。例如,碰撞模式模块112可以修改虚拟用户的食指以指示精细碰撞模式被触发,并且用户应该使用食指进行选择(例如,点击虚拟按钮)。在一些实施方式中,除了用食指触发按钮点击之外,碰撞模式模块112还可以允许用户利用其手掌中心移动可滚动区域。例如,碰撞模式模块112可以确定虚拟环境正在提供可滚动内容,并且作为响应,可以选择基于手掌的碰撞模式。选择基于手掌的碰撞模式可以包括响应于接收到由用户的手发起的手掌姿势来配置内容被滚动。此外,选择基于手掌的碰撞模式可以包括将除了手掌以外的手的部分修改为无效的。这可以允许用户使用手掌来滚动和/或选择,但如果手指不经意地与碰撞区进行交互,则模块112可以阻止(例如,屏蔽)手指选择,因为在此示例中基于手掌的模式是执行滚动的唯一有效碰撞模式。
类似地,如果碰撞检测模块116检测到用户正在接近虚拟滑动条,则碰撞模式模块可以切换到粗略碰撞模式并且可以向用户指示使用手掌来移动滑动条。用于碰撞模式的这种指示可以包括标记可能以所选择的碰撞模式良好工作的虚拟身体的一部分。例如,虚拟身体部位可以发光,振动,移动,生长,缩小或以其它方式向用户指示在VR环境中操作的机制。
在另一个非限制性示例中,碰撞检测模块116可以检测用户是否参与打靶游戏,其中可射击靶放置在VR环境内。当用户的手(例如,由实体用户的手控制的渲染用户)靠近可射击靶时,碰撞模式模块112可以指示交互式碰撞模式可以开始。例如,如果模块112检测到在离目标阈值距离内的接近度,则最近的手掌可以指定特定的碰撞模式。模式可以是射击模式,并且指示可以是发光或其它视觉、听觉或触觉的响应,以使用户闭合手掌和重新打开手掌。在闭合和重新打开手掌时,可以向目标上射击虚拟对象(如子弹)。执行姿势的指示可以触发特定的碰撞模式,使得用户的手掌能够利用虚拟子弹到达目标。通过启用允许子弹从手到目标跨房间移动的姿势,碰撞模式实现移动。
通常,系统100可以被配置为显示小目标(例如,控件),使得用户可以在不受目标影响的情况下查看内容。碰撞模式模块112可以被配置为检测用户何时在目标的阈值距离内,并且可以在用户接近目标时改变目标以适应用户输入机制。例如,碰撞模式模块112可以将用户的手臂动态地改变成可以指向虚拟对象的矛或触控笔,并且能够选择看起来比用户手指小的目标。这可以减少用户选择多个目标或不需要的目标的可能性。
在一些实施方式中,系统100能实现区域内的紧密定位的交互式用户界面控件,虚拟对象和/或目标集合,并且可以为用户提供手交互的准确性。这是因为为用户动态地改变渲染的身体部位(例如,手)的能力可以提供将更大的用户执行的移动改变成更精细的移动的能力,以便于在VR环境中选择更精细的目标和/或控件。系统100可以在环境中向用户提供内容,而不改变内容的大小,但是可以动态地修改与内容相关联的目标,使得任何选择都自动地是更精确的选择,而无需用户改变行为(或视图)。在一个示例中,系统100可以动态地改变用户手指的渲染,以确保用户可以精确地选择在VR环境中提供的特定菜单中的小字体。在该示例中,对手指的改变可以或可以不向用户可视地显示。然而,在与VR环境中的内容交互时,由于系统100对与环境相关联的碰撞模式进行了修改,用户可能会注意到更精细的选择内容的能力。
例如,系统100可以响应于对应于用户动作或移动而满足的一个或多个阈值条件来执行对碰撞模式的特定修改。在一个示例中,系统100可以基于确定用户的手与VR环境中的对象之间的距离在阈值距离(由系统100预定)内来执行碰撞模式的修改。如果手和对象接近,则系统100可以将碰撞模式切换到精细控制碰撞模式。类似地,如果手和对象相距很远,则系统100可以切换到粗略的控制碰撞模式。
在另一示例中,系统100可以确定VR环境中的特定数量的对象是否在彼此接近的范围内。例如,系统100可以确定何时VR环境中的对象密集间隔,并且作为响应,可以将碰撞模式切换到精细碰撞模式。类似地,如果对象是稀疏间隔的,则系统100可以切换到粗略碰撞模式(或至少部分地基于系统确定,在精细控制碰撞模式和粗略控制碰撞模式之间的另一模式)。
在另一个示例中,当用户正在接近VR对象时,系统100可以确定用户是否正在减慢(例如减速)。如果用户被确定为减速,则系统100可以切换到精细控制碰撞模式。类似地,如果通过VR对象确定用户加速,则系统可以切换到粗略控制碰撞模式或完全移除碰撞模式,直到用户开始减速进入特定的VR对象或区域。
在一个非限制性示例中,如果用户处于VR环境中并希望用户的手与虚拟渲染的电话交互,则她可以伸向虚拟电话并开始按下按钮。由于用户的手(例如手指,手掌等)(被系统100)跟踪,所以电话可以接收用户输入并做出相应的反应。然而,在用户交互之前,碰撞模式模块112可以确定与虚拟电话的交互可能涉及具有精准选择能力的精细的运动技能。因此,碰撞模式模块112可以确定应该向用户提供小目标,因为电话按钮通常很小,但是模块112还可以确保选择特定的碰撞模式。在这种情况下,由于手机上的可选目标被设置为小目标,因此碰撞模式模块112可以选择其中用户被跟踪的手被更小地示出的碰撞模式。在另一示例中,碰撞模式模块112可以选择其中除了指示哪个身体部位将进行交互的手的部分之外,用户的被跟踪的手被示出为褪色或变暗的碰撞模式。也就是说,模块112可以突出显示或以其它方式向用户指示手指或指尖将是选择机制。在此示例中,如果用户用未被指示为选择机制的手的部分撞击目标,则系统100可以被配置为不对无意的用户动作做出反应。
移动跟踪模块114可以表示能检测和跟踪在目标附近移动的用户的速度和准确性的软件模块。例如,移动跟踪模块114可以与被配置为感测用户移动的实体设备(例如,配置有电子装置的可穿戴物品(例如,头戴式设备、手套、紧身衣服、眼睛照相机等)、传感器和允许用户向VR环境提供输入的其它装置)对接。与这些设备对接可以允许移动跟踪模块114在触发多个目标的情况下确定哪些目标可以被触发并且以什么顺序触发目标。在一些实施方式中,移动跟踪模块114可以跟踪用户移动以在适当的定时间隔(例如当用户处于这些目标的阈值距离内时)提供目标。以这种方式,移动跟踪模块114可以与碰撞检测模块116一起工作,以用户期望的时间并根据基于用户的场境向用户提供多个目标。
碰撞检测模块116可以表示可以执行几何和空间分析以检测VR环境中的碰撞或接近碰撞并向VR应用110中的一个或多个其它模块提供反馈的软件模块。通常,碰撞可以被确定是有意的或无意的。可以由移动跟踪模块114和碰撞检测模块116响应于用户移动来预测无意碰撞,并且可以将这样的预测提供给碰撞模式模块112,作为改变特定碰撞模式的基础。例如,响应于由移动跟踪模块114检测到用户的整个手掌朝向书架,碰撞检测模块116可以确定用户正在伸手去拿书架上的许多书籍中的一个,并且如果用户手的手掌被用作选择机制,则可以确定许多碰撞可能无意地间发生。碰撞检测模块116可以预测手指将是更好的选择机制,并且可以将这条信息提供给碰撞模式模块112。碰撞模式模块112可以使用这条信息来选择适合于VR交互的碰撞模式。以这种方式,碰撞检测模块116可以确定最适合于特定VR交互的场境和产生的选择机制。场境可用于提供特定大小的目标,提供特定类型的输入机制,并确保用户输入不被无意地解释或不正确地执行。
在操作中,VR应用110可以利用移动跟踪模块114和碰撞检测模块116来检测用户正在将手移动到目标区域中或其附近(在阈值距离内)。作为响应,应用110可以确定用户正在做什么的场境,并且可以使用该场境来使用碰撞模式模块112触发特定目标/碰撞模式。例如,VR应用110(使用碰撞模式模块112)可以通常确定VR环境中的特定用户交互是否更适合于触发的特定模式/模型,并且可以基于确定来动态地选择和呈现特定模式。例如,可以在用户激活目标之前执行这种目标模式的动态选择和呈现。在非限制性示例中,响应于确定已经满足第一阈值条件(例如,检测到离目标区域的第一距离),可以选择第一模式。如果相反地检测到离目标区域的第二较大距离,则可以基于从用户到目标区域的较大距离的第二阈值条件来选择第二模式。
在一些实施方式中,系统100可以包括在虚拟现实环境中生成虚拟现实体验的电子计算设备(例如,设备106)。电子计算设备可以是在实体空间内便携式的。在一些实施方式中,电子计算设备可以通信地耦合到任何数量的其它计算设备(例如,设备102、104、108或图1中未示出的其它设备)。
电子计算设备可以包括或访问与电子计算设备通信的多个传感器。传感器可以被配置为检测与在实体空间内访问电子计算设备的用户相关联的运动。电子计算设备可以包括配置成在虚拟现实环境中检测靠近虚拟对象的移动的一个或多个处理器。移动可以由实体用户执行,并且移动可以在虚拟环境中表示并且与实体用户的身体部位相关联。例如,移动可以是在可滚动菜单附近的挥手,并且可以像虚拟用户执行移动那样来模仿挥手。用户的手、手臂或整个身体可以在虚拟环境中进行表示。
响应于确定虚拟对象被配置为在虚拟对象上的小于身体部位的区域中接收输入,系统100可以选择碰撞模式来修改利用身体部位的选择能力。例如,系统100可以确定选择粗略碰撞模式,其中手掌可以进行滚动移动以滚动菜单,并且手掌(或其它配置的身体部位可进行选择)。在一个示例中,选择粗略碰撞模式用于滚动。当检测到用户不滚动和/或当滚动停止时,系统100可以切换到精细的碰撞模式以允许用户使用手指来选择菜单中的项目。系统100可以在虚拟环境中的身体部位的表示上显示修改的选择能力。修改的选择能力可以包括配置身体部位以发光,振动,移动,生长或缩小,该显示向实体用户指示与虚拟对象交互的机制。系统100可以保持所选择的碰撞模式,直到检测到与不同虚拟对象相关联的移动或者与虚拟对象的不同交互。例如,如果系统将手移动到另一个碰撞区中,则系统100可以将碰撞模式改变为与新的碰撞区相关联。新的碰撞区可以对应于不同的碰撞模式,并且当检测到新区域时,系统100可以改变为不同的碰撞模式中的一个或多个。
在一个示例中,如果虚拟对象是键盘,并且身体部位是手,则可以选择碰撞模式以缩小手的指尖区域,并且身体部位的表示可以包括每个手指上的指示符。在一些实施方式中,可以以全手模式、全臂模式、手指模式、全身模式和/或键盘模式中的任何一种来选择碰撞模式。每个模式可以包括用于每个模式的精细和粗略配置。
图2是示出用户202与计算设备104交互的图。例如,计算设备104可以包括键盘204。用户202还可以使用移动设备102。用户202可以使用其它设备,这样的设备可以连接到HMD设备106、移动设备102和/或键盘204。用户202可以在HMD设备106的屏幕上观看与计算机系统104相关联的显示内容,同时与键盘204和/或移动设备102交互。HHD设备106可以使用本文所描述的一个或多个有线和/或无线通信接口连接到(例如,对接到)计算设备104。
当控制在VR环境中执行的动作时,用户202可与计算设备104和键盘204进行交互。例如,键盘204可以在VR环境中渲染为可以显示给用户202的VR控件。用户202可以通过在控件处移动,旋转和/或挥动来与VR环境中的计算设备104交互以触发与控件相关联的目标。图2所示的用户在访问HMD设备106的同时用他的手206和208在键盘上键入。HMD设备106在下面的图3A-3C中向用户202示出了多个渲染对象。用户的手206和208分别被示为渲染的手304和306a/b)。
图3A-3C是示出用户(例如,图2的用户202)可以在HMD设备106的屏幕上观看的图像的图。例如,图像300A将用户202投影到VR环境中。图像300A包括在显示装置上显示的地图信息的渲染302和与键盘204的渲染310交互的用户202的手和手指的渲染304、306a和306b。在此示例中,手306a是用户右手(对应于手206)的第一放置的虚拟渲染,并且手306b是用户右手(对应于手208)的第二放置的虚拟渲染。此外,当用户202与计算设备104(例如,渲染的控制窗口312)交互并且呈现给VR环境中的用户202时,可以交替地显示(例如,渲染)其它窗口以及信息的渲染302。
控制窗口312描绘三个可选择的区域,即电影区域314,绘图区域316和移动设备区域318。电影区域314对应于用户202先前在环境中访问的电影。也就是说,用户可能已经在观看电影并且可能已经选择切换到访问地图信息302。类似地,用户202可以通过选择绘图区域316来访问CAD绘图或使用移动设备区域318与移动设备交互。
如图3A所示,用户202的渲染的手304和306a可以使用渲染的键盘310将信息键入渲染的屏幕(未示出)。在某些时候,用户202可以使用(渲染的)手与渲染的地图信息302交互。例如,用户202(由渲染的手306a表示)可以伸手来选择地图上的内容。这里,用户202可能希望选择智利国家以触发附加信息和/或内容。用户202可以将他的渲染的手306a伸向地图(如箭头324所示),并且到达地图信息302(如由虚线渲染的手306b在地图上示出)。作为响应,VR应用110可以确定用户202在地图上伸向南美,并且可以触发一个或多个碰撞模式和/或目标显示,例如,VR应用110可以确定用户202正在使用一个或两个(渲染的)手作为输入机制,因此,应用110可以触发使用户的手指作为选择器的碰撞模式,并且当用户位于目标320处的碰撞区319内时可以提供视觉显示(例如,在目标320处发光/闪烁),以向用户指示手指可能执行地图选择。在一些实施方式中,可能在较小的碰撞区319被触发之前触发更大的碰撞区321。在一些实施方式中,如果用户正在使用手掌选择模式与虚拟内容进行交互,则可以触发较大碰撞区321。在其它实施方式中,如果用户正在使用指尖与虚拟内容交互,则可以触发较小的碰撞区319。
渲染的手306b可以是可见的,但是变暗,并且用户的食指尖在手306b上可以用作与地图信息302的碰撞机。提供碰撞模式可以确保用户不会在地图上意外地选择多个非预期位置。所选择的碰撞模式可以定义特定目标与用户渲染的手指一样大,以便用户可以触摸预期目标,但确保不选择非预期目标。
在另一示例中,地图信息302可以被显示为VR环境中提供的常识问答游戏的一部分。游戏可以包括响应于每个问题而选择大陆的指令。由于在地图信息302中选择整个大陆可能涉及手掌大小的滑动或选择,所以VR应用110(使用碰撞模式模块112)可以确定大目标和粗略碰撞可能足够,因此,全手选择碰撞模式可以被配置并启用。VR应用110可以通过例如描绘手的轮廓,向整个手提供辉光,通过用户202手上的手套向手掌提供触觉反馈或者向用户提供如何选择虚拟对象的指示的其它交互向用户指示完整渲染的手可以用于选择。
在另一示例中,用户202可以访问地图信息302,并且可以决定切换回先前访问的电影(在电影区域314处示出)。用户202可以选择(利用例如渲染的手306a)播放控制322进行切换以在VR环境中继续观看电影。由于控制窗312中的播放、快进和快退控件可能很小,所以VR应用110可以确定在该区域中将使用小目标。以这种方式,可以在单个场景/交互区域中配置和提供两种不同的碰撞模式。
在一些实施方式中,VR应用110可以动态地修改用户的手或手指,以确保用户可以准确地选择控件。例如,如果用户202正在观看电影并且她的移动设备开始振铃,那么用户202可以伸向暂停,考虑到小目标触发对用户的手指的精细节距修改。精细节距修改可以包括缩小和/或扩展手指触及范围以选择移动设备。在一个示例中,缩小和/或扩展可以显示给用户。在另一示例中,可以通过移动设备上的悬停提供缩小或扩展以触发精细节距修改的选择。例如,当用户处于所渲染的移动设备的阈值距离内时,通过指示一个或多个目标(或火花),该选择可以自动地实现用户手指改进的精度和/或触及范围。这提供了允许用户查看触及范围在目标范围内而无需用户实际上与目标碰撞的优点。
在一些实施方式中,为了选择移动设备功能(在318处示出),VR应用可以修改用户的手指,使得能够在318处容易地选择大的目标,然后可以随后动态地修改用户的手指,以允许对移动设备上按钮的更精细和更小的选择。这可以允许用户进行呼叫,而不会无意地选择放置在电影区域314与移动设备区域318之间的虚拟内容。简言之,VR应用110可以检测呼入,并且可以动态地修改必需接收输入的任何或所有用户界面以切换应用和/或接听电话。输入可以包括暂停、退出或以其它方式修改现用的VR环境场景,以及用于切换到另一个VR环境场景或活动的任何输入。这些修改可以确保用户能够不受干扰地选择特定的虚拟对象。动态地修改可以包括确保例如仅可以将食指配置为在控制窗口312中进行选择。在一些实施方式中,可以基于VR环境中的元素,用户输入机制和/或正被访问的内容等来修改用户界面,碰撞模式或虚拟对象。
在一些实施方式中,可以由虚拟内容的开发者为特定内容预定义碰撞模式。在一些实施方式中,可以基于离虚拟对象的距离来选择或配置碰撞模式。在一些实施方式中,可以基于感测到的手尺寸或输入机制尺寸来选择或配置碰撞模式。在一些实施方式中,可以由VR用户基于特定需要来选择碰撞模式。例如,如果用户希望以全手模式开始与VR内容进行交互,直到掌握新控件的使用,则例如,用户可以选择全手模式,并且可以在准备好时将模式配置为手指模式或其它模式。
在一些实施方式中,可以针对属于用户的手来不同地配置碰撞模式。例如,如果双手在VR环境中在用户面前,则左手可以被配置为在大目标和/或大的平铺对象处选择或挥手,而右手可以被配置为选择精确的控制,并且可以包括手的视觉上较小的部分或加长的部分。
在一些实施方式中,可以将一个或多个碰撞模式配置为适应与用户相关联的残疾。例如,如果用户缺少食指的一部分,则VR应用110可以通过缩小其它三个手指来解决缺失部分,以确保食指提供选择,而另外三个手指不会遇到食指之前的虚拟对象。可以基于缺失部分对其它身体部位进行类似的修改。
在一些实施方式中,VR应用110可以解决用户移动障碍。例如,如果用户在一个臂上遭受震颤,则VR应用110可以通过抑制用户移动来进行补偿,只要VR环境检测并解释这样的移动。
在一些实施方式中,碰撞模式的组合可以在一个VR环境中使用。碰撞模式的组合可以基于在VR环境内组合小和大的可选目标。可以针对每种交互类型或替代地基于每个会话、每个游戏、每个内容或每个用户来选择碰撞模式。此外,碰撞模式可以被配置为提供特定的声音来警告用户进入目标区域的边界或触发目标。
图3B是示出用户202可以在HMD设备106的屏幕上观看的图像300B的图。在该示例中,用户202可能已经在观看控制窗312的电影(通过选择电影区域314)。在一些点,用户可以决定切换到CAD绘图活动,并且可以通过选择绘图区域316(图3A)来实现。响应于选择区域316,用户202可以被放置在他的VR绘图程序中,在那里他开始为其雇主起草一个水泵图,如渲染的窗口324所示。描绘了第二个渲染窗口326并且其也可以由VR环境内的用户202选择和/或移动。
图3B还描绘了用户202在渲染的键盘310上通过渲染的手304和308投影到VR环境中,类似于图3A。通常,图像300B包括可以在显示装置上显示的信息,和使用所渲染的键盘310与内容交互的用户202的渲染。在该示例中,用户可能希望修改在渲染324处所示的绘图。这样一来,用户可以使用渲染的手308选择渲染324,例如,将用户置于允许手在绘图设计上的VR环境中,如图33C所示。
图3C包括具有可选绘图部件330的渲染324。在该示例中,用户202可能希望向对象334(从侧视图示出)处的渲染324添加铃声耦合332。为此,用户202可以通过将其虚拟的手渲染336伸到部件330中来选择铃声耦合332。以这种方式,用户可以观看她的手的渲染336,并且该渲染可以是虚线或变暗,而选择机制(例如,在目标/火花338处的指尖)可以是实线、发光或以其它方式向用户可视地指示关于哪个身体部位正在选择该绘图的信息。目标/火花338可以在碰撞区339内。碰撞区339可以表示所有可选择部件330或部件330的一部分。由于整个手可能无意中在绘图部件330中选择其它项目,所以VR应用110可以调用碰撞模式以允许指尖对部件330中的项目的精确选择。
在一些实施方式中,当用户的手接近小目标(例如,菜单、列表、小对象等)时,VR应用110可以动态地将碰撞模式改变为精细或小目标碰撞模式,使得用户的食指是触发小目标的唯一碰撞机制。以这种方式,VR应用110可以动态地修改正在选择小目标的食指的一部分。虽然VR应用110正在修改VR环境中的食指以使选择更精确,但是应用110可能不会实际显示修改。因此,用户可以观看到没有修改的手指。
在一些实施方式中,碰撞区可以嵌套在其它碰撞区内。这可以允许多个碰撞模式用于相同的虚拟内容。例如,如果用户336移动到碰撞区343内,则系统100可以检测到移动并启用部件选择的手/手掌碰撞模式。当用户进入碰撞区341以选择部件332时,可以触发用于选择部件的碰撞模式,并且作为响应,该系统100可以检测到接近或进入碰撞区341,并且可以从手/手掌碰撞模式变成指尖碰撞模式。类似地,如果用户336下一次悬停在碰撞区345上,则系统100可以将碰撞模式从指尖碰撞模式变成手/手掌碰撞模式。虽然碰撞区被描绘为方形或矩形,但任何尺寸和形状的碰撞区都是可能的。通常,碰撞区可以是虚拟对象上或周围的形体(例如,球体、正方形、矩形、多边形或一些其它二维或三维形状)。
在一些实施方式中,可以将碰撞模式选择为随着时间的两种或更多种模式的组合。例如,碰撞模式可以以粗略模式开始,并逐渐切换到精细模式。当VR环境发生变化时,例如当用户切换任务或在不同环境中行走时,可以执行此渐变切换。在其它实施方式中,从一个碰撞模式到另一个碰撞模式的切换在改变任务、环境、选择机制等时可能是瞬时的。
在一些实施方式中,VR应用110可以检测用户何时希望触摸特定项目并且可以基于该检测来切换碰撞模式。例如,可以检测用户的眼睛注视,并且可以将眼睛注视方向用作确定用户动作可能是什么(在用户正在观看的场境中)的输入。VR应用110可以使用检测到的(预期的)用户动作,可以确定哪种碰撞模式可以提供足够的响应性。
在一些实施方式中,提供可切换的碰撞模式可以提供防止信息丢失或由于错误而导致的无意确认或回复的优点。也就是说,将碰撞模式从粗略模式切换到精细模式可以防止用户无意中删除数据或选择太多的项目等。
在一些实施方式中,系统100可以包括具有可用于开启或关闭碰撞模式的传感器和/或软件控件的VR装备。例如,HMD设备106可以包括用于循环可用碰撞模式菜单的按钮。用户还可以使用这样的菜单来关闭所有的碰撞模式,例如,如果用户希望在VR环境中不进行交互。例如,如果用户在博物馆中并且访问博物馆可用的VR内容,则用户可能不希望意外地打扰展览。因此,用户可以访问VR内容,但是选择不与内容交互以防止与该世界碰撞。
在一些实施方式中,可以使用语音控制、姿势、实体按钮选择或其任何组合来选择或切换碰撞模式。在一个示例中,用户可以拨出语音命令来激活或停用特定的碰撞模式。语音命令可能与VR环境本身有关,也可能与VR环境中访问的虚拟内容有关。
在一些实施方式中,系统100可以测量用户生物特征(例如应力水平、皮肤响应、指纹、心率、呼吸等)以选择特定的碰撞模式。例如,当用户接近一组目标时,系统100可以检测用户是否犹豫。系统100可以基于该检测来建议或动态切换到碰撞模式。也就是说,系统100可以推断在VR环境中用户可能受益于更高精度,并且因此,系统100可以在自由提供其它碰撞模式的同时限制一些碰撞模式。
在一些实施方式中,可以基于用户动作的跟踪历史为用户修改碰撞模式。例如,系统100可以检测到用户在电影期间反复尝试选择暂停,并且这样做使得用户在目标之间犹豫时来回移动,不正确地选择目标。用户可能已经选择了快退目标并重新选择了播放目标来撤销不正确的选择。在这种情况下,系统可以改变碰撞模式,为用户的选择机制(即用户的手指)提供更精细的碰撞模式。
在另一示例中,用户可能打算在VR环境中使用移动设备拨打朋友,但是用户重复地拨打表亲并挂断移动设备。系统100可能检测到用户的手指正在穿过路径或VR装备未针对特定用户校准,并且作为响应,该系统可以切换到更精细的碰撞模式以使用户的选择更容易。这可以改进用户对VR环境和产品的感知。
在一些实施方式中,可以在VR会话之间保存碰撞模式。例如,用户可以将碰撞模式配置为远程保存,使得如果用户访问另一个头戴式装置或HMD设备中的VR内容,则用户可以以她习惯的类似碰撞模式工作。传感器装备设置和软件设置也可以由用户以类似方式进行。
在一些实施方式中,VR应用110可以被配置为针对特定VR环境提供大量的目标和碰撞模式。然而,基于用户在VR环境中四处走动时触发,一次性提供所有模式和目标都会导致许多错误。因此,VR应用110可以在用户行走时检测用户,并且可以关闭特定的碰撞模式或目标,以防止不必要的触发或防止用户混淆。例如,如果VR环境的楼层包括许多目标,并且用户的脚被配置为用于特定级别的游戏的碰撞机制,则用户可能在不知不觉中走动并触发地板上的目标。VR环境可以被配置为允许在游戏的低级别中用手交互,直到通过特定级别,然后可以向地板提供目标。VR应用110可以确定用户正在玩游戏的级别,并且可以基于该级别来激活或停用目标和/或碰撞模式。
在一些实施方式中,用户可以与VR环境中的计算设备交互,其交互方式与在非VR环境中与计算设备交互的方式相同(例如以标准的典型方式)。例如,用户可能在VR环境中的计算设备上使用应用,因为它们通常在非VR环境中使用相同的应用。
在一些实施方式中,可以在VR环境中整体地渲染计算设备。在一些实施方式中,可以在VR环境中渲染计算设备的某些方面。例如,可以在VR环境中渲染计算设备的触摸屏的触摸表面。在另一示例中,可以在VR环境中渲染计算设备的边界。在另一示例中,可以在VR环境中渲染用于计算设备的界面(例如,输入控件)。
图4是示出在VR环境中提供场境敏感碰撞的过程400的一个实施例的流程图。在框402,VR应用110可以接收用于在虚拟环境中的虚拟用户的输入。例如,应用110可以接收在VR环境中被跟踪的用户执行的多个移动。移动可以基于响应于在VR环境中提供给用户的VR内容而做出手姿势或者手臂或手的移动。在一些实施方式中,移动可以基于用户可以在VR环境内保持和移动的对象或渲染的内容。
在框404,VR应用110可以基于用户的移动来检测虚拟用户(或由虚拟用户保持的对象)在碰撞区的阈值距离内。在一些实施方式中,VR应用110与任何数量的传感器组合可以检测到用户的一部分在碰撞区的阈值距离内。阈值距离可以包括靠近虚拟对象的手的悬停,例如,离虚拟对象大约0.5到1英寸处执行。例如,如果用户202将他的手伸到被配置为堆叠在其它虚拟对象上的虚拟对象,则VR应用110可以检测到用户将要与虚拟对象碰撞并且可以通过触发在虚拟对象和/或用户上的目标区域来做出响应。这样,用户可以在视觉上看到他的手的哪个部分将被用作选择器和哪个(目标)区域来选择虚拟对象。
在框406,VR应用110可执行碰撞处理以选择虚拟用户的碰撞模式和/或碰撞区。例如,VR应用110与任何数量的传感器组合可以分析用户将要碰撞的部分、虚拟对象和/或实体或VR环境,以选择适于该组合的碰撞模式。
在框408,VR应用110可以基于所选择的碰撞模式动态地修改虚拟用户。在一些实施方式中,动态地修改虚拟用户可以包括修改对应于在虚拟环境中提供输入的虚拟用户的一部分。在一些实施方式中,动态地修改虚拟用户可以包括向用户提供视觉响应、音频响应或触觉响应中的至少一个。
在一些实施方式中,VR应用110还可以包括调整碰撞区以与动态地修改的虚拟用户对准。例如,调整可以包括提供在其中接收输入的碰撞区中的多个可视目标。可以基于虚拟对象正被配置和/或与特定碰撞模式相关联,在虚拟对象上选择并提供多个可视目标。在一些实施方式中,VR应用110还可以至少部分地基于所选择的碰撞模式来提供至少一个场境敏感碰撞区。可以基于与碰撞区相关联的大小来提供场境敏感碰撞区。可以基于虚拟环境中的虚拟对象来提供场境敏感碰撞区。
在一些实施方式中,修改用户的一部分可以包括(i)检测用户输入包括实体用户的手指移动,并且在碰撞区的阈值距离内的用户部分包括一个或多个虚拟手指,并且(ii)将一个或多个虚拟手指的触及范围扩展到碰撞区中,在碰撞区中,扩展包括使虚拟用户适于与虚拟环境中的一个或多个虚拟手指附近示出的虚拟对象进行交互。在一些实施方式中,动态地修改虚拟用户包括向用户提供视觉响应、音频响应或触觉响应中的至少一个,如贯穿本公开所描述。
在一些实施方式中,方法400还可以包括至少部分地基于所选择的碰撞模式来提供至少一个场境敏感碰撞区。如果碰撞区的场境被配置为接收手指姿势,则碰撞模式可被配置为精细碰撞模式。如果碰撞区的场境被配置为接收交互式手姿势,则碰撞模式可以被配置为粗略碰撞模式。在一些实施方式中,基于与碰撞区相关联的大小来提供场境敏感碰撞区。在一些实施方式中,基于与虚拟环境中的至少一个虚拟对象相关联的大小来提供场境敏感碰撞区。
图5示出了可以与这里描述的技术一起使用的通用计算机设备500和通用移动计算机设备550的示例。计算设备500包括处理器502、存储器504、存储设备506、连接到存储器504和高速扩展端口510的高速接口508以及连接到低速总线514和存储设备506的低速接口512。组件502、504、506、508、510和512中的每一个使用各种总线互连,并且可以适当地安装在公共主板上或以其它方式安装。处理器502可以处理用于在计算设备500内执行的指令,包括存储在存储器504中或存储设备506上的指令,以在外部输入/输出设备诸如耦合到高速接口508的显示器516上显示GUI的图形信息。在其它实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多种类型的存储器。此外,可以连接多个计算设备500,每个设备提供必要操作的一部分(例如,作为服务器组,一组刀片服务器或多处理器系统)。
存储器504在计算设备500内存储信息。在一个实施方式中,存储器504是一个或多个易失性存储器单元。在另一实施方式中,存储器504是一个或多个非易失性存储器单元。存储器504还可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备506能够为计算设备500提供大容量存储。在一个实施方式中,存储设备506可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其它类似的固态存储设备,或者设备阵列,包括存储区域网络中的设备或其它配置。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含指令,指令当被执行时,实现一个或多个方法,例如上述的方法。信息载体是计算机或机器可读介质,诸如存储器504、存储设备506或处理器502上的存储器。
高速控制器508管理计算设备500的带宽密集型操作,而低速控制器512管理较低带宽密集型操作。功能的这种分配仅是示例性的。在一个实施方式中,高速控制器508耦合到存储器504、显示器516(例如,通过图形处理器或加速器)以及可接受各种扩展卡(未示出)的高速扩展端口510。在实施方式中,低速控制器512耦合到存储设备506和低速扩展端口514。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以耦合到一个或多个输入/输出设备,例如键盘、指示设备、扫描仪或诸如交换机或路由器的网络设备,例如通过网络适配器。
计算设备500可以以多种不同的形式来实施,如图所示。例如,它可以被实施为标准服务器520,或者在一组这样的服务器中多次实施。它也可以被实施为机架式服务器系统524的一部分。此外,其可以在诸如膝上型计算机522的个人计算机中实施。或者,来自计算设备500的组件可以与移动设备(未示出)诸如设备550中的其它组件组合。这些设备中的每一个可以包含计算设备500、550中的一个或多个,并且整个系统可以由彼此通信的多个计算设备500、550组成。
计算设备550包括处理器552、存储器564、诸如显示器554的输入/输出设备、通信接口566和收发器568以及其它组件。设备550还可以设置有诸如微驱动器或其它设备的存储设备,以提供额外的存储。组件550、552、564、554、566和568中的每一个使用各种总线互连,并且若干组件可以适当地安装在公共主板上或以其它方式安装。
处理器552可以在计算设备550内执行指令,包括存储在存储器564中的指令。处理器可以被实施为包括分开的和多个模拟和数字处理器的芯片的芯片组。例如,为了设备550的其它组件的协调,处理器可以提供诸如用户接口的控件,由设备550运行的应用以及由设备550进行的无线通信。
处理器552可以通过耦合到显示器554的控制接口558和显示接口556而与用户通信。显示器554可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其它适当的显示技术。显示接口556可以包括用于驱动显示器554向用户呈现图形和其它信息的适当电路。控制接口558可以从用户接收命令并将其转换以提交给处理器552。此外,可以提供与处理器552通信的外部接口562,以便能够与其它设备进行设备550进行近区域通信。外部接口562可以例如在一些实施方式中提供有线通信,或者在其它实施方式中提供无线通信,并且可以使用多个接口。
存储器564在计算设备550内存储信息。存储器564可以被实施为一个或多个计算机可读介质或介质,一个或多个易失性存储器单元或一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器574并且通过扩展接口572连接到设备550,扩展接口572可以包括例如SIMM(单列直插存储器模块)卡接口。这种扩展存储器574可以为设备550提供额外的存储空间,或者还可以存储用于设备550的应用或其它信息。具体地,扩展存储器574可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器574可以被提供为用于设备550的安全模块,并且可以用允许安全使用设备550的指令来编程。此外,可以经由SIMM卡以及附加信息来提供安全应用,例如以不可攻击的方式将识别信息放置在SIMM卡上。
存储器可以包括例如闪存和/或NVRAM存储器,如下所讨论。在一个实施方式中,计算机程序产品被有形地体现在信息载体中。计算机程序产品包含指令,当被执行时,指令执行一个或多个方法,例如上述的方法。信息载体是可以例如通过收发器568或外部接口562接收的计算机或机器可读介质,诸如存储器564、扩展存储器574或处理器552上的存储器。
设备550可以通过通信接口566进行无线通信,通信接口566可以在必要时包括数字信号处理电路。通信接口566可以提供诸如GSM语音呼叫,SMS、EMS或MMS消息,CDMA,TDMA,PDC,WCDMA,CDMA2000或GPRS等各种模式或协议的通信。这种通信可以例如通过射频收发器568发生。另外,可能会发生短距离通信,例如使用蓝牙、Wi-Fi或其它此类收发器(未示出)。此外,GPS(全球定位系统)接收器模块570可以向设备550提供附加的导航和位置相关的无线数据,其可以由在设备550上运行的应用适当地使用。
设备550还可以使用音频编解码器560可听地通信,音频编解码器560可以从用户接收口语信息并将其转换为可用的数字信息。音频编解码器560可以同样地为用户产生例如在设备550的头戴式装置中的扬声器的可听见的声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息,音乐文件,等等),并且还可以包括在设备550上操作的应用产生的声音。
计算设备550可以以多种不同的形式来实施,如图所示。例如,它可以被实现为蜂窝电话580。它也可以是被实施为智能电话582、个人数字助理或其它类似移动设备的一部分。
这里描述的系统和技术的各种实施方式可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,可编程系统包括可以是专用或通用目的的至少一个可编程处理器,其被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及发送数据以及指令到存储系统、至少一个输入设备和至少一个输出设备。
这些计算机程序(也称为程序,软件,软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级程序和/或面向对象编程语言和/或装配/机器语言来实施。如本文所使用的,术语“机器可读介质”、“计算机可读介质”是指任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),其用于向可编程处理器提供机器指令和/或数据,包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术可以在具有显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)的计算机上实施,用于向用户显示信息以及用户可以向计算机提供输入的键盘和指点设备(例如,鼠标或轨迹球)。也可以使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以接收来自用户的任何形式的输入,包括声音、语音或触觉输入。
这里描述的系统和技术可以在包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过图形用户界面或Web浏览器与这里描述的系统和技术的实现进行交互),或者这种后端,中间件或前端组件的任何组合的计算系统中实施。系统的组件可以通过数字数据通信(例如,通信网络)的任何形式或介质来互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是由于各自计算机上运行的计算机程序和彼此之间的客户端-服务器关系而产生的。
在一些实施方式中,图5所描绘的计算设备可以包括与虚拟现实(HMD设备590)对接的传感器。例如,包括在计算设备550或图5中描绘的其它计算设备的一个或多个传感器,可以向HMD设备590提供输入,或者一般地,向VR环境提供输入。传感器可以包括但不限于触摸屏、加速度计、陀螺仪、压力传感器、生物测定传感器、温度传感器、湿度传感器和环境光传感器。计算设备550可以使用传感器来确定VR环境中的计算设备的绝对位置和/或检测到的旋转,然后可以将其用作VR环境的输入。例如,计算设备550可以作为虚拟对象(例如控制器、激光指示器、键盘、武器等)被并入到VR环境中。在并入到VR环境中时,用户对计算设备/虚拟对象的定位可以允许用户定位计算设备以在VR环境中以某种方式查看虚拟对象。例如,如果虚拟对象表示激光指示器,则用户可以像操纵实际的激光指示器一样操纵计算设备。用户可以将计算设备左右移动、上下移动、在一个圆圈中移动等,并以与使用激光指示器相似的方式使用该设备。
在一些实施方式中,包括在计算设备550上或连接到计算设备550的一个或多个输入设备可以用作VR环境的输入。输入设备可以包括但不限于触摸屏、键盘、一个或多个按钮、触控板、触摸板、指点设备、鼠标、轨迹球、操纵杆、照相机、麦克风,具有输入功能的耳机或耳塞、游戏控制器或其它可连接的输入设备。当计算设备并入到VR环境中时,与包括在计算设备550上的输入设备交互的用户可以在VR环境中引起特定动作。
在一些实施方式中,计算设备550的触摸屏可以被渲染为VR环境中的触摸板。用户可以与计算设备550的触摸屏进行交互。例如,HMD设备590中的交互被渲染为在VR环境中渲染的触摸板上的移动。渲染的移动可以控制VR环境中的对象。
在一些实施方式中,包括在计算设备550上的一个或多个输出设备可以向VR环境中的HMD设备590的用户提供输出和/或反馈。输出和反馈可以是视觉、触觉或音频。输出和/或反馈可以包括但不限于振动、打开和关闭一个或多个灯或闪光灯的闪光和/或闪烁、发出警报、播放铃声、播放歌曲和播放一个音频文件。输出装置可以包括但不限于振动马达、振动线圈、压电装置、静电装置、发光二极管(LED)、闪光灯和扬声器。
在一些实施方式中,计算设备550可以在计算机生成的3D环境中显示为另一个对象。用户与计算设备550的交互(例如,旋转、摇动、对触摸屏触摸、在触摸屏上滑动手指)可以被解释为与VR环境中的对象的交互。在VR环境中的激光指示器的示例中,计算设备550在计算机生成的3D环境中显示为虚拟激光指示器。当用户操纵计算设备550时,VR环境中的用户看到激光指示器的移动。用户在计算设备550或HMD设备590上的VR环境中接收与计算设备550交互的反馈。
在一些实施方式中,计算设备550可以包括触摸屏。例如,用户可以以特定的方式与触摸屏进行交互,这可以用VR环境中发生的情况来模仿在触摸屏上发生的情况。例如,用户可以使用捏式运动来缩放显示在触摸屏上的内容。触摸屏上的这种捏式运动可以使VR环境中提供的信息变焦。在另一示例中,计算设备可以在计算机生成的3D环境中渲染为虚拟书。
在一些实施方式中,除了计算设备(例如,鼠标、键盘)之外的一个或多个输入设备可以在计算机生成的3D环境中渲染。渲染的输入设备(例如,渲染的鼠标,渲染的键盘)可以用于在VR环境中渲染以控制VR环境中的对象。
计算设备500旨在表示数字计算机例如笔记本计算机、台式机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当的计算机的各种形式。计算设备550旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其它类似的计算设备。这里所示的组件,它们的连接和关系以及它们的功能仅仅是示例性的,并不意味着限制本文中描述和/或要求保护的发明的实施方式。
已经描述了许多实施例。然而,应当理解,在不脱离本说明书的精神和范围的情况下,可以进行各种修改。此外,附图中所示的逻辑流程不需要所示的特定次序或循序次序来实现期望的结果。此外,可以从所描述的流程中提供其它步骤,或者可以从所描述的流程中消除步骤,并且可以将其它组件添加到所描述的系统中或从所描述的系统中移除。因此,其它实施例在所附权利要求的范围内。
在下文中,描述了根据本公开的计算机实施的方法、系统和非暂时计算机可读介质的另外的示例。
第一示例涉及一种计算机实施的方法,包括:在虚拟环境中接收虚拟用户的输入,输入基于由访问虚拟环境的用户执行的多个移动;基于多个移动,检测到虚拟用户的至少一部分在碰撞区的阈值距离内,碰撞区与至少一个虚拟对象相关联;基于至少一部分和至少一个虚拟对象为虚拟用户选择碰撞模式;以及基于所选择的碰撞模式来动态地修改虚拟用户。
第二示例涉及基于第一示例的计算机实施的方法,还包括调整碰撞区以与修改的虚拟用户对准,调整包括在其中接收输入的碰撞区中提供多个可视目标,多个可视目标与所选择的碰撞模式相关联。
在基于第一示例或第二示例的第三示例中,靠近至少一个虚拟对象的悬停移动和阈值距离包括离至少一个虚拟对象大约0.5到1英寸。
第四示例涉及基于第一示例到第三示例中的一个的计算机实施的方法,还包括:确定虚拟环境正在提供可滚动内容,选择基于手掌的碰撞模式,以及响应于接收由用户的手发起的手掌姿势配置内容被滚动。
在基于第一示例至第四示例之一的第五示例中,动态地修改虚拟用户包括修改对应于在虚拟环境中提供输入的虚拟用户的一部分。
在基于第五示例的第六示例中,修改部分还包括:检测到输入包括手指移动,并且该部分包括一个或多个虚拟手指;并且将一个或多个虚拟手指的触及范围扩展到碰撞区中,扩展包括使虚拟用户适于与虚拟环境中的一个或多个虚拟手指附近示出的虚拟对象进行交互。
在基于第一示例至第六示例中的一个示例的第七示例中,动态地修改虚拟用户包括向用户提供视觉响应、音频响应或触觉响应中的至少一个。
第八示例涉及基于第一示例至第七示例中的一个的计算机实施的方法,还包括至少部分地基于所选择的碰撞模式来提供至少一个场境敏感碰撞区,其中如果碰撞区的场境被配置为接收手指姿势,则碰撞模式被配置为精细碰撞模式,并且其中如果碰撞区的场境被配置为接收交互式手姿势,则将碰撞模式配置为粗略碰撞模式。
在基于第八示例的第九示例中,基于与碰撞区相关联的大小来提供场境敏感碰撞区。
在基于第八或第九示例的第十示例中,基于与虚拟环境中的至少一个虚拟对象相关联的大小来提供场境敏感碰撞区。
第十一示例涉及一种包括在虚拟现实环境中生成虚拟现实体验的电子计算设备的系统,电子计算设备在实体空间内是便携式的;与电子计算设备通信的多个传感器,传感器被配置为检测与实体空间内访问电子计算设备的用户相关联的运动;以及,至少一个处理器,被配置为在虚拟现实环境中检测靠近虚拟对象的移动,移动由实体用户执行,移动在虚拟环境中被表示并与实体用户的身体部位相关联;响应于确定虚拟对象被配置为在虚拟对象的小于身体部位的区域中接收输入,选择碰撞模式以修改用身体部位的选择能力;在虚拟环境中的身体部位的表示上显示修改的选择能力;并且保持所选择的碰撞模式,直到检测到与不同虚拟对象相关联的移动。
在基于第十一示例的第十二示例中,在虚拟环境中的身体部位的表示上显示修改的选择能力包括配置身体部位以发光、振动、移动、生长或缩小,显示向实体用户指示与虚拟对象交互的机制。
在基于第十一示例或第十二示例的第十三示例中,虚拟对象是键盘,身体部位是手,选择碰撞模式以缩小手的指尖区域,并且身体部位的表示包括每个手指上的指示符。
在基于第十一示例至第十三示例中的第十四示例中,从全手模式、全臂模式、手指模式、全身模式和键盘模式中选择碰撞模式,每个模式包括精细配置和粗略配置。
第十五示例涉及一种包含指令的非暂时计算机可读介质,指令当由计算机系统的处理器执行时使计算机系统:在虚拟环境中接收虚拟用户的输入,输入基于由用户访问虚拟环境执行的多个移动;基于多个移动,检测虚拟用户的至少一部分在碰撞区的阈值距离内,碰撞区与至少一个虚拟对象相关联/限定在至少一个虚拟对象上;基于虚拟用户的至少一部分在碰撞区的阈值距离内,为虚拟用户选择碰撞模式。
第十六示例涉及一种基于第十五示例的非暂时计算机可读介质,还包括调整碰撞区以与修改的虚拟用户对准,调整包括在其中接收输入的碰撞区中提供多个可视目标,该多个可视目标与所选择的碰撞模式相关联。
在基于第十五示例或第十六示例的第十七示例中,输入包括靠近至少一个虚拟对象的悬停移动,并且阈值距离包括离该至少一个虚拟对象大约半英寸至大约一英寸。
在基于第十五示例至第十七示例中的一个的第十八示例中,动态地修改虚拟用户包括修改对应于在虚拟环境中提供输入的虚拟用户的一部分。
在基于第十八示例的第十九示例中,动态地修改虚拟用户还包括:检测输入包括手指移动,并且该部分包括一个或多个虚拟手指;并且将所述一个或多个虚拟手指的触及范围扩展到碰撞区中,扩展包括使虚拟用户适于与虚拟环境中的一个或多个虚拟手指附近示出的虚拟对象进行交互。
第二十示例涉及基于第十五至第十九示例中的一个的非暂时计算机可读介质,还包括至少部分地基于所选择的碰撞模式提供至少一个场境敏感碰撞区,其中如果碰撞区的场境被配置为接收手指姿势则碰撞模式被配置为精细碰撞模式,并且其中如果碰撞区的场境被配置为接收交互式手姿势,则将碰撞模式配置为粗略碰撞模式。

Claims (20)

1.一种计算机实施的方法,包括:
接收用于在虚拟环境中的虚拟用户的输入,所述输入基于由访问所述虚拟环境的用户执行的多个移动;
基于所述多个移动,检测所述虚拟用户的至少一部分在碰撞区的阈值距离内,所述碰撞区与至少一个虚拟对象相关联;
基于所述至少一部分和所述至少一个虚拟对象为所述虚拟用户选择碰撞模式;以及
基于所选择的碰撞模式动态地修改所述虚拟用户。
2.根据权利要求1所述的方法,还包括调整所述碰撞区以与修改的虚拟用户对准,所述调整包括在接收所述输入的所述碰撞区中提供多个可视目标,所述多个可视目标与所选的碰撞模式相关联。
3.根据权利要求1所述的方法,其中,所述输入包括靠近所述至少一个虚拟对象的悬停移动,并且所述阈值距离包括离所述至少一个虚拟对象大约半英寸至大约一英寸。
4.根据权利要求1所述的方法,还包括:确定所述虚拟环境正在提供可滚动内容,选择基于手掌的碰撞模式,以及响应于接收到由所述用户的手发起的手掌姿势来配置所述内容被滚动。
5.根据权利要求1所述的方法,其中,动态地修改所述虚拟用户包括修改所述虚拟用户的对应于在所述虚拟环境中提供输入的部分。
6.根据权利要求5所述的方法,其中,修改所述部分还包括:
检测到所述输入包括手指移动,并且所述部分包括一个或多个虚拟手指;以及
将所述一个或多个虚拟手指的触及范围扩展到所述碰撞区中,所述扩展包括使所述虚拟用户适于与在所述虚拟环境中离所述一个或多个虚拟手指在阈值距离内示出的虚拟对象进行交互。
7.根据权利要求1所述的方法,其中,动态地修改所述虚拟用户包括向所述用户提供视觉响应、音频响应或触觉响应中的至少一个。
8.根据权利要求1所述的方法,还包括至少部分地基于所选择的碰撞模式来提供至少一个场境敏感碰撞区,其中如果所述碰撞区的场境被配置为接收手指姿势,则所述碰撞模式被配置为精细碰撞模式,并且其中如果所述碰撞区的场境被配置为接收交互式手姿势,则将所述碰撞模式配置为粗略碰撞模式。
9.根据权利要求8所述的方法,其中,所述场境敏感碰撞区是基于与所述碰撞区相关联的大小来提供的。
10.根据权利要求8所述的方法,其中,所述场境敏感碰撞区是基于与所述虚拟环境中的所述至少一个虚拟对象相关联的大小来提供的。
11.一种系统,包括:
电子计算设备,所述电子计算设备在虚拟现实环境中生成虚拟现实体验,所述电子计算设备在实体空间内是便携式的;
与所述电子计算设备通信的多个传感器,所述多个传感器被配置为检测与访问所述实体空间内的所述电子计算设备的用户相关联的运动;以及
至少一个处理器,被配置成,
检测所述虚拟现实环境中的移动,所述移动由实体用户执行,所述移动在所述虚拟环境中表示并与所述实体用户的身体部位相关联;
响应于确定所述虚拟对象被配置为在所述虚拟对象上的小于身体部位的区域中接收输入,选择碰撞模式以修改利用所述身体部位的选择能力;
在所述虚拟环境中的所述身体部位的表示上显示修改的选择能力;以及
保持所选择的碰撞模式,直到检测到与不同虚拟对象相关联的移动。
12.根据权利要求11所述的系统,其中,在所述虚拟环境中的所述身体部位的表示上显示修改的选择能力包括配置所述身体部位以发光、振动、移动、生长或缩小,所述显示器向所述实体用户指示与所述虚拟对象交互的机制。
13.根据权利要求11所述的系统,其中,所述虚拟对象是键盘,所述身体部位是手,所述碰撞模式被选择为缩小所述手的指尖区域,并且所述身体部位的表示包括每个手指上的指示符。
14.根据权利要求11所述的系统,其中,所述碰撞模式选自由全手模式、全臂模式、手指模式、全身模式和键盘模式构成的组,每种模式包括精细和粗略配置。
15.一种包含指令的非暂时计算机可读介质,所述指令在被计算机系统的处理器执行时使得所述计算机系统:
接收用于在虚拟环境中的虚拟用户的输入,所述输入基于由访问所述虚拟环境的用户执行的多个移动;
基于所述多个移动,检测所述虚拟用户的至少一部分在碰撞区的阈值距离内,所述碰撞区与至少一个虚拟对象相关联;
基于所述虚拟用户的所述至少一部分在所述碰撞区的所述阈值距离内,为所述虚拟用户选择碰撞模式;以及
基于所选择的碰撞模式动态地修改所述虚拟用户。
16.根据权利要求15所述的非暂时计算机可读介质,还包括调整所述碰撞区以与修改的虚拟用户对准,所述调整包括在接收所述输入的所述碰撞区中提供多个可视目标,所述多个可视目标与所选择的碰撞模式相关联。
17.根据权利要求15所述的非暂时计算机可读介质,其中,所述输入包括悬停移动,并且所述阈值距离包括离所述至少一个虚拟对象大约半英寸至大约一英寸。
18.根据权利要求15所述的非暂时计算机可读介质,其中,动态地修改所述虚拟用户包括修改所述虚拟用户的对应于在所述虚拟环境中提供输入的部分。
19.根据权利要求18所述的非暂时计算机可读介质,其中,动态地修改所述虚拟用户还包括:
检测到所述输入包括手指移动,并且所述部分包括一个或多个虚拟手指;以及
将所述一个或多个虚拟手指的触及范围扩展到所述碰撞区中,所述扩展包括使所述虚拟用户适于与在所述虚拟环境中离所述一个或多个虚拟手指阈值距离内示出的虚拟对象进行交互。
20.根据权利要求15所述的非暂时计算机可读介质,还包括至少部分地基于所选择的碰撞模式来提供至少一个场境敏感碰撞区,其中如果所述碰撞区的场境被配置为接收手指姿势,则所述碰撞模式被配置为精细碰撞模式,并且其中如果所述碰撞区的场境被配置为接收交互式手姿势,则将所述碰撞模式配置为粗略碰撞模式。
CN201680025084.1A 2015-08-04 2016-08-04 虚拟现实中经由手与对象的场境敏感碰撞的输入 Active CN107533373B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562200825P 2015-08-04 2015-08-04
US62/200,825 2015-08-04
PCT/US2016/045568 WO2017024142A1 (en) 2015-08-04 2016-08-04 Input via context sensitive collisions of hands with objects in virtual reality

Publications (2)

Publication Number Publication Date
CN107533373A true CN107533373A (zh) 2018-01-02
CN107533373B CN107533373B (zh) 2020-09-08

Family

ID=56686949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680025084.1A Active CN107533373B (zh) 2015-08-04 2016-08-04 虚拟现实中经由手与对象的场境敏感碰撞的输入

Country Status (6)

Country Link
US (1) US10635161B2 (zh)
EP (1) EP3332314B1 (zh)
JP (1) JP6676071B2 (zh)
KR (1) KR102105637B1 (zh)
CN (1) CN107533373B (zh)
WO (1) WO2017024142A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536288A (zh) * 2018-03-27 2018-09-14 网易(杭州)网络有限公司 虚拟现实中交互操作的处理方法和装置
CN108563335A (zh) * 2018-04-24 2018-09-21 网易(杭州)网络有限公司 虚拟现实交互方法、装置、存储介质及电子设备
CN109085931A (zh) * 2018-07-25 2018-12-25 南京禹步信息科技有限公司 一种虚实结合的交互式输入方法、装置和存储介质
CN109542279A (zh) * 2018-10-30 2019-03-29 维沃移动通信有限公司 一种终端设备控制方法及终端设备
CN109683876A (zh) * 2018-12-10 2019-04-26 上海精密计量测试研究所 一种基于Unity3D的行为树设计方法
CN109782909A (zh) * 2018-12-29 2019-05-21 北京诺亦腾科技有限公司 一种vr交互设备与vr场景的交互方法及装置
CN110633008A (zh) * 2018-06-22 2019-12-31 苹果公司 用户交互解释器
US10782793B2 (en) 2017-08-10 2020-09-22 Google Llc Context-sensitive hand interaction
CN112119431A (zh) * 2018-05-22 2020-12-22 西门子股份公司 用于显示3d模型的方法和系统
CN114089827A (zh) * 2020-08-04 2022-02-25 宏达国际电子股份有限公司 切换输入装置方法、头戴式显示器及计算机可读存储介质

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10802711B2 (en) 2016-05-10 2020-10-13 Google Llc Volumetric virtual reality keyboard methods, user interface, and interactions
US9847079B2 (en) * 2016-05-10 2017-12-19 Google Llc Methods and apparatus to use predicted actions in virtual reality environments
CN107977071B (zh) * 2016-10-24 2020-02-28 中国移动通信有限公司研究院 一种适用于空间系统的操作方法及装置
KR102369905B1 (ko) * 2016-10-31 2022-03-03 주식회사 테그웨이 피드백 디바이스 및 이를 이용하는 열적 피드백 제공 방법
CN107008006A (zh) * 2017-04-14 2017-08-04 苏州蜗牛数字科技股份有限公司 一种在vr中物体触碰的方法
CN107172136B (zh) * 2017-05-04 2018-07-03 腾讯科技(深圳)有限公司 体素数据的同步方法和装置
US11054894B2 (en) 2017-05-05 2021-07-06 Microsoft Technology Licensing, Llc Integrated mixed-input system
JP2019008623A (ja) * 2017-06-27 2019-01-17 キヤノン株式会社 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
US11023109B2 (en) 2017-06-30 2021-06-01 Microsoft Techniogy Licensing, LLC Annotation using a multi-device mixed interactivity system
US10895966B2 (en) 2017-06-30 2021-01-19 Microsoft Technology Licensing, Llc Selection using a multi-device mixed interactivity system
JP7005224B2 (ja) * 2017-08-22 2022-01-21 キヤノン株式会社 情報処理装置、システム、画像処理方法、コンピュータプログラム、及び記憶媒体
US20190066385A1 (en) * 2017-08-31 2019-02-28 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
KR101990373B1 (ko) * 2017-09-29 2019-06-20 클릭트 주식회사 가상현실 영상 제공 방법 및 이를 이용한 프로그램
US10877554B2 (en) 2018-04-19 2020-12-29 Samsung Electronics Co., Ltd. High efficiency input apparatus and method for virtual reality and augmented reality
US10916065B2 (en) * 2018-05-04 2021-02-09 Facebook Technologies, Llc Prevention of user interface occlusion in a virtual reality environment
CN109710077B (zh) * 2018-12-30 2022-05-06 郑州畅想高科股份有限公司 基于vr的虚拟物体碰撞判断方法、装置及机车实训系统
WO2021054589A1 (en) 2019-09-18 2021-03-25 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
US11550397B1 (en) * 2019-10-10 2023-01-10 Meta Platforms, Inc. Systems and methods for simulating a sensation of expending effort in a virtual environment
US11093005B1 (en) * 2020-05-05 2021-08-17 International Business Machines Corporation Virtual reality rollable display device
EP4002064A1 (en) * 2020-11-18 2022-05-25 XRSpace CO., LTD. Method and system for showing a cursor for user interaction on a display device
US11151774B1 (en) * 2020-11-20 2021-10-19 At&T Intellectual Property I, L.P. Adaptive immersive media rendering pipeline
US20230135974A1 (en) * 2021-11-04 2023-05-04 Microsoft Technology Licensing, Llc Multi-factor intention determination for augmented reality (ar) environment control
US11579747B1 (en) 2022-03-14 2023-02-14 Snap Inc. 3D user interface depth forgiveness
US20240104843A1 (en) * 2022-09-23 2024-03-28 Apple Inc. Methods for depth conflict mitigation in a three-dimensional environment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141015A (en) * 1997-03-04 2000-10-31 Sharp Kabushiki Kaisha Method and apparatus for determining collision between virtual objects in a virtual space
US20090147991A1 (en) * 2007-12-07 2009-06-11 Tom Chau Method, system, and computer program for detecting and characterizing motion
CN101782815A (zh) * 2009-01-16 2010-07-21 原相科技股份有限公司 具有虚拟的资料输入装置的电子装置
CN103218041A (zh) * 2007-07-27 2013-07-24 高通股份有限公司 增强的基于相机的输入
CN103927002A (zh) * 2013-01-16 2014-07-16 阿自倍尔株式会社 信息显示装置、方法及程序
WO2014145166A2 (en) * 2013-03-15 2014-09-18 Eyecam, LLC Autonomous computing and telecommunications head-up displays glasses
US20150169119A1 (en) * 2010-02-17 2015-06-18 Google Inc. Major-Axis Pinch Navigation In A Three-Dimensional Environment On A Mobile Device

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69434843T2 (de) * 1993-08-12 2007-02-15 Seiko Epson Corp. Am Kopf montierte Bildanzeigevorrichtung und diese enthaltendes Datenverarbeitungssystem
US7472047B2 (en) * 1997-05-12 2008-12-30 Immersion Corporation System and method for constraining a graphical hand from penetrating simulated graphical objects
US20050162402A1 (en) * 2004-01-27 2005-07-28 Watanachote Susornpol J. Methods of interacting with a computer using a finger(s) touch sensing input device with visual feedback
AU2008299883B2 (en) 2007-09-14 2012-03-15 Facebook, Inc. Processing of gesture-based user interactions
US8154524B2 (en) * 2008-06-24 2012-04-10 Microsoft Corporation Physics simulation-based interaction for surface computing
US20100053151A1 (en) * 2008-09-02 2010-03-04 Samsung Electronics Co., Ltd In-line mediation for manipulating three-dimensional content on a display device
US8487871B2 (en) * 2009-06-01 2013-07-16 Microsoft Corporation Virtual desktop coordinate transformation
US8721444B2 (en) * 2009-07-21 2014-05-13 Sony Corporation Game device for performing operation object control and non-operation object control
US20110107216A1 (en) * 2009-11-03 2011-05-05 Qualcomm Incorporated Gesture-based user interface
KR101114750B1 (ko) * 2010-01-29 2012-03-05 주식회사 팬택 다차원 영상을 이용한 사용자 인터페이스 장치
US20120113223A1 (en) * 2010-11-05 2012-05-10 Microsoft Corporation User Interaction in Augmented Reality
EP2686758B1 (en) * 2011-03-17 2020-09-30 Laubach, Kevin Input device user interface enhancements
US9122311B2 (en) * 2011-08-24 2015-09-01 Apple Inc. Visual feedback for tactile and non-tactile user interfaces
US8872853B2 (en) 2011-12-01 2014-10-28 Microsoft Corporation Virtual light in augmented reality
GB2515436B (en) * 2012-06-30 2020-09-02 Hewlett Packard Development Co Lp Virtual hand based on combined data
US9552673B2 (en) * 2012-10-17 2017-01-24 Microsoft Technology Licensing, Llc Grasping virtual objects in augmented reality
US9589538B2 (en) * 2012-10-17 2017-03-07 Perceptive Pixel, Inc. Controlling virtual objects
CA2896985A1 (en) * 2013-01-03 2014-07-10 Meta Company Extramissive spatial imaging digital eye glass for virtual or augmediated vision
US9202313B2 (en) * 2013-01-21 2015-12-01 Microsoft Technology Licensing, Llc Virtual interaction with image projection
JP6195893B2 (ja) * 2013-02-19 2017-09-13 ミラマ サービス インク 形状認識装置、形状認識プログラム、および形状認識方法
KR101411569B1 (ko) * 2013-06-05 2014-06-27 고려대학교 산학협력단 가상 키보드를 이용한 정보 처리 장치 및 방법
US9286725B2 (en) * 2013-11-14 2016-03-15 Nintendo Co., Ltd. Visually convincing depiction of object interactions in augmented reality images
US9891712B2 (en) * 2013-12-16 2018-02-13 Leap Motion, Inc. User-defined virtual interaction space and manipulation of virtual cameras with vectors
US9799159B2 (en) * 2014-02-14 2017-10-24 Igt Canada Solutions Ulc Object detection and interaction for gaming systems
WO2015139002A1 (en) * 2014-03-14 2015-09-17 Sony Computer Entertainment Inc. Gaming device with volumetric sensing
JP6341755B2 (ja) * 2014-05-26 2018-06-13 キヤノン株式会社 情報処理装置、方法及びプログラム並びに記録媒体
US9766806B2 (en) * 2014-07-15 2017-09-19 Microsoft Technology Licensing, Llc Holographic keyboard display
US9619043B2 (en) * 2014-11-26 2017-04-11 At&T Intellectual Property I, L.P. Gesture multi-function on a physical keyboard
US20160189427A1 (en) * 2014-12-31 2016-06-30 Immersion Corporation Systems and methods for generating haptically enhanced objects for augmented and virtual reality applications
WO2016115976A1 (en) * 2015-01-21 2016-07-28 Kong Liang Smart wearable input apparatus
GB2534386A (en) * 2015-01-21 2016-07-27 Kong Liang Smart wearable input apparatus
JP6354653B2 (ja) * 2015-04-25 2018-07-11 京セラドキュメントソリューションズ株式会社 拡張現実操作システムおよび拡張現実操作プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141015A (en) * 1997-03-04 2000-10-31 Sharp Kabushiki Kaisha Method and apparatus for determining collision between virtual objects in a virtual space
CN103218041A (zh) * 2007-07-27 2013-07-24 高通股份有限公司 增强的基于相机的输入
US20090147991A1 (en) * 2007-12-07 2009-06-11 Tom Chau Method, system, and computer program for detecting and characterizing motion
CN101782815A (zh) * 2009-01-16 2010-07-21 原相科技股份有限公司 具有虚拟的资料输入装置的电子装置
US20150169119A1 (en) * 2010-02-17 2015-06-18 Google Inc. Major-Axis Pinch Navigation In A Three-Dimensional Environment On A Mobile Device
CN103927002A (zh) * 2013-01-16 2014-07-16 阿自倍尔株式会社 信息显示装置、方法及程序
WO2014145166A2 (en) * 2013-03-15 2014-09-18 Eyecam, LLC Autonomous computing and telecommunications head-up displays glasses

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10782793B2 (en) 2017-08-10 2020-09-22 Google Llc Context-sensitive hand interaction
US11181986B2 (en) 2017-08-10 2021-11-23 Google Llc Context-sensitive hand interaction
CN108536288A (zh) * 2018-03-27 2018-09-14 网易(杭州)网络有限公司 虚拟现实中交互操作的处理方法和装置
CN108563335A (zh) * 2018-04-24 2018-09-21 网易(杭州)网络有限公司 虚拟现实交互方法、装置、存储介质及电子设备
CN108563335B (zh) * 2018-04-24 2021-03-23 网易(杭州)网络有限公司 虚拟现实交互方法、装置、存储介质及电子设备
CN112119431A (zh) * 2018-05-22 2020-12-22 西门子股份公司 用于显示3d模型的方法和系统
CN110633008A (zh) * 2018-06-22 2019-12-31 苹果公司 用户交互解释器
US11733824B2 (en) 2018-06-22 2023-08-22 Apple Inc. User interaction interpreter
CN109085931A (zh) * 2018-07-25 2018-12-25 南京禹步信息科技有限公司 一种虚实结合的交互式输入方法、装置和存储介质
CN109542279A (zh) * 2018-10-30 2019-03-29 维沃移动通信有限公司 一种终端设备控制方法及终端设备
CN109542279B (zh) * 2018-10-30 2022-08-26 维沃移动通信有限公司 一种终端设备控制方法及终端设备
CN109683876B (zh) * 2018-12-10 2022-06-24 上海精密计量测试研究所 一种基于Unity3D的行为树设计方法
CN109683876A (zh) * 2018-12-10 2019-04-26 上海精密计量测试研究所 一种基于Unity3D的行为树设计方法
CN109782909B (zh) * 2018-12-29 2020-10-30 北京诺亦腾科技有限公司 一种vr交互设备与vr场景的交互方法及装置
CN109782909A (zh) * 2018-12-29 2019-05-21 北京诺亦腾科技有限公司 一种vr交互设备与vr场景的交互方法及装置
CN114089827A (zh) * 2020-08-04 2022-02-25 宏达国际电子股份有限公司 切换输入装置方法、头戴式显示器及计算机可读存储介质
CN114089827B (zh) * 2020-08-04 2023-08-25 宏达国际电子股份有限公司 切换输入装置方法、头戴式显示器及计算机可读存储介质

Also Published As

Publication number Publication date
US10635161B2 (en) 2020-04-28
KR102105637B1 (ko) 2020-06-26
WO2017024142A1 (en) 2017-02-09
EP3332314B1 (en) 2024-04-10
CN107533373B (zh) 2020-09-08
US20170038830A1 (en) 2017-02-09
JP6676071B2 (ja) 2020-04-08
JP2018522310A (ja) 2018-08-09
EP3332314A1 (en) 2018-06-13
KR20170130586A (ko) 2017-11-28

Similar Documents

Publication Publication Date Title
CN107533373A (zh) 虚拟现实中经由手与对象的场境敏感碰撞的输入
CN109891368B (zh) 活动对象在增强和/或虚拟现实环境中的切换
CN108780356B (zh) 控制或渲染共存虚拟环境的方法及相关存储介质
CN107533374A (zh) 虚拟现实中的头部、手势和触摸输入的动态切换和合并
US20190385371A1 (en) Interaction system for augmented reality objects
CN102265242B (zh) 在移动设备上使用运动处理来控制和访问内容
CN108027657A (zh) 增强和/或虚拟现实环境中的场境敏感用户界面激活
US11794105B2 (en) Game processing system, game processing program, and game processing method
CN114080585A (zh) 在人工现实环境中使用外围设备的虚拟用户界面
CN107787472A (zh) 用于虚拟现实中的凝视交互的悬停行为
CN113853575A (zh) 具有滑动菜单的人工现实系统
JP2020513625A (ja) 拡張現実および/または仮想現実環境におけるジェスチャーによる仮想注記面の生成
CN109643159A (zh) 在增强和/或虚拟现实环境中利用六自由度控制器操纵虚拟对象
WO2010060211A1 (en) Method and apparatus for controling a camera view into a three dimensional computer-generated virtual environment
KR102251252B1 (ko) 가상 현실에서의 위치 지구본
CN108073276A (zh) 增强和/或虚拟现实环境的拖拽虚拟元件
US10921879B2 (en) Artificial reality systems with personal assistant element for gating user interface elements
CN113892074A (zh) 用于人工现实系统的手臂凝视驱动的用户界面元素选通
EP2558924B1 (en) Apparatus, method and computer program for user input using a camera
US10852839B1 (en) Artificial reality systems with detachable personal assistant for gating user interface elements
CN113892075A (zh) 用于人工现实系统的拐角识别手势驱动的用户界面元素选通
JP6018474B2 (ja) プログラム、情報処理装置、情報処理方法および情報処理システム
US11816757B1 (en) Device-side capture of data representative of an artificial reality environment
JP7286857B2 (ja) 情報処理システム、プログラム及び情報処理方法
JP7286856B2 (ja) 情報処理システム、プログラム及び情報処理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant