DE202017105200U1 - Ziehen von virtuellen Elementen einer erweiterten und/oder virtuellen Realitätsumgebung - Google Patents

Ziehen von virtuellen Elementen einer erweiterten und/oder virtuellen Realitätsumgebung Download PDF

Info

Publication number
DE202017105200U1
DE202017105200U1 DE202017105200.1U DE202017105200U DE202017105200U1 DE 202017105200 U1 DE202017105200 U1 DE 202017105200U1 DE 202017105200 U DE202017105200 U DE 202017105200U DE 202017105200 U1 DE202017105200 U1 DE 202017105200U1
Authority
DE
Germany
Prior art keywords
virtual
electronic device
portable electronic
environment
physical
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.)
Active
Application number
DE202017105200.1U
Other languages
English (en)
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 DE202017105200U1 publication Critical patent/DE202017105200U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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

Am Kopf befestigtes Anzeigegerät (HMD), umfassend Mittel zum: Anzeigen einer virtuellen Umgebung aus einer ersten virtuellen Perspektive, die einer ersten virtuellen Position entspricht, in einem in einer physischen Umgebung betriebenen an dem am Kopf befestigten Anzeigegerät (HMD); Erkennen einer Auswahl einer zweiten virtuellen Position; Definieren einer dreidimensionalen (3D) virtuellen Proxyoberfläche basierend auf der ersten virtuellen Position und der zweiten virtuellen Position; Erkennen eines Bewegungsbefehls; Bewegen virtueller Merkmale der virtuellen Umgebung entlang der virtuellen 3D-Proxyoberfläche in Reaktion auf den erkannten Bewegungsbefehl; und Anzeigen der virtuellen Umgebung aus einer zweiten virtuellen Perspektive, die der zweiten virtuellen Position entspricht.

Description

  • TECHNISCHES GEBIET
  • Dieses Dokument betrifft im Allgemeinen das Bewegen virtueller Elemente in einer virtuellen Realitätsumgebung.
  • ALLGEMEINER STAND DER TECHNIK
  • Ein erweitertes Realitäts-(Augmented Reality, AR) und/oder virtuelles Realitäts-(Virtual Reality, VR)-System kann eine immersive, dreidimensionale (3D) virtuelle Umgebung erzeugen. Ein Benutzer kann mit virtuellen Objekten, Elementen, Merkmalen und dergleichen in dieser virtuellen Umgebung interagieren, wobei verschiedene elektronische Geräte, wie beispielsweise ein Helm oder ein anderes, am Kopf befestigtes Gerät, das eine Anzeige, eine Brille oder eine Schutzbrille beinhaltet, durch die ein Benutzer beim Betrachten hindurchschaut, wenn er ein Anzeigegerät betrachtet, eines oder mehrere externe elektronische Geräte wie Controller, Joysticks und dergleichen, Handschuhe mit Sensoren, Tastaturen, eine Maus und andere elektronische Geräte, verwendet werden. Während des Eintauchens in die virtuelle Umgebung kann sich der Benutzer durch die virtuelle Umgebung bewegen und kann mit virtuellen Elementen der virtuellen Umgebung durch beispielsweise physische Bewegung und/oder Manipulation eines oder mehrerer elektronischer Geräte manipulieren und damit interagieren.
  • KURZDARSTELLUNG DER OFFENBARUNG
  • In einem Aspekt wird in einem in einer physischen Umgebung betriebenen am Kopf befestigten Anzeigegerät (HMD) eine virtuelle Umgebung aus einer ersten virtuellen Perspektive angezeigt, die einer ersten virtuellen Position entspricht; Erkennen einer Auswahl einer zweiten virtuellen Position; Definieren einer dreidimensionalen (3D) virtuellen Proxyoberfläche basierend auf der ersten virtuellen Position und der zweiten virtuellen Position; Erkennen eines Bewegungsbefehls; Bewegen virtueller Merkmale der virtuellen Umgebung entlang der virtuellen 3D-Proxyoberfläche in Reaktion auf den erkannten Bewegungsbefehl; und Anzeigen der virtuellen Umgebung aus einer zweiten virtuellen Perspektive, die der zweiten virtuellen Position entspricht.
  • In einem weiteren Aspekt kann ein Computerprogrammprodukt auf einem nicht transitorischen computerlesbaren Medium enthalten sein. Auf dem computerlesbaren Medium kann eine Sequenz von Befehlen gespeichert werden, die bei Ausführung durch einen Prozessor den Prozessor zur Durchführung eines Verfahrens veranlasst. Das Verfahren kann das Anzeigen einer virtuellen Umgebung aus einer ersten virtuellen Perspektive, wobei die virtuelle Perspektive einer ersten virtuellen Position entspricht, in einem in einer physischen Umgebung betriebenen am Kopf befestigten Anzeigegerät (HMD); Erkennen einer Auswahl einer zweiten virtuellen Position; Definieren einer dreidimensionalen (3D) virtuellen Proxyoberfläche basierend auf der ersten virtuellen Position und der zweiten virtuellen Position; Erkennen eines Bewegungsbefehls; Bewegen virtueller Merkmale der virtuellen Umgebung entlang der virtuellen 3D-Proxyoberfläche in Reaktion auf den erkannten Bewegungsbefehl; und Anzeigen der virtuellen Umgebung aus einer zweiten virtuellen Perspektive, die der zweiten virtuellen Position entspricht, beinhalten.
  • Die Details einer oder mehrerer Implementierungen sind in den begleitenden Zeichnungen und der Beschreibung dargelegt. Weitere Merkmale ergeben sich aus der Beschreibung und den Zeichnungen sowie aus den Ansprüchen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt eine exemplarische Implementierung, gemäß den hierin beschriebenen Implementierungen, eines erweiterten Realitäts- und/oder eines virtuellen Realitätssystems, das ein am Kopf befestigtes Anzeigegerät und eine oder mehrere tragbare elektronische Geräte beinhaltet.
  • 2A und 2B zeigen perspektivische Ansichten eines exemplarischen am Kopf befestigten Anzeigegeräts, während 2C ein exemplarisches tragbares elektronisches Gerät gemäß den hierin beschriebenen Implementierungen veranschaulicht.
  • 3 zeigt ein Blockdiagramm eines exemplarischen erweiterten Realitäts- und/oder eines virtuellen Realitätssystems gemäß den hierin beschriebenen Implementierungen.
  • 4A4E, 5A5C, 6A6E und 7A7C zeigen Drittpersonenansichten, die die Bewegung virtueller Merkmale einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung gemäß den hierin beschriebenen Implementierungen veranschaulichen.
  • 8 zeigt ein Ablaufdiagramm eines Verfahrens zum Bewegen virtueller Merkmale in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung gemäß den hierin beschriebenen Implementierungen.
  • 9 zeigt ein Beispiel eines Computergeräts und eines mobilen Computergeräts, die zur Implementierung der hier beschriebenen Techniken verwendet werden können.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ein Benutzer, der in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung eingetaucht ist, der beispielsweise ein am Kopf befestigten Anzeigegerät (HMD) trägt, kann die virtuelle Umgebung erforschen und mit virtuellen Objekten, Merkmalen und dergleichen in der virtuellen Umgebung durch unterschiedliche Arten von Eingaben interagieren. Diese Eingaben können beispielsweise physische Interaktionen, darunter beispielsweise auch physische Bewegungen und/oder Manipulationen des HMD und/oder eines von dem HMD getrennten elektronischen Geräts, und/oder Hand-/Armgesten, Kopfbewegungen und/oder gerichtete Blicke der Augen und dergleichen, beinhalten. Ein Benutzer kann eine oder mehrere dieser unterschiedlichen Arten von Interaktionen implementieren, um eine bestimmte Aktion in der virtuellen Umgebung auszuführen. Beispielsweise kann ein Benutzer eine bestimmte Aktion ausführen, um virtuell durch die virtuelle Umgebung zu navigieren, beispielsweise von einem ersten Bereich der virtuellen Umgebung zu einem zweiten Bereich der virtuellen Umgebung oder von einer ersten virtuellen Umgebung zu einer zweiten virtuellen Umgebung. Diese Bewegung durch die virtuelle Umgebung oder von einer virtuellen Umgebung zu einer anderen kann bewegliche Merkmale der virtuellen Umgebung relativ zu dem Benutzer beinhalten, während der Benutzer relativ stationär bleibt, um eine Wahrnehmung des Bewegens durch die virtuelle Umgebung zu erzeugen.
  • Ein System und ein Verfahren können gemäß den hierin beschriebenen Implementierungen dem Benutzer ermöglichen, virtuelle Merkmale der virtuellen Umgebung in Reaktion auf Benutzereingaben zu bewegen, die der Benutzer aufgrund der bestimmten virtuellen Umgebung und der zugehörigen virtuellen Merkmale als relativ natürlich empfindet. Diese Bewegung der virtuellen Funktionen der virtuellen Umgebung kann eine wahrgenommene Veränderung in der Position oder dem Stadort des Benutzers innerhalb der virtuellen Umgebung verursachen. Ein System und ein Verfahren können gemäß den hierin beschriebenen Implementierungen die virtuelle Umgebung beispielsweise auf einer Anzeige eines vom Benutzer getragenen HMD anzeigen. Ein System und ein Verfahren können gemäß den hierin beschriebenen Implementierungen Benutzereingaben zum Bewegen der virtuellen Umgebung relativ zum Benutzer empfangen, beispielsweise über eine Bewegung und/oder eine andere Manipulationen eines tragbaren elektronischen Geräts, das betriebsfähig mit dem HMD gekoppelt ist. Diese Bewegung der virtuellen Umgebung kann zu einer wahrgenommenen Änderung der Position des Benutzers in der virtuellen Umgebung führen, während der Benutzer in der direkten Umgebung, in der das System arbeitet, relativ stationär bleibt. Auf diese Weise kann sich der Benutzer praktisch von einer ersten Position innerhalb der virtuellen Umgebung zu einer zweiten Position innerhalb der virtuellen Umgebung bewegen bzw. fortbewegen, in Reaktion auf eine Eingabe, die durch eine relativ natürliche Benutzerbewegung des tragbaren elektronischen Geräts erzeugt wird.
  • In der in 1 dargestellten exemplarischen Implementierung hält ein Benutzer, der ein HMD 100 trägt, ein tragbares elektronisches Gerät 102. Das tragbare elektronische Gerät 102 kann beispielsweise ein Controller, ein Smartphone, ein Joystick oder ein anderes tragbares elektronisches Gerät sein, das zur Interaktion in der von dem HMD 100 erzeugten virtuellen Umgebung, die dem Benutzer auf einer Anzeige des HMD 100 angezeigt wird, mit dem HMD 100 gepaart werden und mit diesem kommunizieren kann. Das tragbare elektronische Gerät 102 kann beispielsweise über eine drahtgebundene oder eine drahtlose Verbindung, wie beispielsweise eine WLAN- oder Bluetooth-Verbindung, mit dem HMD 100 betriebsfähig verbunden oder gepaart werden. Durch das Paaren oder betriebsfähige Verbinden des tragbaren elektronischen Geräts 102 und des HMD 100 kann eine Kommunikation zwischen dem tragbaren elektronischen Gerät 102 und dem HMD 100 und den Austausch von Daten zwischen dem tragbaren elektronischen Gerät 102 und dem HMD 100 hergestellt werden. Dies kann ermöglichen, dass das tragbare elektronische Gerät 102 als Controller in Kommunikation mit dem HMD 100 fungiert, um in der von dem HMD 100 erzeugten immersiven virtuellen Umgebung zu interagieren. Beispielsweise kann eine Manipulation des tragbaren elektronischen Geräts 102 und/oder eine auf einer Berührungsfläche des tragbaren elektronischen Geräts 102 empfangene Eingabe und/oder eine Bewegung des tragbaren elektronischen Geräts 102 in eine entsprechende Auswahl oder Bewegung oder andere Art von Interaktion in der virtuellen Umgebung übersetzt werden, die durch das HMD 100 erzeugt und angezeigt wird.
  • Die in 1 dargestellte exemplarische Implementierung beinhaltet ein tragbares elektronisches Gerät 102, das mit dem HMD 100 in Verbindung steht, für den Datenaustausch mit dem HMD 100 und die Interaktion mit virtuellen Merkmalen, Elementen, Objekten und dergleichen in der virtuellen Umgebung, die durch das HMD 100 erzeugt werden. Jedoch kann in einigen Implementierungen mehr als ein tragbares elektronisches Gerät 102 und/oder ein andere(s) externe(s) Computergerät(e) mit dem HMD 100 betriebsfähig verbunden sein und mit diesem in Verbindung stehen, die zusammen oder getrennt für die Interaktion in der virtuellen Umgebung betrieben werden können.
  • 2A und 2B zeigen perspektivische Ansichten eines exemplarischen HMD, wie beispielsweise des HMD 100, das von dem Benutzer in 1 getragen wird, wobei 2C ein exemplarisches tragbares elektronisches Gerät, wie beispielsweise das in 1 dargestellte tragbare elektronische Gerät 102, veranschaulicht.
  • Das tragbare elektronische Gerät 102 kann ein Gehäuse 103 beinhalten, in dem interne Komponenten des Geräts 102 aufgenommen werden. Eine für den Benutzer zugängliche Benutzeroberfläche 104 kann in dem Gehäuse 103 bereitgestellt sein. Die Benutzeroberfläche 104 kann beispielsweise eine berührungsempfindliche Oberfläche 106 beinhalten, die konfiguriert ist, um Benutzer-Berührungseingaben, Berührungs- und Zieheingaben und dergleichen zu empfangen. Die Benutzeroberfläche 104 kann zudem Benutzermanipulationsvorrichtungen 105, wie beispielsweise Betätigungsauslöser, Schaltflächen, Knöpfe, Kippschalter, Joysticks und dergleichen, beinhalten.
  • Das HMD 100 beinhaltet ein Gehäuse 110, das mit einem Rahmen 120 mit einem Audioausgabegerät 130 verbunden ist, einschließlich beispielsweise in Kopfhörern montierten Lautsprechern, die ebenfalls mit dem Rahmen 120 verbunden sind. In 2B wird ein Frontabschnitt 110a des Gehäuses 110 von einem Basisabschnitt 110b des Gehäuses 110 weggedreht, sodass einige im Gehäuse 110 aufgenommene Komponenten sichtbar sind. Eine Anzeige 140 kann auf einer nach innen weisenden Seite des Frontabschnitts 110a des Gehäuses 110 montiert sein. Objektive 150 können im Gehäuse 110 zwischen den Augen des Benutzers und der Anzeige 140 montiert sein, wenn sich der Frontabschnitt 110a in der geschlossenen Position gegen den Basisabschnitt 110b des Gehäuses 110 befindet. Das HMD 100 kann ein Messsystem 160 mit verschiedenen Sensoren und ein Steuersystem 170 mit einem Prozessor 190 und verschiedenen Steuersystemgeräten beinhalten, um den Betrieb des HMD 100 zu erleichtern.
  • Beispielsweise kann das Messsystem 160 eine Inertialmesseinheit (IMU) 162 beinhalten, die unterschiedliche Arten von Sensoren, wie beispielsweise einen Beschleunigungssensor, ein Gyroskop, ein Magnetometer und andere dieser Sensoren, beinhaltet. Eine Position und Ausrichtung des HMD 100 können basierend auf den von den Sensoren in der IMU 162 bereitgestellten Daten erkannt und nachverfolgt werden. Die erkannte Position und Ausrichtung des HMD 100 können zulassen, dass das System wiederum die Blickrichtung des Kopfes des Benutzers und die Kopfblickbewegung, und andere Informationen im Zusammenhang mit der Position und Ausrichtung des HMD 100 erkennen und nachverfolgen kann.
  • In einigen Implementierungen kann das HMD 100 ein Blicknachverfolgungsgerät 165 beinhalten, das beispielsweise einen oder mehrere Sensoren 165A beinhaltet, um die Blickrichtung und -bewegung zu erkennen und nachzuverfolgen. Die durch den/die Sensor(en) 165A aufgenommenen Bilder können verarbeitet werden, um die Richtung und die Bewegung der Augen des Benutzers zu erkennen und nachzuverfolgen. Die erkannte und nachverfolgte Blickrichtung kann als eine Benutzereingabe verarbeitet werden, die in eine entsprechende Interaktion in der immersiven virtuellen Erfahrung zu übersetzen ist. Eine Kamera 180 kann dennoch stille und/oder bewegte Bilder erfassen, die verwendet werden können, um das Nachverfolgen einer physischen Position des Benutzers und/oder anderer externer Geräte zu unterstützen, die in Kommunikation mit/betriebsfähig mit dem HMD 100 gekoppelt sind. Die erfassten Bilder können dem Benutzer außerdem auf der Anzeige 140 in einem Durchgangsmodus angezeigt werden.
  • Ein Blockdiagramm, das die Bewegung der virtuellen Elemente der virtuellen Umgebung relativ zu dem Benutzer ermöglicht, ist in 3 dargestellt. Das System kann ein erstes elektronisches Gerät 300 (wie z. B. ein HMD, wie oben in Bezug auf 1 und 2A2B beschrieben), und mindestens ein zweites elektronisches Gerät 302 (wie z. B. ein tragbares elektronisches Gerät, wie oben in Bezug auf 1 und 2C beschrieben) in Kommunikation mit dem ersten elektronischen Gerät 300 beinhalten.
  • Das erste elektronische Gerät 300 kann ein Sensorsystem 360 und ein Steuersystem 370 beinhalten, die, wie jeweils in 2A und 2b dargestellt, dem Messsystem 160 und Steuersystem 170 ähnlich sind. Das Sensorsystem 360 kann verschiedene Arten von Sensoren, darunter beispielsweise auch einen Lichtsensor, einen Audiosensor, einen Bildsensor, einen Abstands-/Näherungssensor, eine IMU, darunter beispielsweise auch ein Gyroskop und Beschleunigungssensor, ein Magnetometer und dergleichen, einen Zeitgeber und/oder andere Sensoren, und/oder unterschiedliche Kombination(en) von Sensoren, beinhalten. Das Steuersystem 370 kann beispielsweise ein Einschalt-/Pausen-Steuergerät, ein Audio- und Video-Steuergerät, ein optisches Steuergerät, ein Übergangssteuergerät und/oder andere derartige Geräte und/oder unterschiedliche Kombination(en) von Geräten beinhalten. Das Sensorsystem 360 und/oder das Steuersystem 370 können abhängig von einer bestimmten Implementierung weitere oder weniger Geräte beinhalten. Die Elemente, die in dem Sensorsystem 360 und/oder dem Steuersystem 370 enthalten sind, können eine andere physische Anordnung (z. B. einen anderen physischen Standort) beispielsweise innerhalb eines anderen HMD als dem in den 2A und 2B dargestellten HMD 100, aufweisen. Das erste elektronische Gerät 300 kann zudem einen Speicher 380 und einen Prozessor 390 in Kommunikation mit dem Messsystem 360 und dem Steuersystem 370 beinhalten. Der Prozessor 390 kann die von dem Messsystem 360 sowie von anderen externen Quellen, wie beispielsweise von dem zweiten elektronischen Gerät 302, empfangenen Eingaben verarbeiten und Anweisungen entsprechend den erkannten Eingaben ausführen. Das erste elektronische Gerät 300 kann zudem ein Kommunikationsmodul 350 beinhalten, das die Kommunikation zwischen dem ersten elektronischen Gerät 300 und anderen externen Computergeräten, wie beispielsweise dem zweiten elektronischen Gerät 302 und anderen Computergeräten herstellt, die an der Bewältigung von systembezogenen Informationen beteiligt sind.
  • Das zweite elektronische Gerät 302 kann ein Kommunikationsmodul 306 beinhalten, das die Kommunikation und den Datenaustausch zwischen dem zweiten elektronischen Gerät 302 und einem anderen Gerät, wie beispielsweise dem elektronischen Gerät 300, ermöglicht. In einigen Implementierungen kann das elektronische Gerät 302 in Abhängigkeit von einer bestimmten Konfiguration des zweiten elektronischen Geräts 302 (d. h. eines tragbaren elektronischen Geräts oder eines Controllers im Gegensatz zu einer Tastatur oder zu einer Maus) ein Messsystem 304 beinhalten, das beispielsweise einen Bildsensor und einen Audiosensor beinhaltet, der z. B. in einer Kamera und einem Mikrofon, einer IMU, einem Zeitgeber, einem Berührungssensor enthalten ist, wie z. B. einem, der in einer berührungsempfindlichen Oberfläche eines tragbaren elektronischen Geräts oder Smartphones vorhanden ist, und andere dieser Sensoren und/oder unterschiedliche Kombination(en) von Sensoren beinhalten. Ein Prozessor 309 kann in Kommunikation mit dem Messsystem 304 und einem Controller 305 des zweiten elektronischen Geräts 302 stehen, wobei der Controller 305 Zugriff auf einen Speicher 308 hat und den Gesamtbetrieb des zweiten elektronischen Geräts 302 steuert.
  • Exemplarische Implementierungen von virtuellen Realitätssystemen sind in 4A4E, 5A5C, 6A6E und 7A7C dargestellt. In diesen exemplarischen Implementierungen können virtuelle Elemente der virtuellen Umgebung in Bezug auf den Benutzer verschoben werden, was zu einer wahrgenommenen Bewegung und Veränderung des virtuellen Standorts des Benutzers in der virtuellen Umgebung führt. 4A4E und 6A6E veranschaulichen Drittpersonenansichten des Benutzers in einem physischen Raum 400, Tragen des HMD 100 und Interagieren mit Elementen der virtuellen Umgebung unter Verwendung des tragbaren elektronischen Geräts 102. Wie oben beschrieben, kann die virtuelle Umgebung dem Benutzer innerhalb des HMD 100 beispielsweise auf der Anzeige 140 des HMD 100 angezeigt werden, weshalb die virtuelle Umgebung außerhalb des HMD 100 nicht sichtbar ist. Zur Erleichterung der Abhandlung und Veranschaulichung wird jedoch in 4A4E und 6A6E eine Darstellung der virtuellen Elemente der virtuellen Umgebung 500 außerhalb des HMD 100 veranschaulicht, wie sie von dem Benutzer virtuell gesehen und erlebt werden.
  • Wie in 4A dargestellt, kann der Benutzer die virtuelle Umgebung 500 beispielsweise auf der Anzeige 140 des HMD 100 betrachten. In dem in 4A dargestellten Beispiel sind virtuelle Elemente der virtuellen Umgebung 500 zwecks einfacherer Abhandlung und Veranschaulichung außerhalb des HMD 100 veranschaulicht. Der Benutzer kann an einer ersten virtuellen Position 500A in der virtuellen Umgebung 500 entsprechend einer physischen Position 400A in dem physischen Raum 400 positioniert sein. In einigen Implementierungen kann die physische Position 400A beispielsweise basierend auf einer Position des Benutzers auf dem physischen Boden in dem physischen Raum 400 unter dem tragbaren elektronischen Gerät 102 ermittelt werden. In einigen Implementierungen kann die erste virtuelle Position 500A beispielsweise basierend auf einer Position auf dem virtuellen Boden in der virtuellen Umgebung 500 unter dem tragbaren elektronischen Gerät 102 ermittelt werden. Von der ersten virtuellen Position 500A kann der Benutzer sich dazu entscheiden, ein virtuelles Merkmal oder Element zu einer zweiten virtuellen Position 500B in der virtuellen Umgebung 500 zu bewegen oder zu ziehen. Dieses Bewegen oder Ziehen von virtuellen Merkmalen kann für den Benutzer die Wahrnehmung erzeugen, dass sich der Benutzer in der virtuellen Umgebung 500 bewegt, sofern der Benutzer tatsächlich in der physischen Umgebung 400 stationär bleibt, und die virtuellen Merkmale der virtuellen Umgebung 500 sich relativ zu der stationären Position des Benutzers an der Position 400A bewegen. Die virtuellen Merkmale der virtuellen Umgebung 500 können in einer Vielzahl von unterschiedlichen Richtungen relativ zu dem Benutzer, wie beispielsweise rund um den Benutzer oder zu dem Benutzer oder weg von dem Benutzer bewegt werden, in Reaktion auf eine Änderung bei der Ausrichtung des Benutzers und/oder der Bewegung des von dem Benutzer gehaltenen tragbaren elektronischen Geräts 102. Diese Bewegung kann eine entsprechende Bewegung der Elemente der virtuellen Umgebung 500 relativ zu dem Benutzer veranlassen, ohne dass der Benutzer physisch die Position in dem physischen Raum 400 ändert.
  • In einigen Implementierungen kann der Benutzer das tragbare elektronische Gerät 102 auf das virtuelle Merkmal an der zweiten virtuellen Position 500B ausrichten, um das virtuelle Merkmal an der zweiten virtuellen Position 500B auszuwählen oder zu identifizieren. Beispielsweise kann der Benutzer in einigen Implementierungen, wie in 4B dargestellt, von der ersten physischen Position 400A/ersten virtuellen Position 500A einen virtuellen Strahl oder Lichtstrahl richten, der sich von dem tragbaren elektronischen Gerät 102 zu dem virtuellen Merkmal an der zweiten virtuellen Position 500B erstreckt. In einigen Implementierungen kann der Benutzer eine der Manipulationsvorrichtungen 105 des tragbaren elektronischen Geräts 102 betätigen, um die Auswahl des virtuellen Merkmals an der zweiten virtuellen Position 500B anzugeben. Beispielsweise kann der Benutzer einen Auslöser oder eine Schaltfläche auf dem tragbaren elektronischen Gerät 102 betätigen oder drücken, und/oder eine weitere der Manipulationsvorrichtungen 105 des tragbaren elektronischen Geräts 102 betätigen, um die Auswahl des virtuellen Merkmals an der zweiten Position 500B zu bestätigen. Die zweite virtuelle Position 500B kann beispielsweise basierend auf einem Abschnitt des virtuellen Strahls oder Lichtstrahls erkannt werden, der innerhalb einer eingestellten Nähe des virtuellen Merkmals an der zweiten virtuellen Position 500B in der virtuellen Umgebung 500 erkannt wird. Die zweite virtuelle Position 500B kann beispielsweise basierend auf einem Schnittpunkt eines Abschnitts des virtuellen Strahls oder Lichtstrahls mit dem virtuellen Merkmal an der zweiten virtuellen Position 500B und dergleichen erkannt werden.
  • In Reaktion auf die Erkennung der Auswahl des Benutzers von der zweiten virtuellen Position 500B kann das System eine Proxyoberfläche 550 konstruieren. Die Proxyoberfläche 550 kann die Bewegung der virtuellen Merkmale der virtuellen Umgebung 500 relativ zu dem Benutzer und/oder der wahrgenommenen Bewegung des Benutzers aus der ersten virtuellen Position 500A in die zweite virtuelle Position 500B führen. In dem in 4C dargestellten Beispiel ist die Proxyoberfläche 550 eine komplexe Proxyoberfläche 550, die durch einen rechten kreisförmigen, dreidimensionalen Kegel definiert ist. Der Scheitelpunkt 550A des dreidimensionalen Kegels, der die komplexe Proxyoberfläche 550 definiert, kann auf dem physischen Boden des physischen Raums 400 liegen, der einem Abschnitt des physischen Bodens unter dem tragbaren elektronischen Gerät 102 entspricht, und sich im Wesentlichen an den Füßen des Benutzers auf dem physischen Boden des physischen Raums 400 befindet. Die Oberfläche des Kegels, der die Proxyoberfläche 550 definiert, kann sich von dem Scheitelpunkt 550A zu der ausgewählten zweiten virtuellen Position 500B erstrecken, wobei die Basis 550B des dreidimensionalen Kegels die ausgewählte zweite virtuelle Position 500B überschneidet. Eine Sphäre 550C, die die Basis 550B des dreidimensionalen Kegels überschneidet, der die Proxyoberfläche 550 definiert, kann sich von der Basis 550B nach außen erstrecken. Das System kann diese komplexe Proxyoberfläche 550 verwenden, um die Bewegung der virtuellen Merkmale relativ zu dem Benutzer zu führen. Dies kann dem Benutzer ermöglichen, eine wahrgenommene virtuelle Bewegung von der ersten virtuellen Position 500A zu der zweiten virtuellen Position 500B zu erfahren, während er im Wesentlichen an der ersten physischen Position 400A in dem physischen Raum 400 bleibt. Beispielsweise kann der Benutzer in dem in 4A4E dargestellten Beispiel das erleben, was als Bewegung entlang des Geländes wahrgenommen wird, zwischen der ersten virtuellen Position 500A und der zweiten virtuellen Position 500B, während er im Wesentlichen an der physischen Position 400A bleibt.
  • In der in 4C dargestellten exemplarischen Anordnung zeigt der Benutzer auf ein virtuelles Merkmal an der zweiten virtuellen Position 500B, die sich unter dem Benutzer an der ersten virtuellen Position 500A befindet, und zieht es. Dies kann dazu führen, dass die Proxyoberfläche 550 durch eine Sphäre 550C mit dem Kegel auf der Spitze definiert wird, wobei der Benutzer (an der ersten virtuellen Position 500A) auf dem Scheitelpunkt 500A des Kegels positioniert ist, der die Proxyoberfläche 550 definiert. Der Benutzer kann das virtuelle Merkmal, wie beispielsweise in der Positionsveränderung von 5A bis 5B veranschaulicht, an der zweiten virtuellen Position 500B näher zu dem Benutzer, beispielsweise durch Ziehen des Arms/der Hand des Benutzers, die das elektronische Gerät 102 hält, näher an den Körper des Benutzers, ziehen. Diese Bewegung kann veranlassen, dass sich die Merkmale der virtuellen Umgebung 500 relativ zu dem Benutzer bewegen. Beispielsweise kann diese Bewegung veranlassen, dass sich das virtuelle Merkmal an der zweiten virtuellen Position 500B zu dem Benutzer bewegt, bis die virtuellen Merkmale der virtuellen Umgebung 500 so ausgerichtet sind, dass sich der Benutzer, wie in 5C dargestellt, an dem zweiten virtuellen Standort 500B befindet. Der Benutzer kann dies als Bewegung in der virtuellen Umgebung 500 wahrnehmen, selbst wenn der Benutzer, wie in 4D dargestellt, ggf. an der im Wesentlichen selben Position 400A in dem physischen Raum 400 bleibt.
  • Wenn der Benutzer die virtuelle Umgebung 500, wie oben beschrieben, beispielsweise durch Bewegen des tragbaren elektronischen Geräts 102, zieht und sich beispielsweise die Manipulationsvorrichtung 105 immer noch im betätigten Zustand befindet, kann sich die virtuelle Umgebung 500 entlang der komplexen Proxyoberfläche 550 relativ zu dem Benutzer bewegen. Wenn die Position des Benutzers während des Ziehens der virtuellen Umgebung 500 auf diese Art einem Abschnitt der Proxysphäre 550C entspricht oder sich damit überschneidet, kann sich die virtuelle Umgebung 550 im Wesentlichen horizontal bewegen. Wenn jedoch die Position des Benutzers einem Abschnitt des Proxykegels entspricht oder sich damit überschneidet, kann sich die virtuelle Umgebung 500 horizontal und vertikal bewegen. Wenn der Benutzer, wie in 4C und 4D dargestellt, beispielsweise das tragbare elektronische Gerät 102 nach unten richten würde, kann diese Bewegung das Bewegen der Merkmale der virtuellen Umgebung 500 in horizontale und vertikale Richtung veranlassen. In dem in 4C und 4D dargestellten Beispiel zieht diese Bewegung den Benutzer nach vorn in ein Tal, und auch nach unten in ein Tal, bis der Benutzer an der ausgewählten zweiten Position 500B ankommt und die Betätigung der Manipulationsvorrichtung 105 gelöst wird.
  • Wie in 4A4E dargestellt, bleibt der Benutzer im Wesentlichen an derselben physischen Position 400A in dem physischen Raum 400, während sich die Merkmale an unterschiedlichen virtuellen Positionen (beispielsweise an den virtuellen Positionen 500A und 500B) im Verhältnis zu dem Benutzer bewegen. Diese Bewegung der virtuellen Merkmale im Verhältnis zu dem Benutzer kann ausgeführt werden, wenn der Benutzer das tragbare elektronische Gerät 102 näher, und in einer Richtung nach unten zieht, sodass die Füße des Benutzers auf dem virtuellen Boden bleiben, um die virtuelle Umgebung 500 in die gewünschte Richtung zu ziehen.
  • In dem in 4A4E dargestellten Beispiel zieht der Benutzer die virtuelle Umgebung 500 entlang der komplexen Proxyoberfläche 550, sodass sich die Merkmale der virtuellen Umgebung 500 relativ zu dem Benutzer bewegen, wobei die ausgewählte zweite virtuelle Position 500B zu einer Position gezogen wird, die sich im Wesentlichen an oder unter den Füßen des Benutzers befindet. Die Proxyoberfläche 550 kann jedoch die Bewegung der virtuellen Merkmale der virtuellen Umgebung in Reaktion auf andere Bewegungen des tragbaren elektronischen Geräts 102, einer Neuorientierung des Benutzers und dergleichen, in andere Richtungen führen. Beispielsweise kann der Benutzer eine seitliche oder schräge Bewegung des tragbaren elektronischen Geräts 102 implementieren (und/oder der Benutzer kann es schwenken, ansonsten jedoch im Wesentlichen an seinem Platz an der physischen Position 400A bleiben, wodurch er effektiv eine seitliche Bewegung des tragbaren elektronischen Geräts 102 veranlasst). Dies kann zu einer entsprechenden seitlichen Bewegung der Merkmale der virtuellen Umgebung 500 führen, wobei die Bewegung durch einen entsprechenden Abschnitt der Proxyoberfläche 550 geführt wird. Auf ähnliche Weise kann eine Aufwärtsbewegung des tragbaren elektronischen Geräts 102 (anstatt der Abwärtsbewegung, die oben in Bezug auf 4A4E erläutert wurde) zu einer entsprechenden Bewegung der Merkmale der virtuellen Umgebung 500 führen, wobei die Bewegung durch einen entsprechenden Abschnitt der Proxyoberfläche 550 geführt wird.
  • Ein weiteres Beispiel ist in 6A6E dargestellt. In 6A ist der Benutzer an einer ersten virtuellen Position 500A in der virtuellen Umgebung 500 entsprechend einer physischen Position 400A in dem physischen Raum 400 positioniert. Wie zuvor bemerkt, kann/können die Position(en) 400A/500A basierend beispielsweise auf einer Position auf dem physischen Boden in dem physischen Raum 400/in einer Position auf dem physischen Boden in der virtuellen Umgebung 500 unter dem tragbaren elektronischen Gerät 102 ermittelt werden. Der Benutzer kann sich entscheiden, sich von der ersten virtuellen Position 500A zu einer zweiten virtuellen Position 500B zu bewegen. Wie zuvor bemerkt, kann dies das Bewegen oder Ziehen von virtuellen Merkmalen an die zweite virtuelle Position 500B zu oder in Richtung des Benutzers beinhalten. Dadurch können die Elemente der virtuellen Umgebung 500 relativ zu dem Benutzer effektiv bewegt werden, ohne dass sich der Benutzer notwendigerweise physisch bewegt oder die Position in dem physischen Raum 400 ändert.
  • Wie zuvor bemerkt, kann der Benutzer das tragbare elektronische Gerät 102 manipulieren, um virtuelle Merkmale an der zweiten virtuellen Position 500B auszuwählen oder zu identifizieren. Dies kann, wie in 6B dargestellt, beispielsweise durch Richten eines virtuellen Strahls oder Lichtstrahls, der sich von dem tragbaren elektronischen Gerät 102 zu der zweiten virtuellen Position 500B erstreckt, und beispielsweise durch Betätigen einer der Manipulationsvorrichtungen 105 des tragbaren elektronischen Geräts 102 ausgeführt werden, um eine Auswahl eines virtuellen Merkmals an der zweiten virtuellen Position 500B anzugeben. In Reaktion auf die Erkennung der Auswahl des virtuellen Merkmals durch den Benutzer an der zweiten virtuellen Position 500B kann das System, wie zuvor beschrieben, die komplexe Proxyoberfläche 550 konstruieren. Die komplexe Proxyoberfläche 550 kann die Bewegung der virtuellen Merkmale der virtuellen Umgebung 500 relativ zu dem Benutzer und/oder der wahrgenommenen Bewegung des Benutzers aus der ersten virtuellen Position 500A in die zweite virtuelle Position 500B führen.
  • In dem in 6C dargestellten Beispiel wird die Proxyoberfläche 550 durch einen rechten kreisförmigen, dreidimensionalen Kegel definiert, wobei der Scheitelpunkt 550A einem Abschnitt des physischen Bodens unter dem tragbaren elektronischen Gerät 102 entspricht, der sich im Wesentlichen an den Füßen des Benutzers befindet. Die Oberfläche des dreidimensionalen Kegels kann sich von dem Scheitelpunkt 550A zu der ausgewählten virtuellen Position 500B erstrecken. Die Basis 550B des dreidimensionalen Kegels kann die zweite virtuelle Position 500B überschneiden, während sich die Sphäre 550C von der Basis 550B nach außen erstrecken kann. Wie zuvor beschrieben, kann diese komplexe Proxyoberfläche 550 die Bewegung der virtuellen Merkmale relativ zu dem Benutzer führen, sodass der Benutzer eine wahrgenommene virtuelle Bewegung von der ersten virtuellen Position 500A zu der zweiten virtuellen Position 500B erfährt, während er im Wesentlichen an der ersten physischen Position 400A in dem physischen Raum 400 stationär bleibt.
  • In der in 6C dargestellten exemplarischen Anordnung zeigt der Benutzer auf ein virtuelles Merkmal an der zweiten virtuellen Position 500B, die sich über dem Benutzer an der ersten virtuellen Position 500A befindet, und zieht es. Dies kann dazu führen, dass die komplexe Proxyoberfläche 550 durch eine Sphäre 550C mit einer dreidimensionalen kegelförmigen Einbuchtung an der Spitze definiert wird. In dieser Anordnung steht der Benutzer auf dem Boden der dreidimensionalen kegelförmigen Einbuchtung, d. h. an der Basis des Kegels, wobei der virtuelle Strahl oder Lichtstrahl von dem tragbaren elektronischen Gerät 102 ausgerichtet wird, und den Rand der kegelförmigen Einbuchtung an einer Position berührt bzw. überschneidet, die der zweiten virtuellen Position 500B entspricht. Der Benutzer kann, wie beispielsweise in der Positionsveränderung von 7A bis 7B veranschaulicht, das virtuelle Merkmal an der zweiten virtuellen Position 500B näher, beispielsweise durch Ziehen des Arms/der Hand des Benutzers, die das elektronische Gerät 102 trägt, näher an den Körper des Benutzers, ziehen. Dies kann die Merkmale der virtuellen Umgebung 500 veranlassen, sich relativ zu dem Benutzer zu bewegen, und kann, wie in 7C dargestellt, beispielsweise das virtuelle Merkmal an der zweiten virtuellen Position 500B zu dem Benutzer ziehen. Der Benutzer kann dies als Bewegung in der virtuellen Umgebung 500 wahrnehmen, selbst wenn der Benutzer, wie in 6D dargestellt, ggf. an der im Wesentlichen selben Position 400A in dem physischen Raum 400 stationär bleibt. Dies kann dazu führen, dass die Proxyoberfläche 550 durch eine Erweiterung der virtuellen Verbindung zwischen der ersten virtuellen Position 500A und der zweiten virtuellen Position 500B definiert wird, die einen ersten 3D-Abschnitt der virtuellen 3D-Proxyoberfläche 500 und einen zweiten 3D-Abschnitt der virtuellen 3D-Proxyoberfläche definiert, die sich von dem ersten 3D-Abschnitt der virtuellen Proxyoberfläche 500 erstreckt.
  • Wenn der Benutzer die virtuelle Umgebung 500, wie oben beschrieben, beispielsweise durch Bewegen des tragbaren elektronischen Geräts 102 zieht, und sich beispielsweise die Manipulationsvorrichtung 105 immer noch im betätigten Zustand befindet, kann sich die virtuelle Umgebung 500 entlang der komplexen Proxyoberfläche 550 relativ zu dem Benutzer bewegen. Wenn der Benutzer, wie in 6C und 6D dargestellt, beispielsweise das tragbare elektronische Gerät 102 nach unten richten würde, kann diese Bewegung das Bewegen der Merkmale der virtuellen Umgebung 500 in horizontale und vertikale Richtung veranlassen. Diese Bewegung kann den Benutzer scheinbar nach vorn und nach oben auf ein Plateau an der ausgewählten zweiten Position 500B ziehen, wobei die Betätigung der Manipulationsvorrichtung 105 gelöst wird.
  • Wie in 6A6E dargestellt, bleibt der Benutzer im Wesentlichen an derselben physischen Position 400A in dem physischen Raum 400, während sich die virtuellen Merkmale der virtuellen Umgebung 500 im Verhältnis zu dem Benutzer bewegen, wenn der Benutzer das tragbare elektronische Gerät 102 näher, und in einer Richtung nach unten zieht, sodass die Füße des Benutzers auf dem virtuellen Boden bleiben, um die virtuelle Umgebung 500 in die gewünschte Richtung zu ziehen.
  • In den in 4A4E und 6A6E dargestellten Beispielen richtet der Benutzer an der ersten physischen Position 400A und der entsprechenden ersten virtuellen Position 500A einen virtuellen Strahl oder Lichtstrahl auf ein ausgewähltes virtuelles Merkmal an einer zweiten virtuellen Position 500B. Der Benutzer kann dieses virtuelle Merkmal an der zweiten virtuellen Position 500B beispielsweise durch Betätigung einer Manipulationsvorrichtung 105 des tragbaren elektronischen Geräts 102 auswählen. Die virtuellen Merkmale der virtuellen Umgebung 500 können relativ zu dem Benutzer in Reaktion auf das Bewegen des tragbaren elektronischen Geräts 102 bewegt oder gezogen werden, während der Benutzer im Wesentlichen in dem physischen Raum 400 stationär bleibt. Auf diese Weise kann der Benutzer eine wahrgenommene Bewegung von der ersten virtuellen Position 500A zu der zweiten virtuellen Position 500B, beispielsweise eine wahrgenommene Bewegung entlang eines in 4A4E und 6A6E dargestellten exemplarischen Geländes wahrnehmen, wobei die wahrgenommene Bewegung durch die komplexe Proxyoberfläche 550 geführt wird. Das in 4A4E und 6A6E dargestellte Gelände ist nur ein Beispiel von Merkmalen in der virtuellen Umgebung 500, die auf diese Weise relativ zu dem Benutzer bewegt werden können. Andere Merkmale in anderen virtuellen Umgebungen können auf die oben beschriebene Art ausgewählt und bewegt werden.
  • In den in 4A4E und 6A6E dargestellten Beispielen kann der Benutzer den virtuellen Strahl oder Lichtstrahl von dem tragbaren elektronischen Gerät 102 auf die zweite virtuelle Position 500B richten. Mit der ausgewählten zweiten virtuellen Position 500B kann der Benutzer das tragbare elektronische Gerät 102 in eine Richtung zu dem Benutzer und nach unten ziehen, sodass das tragbare elektronische Gerät 102 in eine Position gebracht wird, in der es in einer Abwärtsrichtung, beispielsweise in Richtung einer Position des physischen Bodens in der Nähe der Füße des Benutzers, ausgerichtet ist. Diese Bewegung und Ausrichtung können angeben, dass der Benutzer seine Füße an der ausgewählten zweiten virtuellen Position 500B positionieren möchte, und kann eine entsprechende Bewegung oder ein Ziehen der virtuellen Umgebung 500 und der virtuellen Merkmale der virtuellen Umgebung 500 veranlassen, sodass der Benutzer wahrnimmt, dass er sich zu der zweiten virtuellen Position 500B bewegt hat, während er an derselben physischen Position 400A in dem physischen Raum 400 blieb. Dies kann dem Benutzer ermöglichen, sich von der ersten virtuellen Position 500A zu der zweiten virtuellen Position 500B zu bewegen, während er die virtuellen Merkmale zwischen der ersten virtuellen Position 500A und der zweiten virtuellen Position 500B ohne jede wesentliche Änderung seiner physischen Position erlebt. In dieser Bewegung der virtuellen Umgebung 500 und der wahrgenommenen Bewegung des Benutzers von der ersten virtuellen Position 500A zu der zweiten virtuellen Position 500B kann sich der Benutzer beispielsweise entlang des Geländes bewegen, das in den in 4A4E und 6A6E dargestellten Beispielen enthalten ist.
  • Die Bewegung der virtuellen Merkmale der virtuellen Umgebung 500 entlang der durch die komplexe Proxyoberfläche 500 definierten Kontur kann dem Benutzer ermöglichen, diese Bewegung als relativ sanfte Bewegung zu erleben, anstatt als abrupte Bewegung, die dann erlebt würde, wenn die visuelle Anzeige der virtuellen Umgebung 500 dem angezeigten virtuellen Gelände während der Bewegung folgen würde. Die von dem Benutzer erlebte, relativ sanfte Bewegung kann Effekte reduzieren, die ansonsten während dieser Art von Bewegung der virtuellen Umgebung 500 zu Kinetose und Orientierungslosigkeit führen könnte.
  • In einigen Implementierungen können die Geschwindigkeit und/oder die Richtung der Bewegung des tragbaren elektronischen Geräts 102 der Geschwindigkeit und/oder der Richtung der Bewegung der virtuellen Elemente der virtuellen Umgebung 500 entsprechen, wenn der Benutzer von der ersten virtuellen Position 500A zu der zweiten virtuellen Position 500B bewegt wird. Beispielsweise kann in einigen Implementierungen die Geschwindigkeit der Bewegung des Benutzers des tragbaren elektronischen Geräts 102 proportional zu der Geschwindigkeit der Bewegung der virtuellen Elemente der virtuellen Umgebung 500 und der wahrgenommenen Geschwindigkeit der Bewegung des Benutzers von der ersten virtuellen Position 500A zu der zweiten virtuellen Position 500B sein.
  • In einigen Implementierungen kann die Verwendung einer dreidimensionalen komplexen Proxyoberfläche 550 dem Benutzer ermöglichen, mit der virtuellen Umgebung 500 selbst in dem Fall verbunden zu bleiben, wenn eine Bewegung außerhalb der oben beschriebenen Bewegung nach innen und nach unten erkannt wird. Beispielsweise kann das System in dem Fall, dass eine seitliche Bewegung des tragbaren elektronischen Geräts 102 erkannt wird, eine entsprechende seitliche Verlagerung bei dem gewünschten Fokus oder der Bewegungsrichtung des Benutzers erkennen. Da diese seitliche Verlagerung wahrscheinlich entlang des kegelförmigen Abschnitts der komplexen Proxyoberfläche 550 erkannt wird, kann die Bewegung der virtuellen Merkmale der virtuellen Umgebung 500 weiterhin fortfahren, selbst in dem Fall einer seitlichen Bewegung des tragbaren elektronischen Geräts 102 einer relativ sanften Bewegungsbahn zu folgen.
  • Die oben in Bezug auf 4A4E und 6A6E beschriebene exemplarische komplexe Proxyoberfläche 550 beinhaltet einen kegelförmigen Abschnitt und einen sphärischen Abschnitt, die sich von dem Basisumfang des kegelförmigen Abschnitts nach außen erstrecken, um die Erklärung und Veranschaulichung dieser Konzepte zu erleichtern. Die komplexe Proxyoberfläche kann jedoch durch eine andere Oberfläche und/oder andere Anordnung von Oberflächen definiert werden, die den physischen Boden an einem Abschnitt des physischen Bodens unter dem tragbaren elektronischen Gerät überschneiden, und die die virtuelle Umgebung an einem Abschnitt des virtuellen Strahls überschneiden, der das virtuelle Merkmal an dem zweiten virtuellen Standort in der virtuellen Umgebung überschneidet.
  • In einigen Implementierungen kann ein Einfallswinkel zwischen dem tragbaren elektronischen Gerät 102 (beispielsweise der von dem tragbaren elektronischen Gerät 102 ausgerichtete virtuelle Strahl oder Lichtstrahl) und der Proxyoberfläche so begrenzt sein, dass in einer Situation, in der die Ausrichtung des tragbaren elektronischen Geräts 102 und der Proxyoberfläche nahezu parallel sind, eine relativ kleine Bewegung des tragbaren elektronischen Geräts 102 keine disproportional große Bewegung der virtuellen Umgebung 500 zur Folge hat. Unter der Voraussetzung eines maximalen Einfallswinkels und einer Proxyoberfläche kann, wie zuvor beschrieben, ein horizontaler Abstand von dem Benutzer berechnet werden, bei dem der maximale Einfallswinkel auftritt. Wenn begonnen wird, die virtuelle Umgebung 500, wie zuvor beschrieben, zu bewegen oder zu ziehen, wenn der erste Schnittpunkt des virtuellen Lichtstrahls oder Strahls, der sich von dem tragbaren elektronischen Gerät 102 und dem virtuellen Objekt an dem zweiten virtuellen Standort 500B erstreckt, weiter entfernt ist als es der maximale Einfallswinkel ermöglicht, kann ein Punkt auf der Proxyoberfläche 550 in derselben Richtung, und der so weit weg wie möglich ist, als der erste Schnittpunkt verwendet werden. Trotz des Ziehens kann der Schnittpunkt innerhalb dieses berechneten Abstands gehalten werden.
  • Ein Verfahren zum Bewegen virtueller Merkmale in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung gemäß den hierin beschriebenen Implementierungen ist in 8 dargestellt. Das System kann eine Auswahl eines neuen virtuellen Standorts erkennen, die einer Benutzereingabe oder einem -befehl entspricht, um eine Bewegung der virtuellen Merkmale der virtuellen Umgebung (Block 810) zu initiieren. Diese Auswahl kann, wie oben in Bezug auf 4A4B und 6A6B ausführlich beschrieben, beispielsweise auf der Basis einer erkannten Ausrichtung des tragbaren elektronischen Geräts 102 erkannt werden, das einen virtuellen Strahl oder Lichtstrahlauf die zweite virtuelle Position 500B richtet. Diese Erkennung kann, wie ebenfalls zuvor beschrieben, beispielsweise in Reaktion auf eine erkannte Betätigung einer Manipulationsvorrichtung 105 des tragbaren elektronischen Geräts 102 erfolgen. In Reaktion auf die erkannte Auswahl einer neuen virtuellen Position kann das System, wie oben in Bezug auf 4C4D und 6C6D ausführlich beschrieben, eine komplexe Proxyoberfläche 550 (Block 820) konstruieren. In Reaktion auf einen erkannten Bewegungsbefehl (Block 830) kann das System die virtuellen Elemente der virtuellen Umgebung entlang der komplexen Proxyoberfläche (Block 840) bewegen, bis erkannt wird, dass die Bewegung (Block 850) abgeschlossen ist. Der Bewegungsbefehl kann beispielsweise eine Bewegung des tragbaren elektronischen Geräts 102 nach einer Auswahl der zweiten virtuellen Position 500 und bei betätigter Manipulationsvorrichtung 105 beinhalten. Das System kann die virtuellen Merkmale der virtuellen Umgebung 500 entlang der komplexen Proxyoberfläche 550 bewegen, während der Benutzer im Wesentlichen an derselben physischen Position 400A in dem physischen Raum 400 bleibt. Das System kann erkennen, dass die Bewegung abgeschlossen ist, wenn beispielsweise eine Position des Benutzers (der Benutzer, der das tragbare elektronische Gerät 102 hält) einer zweiten virtuellen Position 500B entspricht und/oder ein Lösen der Manipulationsvorrichtung 105 von dem tragbaren elektronischen Gerät 102 erkannt wird, eine eingestellte Position der tragbaren elektronischen Vorrichtung 102 erkannt wird, und dergleichen. Dieses Verfahren kann ausgeführt werden, bis bestimmt wird, dass die virtuelle Realitätserfahrung beendet ist (Block 860).
  • 9 zeigt ein Beispiel eines Computergeräts 900 und eines mobilen Computergeräts 950, die mit den hier beschriebenen Techniken verwendet werden können. Das Computergerät 900 beinhaltet einen Prozessor 902, einen Speicher 904, ein Speichergerät 906, eine Hochgeschwindigkeitsschnittstelle 908, die sich mit Speicher 904 und Hochgeschwindigkeitserweiterungsanschlüssen 910 verbindet, und eine Niedergeschwindigkeitsschnittstelle 912, die sich mit dem Niedergeschwindigkeitsbus 914 und dem Speichergerät 906 verbindet. Alle Komponenten 902, 904, 906, 908, 910 und 912 sind unter Verwendung verschiedener Busse miteinander verbunden und können auf einer gängigen Hauptplatine oder gegebenenfalls in anderer Weise montiert sein. Der Prozessor 902 kann Befehle zur Ausführung innerhalb des Computergeräts 900 verarbeiten, die Befehle beinhalten, die in dem Speicher 904 oder auf dem Speichergerät 906 gespeichert sind, um grafische Informationen für eine GUI auf einem externen Eingabe-/Ausgabegerät, wie z. B. auf Anzeige 916, die mit der Hochgeschwindigkeitsschnittstelle 908 verbunden ist, anzuzeigen. In anderen Implementierungen können mehrere Prozessoren und/oder mehrere Busse gegebenenfalls zusammen mit mehreren Speichern und Speicherarten verwendet werden. Es können außerdem mehrere Computergeräte 900 verbunden sein, wobei jedes Gerät Teile der notwendigen Vorgänge (z. B. als Serverbank, Gruppe von Blade-Servern oder Mehrprozessorsystem) bereitstellt.
  • Der Speicher 904 speichert Informationen innerhalb des Computergeräts 900. In einer Implementierung handelt es sich bei Speicher 904 um eine flüchtige Speichereinheit bzw. -einheiten. In einer weiteren Implementierung handelt es sich bei Speicher 904 um eine nicht flüchtige Speichereinheit bzw. -einheiten. Der Speicher 904 kann zudem eine andere Form von computerlesbarem Medium sein, wie beispielsweise ein magnetischer oder optischer Datenträger.
  • Das Speichergerät 906 ist in der Lage, Massenspeicher für die Computergeräte 900 bereitzustellen. In einer Implementierung kann das Speichergerät 906 ein computerlesbares Medium, wie z. B. ein Floppy-Disk-Laufwerk, ein Festplattenlaufwerk, ein optisches Laufwerk, eine Magnetbandeinheit, ein Flash-Speicher oder ein anderes ähnliches Halbleiter-Speichergerät oder eine Reihe von Geräten, einschließlich Geräten in einem Speichernetzwerk oder anderen Konfigurationen, sein oder beinhalten. Ein Computerprogrammprodukt kann physisch in einem Informationsträger enthalten sein. Das Computerprogrammprodukt kann zudem Befehle enthalten, bei deren Ausführung ein oder mehrere Verfahren wie die oben beschriebenen ausgeführt werden. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie z. B. Speicher 904, Speichergerät 906 oder der Speicher auf Prozessor 902.
  • Der Hochgeschwindigkeitscontroller 908 verwaltet bandbreitenintensive Operationen für das Computergerät 900, während der Niedergeschwindigkeitscontroller 912 niedrigere bandbreitenintensive Operationen verwaltet. Diese Zuweisung von Funktionen ist lediglich exemplarisch. In einer Implementierung ist der Hochgeschwindigkeitscontroller 908 mit Speicher 904, Anzeige 916 (z. B. über einen Grafikprozessor oder -beschleuniger) und mit den Hochgeschwindigkeitserweiterungsanschlüssen 910, die verschiedene Erweiterungskarten (nicht dargestellt) aufnehmen können, gekoppelt. In der Implementierung ist der Niedergeschwindigkeitscontroller 912 mit dem Speichergerät 906 und dem Niedergeschwindigkeitserweiterungsanschluss 914 gekoppelt. Der Niedergeschwindigkeitserweiterungsanschluss, der ggf. verschiedene Kommunikationsanschlüsse (z. B. USB, Bluetooth, Ethernet, drahtloses Ethernet) beinhaltet, kann an ein oder mehrere Ein-/Ausgabegeräte, wie z. B. eine Tastatur, ein Zeigegerät, einen Scanner oder ein Netzwerkgerät, wie z. B. einen Switch oder Router, z. B. durch einen Netzwerkadapter, gekoppelt sein.
  • Das Computergerät 900 kann, wie in der Figur dargestellt, in einer Reihe von verschiedenen Formen implementiert sein. Zum Beispiel kann es als Standardserver 920 oder mehrmals in einer Gruppe dieser Server implementiert sein. Es kann außerdem als Teil eines Rackserversystems 924 implementiert sein. Darüber hinaus kann es in einem Personal-Computer, wie z. B. einem Laptop-Computer 922, implementiert sein. Alternativ können Komponenten von Computergerät 900 mit anderen Komponenten in einem Mobilgerät (nicht dargestellt), wie z. B. Gerät 950, kombiniert sein. Jedes dieser Geräte kann ein oder mehrere Computergeräte 900, 950 enthalten, wobei ein gesamtes System aus mehreren miteinander kommunizierenden Computergeräten 900, 950 bestehen kann.
  • Das Computergerät 950 beinhaltet unter anderem folgende Komponente: einen Prozessor 952, Speicher 964, ein Eingabe-/Ausgabegerät, beispielsweise eine Anzeige 954, eine Kommunikationsschnittstelle 966 und einen Sendeempfänger 968. Das Gerät 950 kann zudem mit einem Speichergerät, zum Beispiel einem Microdrive oder einem anderen Gerät, ausgestattet sein, um zusätzlichen Speicher bereitzustellen. Sämtliche Komponenten 950, 952, 964, 954, 966 und 968 sind mithilfe verschiedener Busse miteinander verbunden und können auf einer gängigen Hauptplatine oder auf andere geeignete Weise montiert sein.
  • Der Prozessor 952 kann Anweisungen innerhalb des Computergeräts 950 ausführen, darunter auch Anweisungen, die im Speicher 964 gespeichert sind. Der Prozessor kann als Chipsatz von Chips implementiert werden, die separate und mehrere analoge und digitale Prozessoren beinhalten. Der Prozessor kann zum Beispiel für die Koordination der anderen Komponenten des Geräts 950, zum Beispiel das Steuern von Benutzeroberflächen, Anwendungen, die vom Gerät 950 ausgeführt werden, und die drahtlose Kommunikation durch Gerät 950, sorgen.
  • Der Prozessor 952 kann mit einem Benutzer durch eine Steuerschnittstelle 958 und eine Anzeigeschnittstelle 956 kommunizieren, die mit einer Anzeige 954 gekoppelt ist. Bei der Anzeige 954 kann es sich zum Beispiel um eine TFT-LCD(Dünnfilmtransistor-Flüssigkristall)- oder eine OLED(organische Leuchtdioden)-Anzeige oder eine andere angemessene Anzeigetechnologie handeln. Die Anzeigeschnittstelle 956 kann eine angemessene Schaltung als Treiber der Anzeige 954 umfassen, um einem Benutzer grafische und andere Informationen zu präsentieren. Die Steuerschnittstelle 958 kann Befehle von einem Benutzer empfangen und diese zum Senden an den Prozessor 952 konvertieren. Zusätzlich kann eine externe Schnittstelle 962 die Kommunikation mit dem Prozessor 952 bereitstellen, zum Beispiel, um Nahbereichskommunikationen des Gerätes 950 mit anderen Geräten zu ermöglichen. Die externe Schnittstelle 962 kann in einigen Implementierungen zum Beispiel eine kabelgebundene Kommunikation oder in anderen Implementierungen eine drahtlose Kommunikation bereitstellen, zudem können mehrere Schnittstellen verwendet werden.
  • Der Speicher 964 speichert Informationen im Computergerät 950. Der Speicher 964 kann als ein oder mehrere computerlesbare Medien, als flüchtige Speichereinheit(en), oder als nicht flüchtige Speichereinheit(en) implementiert sein. Erweiterungsspeicher 974 kann ebenfalls bereitgestellt und mit dem Gerät 950 über Erweiterungsschnittstelle 972 verbunden werden, die zum Beispiel eine SIMM(Single In Line Memory Module)-Kartenschnittstelle beinhalten kann. Dieser Erweiterungsspeicher 974 kann zusätzlichen Speicherplatz für Gerät 950 bereitstellen oder auch Anwendungen oder andere Informationen für Gerät 950 speichern. Insbesondere kann Erweiterungsspeicher 974 Anweisungen zum Ausführen oder Ergänzen der oben beschriebenen Prozesse sowie sichere Informationen beinhalten. Somit kann Erweiterungsspeicher 974 zum Beispiel als Sicherheitsmodul für Gerät 950 bereitgestellt werden, und mit Anweisungen programmiert sein, die die sichere Verwendung von Gerät 950 gewährleisten. Zudem können über die SIMM-Karten sichere Anwendungen zusammen mit zusätzlichen Informationen, wie dem Ablegen von Identifizierungsinformationen auf der SIMM-Karte auf eine Weise bereitgestellt werden, die sich nicht hacken lässt.
  • Der Speicher kann, wie im Folgenden erläutert, zum Beispiel Flashspeicher und/oder NVRAM-Speicher beinhalten. In einer Implementierung ist ein Computerprogrammprodukt physisch in einem Informationsträger enthalten. Das Computerprogrammprodukt beinhaltet Befehle, bei deren Ausführung ein oder mehrere Verfahren, wie die zuvor beschriebenen, ausgeführt werden. Der Informationsträger ist ein computer- oder maschinenlesbares Medium, wie z. B. der Speicher 964, die Speichererweiterung 974 oder der Prozessorspeicher 952, das beispielsweise über den Sendeempfänger 968 oder die externe Schnittstelle 962 empfangen werden kann.
  • Das Gerät 950 kann über Kommunikationsschnittstelle 966 drahtlos kommunizieren, die bei Bedarf eine digitale Signalverarbeitungsschaltung beinhalten kann. Die Kommunikationsschnittstelle 966 kann Verbindungen mit verschiedenen Kommunikationsmodi oder -protokollen aufbauen, darunter u. a. GSM-Sprachanrufe, SMS, EMS, oder MMS-Messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000 oder GPRS. Diese Kommunikation kann beispielsweise durch Funkfrequenz-Sendeempfänger 968 stattfinden. Zudem kann eine Kurzstreckenkommunikation, z. B. unter Verwendung eines Bluetooth-, WLAN- oder eines anderen dieser Sendeempfänger (nicht dargestellt) stattfinden. Außerdem kann das GPS(Globale Positionierungssystem)-Empfängermodul 970 zusätzliche navigations- und standortbezogene drahtlose Daten für das Gerät 950 bereitstellen, die gegebenenfalls von Anwendungen verwendet werden können, die auf dem Gerät 950 ausgeführt werden.
  • Das Gerät 950 kann ebenfalls unter Verwendung des Audiocodec 960, der gesprochene Informationen von einem Benutzer empfangen und diese in nutzbare digitale Informationen konvertieren kann, hörbar kommunizieren. Der Audiocodec 960 kann zudem akustische Töne für einen Benutzer, z. B. durch einen Lautsprecher, wie beispielsweise in einem Mobilteil von Gerät 950 erzeugen. Diese Töne können Töne von Sprachtelefonanrufen beinhalten, sie können aufgezeichnete Töne (z. B. Sprachnachrichten, Musikdateien usw.) sowie Töne beinhalten, die von auf Gerät 950 betriebenen Anwendungen erstellt wurden.
  • Das Computergerät 950 kann, wie in der Figur ersichtlich, in einer Reihe verschiedener Formen implementiert sein. Es kann zum Beispiel als Mobiltelefon 980 implementiert sein. Es kann außerdem als Teil eines Smartphones 982, eines persönlichen digitalen Assistenten (PDA) oder eines anderen ähnlichen Mobilgeräts implementiert sein.
  • Verschiedene Implementierungen der hier beschriebenen Systeme und Techniken können in digitalen elektronischen Schaltungen, integrierten Schaltungen, speziell konzipierten ASICs (anwendungsorientierten integrierten Schaltungen), Computerhardware, Firmware, Software und/oder Kombinationen derselben realisiert sein. Diese verschiedenen Implementierungen können eine Implementierung in einem oder mehreren Computerprogrammen beinhalten, die auf einem programmierbaren System ausführbar und/oder interpretierbar sind, das mindestens einen programmierbaren Prozessor beinhaltet, bei dem es sich um einen Spezial- oder einen Universalprozessor handeln kann und der zum Empfangen von Daten und Befehle von und zum Übertragen von Daten und Befehlen an ein Speichersystem, mindestens ein Eingabegerät und mindestens ein Ausgabegerät gekoppelt ist.
  • Diese Computerprogramme (auch bekannt als Programme, Software, Softwareanwendungen oder Code) beinhalten Maschinenbefehle für einen programmierbaren Prozessor und können in einer höheren prozeduralen und/oder objektorientierten Programmiersprache und/oder in Assembler-/Maschinensprache implementiert sein. Wie hierin verwendet, bezeichnen die Begriffe „maschinenlesbares Medium“, „computerlesbares Medium“ ein beliebiges Computerprogrammprodukt, eine beliebige Vorrichtung und/oder ein beliebiges Gerät (z. B. Magnetplatten, optische Platten, Speicher, programmierbare Logikbausteine (PLDs)), die verwendet werden, um einem programmierbaren Prozessor Maschinenbefehle und/oder Daten bereitzustellen, einschließlich eines maschinenlesbaren Mediums, das Maschinenbefehle als ein maschinenlesbares Signal empfängt. Der Begriff „maschinenlesbares Signal“ bezeichnet ein beliebiges Signal, das verwendet wird, um einem programmierbaren Prozessor Maschinenbefehle und/oder Daten bereitzustellen.
  • Um eine Interaktion mit einem Benutzer bereitzustellen, können die hier beschriebenen Systeme und Techniken auf einem Computer implementiert werden, der ein Anzeigegerät (wie z. B. einen CRT-(Kathodenstrahlröhren) oder LCD-(Flüssigkristallanzeige)-Monitor) aufweist, um dem Benutzer Informationen anzuzeigen, sowie eine Tastatur und ein Zeigegerät (z. B. eine Maus oder einen Trackball) aufweist, mittels denen der Benutzer eine Eingabe an dem Computer vornehmen kann. Es können auch andere Arten von Geräten verwendet werden, um für eine Interaktion mit einem Benutzer zu sorgen; beispielsweise kann eine an den Benutzer bereitgestellte Rückmeldung eine beliebige Form von sensorischer Rückmeldung (wie z. B. eine visuelle Rückmeldung, akustische Rückmeldung oder taktile Rückmeldung) sein; während die Eingabe vom Benutzer in beliebiger Form, darunter auch als akustische, taktile oder Spracheingabe, empfangen werden kann.
  • Die hier beschriebenen Systeme und Techniken können in einem Computersystem implementiert werden, das eine Backendkomponente (z. B. einen Datenserver) beinhaltet, oder das eine Middlewarekomponente (z. B. einen Applikationsserver) beinhaltet, oder das eine Frontendkomponente (z. B. einen Clientcomputer mit einer grafischen Benutzeroberfläche oder einem Web-Browser beinhaltet, durch die bzw. den ein Benutzer mit hier beschriebenen Systemimplementationen und Techniken interagieren kann) oder eine Kombination aus denselben Backend-, Middleware- oder Frontendkomponenten beinhaltet. Die Komponenten des Systems können durch eine beliebige Form oder ein beliebiges Medium digitaler Datenkommunikation (wie z. B. ein Kommunikationsnetzwerk) miteinander verbunden sein. Beispiele von Kommunikationsnetzwerken beinhalten ein lokales Netzwerk („LAN“), ein Großraumnetzwerk („WAN“) und das Internet.
  • Das Computersystem kann Clients und Server beinhalten. Ein Client und Server befinden sich im Allgemeinen entfernt voneinander und interagieren typischerweise über ein Kommunikationsnetzwerk. Die Beziehung von Client und Server ergibt sich durch Computerprogramme, die auf den jeweiligen Computern ausgeführt werden und in einer Client-Server-Beziehung zueinander stehen.
  • In einigen Implementierungen kann das in 9 dargestellte Computergerät Sensoren beinhalten, die eine Schnittstelle zu einer virtuellen Realität aufweisen (VR-Headset/HMD-Gerät 990). Beispielsweise können ein oder mehrere Sensoren, die in einem Computergerät 950 oder einem anderen Computergerät, das in 9 dargestellt ist, enthalten sind, dem VR-Headset 990 Eingaben bereitstellen, oder im Allgemeinen Eingaben für einen VR-Raum bereitstellen. Die Sensoren können u. a. einen Berührungsbildschirm, Beschleunigungssensoren, Gyroskope, Drucksensoren, biometrische Sensoren, Temperatursensoren, Feuchtesensoren und Umgebungslichtsensoren beinhalten. Das Computergerät 950 kann die Sensoren verwenden, um eine absolute Position und/oder eine festgestellte Drehung des Computergeräts im VR-Raum zu bestimmen, die dann als Eingabe in den VR-Raum verwendet werden kann. Beispielsweise kann das Computergerät 950 als virtuelles Objekt, wie z. B. als Controller, Laserpointer, Tastatur, Waffe usw., in den VR-Raum integriert sein. Die Positionierung des Computergeräts/virtuellen Objekts durch den Benutzer kann, sofern dieses in den VR-Raum integriert ist, es dem Benutzer ermöglichen, das Computergerät so zu positionieren, dass dieser das virtuelle Objekt auf bestimmte Weise im VR-Raum betrachten kann. Wenn zum Beispiel das virtuelle Objekt einem Laserpointer entspricht, kann der Benutzer das Computergerät so manipulieren, als wäre es ein tatsächlicher Laserpointer. Der Benutzer kann das Computergerät nach links und rechts, nach oben und unten, in einem Kreis usw. verschieben und das Gerät in ähnlicher Weise wie einen Laserpointer verwenden.
  • In einigen Implementierungen können ein oder mehrere Eingabegeräte, die an dem Computergerät 950 enthalten sind oder mit diesem verbunden sind, als Eingabe in den VR-Raum verwendet werden. Die Eingabegeräte können unter anderem einen Berührungsbildschirm, eine Tastatur, eine oder mehrere Tasten, ein Trackpad, ein Touchpad, ein Zeigegerät, eine Maus, einen Trackball, einen Joystick, eine Kamera, ein Mikrofon, einen Kopfhörer oder Ohrhörer mit Eingabefunktion, einen Spielecontroller oder ein anderes anschließbares Eingabegerät beinhalten. Ein Benutzer, der mit einem Eingabegerät interagiert, das am Computergerät 950 enthalten ist, kann, sofern das Computergerät in den VR-Raum eingebaut ist, bewirken, dass eine bestimmte Aktion im VR-Raum erfolgt.
  • In einigen Implementierungen kann ein Berührungsbildschirm des Computergeräts 950 als Berührungsfeld im VR-Raum dargestellt werden. Ein Benutzer kann mit dem Berührungsbildschirm des Computergeräts 950 interagieren. Die Interaktionen werden beispielsweise im VR-Headset 990 als Bewegungen auf dem gerenderten Berührungsfeld im VR-Raum dargestellt. Die gerenderten Bewegungen können virtuelle Objekte im VR-Raum steuern.
  • In einigen Implementierungen können ein oder mehrere Ausgabegeräte, die auf dem Computergerät 950 enthalten sind, einem Benutzer des VR-Headsets 990 Ausgaben und/oder Rückmeldungen im VR-Raum bereitstellen. Die Ausgabe und Rückmeldung kann visuell, taktil oder akustisch erfolgen. Die Ausgabe und/oder Rückmeldung können unter anderem Vibrationen beinhalten, eine oder mehrere Leuchtdioden oder Datenbestätigungssignale ein- und ausschalten oder blinken bzw. aufleuchten lassen, einen Alarm ertönen lassen, einen Klang wiedergeben, ein Lied wiedergeben und eine Audiodatei wiedergeben. Die Ausgabegeräte können Vibrationsmotoren, Vibrationsspulen, piezoelektrische Vorrichtungen, elektrostatische Vorrichtungen, Leuchtdioden (LEDs), Tastimpulse und Lautsprecher beinhalten, sind jedoch nicht darauf beschränkt.
  • In einigen Implementierungen kann das Computergerät 950 als ein anderes Objekt in einer computergenerierten 3D-Umgebung erscheinen. Interaktionen durch den Benutzer mit dem Computergerät 950 (z. B. Drehen, Schütteln, Berühren eines Berührungsbildschirms, Wischen eines Fingers über einen Berührungsbildschirm) können als Interaktionen mit dem Objekt im VR-Raum interpretiert werden. Im Beispiel des Laserpointers in einem VR-Raum erscheint das Computergerät 950 als virtueller Laserpointer in der computergenerierten 3D-Umgebung. Wenn der Benutzer das Computergerät 950 manipuliert, sieht der Benutzer im VR-Raum die Bewegung des Laserpointers. Der Benutzer empfängt Rückmeldungen von Interaktionen mit dem Computergerät 950 im VR-Raum auf dem Computergerät 950 oder auf dem VR-Headset 990.
  • In einigen Implementierungen kann Computergerät 950 einen Berührungsbildschirm beinhalten. Ein Benutzer kann zum Beispiel mit dem Berührungsbildschirm auf eine bestimmte Weise interagieren, wobei das, was auf dem Bildschirm passiert, das nachbilden kann, was in dem VR-Raum passiert. Ein Benutzer kann zum Beispiel eine Zoom-Geste verwenden, um Inhalt, der auf dem Berührungsbildschirm angezeigt wird, zu vergrößern. Diese Zoom-Geste auf dem Berührungsbildschirm kann bewirken, dass Informationen, die in dem VR-Raum bereitgestellt werden, vergrößert werden. In einem weiteren Beispiel kann das Computergerät als virtuelles Buch in einer computergenerierten 3D-Umgebung gerendert werden. In dem VR-Raum können die Seiten des Buches in dem VR-Raum angezeigt werden und das Wischen eines Fingers des Benutzers über den Berührungsbildschirm als Wenden/Umblättern einer Seite des virtuellen Buches interpretiert werden. Wenn die jeweilige Seite gewendet/umgeblättert wird, sieht der Benutzer nicht nur, dass sich der Seiteninhalt ändert, ihm kann zudem eine Audiorückmeldung, wie zum Beispiel der Klang des Umblätterns einer Seite in einem Buch, bereitgestellt werden.
  • In einigen Implementierungen können zusätzlich zu dem Computergerät ein oder mehrere Eingabegeräte (z. B. eine Maus, eine Tastatur) in einer computergenerierten 3D-Umgebung gerendert werden. Die gerenderten Eingabegeräte (z. B. die gerenderte Maus, die gerenderte Tastatur) können verwendet werden, um sie im VR-Raum zu rendern, um Objekte im VR-Raum zu steuern.
  • Computergerät 900 soll verschiedene Formen digitaler Computer und Geräte, darunter auch u. a. Laptops, Desktops, Workstations, PDAs, Server, Blade-Server, Mainframes und andere geeignete Computer, darstellen. Computergerät 950 soll verschiedene Formen von Mobilgeräten wie PDAs, Mobiltelefone, Smartphones und andere ähnliche Computergeräte darstellen. Die hier gezeigten Komponenten, ihre Verbindungen und Beziehungen sowie ihre Funktionen sollen nur exemplarisch sein und die Implementierungen der in diesem Dokument beschriebenen bzw. beanspruchten Erfindungen in keiner Weise einschränken.
  • Eine Reihe von Ausführungsformen wurde beschrieben. Trotzdem versteht es sich, dass verschiedene Modifikationen durchgeführt werden können, ohne vom Sinn und Umfang der Patentschrift abzuweichen.
  • Außerdem erfordern die in den Figuren dargestellten logischen Abläufe nicht die bestimmte dargestellte Reihenfolge oder sequenzielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. Darüber hinaus können andere Schritte vorgesehen sein oder Schritte aus den beschriebenen Abläufen eliminiert werden, während andere Komponenten zu den beschriebenen Systemen hinzugefügt oder aus denselben entfernt werden können. Dementsprechend befinden sich andere Ausführungsformen innerhalb des Umfangs der folgenden Ansprüche.

Claims (21)

  1. Am Kopf befestigtes Anzeigegerät (HMD), umfassend Mittel zum: Anzeigen einer virtuellen Umgebung aus einer ersten virtuellen Perspektive, die einer ersten virtuellen Position entspricht, in einem in einer physischen Umgebung betriebenen an dem am Kopf befestigten Anzeigegerät (HMD); Erkennen einer Auswahl einer zweiten virtuellen Position; Definieren einer dreidimensionalen (3D) virtuellen Proxyoberfläche basierend auf der ersten virtuellen Position und der zweiten virtuellen Position; Erkennen eines Bewegungsbefehls; Bewegen virtueller Merkmale der virtuellen Umgebung entlang der virtuellen 3D-Proxyoberfläche in Reaktion auf den erkannten Bewegungsbefehl; und Anzeigen der virtuellen Umgebung aus einer zweiten virtuellen Perspektive, die der zweiten virtuellen Position entspricht.
  2. HMD-Gerät nach Anspruch 1, wobei das Definieren der virtuellen 3D-Proxyoberfläche basierend auf der ersten virtuellen Position und der zweiten virtuellen Position beinhaltet: Erkennen der ersten virtuellen Position basierend auf einer Position eines tragbaren elektronischen Geräts, wobei das tragbare elektronische Gerät betriebsfähig mit dem HMD gekoppelt ist; Erkennen der zweiten virtuellen Position basierend auf einer Ausrichtung des tragbaren elektronischen Geräts; und Definieren der virtuellen 3D-Proxyoberfläche basierend auf einer 3D-Erweiterung einer virtuellen Verbindung zwischen der ersten virtuellen Position und der zweiten virtuellen Position.
  3. HMD-Gerät nach Anspruch 2, wobei Erkennen der ersten virtuellen Position beinhaltet: Erkennen der physischen Position des tragbaren elektronischen Geräts in der physischen Umgebung; und Zuordnen der erkannten Position des tragbaren elektronischen Geräts in der physischen Umgebung zu der ersten virtuellen Position in der virtuellen Umgebung; und Erkennen der Auswahl der zweiten virtuellen Position beinhaltet: Erkennen der Ausrichtung des tragbaren elektronischen Geräts in der physischen Umgebung; Zuordnen der erkannten Ausrichtung des tragbaren elektronischen Geräts in der physischen Umgebung zu einer entsprechenden Ausrichtung des tragbaren elektronischen Geräts in der virtuellen Umgebung; und Erkennen eines Schnittpunkts eines sich von dem tragbaren elektronischen Gerät und der zweiten virtuellen Position erstreckenden virtuellen Strahls basierend auf der Ausrichtung des tragbaren elektronischen Geräts in der virtuellen Umgebung.
  4. HMD-Gerät nach Anspruch 3, wobei das Definieren der virtuellen 3D-Proxyoberfläche basierend auf der 3D-Erweiterung der virtuellen Verbindung zwischen der ersten virtuellen Position und der zweiten virtuellen Position beinhaltet: Definieren eines ersten 3D-Abschnitts der virtuellen 3D-Proxyoberfläche; und Definieren eines zweiten 3D-Abschnitts der virtuellen 3D-Proxyoberfläche, der sich von dem ersten 3D-Abschnitt der Proxyoberfläche erstreckt.
  5. HMD-Gerät nach Anspruch 3, wobei das Definieren der virtuellen 3D-Proxyoberfläche basierend auf der 3D-Erweiterung der virtuellen Verbindung zwischen der ersten virtuellen Position und der zweiten virtuellen Position beinhaltet: Definieren eines kegelförmigen 3D-Abschnitts der virtuellen 3D-Proxy; und Definieren eines sphärischen Abschnitts der virtuellen 3D-Proxyoberfläche, der sich von dem kegelförmigen 3D-Abschnitt der Proxyoberfläche erstreckt.
  6. HMD-Gerät nach Anspruch 5, wobei Definieren des kegelförmigen 3D-Abschnitts der virtuellen 3D-Proxyoberfläche das Definieren des kegelförmigen 3D-Abschnitts der virtuellen 3D-Proxyoberfläche basierend auf einer 3D-Erweiterung einer sich zwischen der ersten virtuellen Position und der zweiten virtuellen Position erstreckenden virtuellen Linie beinhaltet; und Definieren des sphärischen 3D-Abschnitts der virtuellen 3D-Proxyoberfläche das Definieren des sphärischen 3D-Abschnitts der virtuellen 3D-Proxyoberfläche beinhaltet, die sich von einer Außenkante des kegelförmigen 3D-Abschnitts der virtuellen 3D-Proxyoberfläche erstreckt, an einem Schnittpunkt mit der zweiten virtuellen Position.
  7. HMD-Gerät nach Anspruch 3, wobei das Bewegen der virtuellen Merkmale der virtuellen Umgebung entlang der virtuellen 3D-Proxyoberfläche das Bewegen einer Anzeige der virtuellen Merkmale der virtuellen Umgebung entlang einer Bahn beinhaltet, die der virtuellen 3D-Proxyoberfläche entspricht, um eine Perspektive der virtuellen Umgebung von der ersten virtuellen Position zu einer zweiten virtuellen Position zu verlagern.
  8. HMD-Gerät nach Anspruch 7, wobei eine Richtung der Bewegung der virtuellen Merkmale der virtuellen Umgebung entlang der virtuellen 3D-Proxyoberfläche einer Richtung einer physischen Bewegung des tragbaren elektronischen Geräts in der physischen Umgebung entspricht.
  9. HMD-Gerät nach Anspruch 7, wobei eine Rate der Bewegung der virtuellen Merkmale der virtuellen Umgebung entlang der virtuellen 3D-Proxyoberfläche einer Rate einer physischen Bewegung des tragbaren elektronischen Geräts in der physischen Umgebung entspricht.
  10. HMD-Gerät nach Anspruch 1, wobei das Erkennen des Bewegungsbefehls beinhaltet: Erkennen der Betätigung einer Manipulationsvorrichtung eines tragbaren elektronischen Geräts, wobei das tragbare elektronische Gerät betriebsfähig mit dem HMD gekoppelt ist; Erkennen einer physischen Bewegung des tragbaren elektronischen Geräts mit der Manipulationsvorrichtung in dem betätigten Zustand; und Erkennen des Bewegungsbefehls in Reaktion auf die erkannte physische Bewegung des tragbaren elektronischen Geräts mit der Manipulationsvorrichtung in dem betätigten Zustand.
  11. HMD-Gerät nach Anspruch 10, wobei das Erkennen des Bewegungsbefehls in Reaktion auf die erkannte physische Bewegung des tragbaren elektronischen Geräts beinhaltet: Erkennen einer Größenordnung und einer Richtung der erkannten physischen Bewegung des tragbaren elektronischen Geräts; und Bewegen der virtuellen Merkmale der virtuellen Umgebung gemäß der erkannten Größenordnung und erkannten Richtung der erkannten physischen Bewegung des tragbaren elektronischen Geräts.
  12. Computerprogrammprodukt, das in einem nicht flüchtigen, computerlesbaren Medium enthalten ist, wobei auf dem computerlesbaren Medium eine Sequenz von Anweisungen gespeichert ist, die, wenn sie von einen Prozessor ausgeführt werden, den Prozessor veranlassen, ein Verfahren auszuführen, das Verfahren umfassend: Anzeigen einer virtuellen Umgebung aus einer ersten virtuellen Perspektive, die einer ersten virtuellen Position entspricht, in einem in einer physischen Umgebung betriebenen am Kopf befestigten Anzeigegerät (HMD), wobei die erste virtuelle Perspektive einer ersten virtuellen Position entspricht; Erkennen einer Auswahl einer zweiten virtuellen Position; Definieren einer dreidimensionalen (3D) virtuellen Proxyoberfläche basierend auf der ersten virtuellen Position und der zweiten virtuellen Position; Erkennen eines Bewegungsbefehls; Bewegen virtueller Merkmale der virtuellen Umgebung entlang der virtuellen 3D-Proxyoberfläche in Reaktion auf den erkannten Bewegungsbefehl; und Anzeigen der virtuellen Umgebung aus einer zweiten virtuellen Perspektive, die der zweiten virtuellen Position entspricht.
  13. Computerprogrammprodukt nach Anspruch 12, wobei das Definieren der virtuellen 3D-Proxyoberfläche basierend auf der ersten virtuellen Position und der zweiten virtuellen Position beinhaltet: Erkennen der ersten virtuellen Position basierend auf einer Position eines tragbaren elektronischen Geräts, wobei das tragbare elektronische Gerät betriebsfähig mit dem HMD gekoppelt ist; Erkennen der zweiten virtuellen Position basierend auf einer Ausrichtung des tragbaren elektronischen Geräts; und Definieren der virtuellen 3D-Proxyoberfläche basierend auf einer 3D-Erweiterung einer virtuellen Verbindung zwischen der ersten virtuellen Position und der zweiten virtuellen Position.
  14. Computerprogrammprodukt nach Anspruch 13, wobei Erkennen der ersten virtuellen Position beinhaltet: Erkennen der physischen Position des tragbaren elektronischen Geräts in der physischen Umgebung; und Zuordnen der erkannten Position des tragbaren elektronischen Geräts in der physischen Umgebung zu der ersten virtuellen Position in der virtuellen Umgebung; und Erkennen der Auswahl der zweiten virtuellen Position beinhaltet: Erkennen der Ausrichtung des tragbaren elektronischen Geräts in der physischen Umgebung; Zuordnen der erkannten Ausrichtung des tragbaren elektronischen Geräts in der physischen Umgebung zu einer entsprechenden Ausrichtung des tragbaren elektronischen Geräts in der virtuellen Umgebung; und Erkennen eines Schnittpunkts eines sich von dem tragbaren elektronischen Gerät und der zweiten virtuellen Position erstreckenden virtuellen Strahls basierend auf der Ausrichtung des tragbaren elektronischen Geräts in der virtuellen Umgebung.
  15. Computerprogrammprodukt nach Anspruch 14, wobei das Definieren der virtuellen 3D-Proxyoberfläche basierend auf der 3D-Erweiterung der virtuellen Verbindung zwischen der ersten virtuellen Position und der zweiten virtuellen Position beinhaltet: Definieren eines kegelförmigen 3D-Abschnitts der virtuellen 3D-Proxy; und Definieren eines sphärischen Abschnitts der virtuellen 3D-Proxyoberfläche, der sich von dem kegelförmigen 3D-Abschnitt der Proxyoberfläche erstreckt.
  16. Computerprogrammprodukt nach Anspruch 15, wobei Definieren des kegelförmigen 3D-Abschnitts der virtuellen 3D-Proxyoberfläche das Definieren des kegelförmigen 3D-Abschnitts der virtuellen 3D-Proxyoberfläche basierend auf einer 3D-Erweiterung einer sich zwischen der ersten virtuellen Position und der zweiten virtuellen Position erstreckenden virtuellen Linie beinhaltet; und Definieren des sphärischen 3D-Abschnitts der virtuellen 3D-Proxyoberfläche das Definieren des sphärischen 3D-Abschnitts der virtuellen 3D-Proxyoberfläche beinhaltet, die sich von einer Außenkante des kegelförmigen 3D-Abschnitts der virtuellen 3D-Proxyoberfläche erstreckt, an einem Schnittpunkt mit der zweiten virtuellen Position.
  17. Computerprogrammprodukt nach Anspruch 14, wobei das Bewegen der virtuellen Merkmale der virtuellen Umgebung entlang der virtuellen 3D-Proxyoberfläche das Bewegen einer Anzeige der virtuellen Merkmale der virtuellen Umgebung entlang einer Bahn beinhaltet, die der virtuellen 3D-Proxyoberfläche entspricht, um eine Perspektive der virtuellen Umgebung von der ersten virtuellen Position zu einer zweiten virtuellen Position zu verlagern.
  18. Computerprogrammprodukt nach Anspruch 17, wobei eine Richtung der Bewegung der virtuellen Merkmale der virtuellen Umgebung entlang der virtuellen 3D-Proxyoberfläche einer Richtung einer physischen Bewegung des tragbaren elektronischen Geräts in der physischen Umgebung entspricht.
  19. Computerprogrammprodukt nach Anspruch 17, wobei eine Rate der Bewegung der virtuellen Merkmale der virtuellen Umgebung entlang der virtuellen 3D-Proxyoberfläche einer Rate einer physischen Bewegung des tragbaren elektronischen Geräts in der physischen Umgebung entspricht.
  20. Computerprogrammprodukt nach Anspruch 12, wobei das Erkennen des Bewegungsbefehls beinhaltet: Erkennen der Betätigung einer Manipulationsvorrichtung eines tragbaren elektronischen Geräts, wobei das tragbare elektronische Gerät betriebsfähig mit dem HMD gekoppelt ist; Erkennen einer physischen Bewegung des tragbaren elektronischen Geräts mit der Manipulationsvorrichtung in dem betätigten Zustand; und Erkennen des Bewegungsbefehls in Reaktion auf die erkannte physische Bewegung des tragbaren elektronischen Geräts mit der Manipulationsvorrichtung in dem betätigten Zustand.
  21. Computerprogrammprodukt nach Anspruch 20, wobei das Erkennen des Bewegungsbefehls in Reaktion auf die erkannte physische Bewegung des tragbaren elektronischen Geräts beinhaltet: Erkennen einer Größenordnung und einer Richtung der erkannten physischen Bewegung des tragbaren elektronischen Geräts; und Bewegen der virtuellen Merkmale der virtuellen Umgebung gemäß der erkannten Größenordnung und erkannten Richtung der erkannten physischen Bewegung des tragbaren elektronischen Geräts.
DE202017105200.1U 2016-11-15 2017-08-29 Ziehen von virtuellen Elementen einer erweiterten und/oder virtuellen Realitätsumgebung Active DE202017105200U1 (de)

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 2017-08-23
US15/684,314 US10359863B2 (en) 2016-11-15 2017-08-23 Dragging virtual elements of an augmented and/or virtual reality environment

Publications (1)

Publication Number Publication Date
DE202017105200U1 true DE202017105200U1 (de) 2018-02-16

Family

ID=59762103

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202017105200.1U Active DE202017105200U1 (de) 2016-11-15 2017-08-29 Ziehen von virtuellen Elementen einer erweiterten und/oder virtuellen Realitätsumgebung
DE102017119812.1A Withdrawn DE102017119812A1 (de) 2016-11-15 2017-08-29 Ziehen von virtuellen elementen einer erweiterten und/oder virtuellen realitätsumgebung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE102017119812.1A Withdrawn DE102017119812A1 (de) 2016-11-15 2017-08-29 Ziehen von virtuellen elementen einer erweiterten und/oder virtuellen realitätsumgebung

Country Status (5)

Country Link
US (1) US10359863B2 (de)
EP (1) EP3321777B1 (de)
CN (1) CN108073276B (de)
DE (2) DE202017105200U1 (de)
WO (1) WO2018093436A1 (de)

Families Citing this family (13)

* 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
CN109032350B (zh) * 2018-07-10 2021-06-29 深圳市创凯智能股份有限公司 眩晕感减轻方法、虚拟现实设备及计算机可读存储介质
US10976820B2 (en) * 2018-07-12 2021-04-13 Microsoft Technology Licensing, Llc Natural interactions with virtual objects and data through touch
DE102018213556A1 (de) 2018-08-10 2020-02-13 Audi Ag Verfahren und System zum Betreiben von zumindest zwei von jeweiligen Fahrzeuginsassen am Kopf getragenen Anzeigeeinrichtungen
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点阵屏显示交互装置及方法
US11099634B2 (en) * 2019-01-25 2021-08-24 Apple Inc. Manipulation of virtual objects using a tracked physical object
US11250617B1 (en) * 2019-09-25 2022-02-15 Amazon Technologies, Inc. Virtual camera controlled by a camera control device
CN111142669B (zh) * 2019-12-28 2023-08-29 上海米哈游天命科技有限公司 二维界面到三维场景的交互方法、装置、设备及存储介质
US20230315822A1 (en) * 2022-03-31 2023-10-05 Lenovo (Singapore) Pte. Ltd. 3d passcode provided in virtual space

Family Cites Families (10)

* 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
US10972680B2 (en) * 2011-03-10 2021-04-06 Microsoft Technology Licensing, Llc Theme-based augmentation of photorepresentative view
CA2927447C (en) 2012-10-23 2021-11-30 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
CN104460951A (zh) * 2013-09-12 2015-03-25 天津智树电子科技有限公司 一种人机交互方法
US9643314B2 (en) 2015-03-04 2017-05-09 The Johns Hopkins University Robot control, training and collaboration in an immersive virtual reality environment
US10156908B2 (en) * 2015-04-15 2018-12-18 Sony Interactive Entertainment Inc. Pinch and hold gesture navigation on a head-mounted display
US20170185261A1 (en) 2015-12-28 2017-06-29 Htc Corporation Virtual reality device, method for virtual reality
CN106527887B (zh) * 2016-10-18 2018-09-04 腾讯科技(深圳)有限公司 虚拟物体选取方法、装置及vr系统

Also Published As

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

Similar Documents

Publication Publication Date Title
DE202017105200U1 (de) Ziehen von virtuellen Elementen einer erweiterten und/oder virtuellen Realitätsumgebung
DE202017105262U1 (de) Erzeugen virtueller Notationsoberflächen mit Gesten in einer erweiterten und/oder virtuellen Realitätsumgebung
DE202017104928U1 (de) Manipulation virtueller Objekte anhand von Controllern mit sechs Freiheitsgraden in erweiterten bzw. virtuellen Realitätsumgebungen
DE202017105307U1 (de) Umschalten aktiver Objekte in einer erweiterten Realitäts- und/oder virtuellen Realitätsumgebung
DE202016008297U1 (de) Zweihändige Objektmanipulationen in der virtuellen Realität
DE202017105283U1 (de) Sitzungsende-Erkennung in einer Augmented- und/oder Virtual-Reality-Umgebung
DE202017104403U1 (de) Erkennen des Benutzerbewegungsbereichs für Virtual-Reality-Benutzeroberflächen
DE10063089C1 (de) Anwendergesteuerte Verknüpfung von Informationen innerhalb eines Augmented-Reality-Systems
DE202017006742U1 (de) Eingabegerät-Stabilisierungstechniken für virtuelle Realitätssysteme
US9529513B2 (en) Two-hand interaction with natural user interface
DE112006002954T5 (de) Virtuelles Schnittstellensystem
DE112020002268T5 (de) Vorrichtung, verfahren und computerlesbares medium zur darstellung von dateien computergenerierter realität
DE112017005753T5 (de) Standortglobus in virtueller realität
US10649616B2 (en) Volumetric multi-selection interface for selecting multiple objects in 3D space
DE202017104323U1 (de) Anzeige und Interaktion mit gescannter Umgebungsgeometrie in virtueller Realität
DE112020000573T5 (de) Anzeigen von darstellungen von umgebungen
DE102022110363A1 (de) Verfahren und vorrichtung zur debugging-programmausführung und inhaltswiedergabe
DE112018005641T5 (de) Informationsverarbeitungsgerät, informationsverarbeitungsverfahren und programm
DE102022117756A1 (de) Anweisen eines virtuellen agenten basierend auf dem blinkverhalten eines benutzers
DE112019003239T5 (de) Breakpoints auf view-basis
DE102020101675A1 (de) Manipulation von virtuellen objekten mittels eines verfolgten physischen objekts
DE102021120629B3 (de) Verfahren und Vorrichtung zur Bewegungssteuerung eines virtuell verkörperten realphysischen Avatars, Computerprogramm zur Durchführung eines solchen Verfahrens
DE112022003443T5 (de) Datenverarbeitungseinrichtung, datenverarbeitungsverfahren und programm
DE112022003302T5 (de) Verfahren und systeme zum ändern einer anzeige basierend auf benutzereingabe und -blick
DE112022001416T5 (de) Dreidimensionale programmierumgebung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years