CN108073276A - 增强和/或虚拟现实环境的拖拽虚拟元件 - Google Patents

增强和/或虚拟现实环境的拖拽虚拟元件 Download PDF

Info

Publication number
CN108073276A
CN108073276A CN201710905098.9A CN201710905098A CN108073276A CN 108073276 A CN108073276 A CN 108073276A CN 201710905098 A CN201710905098 A CN 201710905098A CN 108073276 A CN108073276 A CN 108073276A
Authority
CN
China
Prior art keywords
virtual
hand
electronic equipments
hold electronic
location
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
CN201710905098.9A
Other languages
English (en)
Other versions
CN108073276B (zh
Inventor
M.西格米勒
A.格莱齐尔
D.P.凯瑟尔
P.卡尔松
E.H.帕克
C-P.王
M.布尔曼
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 CN108073276A publication Critical patent/CN108073276A/zh
Application granted granted Critical
Publication of CN108073276B publication Critical patent/CN108073276B/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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/211Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
    • 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
    • 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/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • 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
    • 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/04842Selection of displayed objects or displayed text elements
    • 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/04845Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • 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/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Heart & Thoracic Surgery (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在用于移动或拖动虚拟现实环境的系统中,佩戴头戴式显示器(HMD)设备的用户可以处于物理空间中与虚拟环境中的第一虚拟位置相对应的第一物理位置。用户可以通过例如可操作地耦合到HMD的手持电子设备的操纵来选择虚拟环境中的第二虚拟位置。系统可以基于第一和第二虚拟位置构建三维复杂代理表面,并且可以沿着代理表面移动虚拟环境的虚拟元件。虚拟环境的这种移动可以被用户感知为从第一虚拟位置到第二虚拟位置的移动,尽管用户可以保持在物理空间内的第一物理位置。

Description

增强和/或虚拟现实环境的拖拽虚拟元件
相关申请的交叉引用
本申请是2016年11月15日提交的美国临时申请No.62/422,384的非临时申请,并要求其优先权,其全部内容通过引用并入本文。
技术领域
本文件通常涉及在虚拟现实环境中移动虚拟元件。
背景技术
增强现实(AR)和/或虚拟现实(VR)系统可以生成沉浸式的三维(3D)虚拟环境。用户可以使用各种电子设备(如,例如,包括显示器的头盔或其他头戴式设备,用户在观看显示装置通过其看的眼镜或护目镜、一个或多个外部电子设备(例如控制器,操纵杆等)、装有传感器的手套、键盘,鼠标和其他电子装置)在虚拟环境中与虚拟对象,元件,特征等进行交互。当浸入虚拟环境中时,用户可以通过虚拟环境移动,并且可以通过例如物理移动和/或操纵一个或多个电子设备来操纵和与虚拟环境的虚拟元件交互。
发明内容
在一个方面,在物理环境中操作的头戴式显示器(HMD)设备中,从对应于第一虚拟位置的第一虚拟视角显示虚拟环境;检测第二虚拟位置的选择;基于所述第一虚拟位置和所述第二虚拟位置来定义三维(3D)虚拟代理表面;检测运动命令;响应于检测到的运动命令,沿3D虚拟代理表面移动虚拟环境的虚拟特征;以及基于对应于所述第二虚拟位置的第二虚拟视角显示所述虚拟环境。
在另一方面,计算机程序产品可以体现在非瞬态计算机可读介质上。计算机可读介质可以在其上存储有指令序列,当由处理器执行时,其使处理器执行方法。该方法可以包括在于物理环境中操作的头戴式显示器(HMD)设备中,从第一虚拟视角显示虚拟环境,第一虚拟视角对应于第一虚拟位置;检测第二虚拟位置的选择;基于所述第一虚拟位置和所述第二虚拟位置来定义三维(3D)虚拟代理表面;检测运动命令;响应于检测到的运动命令,沿3D虚拟代理表面移动虚拟环境的虚拟特征;以及从与所述第二虚拟位置对应的第二虚拟视角显示所述虚拟环境。
在附图和下面的描述中阐述了一个或多个实现的细节。从描述和附图以及从权利要求书中,其他特征将是显而易见的。
附图说明
图1是根据本文所述的实施方式的增强现实和/或虚拟现实系统的示例性实施方式方式,包括头戴式显示设备和一个或多个手持电子设备。
图2A和2B是示例头戴式显示装置的透视图,图2C示出了根据本文所述实现方式的示例性手持电子设备。
图3是根据本文所述的实现方式的示例增强和/或虚拟现实系统的框图。
图4A-4E,5A-5C,6A-6E和7A-7C是示出根据本文所述的实现方式的增强和/或虚拟现实环境的虚拟特征的移动的第三人视图。
图8是根据本文所述的实现方式在增强和/或虚拟现实环境中移动虚拟特征的方法的流程图。
图9示出了可以用于实现本文所描述的技术的计算机设备和移动计算机设备的示例。
具体实施方式
浸入在佩戴例如头戴式显示器(HMD)设备的增强现实和/或虚拟现实环境中的用户可以探索虚拟环境并且通过各种不同类型的输入与在虚拟环境中的虚拟对象,特征等进行交互。这些输入可以包括例如物理相互作用,包括例如物理运动和/或操纵,或HMD和/或与HMD分离的电子设备,和/或手/手臂手势,头部运动和/或头部和/或眼睛定向注视等。用户可以实现这些不同类型的交互中的一个或多个以在虚拟环境中执行特定动作。例如,用户可以执行特定动作来虚拟地穿过虚拟环境,例如,从虚拟环境的第一区域到虚拟环境的第二区域,或者从第一虚拟环境到第二虚拟环境。通过虚拟环境或从一个虚拟环境到另一虚拟环境的这个移动可以包括相对于用户移动虚拟环境的特征,同时用户保持相对静止,以产生通过虚拟环境移动的感知。
根据本文描述的实施方式的系统和方法可以允许用户响应于用户输入移动虚拟环境的虚拟特征,所述用户输入基于特定虚拟环境和相关联的虚拟特征对用户感觉相对自然。虚拟环境的虚拟特征的这种移动可能导致用户在虚拟环境内的定位或位置的感知变化。根据本文描述的实施方式的系统和方法可以在用户佩戴的HMD的显示器上向用户显示虚拟环境。根据本文描述的实现的系统和方法可以接收用户输入,用于相对于用户移动虚拟环境,例如通过与HMD可操作地耦合的手持电子设备的移动和/或其它操作。虚拟环境的这种移动可能导致用户在虚拟环境中的位置的感知变化,同时用户在系统操作的周围环境中保持相对静止。以这种方式,响应于由手持电子设备的相对自然的用户移动产生的输入,用户可以虚拟地从虚拟环境内的第一位置移动或行进到虚拟环境内的第二位置。
在图1所示的示例性实施方式中,如图1所示,佩戴HMD 100的用户正在握着便携式手持电子设备102。手持电子设备102可以是例如可以与HMD 100配对和与HMD 100通信的控制器,智能电话,操纵杆或可以与另一个便携式手持电子设备,用于在由HMD 100生成的虚拟环境中进行交互,并且例如在HMD 100的显示器上向用户显示。手持电子设备102可以与HMD 100例如通过有线连接或诸如WiFi或蓝牙连接的无线连接可操作地耦合或配对。手持电子设备102和HMD 100的这种配对或可操作的耦合可以提供手持电子设备102与HMD 100之间的通信以及手持电子设备102与HMD 100之间的数据交换。这可以允许手持电子设备102用作与HMD100通信的控制器,用于在HMD 100生成的沉浸式虚拟环境中进行交互。例如,手持电子设备102的操纵和/或在手持电子设备102的触摸表面上接收的输入和/或手持电子设备102的移动可以被转换成在由HMD 100生成和显示的虚拟环境中的对应的选择,移动或其他类型的交互。
图1所示的示例性实施方式包括与HMD 100通信的一个手持电子设备102,用于与HMD 100进行数据交换,以及与由HMD 100生成的虚拟环境中的虚拟特征,元件,对象等的交互。然而,在一些实施方式中,多于一个手持电子设备102和/或其他外部计算设备可以与HMD 100可操作地耦合并且与HMD 100通信,并且可以一起操作或分开地操作,在虚拟环境中进行交互。
图2A和2B是示例HMD的透视图,如例如图1中用户穿戴的HMD100。且图2C示出了示例性手持电子设备,如例如,图1所示的手持电子设备102。
手持电子设备102可以包括其中接收设备102的内部组件的壳体103。用户界面104可以设置在壳体103上,用户可以接近。用户接口104可以包括例如被配置为接收用户触摸输入,触摸和拖动输入等的触敏表面106。用户界面104还可以包括用户操纵装置105,诸如例如致动触发器,按钮,旋钮,拨动开关,操纵杆等。
HMD 100可以包括耦合到框架120的壳体110,其中包括例如安装在耳机中的扬声器的音频输出设备130也耦合到框架120。在图2B中,壳体110的前部110a从壳体110的基部110b旋转开,使得容纳在壳体110中的一些部件可见。显示器140可以安装在壳体110的前部110a的面向内侧的一侧。当前部110a靠着壳体110的基部110b处于关闭位置时,透镜150可以安装在壳体110中,在用户的眼睛和显示器140之间。HMD 100可以包括感测系统160,该感测系统包括各种传感器;并包括控制系统170,该控制系统包括处理器190和用于促进HMD100的操作的各种控制系统设备。
例如,在一些实施方式中,感测系统160可以包括惯性测量单元(IMU)162,其包括各种不同类型的传感器,如例如加速度计,陀螺仪,磁力计和其它这样的传感器。HMD 100的位置和取向可以基于由包含在IMU162中的传感器提供的数据进行检测和跟踪。HMD 100的检测位置和取向可以允许系统进而检测和跟踪用户的头部注视方向和头部注视运动,以及与HMD 100的位置和取向有关的其他信息。
在一些实施方式中,HMD 100可以包括凝视跟踪装置165,其包括例如一个或多个传感器165A,以检测和跟踪眼睛注视方向和移动。可以处理由传感器165A捕获的图像以检测和跟踪用户的眼睛注视的方向和移动。检测和跟踪的眼睛注视可以作为用户输入进行处理,以在沉浸式虚拟体验中被转换为对应的交互。照相机180可以捕获静止和/或运动图像,其可以用于帮助跟踪用户和/或与HMD 100通信/可操作地耦合的其他外部设备的物理位置。捕获的图像也可以以透过模式在显示器140上显示给用户。
在图3中示出了提供用于相对于用户移动虚拟环境的虚拟元件的系统的框图。系统可以包括第一电子设备300(如例如,如上文关于图1和2A-2B所述的HMD)和与第一电子设备300通信的至少一个第二电子设备302(如例如,如上述关于图1和2C所述的手持电子设备)。
第一电子设备300可以包括感测系统360和控制系统370,其可以分别类似于图2A和2B所示的感测系统160和控制系统170。感测系统360可以包括不同类型的传感器,包括例如光传感器,音频传感器,图像传感器,距离和/或接近传感器,IMU,包括例如陀螺仪,加速度计,磁力计等,定时器和/或其他传感器和/或传感器的不同组合。控制系统370可以包括例如功率/暂停控制设备,音频和视频控制设备,光学控制设备,转换控制设备和/或其他这样的设备和/或设备的不同组合。取决于特定的实施方式,感测系统360和/或控制系统370可以包括更多或更少的设备。包括在感测系统360和/或控制系统370中的元件可以在图2A和2B所示的HMD100之外的HMD内的不同物理布置(例如,不同的物理位置)。第一电子设备300还可以包括与感测系统360和控制系统370通信的存储器380和处理器390。处理器390可处理从感测系统360接收的以及来自其它外部源的输入,该其他外部源例如第二电子设备302,并执行与检测到的输入相对应的指令。第一电子设备300还可以包括提供第一电子设备300和其他外部计算设备(例如第二电子设备302和涉及处理系统相关信息的其他计算设备)之间的通信的通信模块350。
第二电子设备302可以包括通信模块306,其提供第二电子设备302与另一设备(如例如第一电子设备300)之间的通信和数据交换。在一些实施方式中,取决于第二电子设备302(即,手持电子设备或控制器,相对键盘或鼠标)的特定配置,第二电子设备302可以包括感测系统304,其包括例如图像传感器和音频传感器,如包括在例如相机和麦克风,IMU,定时器,触摸传感器(例如包括在手持电子设备的触敏表面中的触摸传感器)或智能电话以及其它这样的传感器和/或传感器的不同组合。处理器309可以与感测系统304和第二电子设备302的控制器305通信,控制器305可以访问存储器308并且控制第二电子设备302的整体操作。
虚拟现实系统的示例性实施方式在4A-4E,5A-5C,6A-6E和7A-7C中示出。在这些示例性实施方式中,可以相对于用户移动虚拟环境的虚拟元件,从而导致虚拟环境中用户虚拟位置的感知移动和变化。图4A-4E和6A-6E示出了佩戴HMD 100并且使用手持电子设备102与虚拟环境的元件交互的物理空间400中的用户的第三人视图。如上所述,虚拟环境可以被显示给HMD 100内的用户,例如在HMD 100的显示器140上,并且因此虚拟环境在HMD 100之外将不可见。然而,为了便于讨论和说明,虚拟环境500的虚拟元件的表示在图4A-4E和6A-6E中示于HMD 100的外侧,如它们将被用户观看和体验的。
如图4A所示,用户可以例如在HMD 100的显示器140上查看虚拟环境500。在图4A所示的示例中,为了便于讨论和说明,虚拟环境500的虚拟元件被示出在HMD 100的外侧。用户可以位于虚拟环境500中的对应于物理空间400中的物理位置400A的第一虚拟位置500A。在一些实施方式中,物理位置400A可以基于例如用户在手持电子设备102下方的物理空间400内的物理地板的位置来建立。在某些实现中,第一虚拟位置500A可以基于例如手持电子设备102下方的虚拟环境500中的虚拟地面上的位置来建立。从第一虚拟位置500A,用户可以选择移动或拖动在虚拟环境500中的第二虚拟位置500B处的虚拟特征或元件。虚拟特征的移动或拖动可以对用户产生用户在虚拟环境500中移动的感知,当实际上用户在物理环境400中保持静止时,并且虚拟环境500的虚拟特征相对于在位置400A处的用户的静止位置移动。响应于用户的取向的变化和/或用户持有的手持电子设备102的移动,虚拟环境500的虚拟特征可以相对于用户以各种不同的方向移动,例如,围绕用户,或朝向用户,或远离用户。该移动可能导致虚拟环境500的元件相对于用户的相应移动,而不会使用户在物理空间400中物理地改变位置。
在一些实施方式中,用户可以将手持电子设备102指向第二虚拟位置500B处的虚拟特征,以选择或识别第二虚拟位置500B处的虚拟特征。例如,在一些实施方式中,从第一物理位置400A/第一虚拟位置500A起,用户可以将在手持电子设备102上延伸的虚拟光束或射线朝向第二虚拟位置500B处的虚拟特征引导,如图4B所示。在一些实施方式中,用户可以致动手持电子设备102的操纵设备105中的一个以指示在第二虚拟位置500B处的虚拟特征的选择。例如,用户可以启动或按下手持电子设备102上的触发器或按钮,和/或可以致动手持电子设备102的另一个操纵设备105,以确认在第二虚拟器件上的虚拟特征的选择位置500B。第二虚拟位置500B可以基于例如在虚拟环境500中的第二虚拟位置500B处的虚拟特征的设置接近度内检测到的虚拟光束或射线的一部分来检测。第二虚拟位置500B可以是基于例如虚拟光束或射线的一部分与第二虚拟位置500B处的虚拟特征的相交等来检测。
响应于用户对第二虚拟位置500B的选择的检测,系统可以构造代理表面550。代理表面550可以引导虚拟环境500的虚拟特征相对于用户的移动,以及/或用户从第一虚拟位置500A到第二虚拟位置500B的感知移动。在图4C所示的例子中,代理表面550是由正圆形三维锥定义的复合代理表面550。定义复合代理表面550的三维锥体的顶点550A可以在物理空间400的物理地板上,对应于手持电子设备102下面的物理地板的一部分,并且基本上在物理空间400的物理地板上的用户的脚处。定义代理表面550的锥体的表面可以从顶点550A延伸到所选择的第二虚拟位置500B,三维锥体的基部550B与所选择的第二虚拟位置500B相交。与定义代理表面550的三维锥体的基部550B相交的球体550C可以从基部550B向外延伸。系统可以使用这个复合代理表面550来引导虚拟特征相对于用户的移动。这可以允许用户经历从第一虚拟位置500A到第二虚拟位置500B的感知的虚拟移动,同时基本上保持在物理空间400中的第一物理位置400A。例如,在图4A-4E所示的示例中,用户可以体验在第一虚拟位置500A和第二虚拟位置500B之间沿着地形的移动,同时基本上保持在物理位置400A。
在图4C所示的示例性布置中,用户指向并拖动在第一虚拟位置500A处的用户下方的第二虚拟位置500B处的虚拟特征。这可能导致代理表面550由在顶部具有锥体的球体550C定义,其中用户定位在定义代理表面550的锥体的顶点500A处(在第一虚拟位置500A处)。用户可以例如,通过例如将握持手持电子设备102的用户的手臂/手更靠近用户身体拉动来拖动第二虚拟位置500B处的虚拟特征更靠近用户,例如,如图图5A至5B所示的位置变化所示。该移动可能导致虚拟环境500的特征相对于用户移动。例如,这种移动可能导致第二虚拟位置500B处的虚拟特征朝向用户移动,直到虚拟环境500的虚拟特征被定向成使得用户处于第二虚拟位置500B,如图5C所示。即使用户可以保持在物理空间400中基本上相同的物理位置400A,用户也可以将其感知为虚拟环境500中的移动,如图4D所示。
当用户拖动虚拟环境500时,例如通过手持电子设备102的移动,如上所述,并且例如,当操纵设备105仍处于被致动状态时,虚拟环境500可以沿着复合代理表面550相对于用户移动。如果在以这种方式拖动虚拟环境500的同时,用户的位置与代理球体550C的一部分对应或相交,则虚拟环境550可以基本水平地移动。然而,如果用户的位置与代理锥体的一部分相对应或相交,虚拟环境500可以水平和垂直地移动。例如,如果用户将手持电子设备102向下引导,则如图4C和4D所示,该移动可以引起虚拟环境500的特征在水平和垂直方向上的移动。在图4C和4D所示的示例中,该运动将用户向前拉入山谷,并向下拉入山谷,直到用户到达所选择的第二虚拟位置500B并且解除操纵装置105的致动。
如图4A-4E所示,用户在物理空间400中基本保持在相同的物理位置400A,而不同虚拟位置(例如虚拟位置500A和500B)处的特征相对于用户移动。虚拟特征相对于用户的这种运动可以在用户将手持电子设备102拉近并且在向下的方向上移动时实现,使得用户的脚保持接地在虚拟地面上,以将虚拟环境500拖入所需的方向。
在4A-4E所示的示例中,用户沿着复合代理表面550拖动虚拟环境500,使得虚拟环境500的特征相对于用户移动,其中所选择的第二虚拟位置500B被拖动到基本上位于用户的脚或之下的位置。然而,响应于手持电子设备102的其他移动,用户的重新定位等,代理表面550可在其他方向上引导虚拟环境的虚拟特征移动。例如,用户可以实现手持电子设备102的侧向或横向移动(和/或用户可以枢转,但是另外在物理位置400A处基本上保持就位,有效地引起手持电子设备102的侧向移动)。这可能导致虚拟环境500的特征的相应侧向移动,该移动由代理表面550的相对应部分引导。类似地,手持电子设备102的向上移动(而不是上面相对于图4A-4E讨论的向下移动)可以导致虚拟环境500的特征的相应移动,该移动由代理表面550的相对应部分引导。
另一示例在6A-6E中示出。在图6A中,用户位于虚拟环境500中的第一虚拟位置500A,对应于物理空间400中的物理位置400A。如上所述,位置400A/500A可以基于例如,在物理空间400的物理地板上的位置/在手持电子设备102下方的虚拟环境500中的虚拟地板上的位置来建立。从第一虚拟位置500A,用户可以选择移动到第二虚拟位置500B。如上所述,这可以涉及将第二虚拟位置500B处的虚拟特征移动或拖动到用户或向用户移动或拖动。这可以有效地相对于用户移动虚拟环境500的元件,而不需要用户物理上移动或改变物理空间400中的位置。
如上所述,用户可以操纵手持电子设备102以选择或识别在第二虚拟位置500B处的虚拟特征。这可以通过例如将从手持电子设备102延伸的虚拟光束或射线引导向第二虚拟位置500B,如图6B所示,并且例如,致动手持电子设备102的操纵设备105之一以指示在第二虚拟位置500B处的虚拟特征的选择来实现。响应于如上所述检测到用户在第二虚拟位置500B处的虚拟特征的选择,如上所述,系统可以构建复合代理表面550。复合代理表面550可以引导虚拟环境500的虚拟特征相对于用户的移动,和/或用户从第一虚拟位置500A到第二虚拟位置500B的感知移动。
在图6C所示的示例中,代理表面550由正圆形三维锥体限定,顶点550A对应于手持电子设备102下方的物理地板的一部分,基本上在用户的脚处。三维锥体的表面可以从顶点550A延伸到所选择的第二虚拟位置500B。三维锥体的基部550B可以与所选择的第二虚拟位置500B相交,并且球体550C可以从基部550B向外延伸。如上所述,该复合代理表面550可以引导虚拟特征相对于用户的移动,使得用户可以经历从第一虚拟位置500A到第二虚拟位置500B的感知到的虚拟移动,同时保持基本上静止在物理空间400中的第一物理位置400A。
在图6C所示的示例性布置中,用户指向并拖动在第一虚拟位置500A处的用户上方的第二虚拟位置500B处的虚拟特征。这可能导致复合代理表面550由顶部具有三维锥形凹陷(divot)的球体550C定义。在这种布置中,使用者站立在三维锥形凹陷的底部,即在锥体的底部,从手持电子设备102引导的虚拟光束或射线与锥形凹陷的边缘接触或相交在与第二虚拟位置500B对应的位置。用户可以通过例如将握持手持电子设备102的用户的手臂/手拉近用户的身体来拖动更靠近第二虚拟位置500B处的虚拟特征,如图图7A~7B所示的位置变化所示。这可能导致虚拟环境500的特征相对于用户移动,并且例如可以将第二虚拟位置500B处的虚拟特征拖动到用户,如图7C所示。用户可以将其感知为虚拟环境500中的移动,即使用户可以在物理空间400中基本上保持相同的物理位置400A,如图6D所示。这可能导致复合代理表面550由限定3D虚拟代理表面500的第一3D部分的第二虚拟位置500B和第一虚拟位置500A和之间的虚拟连接的延伸,以及从虚拟代理表面500的第一3D部分延伸的3D虚拟代理表面的第二3D部分来定义。
当用户拖动虚拟环境500时,例如通过如上所述的手持电子设备102的移动,并且例如,当操纵设备105仍处于被致动状态时,虚拟环境500可以沿着复合代理表面550相对于用户移动。例如,如果用户将手持电子设备102向下引导,则如图6C和6D所示,该运动可能导致虚拟环境500的特征在水平和垂直方向上移动。这个运动可能看起来将用户向前并向上拉动,到所选择的第二虚拟位置500B上的平台上,且释放操纵装置105的致动。
如图6A-6E所示,用户在物理空间400中基本上保持在相同的物理位置400A,同时虚拟环境500的虚拟特征随着用户将手持电子设备102拉动更近而相对于用户移动,并且向下方向移动,使得用户的脚保持接地在虚拟地面上,以沿期望的方向拖动虚拟环境500。
在图4A-4E和6A-6E所示的示例中,在第一物理位置400A和对应的第一虚拟位置500A处的用户将虚拟光束或射线引导向在第二虚拟位置500B处的所选择的虚拟特征。用户可以通过例如激活手持电子设备102的操纵设备105来选择在第二虚拟位置500B处的该虚拟特征。虚拟环境500的虚拟特征可以响应于手持电子设备102的移动相对于用户移动或拖动,同时用户在物理空间400中保持基本上静止。以这种方式,用户可以经历从第一虚拟位置500A到第二虚拟位置500B的感知移动,例如感知到的沿着如图4A-4E和6A-6E中所示的示例地形的运动,该感知运动由复合代理表面550引导。图4A-4E和6A-6E中所示的地形仅仅是可以相对于用户以这种方式移动的虚拟环境500中的特征的一个示例。在其他虚拟环境中的其他特征可以以上述方式被选择和移动。
在图4A-4E和6A-6E所示的示例中,用户可以将虚拟光束或射线从手持电子设备102引向第二虚拟位置500B。在选择了第二虚拟位置500B的情况下,用户可以沿着朝向用户的方向拉动手持电子设备102,并且向下移动,使得当手持电子设备102被带到其沿向下方向指向的位置时,例如,朝向用户脚附近的物理地板的一部分。该运动和取向可以指示用户希望将他的脚定位在所选择的第二虚拟位置500B处,并且可以引起虚拟环境500以及虚拟环境500的虚拟特征的相应移动或拖动,使得用户感知他已经移动到第二虚拟位置500B,而他在物理空间400中保持在相同的物理位置400A。这可以允许用户从第一虚拟位置500A移动到第二虚拟位置500B,同时体验虚拟第一虚拟位置500A和第二虚拟位置500B之间的虚拟特征,而他的物理位置没有任何实质的改变。在虚拟环境500的这种移动中,以及用户从第一虚拟位置500A到第二虚拟位置500B的感知移动,用户可以例如沿着包括在图4A-4E和6A-6E所示的示例中的地形移动。
沿着由复合代理表面500限定的轮廓的虚拟环境500的虚拟特征的移动可以允许用户体验该运动作为相对平滑的运动,而不是虚拟环境500的虚拟显示在运动期间跟随显示的虚拟地形时所经历的猛然震动运动。用户经历的这种相对平稳的运动可以减少否则在虚拟环境500的这种类型移动期间可能导致的晕动和方向障碍的效果。
在一些实施方式中,手持电子设备102的移动的速度和/或方向可以对应于当用户从第一虚拟位置500A到第二虚拟位置500B移动时虚拟环境500的虚拟元件的移动的速度和/或方向。例如,在一些实施方式中,手持电子设备102的用户移动的速度可以与虚拟环境500的虚拟元件的移动速度成比例,以及与用户从第一虚拟位置500A到第二虚拟位置500B的移动感知速度成比例。
在一些实施方式中,即使在检测到上述向内和向下移动之外的移动的情况下,三维复合代理表面550的使用也可允许用户保持连接在虚拟环境500中。例如,在检测到手持电子设备102的侧向移动的情况下,系统可以检测用户期望的焦点或移动方向上的对应的侧向偏移。由于该侧向偏移有可能沿着复合代理表面550的锥形部分检测到,所以即使在手持电子设备102的侧向移动的情况下,虚拟环境500的虚拟特征的移动也可以继续遵循相对平滑的运动路径。
上面参考图4A-4E和6A-6E描述的示例复合代理表面550包括从锥形部分的基部周边向外延伸的锥形部分和球形部分,以便于对这些概念的解释和说明。然而,复合代理表面可以由另一表面和/或表面布置来定义,所述另一表面和/或表面布置在手持电子设备下面的物理地面的一部分处与物理地面相交,并且在与虚拟环境中的第二虚拟位置处的虚拟特征相交的虚拟光束的一部分处与虚拟环境相交。
在一些实施方案中,可以限制手持电子设备102(例如,从手持电子设备102引导的虚拟光束或射线)与代理表面之间的入射角度,使得在其中手持电子设备102的取向和代理表面几乎平行的情况下,手持电子设备102的相对小的移动将不会导致虚拟环境500的不成比例的大的移动。给定如上所述的最大入射角和代理表面,可以计算发生最大入射角处的与用户的水平距离。当如上所述开始移动或拖动虚拟环境500时,如果从手持电子设备102延伸的虚拟射线或光束与第二虚拟位置500B处的虚拟对象的初始相交点比允许的最大入射角更远,则尽可能远但具有最大入射角的代理表面550上的在相同方向上的点可以用作初始相交点。当拖动时,相交点可以保持在该计算距离内。
根据本文所述的实施方式,移动增强和/或虚拟现实环境中的虚拟特征的方法在图8中示出。该系统可以检测新的虚拟位置的选择,对应于启动虚拟环境的虚拟特征的移动的用户输入或命令(方框810)。可以基于例如手持电子设备102在第二虚拟位置500B处引导虚拟光束或射线的检测的取向来检测该选择,如上面关于图4A-4B和6A-6B详细描述的。这种检测可以例如响应于手持电子设备102的操纵装置105的检测到的致动而进行,也如上所述。响应于新虚拟位置的检测到的选择,系统可以构造复合代理表面550(方框820),如上面关于4C-4D和6C-6D详细描述的。响应于检测到的运动命令(方框830),系统可以沿着复合代理表面移动虚拟环境的虚拟元件(方框840),直到检测到移动完成(方框850)。移动命令可以包括例如在选择第二虚拟位置500之后并且操纵装置105被致动时手持电子设备102的移动。系统可以沿着复合代理表面550移动虚拟环境500的虚拟特征,同时用户保持在物理空间400中基本相同的物理位置400A。当例如用户(握持手持电子设备102的用户)的位置对应于第二虚拟位置500B,和/或检测到手持电子设备102的操作设备105的释放,手持电子设备102的设置位置被检测到等时,系统可以检测到该运动完成。可以执行该过程,直到确定虚拟现实体验已被终止(方框860)。
图9示出了可以与这里描述的技术一起使用的计算机设备900和移动计算机设备950的示例。计算设备900包括处理器902,存储器904,存储设备906,连接到存储器904的高速接口908和高速扩展端口910,以及连接到低速总线914和存储设备906的低速接口912。组件902、904、906、908、910和912中的每一个使用各种总线互连,并且可以安装在公共主板上或以其他方式适当安装。处理器902可以处理用于在计算设备900内执行的指令,包括存储在存储器904中或存储设备906上的指令,以在外部输入/输出设备上显示GUI的图形信息,诸如耦合到高速接口908的显示器916。在其他实现方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多种类型的存储器。此外,可以连接多个计算设备900,每个设备提供必要操作的一部分(例如,作为服务器组,一组刀片服务器或多处理器系统)。
存储器904在计算设备900内存储信息。在一个实现方式中,存储器904是易失性存储器单元。在另一实现方式中,存储器904是非易失性存储器单元。存储器904还可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备906能够为计算设备900提供大容量存储。在一个实现方式中,存储设备906可以是或包含计算机可读介质,诸如软盘设备,硬盘设备,光盘设备或磁带设备,闪存或其它类似的固态存储设备,或包括存储区域网络中的设备或其他配置的设备阵列。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含指令,该指令在被执行时执行一个或多个方法,例如上述的方法。信息载体是诸如存储器904,存储设备906或处理器902上的存储器的计算机或机器可读介质。
高速控制器908管理计算设备900的带宽密集型操作,而低速控制器912管理较低带宽密集型操作。功能的这种分配仅是示例性的。在一个实现方式中,高速控制器908耦合到存储器904,显示器916(例如,通过图形处理器或加速器)以及可接受各种扩展卡(未示出)的高速扩展端口910。在实现方式中,低速控制器912耦合到存储设备906和低速扩展端口914。可以包括各种通信端口(例如,USB,蓝牙,以太网,无线以太网)的低速扩展端口可以是耦合到一个或多个输入/输出设备,例如键盘,指示设备,扫描仪或诸如交换机或路由器的网络设备,例如通过网络适配器。
计算设备900可以以多种不同的形式来实现,如图所示。例如,它可以被实现为标准服务器920,或者在一组这样的服务器中多次实现。它也可以被实现为机架式服务器系统924的一部分。此外,它可以在诸如膝上型计算机922的个人计算机中实现。或者,来自计算设备900的组件可以与移动设备中的其他组件(未示出)组合,诸如设备950。这些设备中的每一个可以包含计算设备900、950中的一个或多个,并且整个系统可以由彼此通信的多个计算设备900、950组成。
计算设备950包括处理器952,存储器964,诸如显示器954之类的输入/输出设备,通信接口966和收发器968以及其他组件。设备950还可以设置有诸如微驱动器或其他设备的存储设备,以提供额外的存储。组件950、952、964、954、996和968中的每一个使用各种总线互连,并且若干组件可以安装在公共主板上或按需要以其他方式安装。
处理器952可以执行计算设备950内的指令,包括存储在存储器964中的指令。处理器可以被实现为包括单独的和多个模拟和数字处理器的芯片的芯片组。例如,处理器可以提供用于协调设备950的其他组件,诸如用户接口的控制,由设备950运行的应用以及由设备950进行的无线通信。
处理器952可以通过控制接口958和耦合到显示器954的显示接口956与用户进行通信。显示器954可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其他适当的显示技术。显示接口956可以包括用于驱动显示器954以向用户呈现图形和其他信息的适当电路。控制接口958可以从用户接收命令并将其转换以提交给处理器952。此外,可以提供与处理器952通信的外部接口962,以便能够与其他设备进行设备950的近区域通信。外部接口962可以在一些实现方式中提供例如有线通信,或者在其他实现方式中提供无线通信,并且还可以使用多个接口。
存储器964将信息存储在计算设备950内。存储器964可以被实现为计算机可读介质或介质,易失性存储器单元或非易失性存储器单元中的一个或多个。扩展存储器974还可以被提供并通过扩展接口972连接到设备950,扩展接口972可以包括例如SIMM(单列直插存储器模块)卡接口。这种扩展存储器974可以为设备950提供额外的存储空间,或者还可以存储用于设备950的应用或其他信息。具体来说,扩展存储器974可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器974可以被提供为用于设备950的安全模块,并且可以用允许设备950的安全使用的指令来编程。此外,可以经由SIMM卡以及附加信息来提供安全应用,例如以不可破解(non-hackable)的方式将识别信息放置在SIMM卡上。
存储器可以包括例如闪存和/或NVRAM存储器,如下所述。在一个实现方式中,计算机程序产品被有形地体现在信息载体中。计算机程序产品包含指令,当被执行时,执行一个或多个方法,例如上述的方法。信息载体是可以例如通过收发机968或外部接口962接收的计算机或机器可读介质,诸如存储器964,扩展存储器974或处理器952上的存储器。
设备950可以通过通信接口966进行无线通信,通信接口966可以在必要时包括数字信号处理电路。通信接口966可以提供诸如GSM语音呼叫,SMS,EMS或MMS消息,CDMA,TDMA,PDC,WCDMA,CDMA2000或GPRS等各种模式或协议的通信。这样的通信可以例如通过射频收发机968发生。另外,可能发生短距离通信,例如使用蓝牙,Wi-Fi或其他这样的收发器(未示出)。此外,GPS(全球定位系统)接收机模块970可以向设备950提供额外的导航和位置相关的无线数据,其可以由在设备950上运行的应用适当地使用。
设备950还可以使用音频编解码器960可听地通信,音频编解码器960可以从用户接收口语信息并将其转换为可用的数字信息。音频编解码器960可以同样地为用户产生可听见的声音,例如通过扬声器,例如在设备950的手持机中。这样的声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息,音乐文件,等等),并且还可以包括在设备950上操作的应用产生的声音。
计算设备950可以以多种不同的形式来实现,如图所示。例如,它可以被实现为蜂窝电话980。它也可以被实现为智能电话982,个人数字助理或其他类似移动设备的一部分。
这里描述的系统和技术的各种实现方式可以在数字电子电路,集成电路,专门设计的ASIC(专用集成电路),计算机硬件,固件,软件和/或其组合中实现。这些各种实现可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现,该可编程系统包括可以是特殊或通用目的的至少一个可编程处理器,其被耦合以从其接收数据和指令并传输数据以及指令,存储系统,至少一个输入设备和至少一个输出设备。
这些计算机程序(也称为程序,软件,软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级程序和/或面向对象的编程语言和/或装配/机器语言实现。如本文所使用的,术语“机器可读介质”“计算机可读介质”是指用于以下的任何计算机程序产品,装置和/或设备(例如,磁盘,光盘,存储器,可编程逻辑器件(PLD)),其用于向可编程处理器提供机器指令和/或数据,包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)、以及可以向计算机提供输入的键盘和指点设备(例如,鼠标或轨迹球)。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈,听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音,语音或触觉输入。
这里描述的系统和技术可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或包括中件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该浏览器与这里描述的系统和技术的实现方式进行交互),或者这种后端,中件或前端组件的任何组合。系统的组件可以通过数字数据通信(例如,通信网络)的任何形式或介质互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”)和因特网。
计算系统可以包括客户机和服务器。客户机和服务器通常彼此远离,通常通过通信网络进行交互。客户机和服务器之间的关系是由于在相应的计算机上运行的计算机程序并且彼此之间具有客户机-服务器关系而产生的。
在一些实现方式中,图9中所示的计算设备可以包括与虚拟现实(VR头戴设备(headset)/HMD设备990)接口的传感器。例如,包括在计算设备950或图9中描绘的其他计算设备的一个或多个传感器可以为VR头戴设备990提供输入,或者一般来说,可为VR空间提供输入。传感器可以包括但不限于触摸屏,加速度计,陀螺仪,压力传感器,生物测定传感器,温度传感器,湿度传感器和环境光传感器。计算设备950可以使用传感器来确定VR空间中的计算设备的绝对位置和/或检测到的旋转,然后可以将其用作VR空间的输入。例如,计算设备950可以作为虚拟对象(例如控制器,激光指示器,键盘,武器等)并入VR空间中。被并入VR空间时用户对计算设备/虚拟对象的定位可以允许用户定位计算设备,以便在VR空间中以某些方式查看虚拟对象。例如,如果虚拟对象表示激光指示器,则用户可以操作计算设备像实际的激光指示器一样。用户可以将计算设备左右移动,上下移动、成圆圈移动等,并以与使用激光笔相似的方式使用该设备。
在一些实现方式中,包括在计算设备950上或连接到计算设备950的一个或多个输入设备可以用作VR空间的输入。输入设备可以包括但不限于触摸屏,键盘,一个或多个按钮,触控板,触摸板,指点设备,鼠标,轨迹球,操纵杆,照相机,麦克风,耳机或具有输入功能的入耳耳机(bud),游戏控制器或其他可连接的输入设备。当计算设备被并入到VR空间中时,与包括在计算设备950中的输入设备交互的用户可以在VR空间中引起特定动作。
在一些实现方式中,计算设备950的触摸屏可以被渲染为VR空间中的触摸板。用户可以与计算设备950的触摸屏进行交互。例如,交互在VR头戴设备990中渲染为在VR空间中的渲染的触摸板上的移动。渲染的动作可以控制VR空间中的虚拟对象。
在一些实现方式中,包括在计算设备950上的一个或多个输出设备可以向VR空间中的VR头戴设备990的用户提供输出和/或反馈。输出和反馈可以是视频,触觉或音频。输出和/或反馈可以包括但不限于振动,一个或多个灯或闪光灯的打开和关闭或闪烁和/或闪光,发出警报,播放铃声,播放歌曲和播放一个音频文件。输出装置可以包括但不限于振动电机,振动线圈,压电装置,静电装置,发光二极管(LED),闪光灯和扬声器。
在一些实现方式中,计算设备950可以在计算机生成的3D环境中显示为另一个对象。用户与计算设备950的交互(例如,旋转,摇动,触摸触摸屏,在触摸屏上滑动手指)可以被解释为与VR空间中的对象的交互。在VR空间中的激光指示器的示例中,计算设备950在计算机生成的3D环境中显示为虚拟激光指示器。当用户操纵计算设备950时,VR空间中的用户看到激光指示器的移动。用户在计算设备950或VR头戴设备990上接收来自与VR环境中的计算设备950的交互的反馈。
在一些实现方式中,计算设备950可以包括触摸屏。例如,用户可以以特定的方式与触摸屏进行交互,这可以用在VR空间中发生的情况模仿在触摸屏上发生的。例如,用户可以使用捏合型运动来缩放显示在触摸屏上的内容。触摸屏上的这种捏合型运动可以使VR空间中提供的信息变焦。在另一示例中,计算设备可以渲染为在计算机生成的3D环境中的虚拟书。在VR空间中,书籍的页面可以显示在VR空间中,并且可以用户跨过触摸屏的手指滑动解释为转/翻虚拟书的页面。当每个页面被翻转时,除了看到页面内容改变之外,还可以向用户提供音频反馈,例如在书中翻页的声音。
在一些实现方式中,除了计算设备之外的一个或多个输入设备(例如,鼠标,键盘)可以在计算机生成的3D环境中渲染。渲染的输入设备(例如,渲染的鼠标,渲染的键盘)可以用于在VR空间中呈现以控制VR空间中的对象。
计算设备900旨在表示各种形式的数字计算机和设备,包括但不限于笔记本电脑,台式机,工作站,个人数字助理,服务器,刀片服务器,大型机和其他适当的计算机。计算设备950旨在表示各种形式的移动设备,诸如个人数字助理,蜂窝电话,智能电话和其他类似的计算设备。这里所示的组件,它们的连接和关系以及它们的功能仅仅是示例性的,并不意味着限制本文中描述和/或要求保护的发明的实现方式。
已经描述了许多实施例。然而,应当理解,在不脱离本说明书的精神和范围的情况下,可以进行各种修改。
另外,附图中描绘的逻辑流程不需要所示的特定顺序或顺序的顺序来实现期望的结果。此外,可以从所描述的流程中提供其他步骤或者可以消除步骤,并且可以将其他组件添加到所描述的系统中或从所描述的系统中移除。因此,其它实施例在所附权利要求的范围内。

Claims (21)

1.一种方法,包括:
在物理环境中操作的头戴式显示器(HMD)装置中从与第一虚拟位置对应的第一虚拟视角显示虚拟环境;
检测第二虚拟位置的选择;
基于所述第一虚拟位置和所述第二虚拟位置来定义三维(3D)虚拟代理表面;
检测运动命令;
响应于检测到的运动命令,沿3D虚拟代理表面移动虚拟环境的虚拟特征;和
从对应于第二虚拟位置的第二虚拟视角显示虚拟环境。
2.根据权利要求1所述的方法,其中基于所述第一虚拟位置和所述第二虚拟位置来定义所述3D虚拟代理表面包括:
基于手持电子设备的位置检测第一虚拟位置,手持电子设备可操作地耦合到HMD;
基于所述手持电子设备的取向来检测所述第二虚拟位置;和
基于所述第一虚拟位置和所述第二虚拟位置之间的虚拟连接的3D延伸来定义所述3D虚拟代理表面。
3.根据权利要求2所述的方法,其中
检测第一虚拟位置,包括:
检测在物理环境中手持电子设备的位置;和
将检测到的物理环境中的手持电子设备的位置映射到虚拟环境中的第一虚拟位置;和
检测第二虚拟位置的选择,包括:
检测在物理环境中的手持电子设备的取向;
将检测到的手持电子设备在物理环境中的取向映射到虚拟环境中的手持电子设备的相应取向;和
基于所述手持电子设备在所述虚拟环境中的取向,检测从所述手持电子设备延伸的虚拟光束与所述第二虚拟位置的交点。
4.根据权利要求3所述的方法,其中基于所述第一虚拟位置和所述第二虚拟位置之间的虚拟连接的3D延伸来定义所述3D虚拟代理表面包括:
定义3D虚拟代理表面的第一3D部分;和
定义从代理表面的第一3D部分延伸的3D虚拟代理表面的第二3D部分。
5.根据权利要求3所述的方法,其中,基于所述第一虚拟位置和所述第二虚拟位置之间的虚拟连接的3D延伸来定义所述3D虚拟代理表面包括:
定义3D虚拟代理的3D锥体部分;和
限定从代理表面的3D锥体部分延伸的3D虚拟代理表面的球形部分。
6.根据权利要求5所述的方法,其中
定义3D虚拟代理表面的3D锥体部分包括基于在第一虚拟位置和第二虚拟位置之间延伸的虚拟线的3D延伸来定义3D虚拟代理表面的3D锥体部分;和
定义3D虚拟代理表面的3D球形部分包括在与第二虚拟位置的交点处,定义从3D虚拟代理表面的3D锥体部分的外边缘向外延伸的3D虚拟代理表面的3D球形部分。
7.根据权利要求3所述的方法,其中,沿着所述3D虚拟代理表面移动所述虚拟环境的所述虚拟特征包括沿着对应于所述3D虚拟代理表面的路径移动所述虚拟环境的虚拟特征的显示,以将虚拟环境的视角从第一虚拟位置偏移到第二虚拟位置。
8.根据权利要求7所述的方法,其中所述虚拟环境的所述虚拟特征沿所述3D虚拟代理表面的移动方向对应于所述手持电子设备在所述物理环境中的物理移动的方向。
9.根据权利要求7所述的方法,其中所述虚拟环境的所述虚拟特征沿所述3D虚拟代理表面的移动速率对应于所述手持电子设备在物理环境中的物理移动的速率。
10.根据权利要求1所述的方法,其中检测所述运动命令包括:
检测手持电子设备的操纵装置的致动,所述手持电子装置可操作地耦合到所述HMD;
在所述操作装置处于所述致动状态下,检测所述手持电子设备的物理运动;和
在所述操作装置处于所述致动状态下,响应于检测到的所述手持电子设备的物理移动来检测所述运动命令。
11.根据权利要求10所述的方法,其中响应于所检测到的所述手持电子设备的物理移动来检测所述运动命令包括:
检测所述手持电子设备检测到的物理运动的大小和方向;和
根据检测到的手持电子设备的物理移动的检测到的大小和方向,移动虚拟环境的虚拟特征。
12.一种体现在非暂时计算机可读介质上的计算机程序产品,所述计算机可读介质上存储有指令序列,所述指令序列当由处理器执行时使所述处理器执行方法,所述方法包括:
在物理环境中操作的头戴式显示器(HMD)装置中从第一虚拟视角显示虚拟环境,所述第一虚拟视角与第一虚拟位置相对应;
检测第二虚拟位置的选择;
基于所述第一虚拟位置和所述第二虚拟位置来定义三维(3D)虚拟代理表面;
检测运动命令;
响应于检测到的运动命令,沿3D虚拟代理表面移动虚拟环境的虚拟特征;和
从对应于第二虚拟位置的第二虚拟视角显示虚拟环境。
13.根据权利要求12所述的计算机程序产品,其中基于所述第一虚拟位置和所述第二虚拟位置来定义所述3D虚拟代理表面包括:
基于手持电子设备的位置检测第一虚拟位置,手持电子设备可操作地耦合到HMD;
基于所述手持电子设备的取向来检测所述第二虚拟位置;和
基于所述第一虚拟位置和所述第二虚拟位置之间的虚拟连接的3D延伸来定义所述3D虚拟代理表面。
14.根据权利要求13所述的计算机程序产品,其中
检测第一虚拟位置,包括:
检测在物理环境中手持电子设备的位置;和
将检测到的物理环境中的手持电子设备的位置映射到虚拟环境中的第一虚拟位置;和
检测第二虚拟位置的选择,包括:
检测在物理环境中的手持电子设备的取向;
将检测到的手持电子设备在物理环境中的取向映射到虚拟环境中的手持电子设备的相应取向;和
基于所述手持电子设备在所述虚拟环境中的取向,检测从所述手持电子设备延伸的虚拟光束与所述第二虚拟位置的交点。
15.根据权利要求14所述的计算机程序产品,其中,基于所述第一虚拟位置和所述第二虚拟位置之间的虚拟连接的3D延伸来定义所述3D虚拟代理表面包括:
定义3D虚拟代理的3D锥体部分;和
定义从代理表面的3D锥体部分延伸的3D虚拟代理表面的球形部分。
16.根据权利要求15所述的计算机程序产品,其中
定义3D虚拟代理表面的3D锥体部分包括基于在第一虚拟位置和第二虚拟位置之间延伸的虚拟线的3D延伸来定义3D虚拟代理表面的3D锥体部分;和
定义3D虚拟代理表面的3D球形部分包括在与第二虚拟位置的交点处,定义从3D虚拟代理表面的3D锥体部分的外边缘向外延伸的3D虚拟代理表面的3D球形部分。
17.根据权利要求14所述的计算机程序产品,沿着所述3D虚拟代理表面移动所述虚拟环境的所述虚拟特征包括沿着对应于所述3D虚拟代理表面的路径移动所述虚拟环境的虚拟特征的显示,以将虚拟环境的视角从第一虚拟位置偏移到第二虚拟位置。
18.根据权利要求17所述的计算机程序产品,其中,沿着所述3D虚拟代理表面的虚拟环境的虚拟特征的移动方向对应于所述手持电子设备在物理环境中的物理移动的方向。
19.根据权利要求17所述的计算机程序产品,其中,所述虚拟环境的所述虚拟特征沿着所述3D虚拟代理表面的移动速率对应于所述手持电子设备在所述物理环境中的物理移动的速率。
20.根据权利要求12所述的计算机程序产品,其中检测所述运动命令包括:
检测手持电子设备的操纵装置的致动,所述手持电子装置可操作地耦合到所述HMD;
在所述操作装置处于所述致动状态下,检测所述手持电子设备的物理运动;和
在所述操作装置处于所述致动状态下,响应于检测到的所述手持电子设备的物理移动来检测所述运动命令。
21.根据权利要求20所述的计算机程序产品,其中响应于所检测到的所述手持电子设备的物理移动来检测所述运动命令包括:
检测所述手持电子设备检测到的物理运动的大小和方向;和
根据检测到的手持电子设备的物理移动的检测到的大小和方向,移动虚拟环境的虚拟特征。
CN201710905098.9A 2016-11-15 2017-09-29 增强和/或虚拟现实环境的拖拽虚拟元件 Active CN108073276B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662422384P 2016-11-15 2016-11-15
US62/422,384 2016-11-15
US15/684,314 US10359863B2 (en) 2016-11-15 2017-08-23 Dragging virtual elements of an augmented and/or virtual reality environment
US15/684,314 2017-08-23

Publications (2)

Publication Number Publication Date
CN108073276A true CN108073276A (zh) 2018-05-25
CN108073276B CN108073276B (zh) 2020-09-15

Family

ID=59762103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710905098.9A Active CN108073276B (zh) 2016-11-15 2017-09-29 增强和/或虚拟现实环境的拖拽虚拟元件

Country Status (5)

Country Link
US (1) US10359863B2 (zh)
EP (1) EP3321777B1 (zh)
CN (1) CN108073276B (zh)
DE (2) DE102017119812A1 (zh)
WO (1) WO2018093436A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032350A (zh) * 2018-07-10 2018-12-18 深圳市创凯智能股份有限公司 眩晕感减轻方法、虚拟现实设备及计算机可读存储介质
CN111142669A (zh) * 2019-12-28 2020-05-12 上海米哈游天命科技有限公司 二维界面到三维场景的交互方法、装置、设备及存储介质
CN111488056A (zh) * 2019-01-25 2020-08-04 苹果公司 使用被跟踪的物理对象来操纵虚拟对象
CN112400151A (zh) * 2018-07-12 2021-02-23 微软技术许可有限责任公司 通过触摸与虚拟对象和数据的自然交互
CN112567318A (zh) * 2018-08-10 2021-03-26 奥迪股份公司 运行至少两个由乘员各自戴在头部的显示设备的方法和系统

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109983424B (zh) 2017-06-23 2022-06-24 腾讯科技(深圳)有限公司 虚拟现实场景中的对象选中方法和装置以及虚拟现实设备
US10180735B1 (en) * 2017-06-29 2019-01-15 Trimble Inc. Navigation methods for three dimensional (3D) models in mixed reality (MR) environments
US10580259B2 (en) * 2017-12-13 2020-03-03 Novomatic Ag Systems, methods and gaming machines having logic based on sporting events
US11429333B2 (en) * 2018-09-22 2022-08-30 BadVR, Inc. Immersive data visualization
US11301110B2 (en) * 2018-12-27 2022-04-12 Home Box Office, Inc. Pull locomotion in a virtual reality environment
CN109712559B (zh) * 2019-01-14 2020-05-15 浙江大学 一种无传感led点阵屏显示交互装置及方法
US11250617B1 (en) * 2019-09-25 2022-02-15 Amazon Technologies, Inc. Virtual camera controlled by a camera control device
US12067092B2 (en) * 2022-03-31 2024-08-20 Lenovo (Singapore) Pte. Ltd. 3D passcode provided in virtual space

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681811A (zh) * 2011-03-10 2012-09-19 微软公司 照片表示视图的基于主题的增强
CN104460951A (zh) * 2013-09-12 2015-03-25 天津智树电子科技有限公司 一种人机交互方法
US20160306431A1 (en) * 2015-04-15 2016-10-20 Sony Computer Entertainment Inc. Pinch And Hold Gesture Navigation On A Head-Mounted Display
CN106527887A (zh) * 2016-10-18 2017-03-22 腾讯科技(深圳)有限公司 虚拟物体选取方法、装置及vr系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7589732B2 (en) * 2002-11-05 2009-09-15 Autodesk, Inc. System and method of integrated spatial and temporal navigation
US9311741B2 (en) 2012-10-23 2016-04-12 Roam Holdings, LLC Three-dimensional virtual environment
US10025486B2 (en) 2013-03-15 2018-07-17 Elwha Llc Cross-reality select, drag, and drop for augmented reality systems
US20140337734A1 (en) 2013-05-09 2014-11-13 Linda Bradford Content management system for a 3d virtual world
US9643314B2 (en) 2015-03-04 2017-05-09 The Johns Hopkins University Robot control, training and collaboration in an immersive virtual reality environment
US20170185261A1 (en) 2015-12-28 2017-06-29 Htc Corporation Virtual reality device, method for virtual reality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681811A (zh) * 2011-03-10 2012-09-19 微软公司 照片表示视图的基于主题的增强
CN104460951A (zh) * 2013-09-12 2015-03-25 天津智树电子科技有限公司 一种人机交互方法
US20160306431A1 (en) * 2015-04-15 2016-10-20 Sony Computer Entertainment Inc. Pinch And Hold Gesture Navigation On A Head-Mounted Display
CN106527887A (zh) * 2016-10-18 2017-03-22 腾讯科技(深圳)有限公司 虚拟物体选取方法、装置及vr系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANDREI SHERSTYUK.: "Making First Steps in VR:Monitoring User Progress in Virtual Travel", 《ACM VRST 2010 CONFERENCE PROCEEDINGS》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109032350A (zh) * 2018-07-10 2018-12-18 深圳市创凯智能股份有限公司 眩晕感减轻方法、虚拟现实设备及计算机可读存储介质
CN112400151A (zh) * 2018-07-12 2021-02-23 微软技术许可有限责任公司 通过触摸与虚拟对象和数据的自然交互
CN112567318A (zh) * 2018-08-10 2021-03-26 奥迪股份公司 运行至少两个由乘员各自戴在头部的显示设备的方法和系统
US11940622B2 (en) 2018-08-10 2024-03-26 Audi Ag Method and system for operating at least two display devices carried by respective vehicle occupants on the head
CN112567318B (zh) * 2018-08-10 2024-05-31 奥迪股份公司 运行至少两个由乘员各自戴在头部的显示设备的方法和系统
CN111488056A (zh) * 2019-01-25 2020-08-04 苹果公司 使用被跟踪的物理对象来操纵虚拟对象
CN111488056B (zh) * 2019-01-25 2023-08-08 苹果公司 使用被跟踪的物理对象来操纵虚拟对象
CN111142669A (zh) * 2019-12-28 2020-05-12 上海米哈游天命科技有限公司 二维界面到三维场景的交互方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN108073276B (zh) 2020-09-15
DE102017119812A1 (de) 2018-05-17
EP3321777B1 (en) 2019-06-26
EP3321777A1 (en) 2018-05-16
US20180136743A1 (en) 2018-05-17
DE202017105200U1 (de) 2018-02-16
US10359863B2 (en) 2019-07-23
WO2018093436A1 (en) 2018-05-24

Similar Documents

Publication Publication Date Title
CN108073276A (zh) 增强和/或虚拟现实环境的拖拽虚拟元件
US10339723B2 (en) Generating virtual notation surfaces with gestures in an augmented and/or virtual reality environment
KR102245245B1 (ko) 증강된 그리고/또는 가상의 현실 환경에서 6 자유도 제어기들을 이용한 가상 객체들의 조작
JP6895390B2 (ja) 仮想現実においてハンドヘルド電子装置を追跡するためのシステム
CN108475120B (zh) 用混合现实系统的远程设备进行对象运动跟踪的方法及混合现实系统
US9563331B2 (en) Web-like hierarchical menu display configuration for a near-eye display
CN107667328A (zh) 用于在增强和/或虚拟现实环境中跟踪手持设备的系统
KR102194164B1 (ko) 홀로그램 객체 피드백
CN108292146A (zh) 虚拟现实中的激光指示器交互和缩放
CN108027657A (zh) 增强和/或虚拟现实环境中的场境敏感用户界面激活
CN108027658A (zh) 增强和/或虚拟现实环境中的瞬息移动
CN109891368A (zh) 活动对象在增强和/或虚拟现实环境中的切换
CN107533374A (zh) 虚拟现实中的头部、手势和触摸输入的动态切换和合并
EP3814876B1 (en) Placement and manipulation of objects in augmented reality environment
JP6778815B2 (ja) 仮想現実におけるロケーショングローブ
CN107787472A (zh) 用于虚拟现实中的凝视交互的悬停行为
KR20180069041A (ko) 가상 현실 환경에서의 내비게이션을 위한 제어 시스템
CN109074154A (zh) 增强和/或虚拟现实中的悬停触摸输入补偿
CN108153409A (zh) 增强现实环境和/或虚拟现实环境中的会话结束检测
CN109906424A (zh) 用于虚拟现实系统的输入控制器稳定技术
US10649616B2 (en) Volumetric multi-selection interface for selecting multiple objects in 3D space
CN118295523A (zh) 用于在增强现实环境中导航的方法、设备及存储介质
CN108700944A (zh) 与在虚拟现实环境中的运动有关的系统和方法
CN113243000B (zh) 用于增强现实对象的捕捉范围
CN117999529A (zh) 输入设备的多模态跟踪

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