DE102020101675A1 - MANIPULATION OF VIRTUAL OBJECTS BY MEANS OF A TRACKED PHYSICAL OBJECT - Google Patents

MANIPULATION OF VIRTUAL OBJECTS BY MEANS OF A TRACKED PHYSICAL OBJECT Download PDF

Info

Publication number
DE102020101675A1
DE102020101675A1 DE102020101675.1A DE102020101675A DE102020101675A1 DE 102020101675 A1 DE102020101675 A1 DE 102020101675A1 DE 102020101675 A DE102020101675 A DE 102020101675A DE 102020101675 A1 DE102020101675 A1 DE 102020101675A1
Authority
DE
Germany
Prior art keywords
proxy device
virtual object
virtual
input
housing
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.)
Pending
Application number
DE102020101675.1A
Other languages
German (de)
Inventor
Austin C. Germer
Ryan S. Burgoyne
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.)
Apple Inc
Original Assignee
Apple Inc
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
Priority claimed from US16/745,472 external-priority patent/US11099634B2/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of DE102020101675A1 publication Critical patent/DE102020101675A1/en
Pending legal-status Critical Current

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/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/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

Landscapes

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

Abstract

In einer Implementierung wird ein Verfahren zur Manipulation virtueller Objekte unter Verwendung von verfolgten physischen Objekten offenbart. Das Verfahren schließt die Präsentation von Inhalten einschließlich eines virtuellen Objekts und einer virtuellen Darstellung einer Proxy-Vorrichtung, die physisch nicht einer elektronischen Vorrichtung zugeordnet ist, auf einem Display einer elektronischen Vorrichtung ein. Eingaben werden von der Proxy-Vorrichtung unter Verwendung einer Eingabevorrichtung der Proxy-Vorrichtung empfangen, die eine Anforderung zum Erzeugen einer festen Ausrichtung zwischen dem virtuellen Objekt und der virtuellen Darstellung in einem dreidimensionalen („3-D“-) Koordinatenraum, der für den Inhalt definiert ist, darstellt. Die feste Ausrichtung wird als Reaktion auf den Empfang der Eingabe erzeugt. Eine Position und eine Ausrichtung des virtuellen Objekts im 3-D-Koordinatenraum wird dynamisch aktualisiert, wobei Positionsdaten verwendet werden, welche die Bewegung der Proxy-Vorrichtung in der physischen Umgebung definieren.In one implementation, a method for manipulating virtual objects using tracked physical objects is disclosed. The method includes presenting content including a virtual object and a virtual representation of a proxy device that is not physically associated with an electronic device on a display of an electronic device. Inputs are received from the proxy device using an input device of the proxy device that has a request to create a fixed alignment between the virtual object and the virtual representation in a three-dimensional ("3-D") coordinate space relevant to the content is defined. The fixed alignment is created in response to receiving the input. A position and an orientation of the virtual object in the 3-D coordinate space is updated dynamically using position data that define the movement of the proxy device in the physical environment.

Description

QUERVERWEIS AUF VERWANDTE ANMELDUNGENCROSS REFERENCE TO RELATED APPLICATIONS

Diese Anmeldung beansprucht den Nutzen auf die vorläufige US-Patentanmeldung Nr. 62/736.551 , eingereicht am Freitag, 25. Januar 2019, die in ihrer Gesamtheit hierin aufgenommen ist.This application claims the benefit of the preliminary U.S. Patent Application No. 62 / 736,551 , filed on Friday, January 25, 2019, the entirety of which is incorporated herein.

TECHNISCHES GEBIETTECHNICAL AREA

Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Systeme, Verfahren und Vorrichtungen zur Darstellung von Inhalten auf einem Display einer elektronischen Vorrichtung und insbesondere auf die Manipulation virtueller Objekte mittels eines verfolgten physischen Objekts während der Darstellung von Inhalten auf einem Display einer elektronischen Vorrichtung.The present disclosure relates generally to systems, methods, and devices for displaying content on a display of an electronic device, and more particularly, for manipulating virtual objects by means of a tracked physical object while displaying content on a display of an electronic device.

HINTERGRUNDBACKGROUND

Es gibt verschiedene elektronische Vorrichtungen, wie etwa Datenhelme (auch als Headsets und HMDs bekannt), mit Displays, die dem Benutzer eine Umgebung mit computergenerierter Realität (CGR) bieten, in der er vollständig in eine umgebende physische Umgebung, vollständig in eine Umgebung mit virtuellen Objekten oder irgendwo dazwischen eintauchen kann. Während die direkte Manipulation von physischen Objekten in der umgebenden physischen Umgebung für den Benutzer natürlich möglich ist, gilt dies nicht für virtuelle Objekte in der CGR-Umgebung. Das Fehlen einer Möglichkeit zur direkten Interaktion mit virtuellen Objekten, die einem Benutzer als Teil einer CGR-Umgebung präsentiert werden, schränkt das Ausmaß ein, in dem die virtuellen Objekte in die CGR-Umgebung integriert sind. Daher kann es wünschenswert sein, den Benutzern ein Mittel zur direkten Manipulation virtueller Objekte, die als Teil einer CGR-Umgebung präsentiert werden, zur Verfügung zu stellen.There are various electronic devices, such as data helmets (also known as headsets and HMDs), with displays that provide the user with a computer-generated reality (CGR) environment in which they are completely in a surrounding physical environment, completely in a virtual environment Objects or somewhere in between. While direct manipulation of physical objects in the surrounding physical environment is of course possible for the user, this does not apply to virtual objects in the CGR environment. The lack of a way to interact directly with virtual objects presented to a user as part of a CGR environment limits the extent to which the virtual objects are integrated into the CGR environment. Therefore, it may be desirable to provide users with a means to directly manipulate virtual objects presented as part of a CGR environment.

KURZDARSTELLUNGSUMMARY

Zu den verschiedenen hierin offenbarten Implementierungen gehören Vorrichtungen, Systeme und Verfahren zur Manipulation virtueller Objekte mittels eines verfolgten physischen Objekts bei gleichzeitiger Präsentation von Inhalten auf einem Display einer elektronischen Vorrichtung. In einer Implementierung schließt ein Verfahren die Präsentation von Inhalten einschließlich eines virtuellen Objekts und einer virtuellen Darstellung einer Proxy-Vorrichtung, die physisch nicht mit einer elektronischen Vorrichtung verbunden ist, auf einem Display einer elektronischen Vorrichtung ein. Die Proxy-Vorrichtung schließt eine Eingabevorrichtung, die auf einer äußeren Oberfläche eines Gehäuses angeordnet ist, ein, das die peripheren Grenzen der Proxy-Vorrichtung definiert. Das Gehäuse ist symmetrisch in Bezug auf jede Achse eines Proxy-Vorrichtungs-Referenzrahmens, der in der Mitte der Proxy-Vorrichtung fixiert ist. Eingaben werden von der Proxy-Vorrichtung über die Eingabevorrichtung empfangen, die eine Anforderung zur Erstellung einer festen Ausrichtung zwischen dem virtuellen Objekt und der virtuellen Darstellung in einem dreidimensionalen („3-D“-) Koordinatenraum, der für den Inhalt definiert ist, darstellt. Die feste Ausrichtung wird als Reaktion auf den Empfang der Eingabe erstellt. Eine Position und eine Ausrichtung des virtuellen Objekts im 3-D-Koordinatenraum wird dynamisch aktualisiert, wobei Positionsdaten verwendet werden, welche die Bewegung der Proxy-Vorrichtung in der physischen Umgebung definieren.The various implementations disclosed herein include devices, systems, and methods for manipulating virtual objects using a tracked physical object while presenting content on a display of an electronic device. In one implementation, a method includes presenting content including a virtual object and a virtual representation of a proxy device that is not physically connected to an electronic device on a display of an electronic device. The proxy device includes an input device disposed on an outer surface of a housing that defines the peripheral boundaries of the proxy device. The housing is symmetrical with respect to each axis of a proxy device reference frame, which is fixed in the middle of the proxy device. Input is received from the proxy device via the input device, which is a request to create a fixed alignment between the virtual object and the virtual representation in a three-dimensional (“3-D”) coordinate space defined for the content. The fixed alignment is created in response to receiving the input. A position and an orientation of the virtual object in the 3-D coordinate space is updated dynamically using position data that define the movement of the proxy device in the physical environment.

In einer Implementierung speichert ein nicht-flüchtiges computerlesbares Speichermedium Programmanweisungen, die durch einen Prozessor ausführbar sind, um Operationen durchzuführen. Die Operationen schließen die Präsentation von Inhalten einschließlich eines virtuellen Objekts und einer virtuellen Darstellung einer Proxy-Vorrichtung, die physisch nicht mit einer elektronischen Vorrichtung verbunden ist, auf einem Display einer elektronischen Vorrichtung ein. Die Proxy-Vorrichtung schließt eine Eingabevorrichtung, die auf einer äußeren Oberfläche eines Gehäuses angeordnet ist, ein, das die peripheren Grenzen der Proxy-Vorrichtung definiert. Das Gehäuse ist für die Manipulation durch eine Greifkraft angepasst, die von der Hand eines Benutzers auf diametral entgegengesetzte Oberflächenbereiche des Gehäuses und auf einen anderen Oberflächenbereich des Gehäuses, der orthogonal zu den diametral entgegengesetzten Oberflächenbereichen positioniert ist, ausgeübt wird. Eingaben werden von der Proxy-Vorrichtung über die Eingabevorrichtung empfangen, die eine Anforderung zur Erstellung einer festen Ausrichtung zwischen dem virtuellen Objekt und der virtuellen Darstellung in einem dreidimensionalen („3-D“-) Koordinatenraum, der für den Inhalt definierten ist, darstellt. Die feste Ausrichtung wird als Reaktion auf den Empfang der Eingabe erstellt. Eine Position und eine Ausrichtung des virtuellen Objekts im 3-D-Koordinatenraum wird dynamisch aktualisiert, wobei Positionsdaten verwendet werden, die die Bewegung der Proxy-Vorrichtung in der physischen Umgebung definieren.In one implementation, a non-volatile computer readable storage medium stores program instructions that are executable by a processor to perform operations. The operations include presenting content including a virtual object and a virtual representation of a proxy device that is not physically connected to an electronic device on a display of an electronic device. The proxy device includes an input device disposed on an outer surface of a housing that defines the peripheral boundaries of the proxy device. The housing is adapted for manipulation by a gripping force exerted by a user's hand on diametrically opposite surface areas of the housing and on another surface area of the housing which is positioned orthogonally to the diametrically opposite surface areas. Input is received by the proxy device via the input device, which is a request to create a fixed alignment between the virtual object and the virtual representation in a three-dimensional (“3-D”) coordinate space defined for the content. The fixed alignment is created in response to receiving the input. A position and orientation of the virtual object in the 3-D coordinate space is updated dynamically using position data that defines the movement of the proxy device in the physical environment.

In einer anderen Implementierung enthält eine Proxy-Vorrichtungen ein Gehäuse, das die peripheren Grenzen der Proxy-Vorrichtung und einer Eingabevorrichtung definiert. Das Gehäuse ist symmetrisch in Bezug auf jede Achse eines Proxy-Vorrichtungs-Referenzrahmens, der in der Mitte der Proxy-Vorrichtung fixiert ist. Die Eingabevorrichtung ist auf einer äußeren Oberfläche des Gehäuses angeordnet und so konfiguriert, dass sie Eingaben empfängt, die Anforderungen für Manipulationen eines virtuellen Objekts darstellen, das in einem Inhalt enthalten ist, der auf einem Display einer elektronischen Vorrichtung präsentiert wird, die physisch nicht mit der Proxy-Vorrichtung verbunden ist, über eine virtuelle Darstellung der Proxy-Vorrichtung im Inhalt. Die Bewegung der Proxy-Vorrichtung in einer physischen Umgebung übersetzt sich in eine Bewegung der virtuellen Darstellung in einem dreidimensionalen („3-D“-) Koordinatenraum, der für den Inhalt definiert ist.In another implementation, a proxy device includes a housing that defines the peripheral boundaries of the proxy device and an input device. The housing is symmetrical with respect to each axis of a proxy device reference frame, which is fixed in the middle of the proxy device. The input device is disposed on an outer surface of the housing and configured to receive inputs represent the requirements for tampering with a virtual object contained in content presented on a display of an electronic device that is not physically connected to the proxy device via a virtual representation of the proxy device in the content. The movement of the proxy device in a physical environment translates into a movement of the virtual representation in a three-dimensional (“3-D”) coordinate space that is defined for the content.

Gemäß einigen Implementierungen weist eine elektronische Vorrichtung einen oder mehrere Prozessoren, Speicher und eines oder mehrere Programme auf; das eine oder die mehreren Programme werden in dem nicht-flüchtigen Speicher gespeichert und so konfiguriert, dass sie von dem einen oder den mehreren Prozessoren ausgeführt werden, und das eine oder die mehreren Programme beinhalten Anweisungen für die Ausführung oder die Veranlassung zum Ausführen jedes der hier beschriebenen Verfahren auf. Gemäß einigen Implementierungen sind in einem nicht-flüchtigen computerlesbaren Speichermedium Anweisungen gespeichert, die, wenn sie von einem oder mehreren Prozessoren einer Vorrichtung ausgeführt werden, dafür sorgen, dass die Vorrichtung jedes der hier beschriebenen Verfahren durchführt oder deren Ausführung veranlasst. Gemäß einigen Implementierungen beinhaltet die Vorrichtung: einen oder mehrere Prozessoren, einen nicht-flüchtigen Speicher und Mittel zur Durchführung oder Veranlassung der Durchführung eines der hier beschriebenen Verfahren.According to some implementations, an electronic device includes one or more processors, memories, and one or more programs; the one or more programs are stored in the non-volatile memory and configured to be executed by the one or more processors, and the one or more programs include instructions for execution or cause to execute each of them here described method. In some implementations, instructions are stored in a non-volatile computer readable storage medium that, when executed by one or more processors of a device, cause the device to perform or cause any of the methods described herein to be performed. According to some implementations, the device includes: one or more processors, non-volatile memory, and means for performing or causing one of the methods described herein to be performed.

FigurenlisteFigure list

Damit die vorliegende Offenbarung vom Fachmann verstanden werden kann, kann eine detailliertere Beschreibung unter Bezugnahme auf Gesichtspunkte einiger anschaulicher Implementierungen bereitgestellt werden, von denen einige in den beigefügten Zeichnungen gezeigt sind.

  • 1 zeigt ein Blockdiagramm einer beispielhaften Betriebsumgebung gemäß einigen Implementierungen.
  • 2 veranschaulicht ein Beispiel für die Darstellung von Inhalten, die eine Ansicht einer computergenerierten Realitätsumgebung auf einem Display einer elektronischen Vorrichtung darstellen, während sich die elektronische Vorrichtung in einer physischen Umgebung befindet, die mit der in 1 veranschaulichten Betriebsumgebung verbunden ist.
  • 3 veranschaulicht ein Beispiel für die Aktualisierung des in 2 veranschaulichten Inhalts mit visuellem Feedback, das mit einer virtuellen Darstellung eines verfolgten physischen Objekts verbunden ist, um mit virtuellen Objekten in der Umgebung der computergenerierten Realität zu interagieren.
  • 4 veranschaulicht ein Beispiel für die Aktualisierung des in 2 veranschaulichten Inhalts, um eine feste Ausrichtung zwischen einem virtuellen Objekt und einer virtuellen Darstellung eines verfolgten physischen Objekts zu erstellen.
  • 5 ist ein Blockdiagramm der in 1 veranschaulichten beispielhaften Betriebsumgebung nach der physischen Bewegung eines verfolgten physischen Objekts in einer physischen Umgebung.
  • 6 veranschaulicht ein Beispiel für die dynamische Aktualisierung des Inhalts von 4 als Reaktion auf die physische Bewegung des verfolgten physischen Objekts in der physischen Umgebung.
  • 7 veranschaulicht ein Beispiel für ein verfolgtes physisches Objekt in Übereinstimmung mit einigen Implementierungen.
  • 8 veranschaulicht ein weiteres Beispiel für ein verfolgtes physisches Objekt in Übereinstimmung mit einigen Implementierungen.
  • 9 ist ein Flussdiagramm, das ein Beispiel für ein Verfahren zur Manipulation virtueller Objekte unter Verwendung eines verfolgten physischen Objekts bei gleichzeitiger Darstellung des Inhalts auf einem Display einer elektronischen Vorrichtung zeigt.
  • 10 ist Blockdiagramm einer beispielhaften elektronischen Vorrichtung, die für einige Implementierungen geeignet ist.
In order that the present disclosure may be understood by those skilled in the art, a more detailed description may be provided with respect to aspects of some illustrative implementations, some of which are shown in the accompanying drawings.
  • 1 13 shows a block diagram of an example operating environment in accordance with some implementations.
  • 2nd 10 illustrates an example of the representation of content that is a view of a computer-generated reality environment on a display of an electronic device while the electronic device is in a physical environment that is similar to that shown in FIG 1 illustrated operating environment is connected.
  • 3rd illustrates an example of updating the in 2nd illustrated content with visual feedback associated with a virtual representation of a tracked physical object to interact with virtual objects in the environment of computer-generated reality.
  • 4th illustrates an example of updating the in 2nd illustrated content to create a fixed alignment between a virtual object and a virtual representation of a tracked physical object.
  • 5 is a block diagram of the in 1 illustrated exemplary operating environment after the physical movement of a tracked physical object in a physical environment.
  • 6 illustrates an example of dynamically updating the content of 4th in response to the physical movement of the tracked physical object in the physical environment.
  • 7 illustrates an example of a tracked physical object in accordance with some implementations.
  • 8th illustrates another example of a tracked physical object in accordance with some implementations.
  • 9 FIG. 14 is a flowchart showing an example of a method for manipulating virtual objects using a tracked physical object while displaying the content on a display of an electronic device.
  • 10th FIG. 4 is a block diagram of an exemplary electronic device suitable for some implementations.

Gemäß allgemeiner Praxis können die verschiedenen Merkmale, die in den Zeichnungen veranschaulicht sind, nicht maßstabsgetreu gezeichnet sein. Dementsprechend können die Abmessungen der verschiedenen Merkmale aus Gründen der Klarheit beliebig erweitert oder reduziert werden. Zusätzlich können einige der Zeichnungen nicht alle Komponenten eines gegebenen Systems, Verfahrens oder einer gegebenen Vorrichtung darstellen. Schließlich können gleiche Bezugszeichen verwendet werden, um gleiche Merkmale überall in der Beschreibung und den Figuren zu bezeichnen.In accordance with general practice, the various features illustrated in the drawings may not be drawn to scale. Accordingly, the dimensions of the various features can be expanded or reduced as desired for clarity. In addition, some of the drawings may not represent all components of a given system, method, or device. Finally, like reference numerals may be used to refer to like features throughout the description and figures.

BESCHREIBUNGDESCRIPTION

Zahlreiche Details werden beschrieben, um ein gründliches Verständnis der in den Zeichnungen gezeigten beispielhaften Implementierungen bereitzustellen. Die Zeichnungen zeigen jedoch lediglich einige beispielhafte Gesichtspunkte der vorliegenden Offenbarung und sind daher nicht als einschränkend zu betrachten. Der Fachmann wird erkennen, dass andere effektive Gesichtspunkte oder Varianten nicht alle der hierin beschriebenen spezifischen Details einschließen. Außerdem wurden gut bekannte Systeme, Verfahren, Komponenten, Vorrichtungen und Schaltungen nicht in abschließendem Detail beschrieben, um relevantere Gesichtspunkte der hierin beschriebenen beispielhaften Implementierungen nicht zu verunklaren.Numerous details are described to provide a thorough understanding of the exemplary implementations shown in the drawings. However, the drawings show only a few exemplary aspects of the present disclosure and are therefore not to be considered restrictive. Those skilled in the art will recognize that other effective aspects or variants do not all of those described herein include specific details. In addition, well-known systems, methods, components, devices, and circuits have not been described in exhaustive detail so as not to obscure more relevant aspects of the exemplary implementations described herein.

Unter Bezugnahme auf 1 wird ein Beispiel für eine Betriebsumgebung 100 zur Umsetzung von Gesichtspunkten der vorliegenden Offenbarung veranschaulicht und allgemein als 100 bezeichnet. Im Allgemeinen veranschaulicht die Betriebsumgebung 100 eine elektronische Vorrichtung 120, die so konfiguriert ist, dass sie einem Benutzer Inhalte präsentiert, die einer computergenerierten Realitätsumgebung entsprechen. Wie hierin verwendet, bezieht sich eine physische Umgebung auf eine Welt, die der Einzelne wahrnehmen kann und/oder mit welcher der Einzelne ohne Unterstützung durch elektronische Systeme interagieren kann. Physische Umgebungen (z. B. ein physischer Wald) umfassen physische Elemente (z. B. physische Bäume, physische Strukturen und physische Tiere). Individuen können direkt mit der physischen Umgebung interagieren und/oder diese wahrnehmen, z. B. durch Berührung, Sehen, Riechen, Hören und Schmecken. With reference to 1 becomes an example of an operating environment 100 illustrated to implement aspects of the present disclosure and generally as 100 designated. Generally illustrates the operating environment 100 an electronic device 120 configured to present content to a user that corresponds to a computer-generated reality environment. As used herein, a physical environment refers to a world that the individual can perceive and / or with which the individual can interact without the assistance of electronic systems. Physical environments (e.g., a physical forest) include physical elements (e.g., physical trees, physical structures, and physical animals). Individuals can interact and / or perceive directly with the physical environment, e.g. B. by touch, sight, smell, hearing and taste.

Eine Umgebung der computergenerierten Realität (CGR) bezieht sich auf eine ganz oder teilweise simulierte Umgebung, die Menschen über ein elektronisches System wahrnehmen und/oder mit ihr interagieren. In der CGR wird eine Teilmenge der physischen Bewegungen einer Person oder deren Darstellungen verfolgt, und als Reaktion darauf werden eine oder mehrere Eigenschaften eines oder mehrerer virtueller Objekte, die in der CGR-Umgebung simuliert werden, so angepasst, dass sie sich mindestens einem physischen Gesetz entsprechend verhalten. Zum Beispiel kann ein CGR-System die Kopfdrehung einer Person erfassen und als Reaktion darauf den der Person präsentierten graphischen Inhalt und ein akustisches Feld auf ähnliche Weise einstellen, wie solche Ansichten und Töne sich in einer physischen Umgebung ändern würden. In einigen Situationen (z. B. aus Gründen der Zugänglichkeit) können Anpassungen an den Merkmalen virtueller Objekte in einer CGR-Umgebung als Reaktion auf Darstellungen physischer Bewegungen (z. B. Stimmbefehle) vorgenommen werden.An environment of computer-generated reality (CGR) refers to a fully or partially simulated environment that people perceive and / or interact with via an electronic system. The CGR tracks a subset of a person's physical movements or representations, and in response, one or more properties of one or more virtual objects simulated in the CGR environment are adjusted to conform to at least one physical law behave accordingly. For example, a CGR system can sense a person's head rotation and, in response, adjust the graphic content presented to the person and an acoustic field in a manner similar to how such views and sounds would change in a physical environment. In some situations (e.g., for reasons of accessibility), adjustments to the characteristics of virtual objects in a CGR environment can be made in response to representations of physical movements (e.g. voice commands).

Eine Person kann ein CGR-Objekt mit einem ihrer Sinne wahrnehmen und/oder mit ihm interagieren, einschließlich Sehen, Hören, Berühren, Schmecken und Riechen. So kann beispielsweise eine Person Audioobjekte wahrnehmen und/oder mit ihnen interagieren, die eine 3D- oder räumliche Audioumgebung erzeugen, die die Wahrnehmung von Punkt-Audioquellen im 3D-Raum ermöglicht. In einem anderen Beispiel können Audioobjekte Audiotransparenz ermöglichen, die selektiv Umgebungsgeräusche aus der physischen Umgebung mit oder ohne computergeneriertes Audio einbezieht. In einigen CGR-Umgebungen kann eine Person nur Audioobjekte wahrnehmen und/oder mit ihnen interagieren.A person can perceive and / or interact with a CGR object with one of their senses, including seeing, hearing, touching, tasting and smelling. For example, a person can perceive and / or interact with audio objects that create a 3D or spatial audio environment that enables the perception of point audio sources in 3D space. In another example, audio objects can provide audio transparency that selectively incorporates ambient sounds from the physical environment with or without computer-generated audio. In some CGR environments, a person can only perceive and / or interact with audio objects.

Beispiele für CGR schließen virtuelle Realität und gemischte Realität ein. Eine Virtual-Reality-Umgebung (VR-Umgebung) bezieht sich auf eine simulierte Umgebung, die so ausgelegt ist, dass sie vollständig auf computergenerierten sensorischen Eingaben für einen oder mehrere Sinne basiert. Eine VR-Umgebung umfasst virtuelle Objekte, mit denen eine Person interagieren und/oder die sie wahrnehmen kann. Beispielsweise sind computergenerierte Bilder von Bäumen, Gebäuden und Avatars, die Menschen darstellen, Beispiele virtueller Objekte. Eine Person kann virtuelle Objekte in der VR-Umgebung durch eine Simulation der Anwesenheit der Person in der computergenerierten Umgebung und/oder durch eine Simulation einer Teilmenge der physischen Bewegungen der Person in der computergenerierten Umgebung wahrnehmen und/oder mit ihnen interagieren.Examples of CGR include virtual reality and mixed reality. A virtual reality environment (VR environment) refers to a simulated environment that is designed to be based entirely on computer-generated sensory inputs for one or more senses. A VR environment includes virtual objects that a person can interact with and / or perceive. For example, computer-generated images of trees, buildings, and avatars that represent people are examples of virtual objects. A person can perceive and / or interact with virtual objects in the VR environment by simulating the person's presence in the computer-generated environment and / or by simulating a subset of the person's physical movements in the computer-generated environment.

Im Gegensatz zu einer VR-Umgebung, die vollständig auf computergenerierten sensorischen Eingaben basiert, bezieht sich eine Mixed-Reality-Umgebung (MR-Umgebung) auf eine simulierte Umgebung, die dazu ausgelegt ist, sensorische Eingaben von der physischen Umgebung oder eine Darstellung davon zusätzlich zu computergenerierten sensorischen Eingaben (z. B. virtuellen Objekten) aufzunehmen. Auf einem Virtualitätskontinuum befindet sich eine Mixed-Reality-Umgebung irgendwo zwischen einer vollständig physischen Umgebung an einem Ende und einer Virtual-Reality-Umgebung am anderen Ende, ist aber nicht darauf beschränkt.Unlike a VR environment that is based entirely on computer-generated sensory inputs, a mixed reality (MR) environment refers to a simulated environment that is designed to provide sensory inputs from, or a representation of, the physical environment for computer-generated sensory inputs (e.g. virtual objects). On a virtuality continuum, a mixed reality environment is somewhere between, but is not limited to, a fully physical environment at one end and a virtual reality environment at the other end.

In manchen MR-Umgebungen können computergenerierte sensorische Eingaben auf Änderungen der sensorischen Eingaben von der physischen Umgebung reagieren. Außerdem können einige elektronische Systeme zur Darstellung einer MR-Umgebung den Standort und/oder die Ausrichtung in Bezug auf die physische Umgebung verfolgen, um es virtuellen Objekten zu ermöglichen, mit realen Objekten zu interagieren (d. h. physische Artikel aus der physischen Umgebung oder deren Darstellungen). Zum Beispiel kann ein System Bewegungen berücksichtigen, sodass ein virtueller Baum in Bezug auf die physische Erde stationär erscheint.In some MR environments, computer generated sensory inputs can respond to changes in sensory inputs from the physical environment. In addition, some electronic systems for displaying an MR environment can track the location and / or orientation relative to the physical environment to allow virtual objects to interact with real objects (ie physical items from the physical environment or their representations) . For example, a system can take movements into account so that a virtual tree appears stationary with respect to the physical earth.

Beispiele für gemischte Realitäten schließen erweiterte Realität (augmented reality) und erweiterte Virtualität (augmented virtuality) ein. Eine Augmented-Reality-Umgebung (AR-Umgebung) bezieht sich auf eine simulierte Umgebung, in der ein oder mehrere virtuelle Objekte über eine physische Umgebung oder eine Darstellung davon gelegt werden. Zum Beispiel kann ein elektronisches System zum Präsentieren einer AR-Umgebung ein transparentes oder transluzentes Display aufweisen, durch das eine Person die physische Umgebung direkt betrachten kann. Das System kann konfiguriert sein, virtuelle Objekte auf dem transparenten oder transluzenten Display darzustellen, sodass eine Person unter Verwendung des Systems die virtuellen Objekte wahrnimmt, die über die physische Umgebung gelegt wurden. Alternativ kann ein System ein opakes Display und einen oder mehrere bildgebende Sensoren aufweisen, die Bilder oder Video der physischen Umgebung erfassen, die Darstellungen der physischen Umgebung sind. Das System setzt die Bilder oder Videos mit virtuellen Objekten zusammen, und stellt die Zusammensetzung auf dem opaken Display dar. Eine Person, die das System verwendet, betrachtet indirekt die physische Umgebung über die Bilder oder das Video der physischen Umgebung und nimmt die virtuellen Objekte wahr, die über die physische Umgebung gelegt wurden. Wie hierin verwendet, wird ein Video der physischen Umgebung, das auf einem opaken Display angezeigt wird, „Pass-Through-Video“ genannt, was bedeutet, dass ein System einen oder mehrere Bildsensoren verwendet, um Bilder der physischen Umgebung aufzunehmen, und diese Bilder verwendet, um die AR-Umgebung auf dem opaken Display darzustellen. Alternativ kann ein System auch ein Projektionssystem aufweisen, das virtuelle Objekte in die physische Umgebung projiziert, z. B. als Hologramm oder auf einer physischen Oberfläche, sodass eine Person, die das System verwendet, die über die physische Umgebung gelegten virtuellen Objekte wahrnimmt.Examples of mixed realities include augmented reality and augmented virtuality. An augmented reality (AR) environment refers to a simulated environment in which one or more virtual objects are placed over a physical environment or a representation thereof. For example, an electronic system for Present an AR environment have a transparent or translucent display through which a person can directly view the physical environment. The system can be configured to display virtual objects on the transparent or translucent display so that a person using the system perceives the virtual objects that have been placed over the physical environment. Alternatively, a system may have an opaque display and one or more imaging sensors that acquire images or video of the physical environment that are representations of the physical environment. The system assembles the images or videos with virtual objects and shows the composition on the opaque display. A person using the system indirectly looks at the physical environment through the images or video of the physical environment and perceives the virtual objects that were placed over the physical environment. As used herein, physical environment video displayed on an opaque display is called "pass-through video", which means that a system uses one or more image sensors to take pictures of the physical environment, and these images used to show the AR environment on the opaque display. Alternatively, a system can also have a projection system that projects virtual objects into the physical environment, e.g. As a hologram or on a physical surface so that a person using the system perceives the virtual objects placed over the physical environment.

Eine Augmented-Reality-Umgebung bezieht sich auch auf eine simulierte Umgebung, in der eine Darstellung einer physischen Umgebung durch computergenerierte sensorische Informationen transformiert wird. So kann beispielsweise bei der Bereitstellung von Pass-Through-Videos ein System ein oder mehrere Sensorbilder transformieren, um eine ausgewählte Perspektive (z. B. einen Blickwinkel) festzulegen, die sich von der von den Bildsensoren erfassten Perspektive unterscheidet. Als weiteres Beispiel kann eine Darstellung einer physischen Umgebung durch graphisches Modifizieren (z. B. Vergrößern) von Teilen davon transformiert werden, sodass der modifizierte Abschnitt repräsentative aber nicht fotorealistische Versionen der ursprünglich aufgenommenen Bilder sein kann. Als weiteres Beispiel kann eine Darstellung einer physischen Umgebung transformiert werden, indem Teile davon grafisch eliminiert oder verschleiert werden.An augmented reality environment also refers to a simulated environment in which a representation of a physical environment is transformed by computer-generated sensory information. For example, when providing pass-through videos, a system can transform one or more sensor images in order to define a selected perspective (e.g. a viewing angle) that differs from the perspective captured by the image sensors. As another example, a representation of a physical environment can be transformed by graphically modifying (e.g., enlarging) portions thereof so that the modified portion can be representative but not photo-realistic versions of the images originally captured. As another example, a representation of a physical environment can be transformed by graphically eliminating or obscuring portions of it.

Eine Augmented-Virtuality-Umgebung (AV-Umgebung) bezieht sich auf eine simulierte Umgebung, in der eine virtuelle oder computergenerierte Umgebung eine oder mehrere sensorische Eingaben aus der physischen Umgebung beinhaltet. Die sensorischen Eingaben können Darstellungen einer oder mehrerer Charakteristiken der physischen Umgebung sein. Ein AV-Park kann beispielsweise virtuelle Bäume und virtuelle Gebäude aufweisen, aber Menschen mit Gesichtern werden fotorealistisch aus Bildern von physischen Menschen reproduziert. Als weiteres Beispiel kann ein virtuelles Objekt eine Form oder Farbe eines physischen Gegenstands annehmen, der durch einen oder mehrere bildgebende Sensoren abgebildet wird. Als weiteres Beispiel kann ein virtuelles Objekt Schatten annehmen, die mit der Position der Sonne in der physischen Umgebung übereinstimmen.An augmented virtuality environment (AV environment) refers to a simulated environment in which a virtual or computer-generated environment contains one or more sensory inputs from the physical environment. The sensory inputs may represent one or more characteristics of the physical environment. For example, an AV park can have virtual trees and virtual buildings, but people with faces are reproduced photorealistically from images of physical people. As another example, a virtual object may take the form or color of a physical object that is imaged by one or more imaging sensors. As another example, a virtual object can assume shadows that match the position of the sun in the physical environment.

Es gibt viele verschiedene Typen von elektronischen Systemen, die es einer Person ermöglichen, verschiedene CGR-Umgebungen wahrzunehmen und/oder mit diesen zu interagieren. Beispiele sind Datenhelmsysteme, projektionsbasierte Systeme, Heads-Up-Displays (HUDs), Fahrzeugwindschutzscheiben mit integrierter Displayfunktion, Fenster mit integrierter Displayfunktion, Displays, die als Linsen ausgebildet sind, die dazu bestimmt sind, auf den Augen einer Person platziert zu werden (z. B. ähnlich Kontaktlinsen), Kopfhörer/Ohrhörer, Lautsprecher-Arrays, Eingabesysteme (z. B. am Körper tragbare oder als Handgeräte ausgeführte Controller mit oder ohne haptische Rückmeldung), Smartphones, Tablets und Desktop-/Laptop-Computer. Ein Datenhelmsystem kann einen oder mehrere Lautsprecher und ein integriertes opakes Display aufweisen. Alternativ kann ein kopfmontiertes System konfiguriert sein, um ein externes opakes Display (z. B. ein Smartphone) aufzunehmen. Das kopfmontierte System kann einen oder mehrere bildgebende Sensoren enthalten, um Bilder oder Video der physischen Umgebung aufzunehmen, und/oder ein oder mehrere Mikrofone, um Audio der physischen Umgebung zu erfassen. Im Gegensatz zu einem opaken Display kann ein Datenhelmsystem ein transparentes oder transluzentes Displays aufweisen. Das transparente oder transluzente Display kann ein Medium aufweisen, durch das Licht, das für Bilder repräsentativ ist, auf die Augen einer Person gerichtet wird. Das Display kann digitale Lichtprojektion, OLEDs, LEDs, uLEDs, Flüssigkristalle auf Silicium, Laserscanning-Lichtquellen oder eine beliebige Kombination dieser Technologien verwenden. Das Medium kann ein Lichtwellenleiter, ein Hologrammmedium, ein optischer Kombinierer, ein optischer Reflektor oder irgendeine Kombination davon sein. In einer Ausführungsform kann das transparente oder transluzente Display konfiguriert sein, um selektiv opak zu werden. Projektionsbasierte Systeme können retinale Projektionstechnologie verwenden, die graphische Bilder auf die Netzhaut einer Person projiziert. Projektionssysteme können auch so konfiguriert sein, dass sie virtuelle Objekte in die physische Umgebung projizieren, beispielsweise als Hologramm oder auf eine physische Oberfläche.There are many different types of electronic systems that allow a person to perceive and / or interact with different CGR environments. Examples are data helmet systems, projection-based systems, heads-up displays (HUDs), vehicle windshields with integrated display function, windows with integrated display function, displays that are designed as lenses that are intended to be placed on a person's eyes (e.g. Similar to contact lenses), headphones / earphones, speaker arrays, input systems (e.g. controllers that can be worn on the body or are designed as handheld devices with or without haptic feedback), smartphones, tablets and desktop / laptop computers. A data helmet system can have one or more speakers and an integrated opaque display. Alternatively, a head-mounted system can be configured to accommodate an external opaque display (e.g. a smartphone). The head-mounted system can include one or more imaging sensors to capture images or video of the physical environment and / or one or more microphones to capture audio of the physical environment. In contrast to an opaque display, a data helmet system can have a transparent or translucent display. The transparent or translucent display can have a medium through which light, which is representative of images, is directed onto a person's eyes. The display can use digital light projection, OLEDs, LEDs, uLEDs, liquid crystals on silicon, laser scanning light sources or any combination of these technologies. The medium can be an optical waveguide, a hologram medium, an optical combiner, an optical reflector or any combination thereof. In one embodiment, the transparent or translucent display can be configured to be selectively opaque. Projection-based systems can use retinal projection technology that projects graphic images onto a person's retina. Projection systems can also be configured to project virtual objects into the physical environment, for example as a hologram or onto a physical surface.

Die Proxy-Vorrichtung 150 ist ein Beispiel für eine Art von Eingabemechanismus, der verwendet werden kann, um virtuelle Objekte (z. B. virtuelles Objekt 130) als Teil einer CGR-Umgebung zu manipulieren oder anderweitig mit ihnen zu interagieren. Wie in 1 gezeigt, ist Proxy-Vorrichtung 150 ein Beispiel für einen Eingabemechanismus, der physisch nicht mit der elektronischen Vorrichtung 120 verbunden ist. In Übereinstimmung mit den Implementierungen der vorliegenden Offenbarung besteht ein Gesichtspunkt der Manipulation virtueller Objekte mit der Proxy-Vorrichtung 150 darin, eine feste Ausrichtung zwischen einem virtuellen Objekt und einer virtuellen Darstellung der Proxy-Vorrichtung 150 zu schaffen. Bei der Erstellung solcher festen Ausrichtungen dient die Proxy-Vorrichtung 150 als Proxy in einer physischen Umgebung für virtuelle Objekte in einer CGR-Umgebung, indem die physische Bewegung der Proxy-Vorrichtung 150 direkt in eine computererzeugte Bewegung der virtuellen Objekte übersetzt wird. In einer Implementierung enthält Proxy-Vorrichtung 150 eine haptische Vorrichtung, die so konfiguriert ist, dass sie sich betätigt, wenn Proxy-Vorrichtung 150 Rückmeldesignale empfängt, die mit Manipulationen an virtuellen Objekten (z. B. virtuelles Objekt 130) verbunden sind. The proxy device 150 is an example of a type of input mechanism that can be used to create virtual objects (e.g. virtual object 130 ) manipulate as part of a CGR environment or otherwise interact with them. As in 1 shown is proxy device 150 an example of an input mechanism that is not physically connected to the electronic device 120 connected is. In accordance with the implementations of the present disclosure, there is one aspect of manipulating virtual objects with the proxy device 150 therein, a fixed alignment between a virtual object and a virtual representation of the proxy device 150 to accomplish. The proxy device is used to create such fixed alignments 150 as a proxy in a physical environment for virtual objects in a CGR environment by the physical movement of the proxy device 150 is translated directly into a computer-generated movement of the virtual objects. In one implementation, includes proxy device 150 a haptic device configured to operate when a proxy device 150 Receiving feedback signals that involve manipulation of virtual objects (e.g. virtual object 130 ) are connected.

2 veranschaulicht ein Beispiel für die Darstellung des Inhalts 200, der eine CGR-Umgebung auf einem Display (z. B. das eine oder die mehreren Displays 1006 in 10) der elektronischen Vorrichtung 120 darstellt. Der Inhalt 200 entspricht im Allgemeinen einer Ansicht der CGR-Umgebung, die ein Benutzer der elektronischen Vorrichtung 120 wahrnehmen kann, bevor er das virtuelle Objekt 130 mittels der Proxy-Vorrichtung 150 manipuliert. Wie in 2 gezeigt, umfasst der Inhalt 200 den Inhalt, der dem virtuellen Objekt 130 entspricht, und den Inhalt, der das physische Objekt 140 darstellt. Während der Benutzer eine Pose (z. B. eine Position und/oder eine Ausrichtung) des physischen Objektes 150 in der physischen Umgebung durch direkte oder indirekte physische Interaktion verändern kann, gilt dies nicht für das virtuelle Objekt 130. Um eine Pose des virtuellen Objekts 130 zu verändern, ist ein Proxy in der CGR-Umgebung daran beteiligt, die physische Interaktion aus einer physischen Umgebung in eine simulierte Interaktion in der CGR-Umgebung, die durch den Inhalt 200 dargestellt wird, zu übertragen. Hierfür schließt der Inhalt 200 ferner eine computererzeugte sensorische Darstellung der Proxy-Vorrichtung 150, die in 2 als virtuelle Darstellung 250 dargestellt ist, um als dieser Proxy in der CGR-Umgebung zu dienen, ein. 2nd illustrates an example of how content is displayed 200 that have a CGR environment on one display (e.g. one or more displays 1006 in 10th ) of the electronic device 120 represents. The content 200 generally corresponds to a view of the CGR environment that a user of the electronic device 120 can perceive before seeing the virtual object 130 by means of the proxy device 150 manipulated. As in 2nd shown includes the content 200 the content of the virtual object 130 corresponds, and the content of the physical object 140 represents. During the user a pose (e.g. a position and / or an orientation) of the physical object 150 in the physical environment through direct or indirect physical interaction, this does not apply to the virtual object 130 . A pose of the virtual object 130 To change, a proxy in the CGR environment is involved in transforming the physical interaction from one physical environment into a simulated interaction in the CGR environment by the content 200 is shown to transmit. The content closes for this 200 a computer-generated sensory representation of the proxy device 150 , in the 2nd as a virtual representation 250 is shown to serve as this proxy in the CGR environment.

Im Allgemeinen wird die physische Bewegung der Proxy-Vorrichtung 150 in der physischen Umgebung (z. B. Szene 105) direkt in eine simulierte (oder virtuelle) Bewegung der virtuellen Darstellung 250 in der CGR-Umgebung übersetzt. Anders ausgedrückt ändert eine physische Bewegung der Proxy-Vorrichtung 150, die eine Pose (z. B. eine Position und/oder eine Orientierung) der Proxy-Vorrichtung 150 in der physischen Umgebung ändert, auch eine Pose der virtuellen Darstellung 250 in einem dreidimensionalen („3-D“) Koordinatenraum der CGR-Umgebung. Die simulierte Bewegung, welche die physische Bewegung der Proxy-Vorrichtung 150 auf die virtuelle Darstellung 250 überträgt, kann auch in eine simulierte Bewegung anderer virtueller Objekte in der CGR-Umgebung übersetzt werden, indem eine feste Ausrichtung zwischen der virtuellen Darstellung 250 und einem virtuellen Objekt erzeugt wird.Generally, the physical movement of the proxy device 150 in the physical environment (e.g. scene 105 ) directly into a simulated (or virtual) movement of the virtual representation 250 translated in the CGR environment. In other words, physical movement of the proxy device changes 150 representing a pose (e.g., a position and / or an orientation) of the proxy device 150 changes in the physical environment, also a pose of the virtual representation 250 in a three-dimensional (“3-D”) coordinate space of the CGR environment. The simulated movement, which is the physical movement of the proxy device 150 on the virtual representation 250 transmits can also be translated into a simulated movement of other virtual objects in the CGR environment by a fixed alignment between the virtual representation 250 and a virtual object is created.

Beispielhaft kann ein CGR-Umgebungsmodul (z. B. CGR-Umgebungsmodul 1040 in 10) der elektronischen Vorrichtung 120 den Inhalt 200 auf einem Display der elektronischen Vorrichtung 120 darstellen. Während der Darstellung des Inhalts 200 kann eine Eingabe, die eine Anforderung zur Erstellung einer festen Ausrichtung zwischen dem virtuellen Objekt 130 und der virtuellen Darstellung 250 darstellt, von einem Benutzer der elektronischen Vorrichtung 120 empfangen werden. In einer Implementierung wird die Eingabe von der Proxy-Vorrichtung 150 empfangen, wenn mindestens eine Teilmenge der virtuellen Darstellung 250 eine Stelle auf dem Display überlappt, die von dem virtuellen Objekt 130 belegt ist, wie in 2 gezeigt. In einer Implementierung wird die Eingabe von der Proxy-Vorrichtung 150 empfangen, wenn eine Überlappung zwischen der virtuellen Darstellung 250 und dem virtuellen Objekt 130 auf dem Display fehlt.A CGR environment module (e.g. CGR environment module 1040 in 10th ) of the electronic device 120 the content 200 on a display of the electronic device 120 represent. While displaying the content 200 can be an input that creates a requirement to create a fixed alignment between the virtual object 130 and the virtual representation 250 represents by a user of the electronic device 120 be received. In one implementation, the input is from the proxy device 150 received when at least a subset of the virtual representation 250 a location on the display overlaps that of the virtual object 130 is documented as in 2nd shown. In one implementation, the input is from the proxy device 150 received when there is an overlap between the virtual representation 250 and the virtual object 130 is missing on the display.

Um solche Eingaben vom Benutzer zu empfangen, enthält die Proxy-Vorrichtung 150 eine Eingabevorrichtung, die auf einer nach außen gerichteten Oberfläche eines Gehäuses angeordnet ist, das die peripheren Grenzen der Proxy-Vorrichtung 150 definiert. Beispiele solcher Eingabevorrichtungen und Gehäuse werden nachfolgend mit Bezug auf die 7 und 8 ausführlicher erörtert. Nach dem Empfang der Eingabe des Benutzers sendet die Proxy-Vorrichtung 150 die Eingabe über eine Datenerfassungseinheit (z. B. die Datenerfassungseinheit 1042 in 10) der elektronischen Vorrichtung 120 zur weiteren Verarbeitung an das CGR-Umgebungsmodul. Als Reaktion auf den Empfang der Eingabe erzeugt eine CGR-Präsentationseinheit (z. B. CGR-Präsentationseinheit 1044 in 10) des CGR-Umgebungsmoduls die feste Ausrichtung zwischen dem virtuellen Objekt 130 und der virtuellen Darstellung 250 auf dem Display.To receive such input from the user, the proxy device contains 150 an input device disposed on an outward surface of a housing that defines the peripheral boundaries of the proxy device 150 Are defined. Examples of such input devices and housings are described below with reference to FIG 7 and 8th discussed in more detail. After receiving the user's input, the proxy device sends 150 the input via a data acquisition unit (e.g. the data acquisition unit 1042 in 10th ) of the electronic device 120 for further processing to the CGR environment module. In response to receiving the input, a CGR presentation unit (e.g., CGR presentation unit) 1044 in 10th ) of the CGR environment module the fixed alignment between the virtual object 130 and the virtual representation 250 on the display.

Das Erzeugen einer festen Ausrichtung zwischen einem virtuellen Objekt und einer virtuellen Darstellung einer Proxy-Vorrichtung schließt in der Regel den Übergang des virtuellen Objekts von einer Vorausrichtungspose in eine Nachausrichtungspose ein. Ein Vergleich zwischen 2 und 4 veranschaulicht ein Beispiel dieses Übergangs. In diesem Beispiel sind die jeweiligen Positionen und Ausrichtungen des virtuellen Objekts 130 und der virtuellen Darstellung 250 im Inhalt 200 unterschiedlich, wenn sich das virtuelle Objekt 130 in einer in 2 veranschaulichten Vorausrichtungspose befindet. Um die in 4 veranschaulichte feste Ausrichtung zu erzeugen, bestimmt die CGR-Präsentationseinheit Displaykoordinaten, die einen Ankerpunkt 255 der virtuellen Darstellung 250 in einem 3-D-Koordinatenraum der CGR-Umgebung definieren. In einer Implementierung basieren die Displaykoordinaten, die den Ankerpunkt 255 der virtuellen Darstellung 250 definieren, auf einem Proxy-Referenzrahmen 155, der in der physischen Umgebung in der Mitte der Proxy-Vorrichtung 150 fixiert ist. Die CGR-Präsentationseinheit überschreibt dann die Displaykoordinaten, die einen Ankerpunkt 235 des virtuellen Objekts 130 im 3-D-Koordinatenraum definieren, mit den Displaykoordinaten, die dem Ankerpunkt 255 entsprechen, um den Inhalt 400 zu generieren. Als Ergebnis fallen die jeweiligen Positionen und Ausrichtungen des virtuellen Objekts 130 und der virtuellen Darstellung 250 zusammen, nachdem das virtuelle Objekt 130 in die in 4 veranschaulichte Nachausrichtungspose übergegangen ist.Generating a fixed alignment between a virtual object and a virtual representation of a proxy device typically includes the transition of the virtual object from a pre-alignment pose to a post-alignment pose. A comparison between 2nd and 4th illustrates an example of this transition. In this example, the respective positions and orientations of the virtual object 130 and the virtual representation 250 in content 200 different if the virtual object 130 in one in 2nd illustrated pre-alignment pose. To the in 4th To generate the illustrated fixed orientation, the CGR presentation unit determines display coordinates that are an anchor point 255 the virtual representation 250 in a 3-D coordinate space of the CGR environment. In one implementation, the display coordinates are based on the anchor point 255 the virtual representation 250 define on a proxy reference frame 155 that is in the physical environment in the middle of the proxy device 150 is fixed. The CGR presentation unit then overwrites the display coordinates that are an anchor point 235 of the virtual object 130 Define in 3-D coordinate space, with the display coordinates that correspond to the anchor point 255 correspond to the content 400 to generate. As a result, the respective positions and orientations of the virtual object fall 130 and the virtual representation 250 together after the virtual object 130 in the in 4th illustrated re-alignment pose has passed.

Beispielhaft sind in den 2 und 4 das virtuelle Objekt 130 und die virtuelle Darstellung 250 als rechteckiges Prisma und als Würfel dargestellt. Wenn das virtuelle Objekt 130 in diesem Beispiel in die in 4 gezeigte Nachausrichtungspose gebracht wird, sind die Kanten des rechteckigen Prismas (welches das virtuelle Objekt 130 darstellt) und des Würfels (der die virtuelle Darstellung 250 darstellt) parallel. Dieses Beispiel veranschaulicht, dass in einer Implementierung ein Gehäuse des Proxy-Objekts 150 symmetrisch in Bezug auf eine oder mehrere Achsen eines Vorrichtungs-Referenzrahmens (z. B. Vorrichtungs-Referenzrahmen 730 in 7) sein kann, der in der Mitte der Proxy-Vorrichtung 150 fixiert ist. Als Reaktion auf den Empfang einer Anforderung zur Erstellung der festen Ausrichtung kann die CGR-Präsentationseinheit eine Achse des virtuellen Objekts 130 an einen Richtungsvektor der virtuellen Darstellung 250, der einer Achse der Proxy-Vorrichtung 150 entspricht, auf Grundlage der Nähe fangen. Das heißt, in diesem Beispiel erzeugt die CGR-Präsentationseinheit die feste Ausrichtung zwischen dem virtuellen Objekt 130 und der virtuellen Darstellung 250, indem sie die jeweiligen Ankerpunkte (Ankerpunkt 235 und Ankerpunkt 255) ausrichtet und eine engste Übereinstimmung zwischen jeder Achse der Proxy-Vorrichtung 150 (auf Grundlage eines Richtungsvektors der virtuellen Darstellung 250) und jeder Achse des virtuellen Objektes 130 innerhalb der CGR-Umgebung fängt. Dabei wird die feste Ausrichtung zwischen dem virtuellen Objekt 130 und der virtuellen Darstellung 250 erzeugt, ohne dass die Proxy-Vorrichtung 150 eine vordefinierte Vorwärts-/Links-/Rechts-/Rückwärtsrichtung aufweist.Examples are in the 2nd and 4th the virtual object 130 and the virtual representation 250 represented as a rectangular prism and as a cube. If the virtual object 130 in this example in the in 4th shown is the edges of the rectangular prism (which is the virtual object 130 represents) and the cube (which represents the virtual representation 250 represents) parallel. This example demonstrates that in one implementation, an enclosure of the proxy object 150 symmetrical with respect to one or more axes of a device reference frame (e.g. device reference frame 730 in 7 ) can be in the middle of the proxy device 150 is fixed. In response to receiving a request to create the fixed orientation, the CGR presentation unit may have an axis of the virtual object 130 to a direction vector of the virtual representation 250 which is an axis of the proxy device 150 corresponds to catch based on proximity. That is, in this example, the CGR presentation unit creates the fixed alignment between the virtual object 130 and the virtual representation 250 by moving the respective anchor points (anchor point 235 and anchor point 255 ) aligns and closely matches between each axis of the proxy device 150 (based on a direction vector of the virtual representation 250 ) and each axis of the virtual object 130 within the CGR environment. This is the fixed alignment between the virtual object 130 and the virtual representation 250 generated without the proxy device 150 has a predefined forward / left / right / reverse direction.

Während die CGR-Präsentationseinheit die jeweiligen Ankerpunkte des virtuellen Objekts 130 und der virtuellen Darstellung 250 verwendet, um die feste Ausrichtung in diesem Beispiel zu erstellen, wird ein Fachmann erkennen, dass andere Implementierungen nicht so begrenzt sind. In einigen Implementierungen spezifizieren die Befestigungseigenschaften des virtuellen Objekts 130 andere Wege, die feste Ausrichtung zwischen dem virtuellen Objekt 130 und der virtuellen Darstellung 250 zu erzeugen. Zum Beispiel können die Befestigungseigenschaften des virtuellen Objekts 130 festlegen, dass die Erzeugung der festen Ausrichtung das Fangen einer bestimmten Oberfläche (z. B. einer Bodenfläche) des virtuellen Objekts 130 an einer bestimmten Stelle der virtuellen Darstellung 250 einschließt. Wenn in diesem Beispiel die Proxy-Vorrichtung 150 mit der Proxy-Vorrichtung 700 aus 7 implementiert wird, kann die jeweilige Stelle der virtuellen Darstellung 250 einer horizontalen Fläche (z. B. Fläche 710C) der Proxy-Vorrichtung in der physischen Umgebung (z. B. Szene 105) entsprechen. In einer Implementierung definieren die Quelldaten für das Rendern des virtuellen Objekts die Befestigungseigenschaften des virtuellen Objekts. In einer Implementierung definieren Regeln, die in computerausführbaren Programmanweisungen eingeschlossen sind, die der CGR-Präsentationseinheit entsprechen, die Befestigungseigenschaften des virtuellen Objekts.During the CGR presentation unit the respective anchor points of the virtual object 130 and the virtual representation 250 used to create the fixed alignment in this example, one skilled in the art will recognize that other implementations are not so limited. In some implementations, specify the attachment properties of the virtual object 130 other ways, the fixed alignment between the virtual object 130 and the virtual representation 250 to create. For example, the attachment properties of the virtual object 130 Set the generation of the fixed orientation to snap to a specific surface (such as a floor surface) of the virtual object 130 at a certain point in the virtual representation 250 includes. If in this example the proxy device 150 with the proxy device 700 out 7 is implemented, the respective place of the virtual representation 250 a horizontal surface (e.g. surface 710C ) of the proxy device in the physical environment (e.g. scene 105 ) correspond. In one implementation, the source data for rendering the virtual object defines the attachment properties of the virtual object. In one implementation, rules that are included in computer-executable program instructions that correspond to the CGR presentation unit define the attachment properties of the virtual object.

In einigen Implementierungen kann visuelles Feedback, das mit einer virtuellen Darstellung verbunden ist, dazu verwendet werden, die Wahrnehmung unnatürlicher Bewegungen durch einen Benutzer zu mildern, während ein virtuelles Objekt von einer Vorausrichtungspose in eine Nachausrichtungspose übergeht. Ein Beispiel für ein solches visuelles Feedback ist in 3 durch die visuellen Rückmeldeelemente 355 veranschaulicht. Inhalt 300 stellt eine Ansicht der CGR-Umgebung dar, die auf dem Display der elektronischen Vorrichtung 120 zwischen Inhalt 200 und Inhalt 400 präsentiert wird. Ein Vergleich zwischen den 2-4 zeigt, dass die visuellen Rückmeldeelemente 355, die der virtuellen Darstellung 250 zugeordnet sind, mit dem virtuellen Objekt 130 interagieren, um das virtuelle Objekt 130 allmählich von der Vorausrichtungspose der 2 in die Nachausrichtungspose der 4 zu überführen. In some implementations, visual feedback associated with a virtual representation can be used to mitigate a user's perception of unnatural movements as a virtual object transitions from a pre-alignment pose to a post-alignment pose. An example of such visual feedback is in 3rd through the visual feedback elements 355 illustrated. content 300 FIG. 4 illustrates a view of the CGR environment that is on the display of the electronic device 120 between content 200 and content 400 is presented. A comparison between the 2-4 shows that the visual feedback elements 355 that of the virtual representation 250 are associated with the virtual object 130 interact to the virtual object 130 gradually from the pre-alignment pose of 2nd in the realignment pose of 4th to convict.

Wie vorstehend erläutert, kann die simulierte Bewegung, welche die physische Bewegung der Proxy-Vorrichtung 150 auf die virtuelle Darstellung 250 überträgt, auch in eine simulierte Bewegung anderer virtueller Objekte in der CGR-Umgebung übersetzt werden, indem eine feste Ausrichtung zwischen der virtuellen Darstellung 250 und einem virtuellen Objekt erzeugt wird. Um eine solche Übersetzung der simulierten Bewegung zu veranschaulichen, stellt 5 die Proxy-Vorrichtung 150 dar, während der Inhalt 400 auf dem Display der elektronischen Vorrichtung 120 präsentiert wird. Ein Vergleich zwischen 1 und 5 zeigt, dass der Benutzer der elektronischen Vorrichtung 120 eine Pose der Proxy-Vorrichtung 150 in der physischen Umgebung verändert hat. Wie in 6 veranschaulicht, hat die CGR-Präsentationseinheit der elektronischen Vorrichtung 120 dynamisch eine Pose der virtuellen Darstellung 250 in der CGR-Umgebung aktualisiert, um diese Posenänderung der Proxy-Vorrichtung 150 in der physischen Umgebung widerzuspiegeln. 6 veranschaulicht außerdem, dass die CGR-Präsentationseinheit der elektronischen Vorrichtung 120 dynamisch eine Pose des virtuellen Objekts 130 in der CGR-Umgebung aktualisiert hat, um diese Posenänderung der Proxy-Vorrichtung 150 in der physischen Umgebung aufgrund seiner festen Ausrichtung mit der virtuellen Darstellung 250 widerzuspiegeln.As explained above, the simulated movement, which is the physical movement of the proxy device 150 on the virtual representation 250 transfers can also be translated into a simulated movement of other virtual objects in the CGR environment by a fixed alignment between the virtual representation 250 and a virtual object is created. To such a translation of the to illustrate simulated movement 5 the proxy device 150 while the content 400 on the display of the electronic device 120 is presented. A comparison between 1 and 5 shows that the user of the electronic device 120 a pose of the proxy device 150 has changed in the physical environment. As in 6 the CGR presentation unit of the electronic device 120 dynamic a pose of the virtual representation 250 in the CGR environment updated this proxy device pose change 150 to reflect in the physical environment. 6 also illustrates that the CGR presentation unit of the electronic device 120 dynamic a pose of the virtual object 130 in the CGR environment has updated this pose change to the proxy device 150 in the physical environment due to its fixed alignment with the virtual representation 250 to reflect.

In verschiedenen Implementierungen aktualisiert die CGR-Präsentationseinheit dynamisch eine Pose des virtuellen Objekts 130 oder der virtuellen Darstellung 250 in der CGR-Umgebung, um jede Posenänderung der Proxy-Vorrichtung 150 unter Verwendung von Positionsdaten, welche die Bewegung der Proxy-Vorrichtung 150 in der physischen Umgebung definieren, widerzuspiegeln. Die Positionsdaten können die Übersetzungsbewegung der Proxy-Vorrichtung 150 in der physischen Umgebung, die Drehbewegung der Proxy-Vorrichtung 150 in der physischen Umgebung oder eine Kombination davon definieren. Diese Positionsdaten können mit jeder beliebigen, einem Fachmann bekannten Positionsverfolgungstechnik erhalten werden. Die Positionsdaten können zum Beispiel unter Verwendung von Trägheitsdaten, Bilddaten oder einer Kombination daraus erhalten werden.In various implementations, the CGR presentation unit dynamically updates a pose of the virtual object 130 or the virtual representation 250 in the CGR environment to detect any proxy device pose changes 150 using positional data indicating the movement of the proxy device 150 define, reflect in the physical environment. The location data can translate the proxy device 150 in the physical environment, the rotation of the proxy device 150 in the physical environment or a combination thereof. This position data can be obtained using any position tracking technique known to a person skilled in the art. The position data can be obtained, for example, using inertial data, image data, or a combination thereof.

In einer Implementierung werden die Trägheitsdaten über eine Trägheitsmesseinheit („IMU“) der Proxy-Vorrichtung 150 erhalten. Im Allgemeinen ist eine IMU ein Rechenvorrichtung, die Trägheitsdaten durch Abtasten von Signalen bereitstellt, die von einem oder mehreren Sensoren der IMU erzeugt werden. Der eine oder die mehreren Sensoren können Folgendes einschließen: ein- bis dreiachsige Beschleunigungsmesser zum Messen von Geschwindigkeitsänderungen entlang einer bis drei Achsen, ein- bis dreiachsige Gyroskope zum Messen der Winkelgeschwindigkeit um eine bis drei Achsen, ein- bis dreiachsige Magnetometer zum Messen von Informationen über Magnetfelder in Bezug auf eine bis drei Achsen, einen barometrischen Drucksensor zum Messen des Luftdrucks und dergleichen.In one implementation, the inertial data is transmitted via an inertial measurement unit ("IMU") of the proxy device 150 receive. In general, an IMU is a computing device that provides inertial data by sampling signals generated by one or more sensors of the IMU. The one or more sensors may include: one to three axis accelerometers to measure changes in speed along one to three axes, one to three axis gyroscopes to measure angular velocity around one to three axes, one to three axis magnetometers to measure information about Magnetic fields related to one to three axes, a barometric pressure sensor for measuring air pressure and the like.

In einer Implementierung stellen die Bilddaten eine Vielzahl von optischen Quellen dar, die konfiguriert sind, um Licht zu emittieren. In einer Implementierung sind die mehreren optischen Quellen auf einer nach außen weisenden Oberfläche der Proxy-Vorrichtung 150 an bekannten Stellen relativ zu einem Proxy-Vorrichtungs-Referenzrahmen (z. B. Proxy-Vorrichtungs-Referenzrahmen 150 und 730 von 1 bzw. 7) angeordnet. In einer Implementierung ist die Vielzahl von optischen Quellen auf einer nach außen weisenden Oberfläche der elektronischen Vorrichtung 120 an bekannten Stellen relativ zu einem Vorrichtungs-Referenzrahmen (z. B. Vorrichtungs-Referenzrahmen 125 der 1) angeordnet.In one implementation, the image data represents a variety of optical sources configured to emit light. In one implementation, the multiple optical sources are on an outwardly facing surface of the proxy device 150 at known locations relative to a proxy device reference frame (e.g., proxy device reference frame 150 and 730 from 1 or. 7 ) arranged. In one implementation, the plurality of optical sources are on an outwardly facing surface of the electronic device 120 at known locations relative to a device reference frame (e.g. device reference frame 125 of the 1 ) arranged.

7 und 8 zeigen zwei beispielhafte Konfigurationen einer Proxy-Vorrichtung, die sich für die Implementierung der Proxy-Vorrichtung 150 gemäß den Implementierungen der vorliegenden Offenbarung eignet. Eine Proxy-Vorrichtung in Übereinstimmung mit den Implementierungen der vorliegenden Offenbarung umfasst ein Gehäuse, das die peripheren Grenzen der Proxy-Vorrichtung definiert, und eine oder mehrere Eingabevorrichtungen, die auf einer nach außen gerichteten Oberfläche der Proxy-Vorrichtung angeordnet sind. Jede Eingabevorrichtung unter der einen oder den mehreren Eingabevorrichtungen ist so konfiguriert, dass sie Eingaben empfängt, die Anforderungen darstellen, die den Manipulationen eines virtuellen Objekts innerhalb einer CGR-Umgebung entsprechen. Zum Beispiel kann eine Eingabevorrichtung eine Eingabe empfangen, die eine Anforderung zur Erstellung einer festen Ausrichtung zwischen dem virtuellen Objekt und einer virtuellen Darstellung der Proxy-Vorrichtung und der virtuellen Objekte innerhalb einer CGR-Umgebung darstellt. 7 and 8th FIG. 2 show two exemplary configurations of a proxy device that are suitable for implementing the proxy device 150 according to the implementations of the present disclosure. A proxy device in accordance with the implementations of the present disclosure includes a housing that defines the peripheral boundaries of the proxy device and one or more input devices disposed on an outward surface of the proxy device. Each input device among the one or more input devices is configured to receive inputs that represent requests that correspond to the manipulations of a virtual object within a CGR environment. For example, an input device may receive input that represents a request to create a fixed alignment between the virtual object and a virtual representation of the proxy device and the virtual objects within a CGR environment.

Eine Form der peripheren Grenzen, die durch das Gehäuse definiert werden, kann es erleichtern, feste Ausrichtungen zwischen einer virtuellen Darstellung der Proxy-Vorrichtung und virtuellen Objekten innerhalb einer CGR-Umgebung in bestimmten Schritten zu erstellen. Als Beispiel bilden die peripheren Grenzen, die durch das Gehäuse 710 in 7 definiert sind, einen Würfel. Durch das Definieren der peripheren Grenzen der Proxy-Vorrichtung 700 als Würfel erleichtert das Gehäuse 710 die Erzeugung fester Ausrichtungen zwischen einer virtuellen Darstellung der Proxy-Vorrichtung 700 und virtuellen Objekten innerhalb einer CGR-Umgebung in 90-Grad-Schritten.One form of the peripheral boundaries defined by the housing can facilitate establishing fixed alignments between a virtual representation of the proxy device and virtual objects within a CGR environment in certain steps. As an example, form the peripheral boundaries through the housing 710 in 7 are defined, a cube. By defining the peripheral boundaries of the proxy device 700 as a cube makes the case easier 710 creating fixed alignments between a virtual representation of the proxy device 700 and virtual objects within a CGR environment in 90 degree steps.

In einer Implementierung ist das Gehäuse symmetrisch in Bezug auf eine oder mehrere Achsen eines Proxy-Vorrichtungs-Referenzrahmens, der in einer Mitte der Proxy-Vorrichtung fixiert ist. In einer Implementierung schließen die eine oder die mehreren Benutzereingabevorrichtungen eine oder mehrere physische Eingabevorrichtungen 720A-C/820A-C ein. Die Eingabevorrichtungen können Folgendes umfassen: eine physische Eingabevorrichtung (z. B. eine Taste, einen Joystick, einen Schalter, einen Knopf, eine Wählscheibe, ein Touchpad und dergleichen). In einer Implementierung können die eine oder mehreren Benutzereingabevorrichtungen eine simulierte Eingabevorrichtung (z. B. einen Softkey, eine virtuelle Tastatur und dergleichen) einschließen. In einer Implementierung sind das eine oder die mehreren Benutzereingabevorrichtungen Tasten, die so konfiguriert sind, dass sie Eingaben empfangen, die eine gleiche Anforderung darstellen, um die Bewegung eines virtuellen Objekts der Bewegung einer virtuellen Darstellung der Proxy-Vorrichtung zuzuordnen.In one implementation, the housing is symmetrical with respect to one or more axes of a proxy device reference frame that is fixed in a center of the proxy device. In one implementation, the one or more user input devices include one or more physical input devices 720A-C / 820A-C a. The input devices may include: a physical input device (e.g. a button, a joystick, a switch, a button, a dial, a touchpad and the like). In one implementation, the one or more user input devices may include a simulated input device (e.g., a soft key, a virtual keyboard, and the like). In one implementation, the one or more user input devices are keys configured to receive inputs that represent a similar request to map the motion of a virtual object to the motion of a virtual representation of the proxy device.

Im Zuge dieses Beispiels kann der Inhalt einschließlich eines virtuellen Objekts mit einer unteren Oberfläche und einem „nach oben“ gerichteten Richtungsvektor, der normal zur unteren Oberfläche definiert ist, einem Benutzer, der mit der Proxy-Vorrichtung 700 interagiert, auf einem Display präsentiert werden. Während der Inhalt dem Benutzer präsentiert wird, kann die Proxy-Vorrichtung 700 eine erste Eingabe erhalten, die einer Interaktion mit der Eingabevorrichtung 720B entspricht. Als Reaktion auf den Empfang der ersten Eingabe kann eine CGR-Präsentationseinheit (z. B. die CGR-Präsentationseinheit 1044 in 10) den Inhalt aktualisieren, um eine feste Ausrichtung zu erzeugen, bei welcher der Richtungsvektor „nach oben“ parallel zu einem Richtungsvektor der virtuellen Darstellung verläuft, der einer y-Achse des Proxy-Vorrichtungs-Referenzrahmens 730 entspricht.In the course of this example, the content, including a virtual object with a bottom surface and an "upward" directional vector defined normal to the bottom surface, can be used by a user using the proxy device 700 interacted, presented on a display. While the content is being presented to the user, the proxy device can 700 receive a first input that is an interaction with the input device 720B corresponds. In response to receiving the first input, a CGR presentation unit (e.g., the CGR presentation unit 1044 in 10th ) Update the content to create a fixed orientation in which the "up" direction vector is parallel to a virtual representation direction vector that is a y-axis of the proxy device reference frame 730 corresponds.

Alternativ oder im Anschluss an den Empfang der ersten Eingabe kann die Proxy-Vorrichtung 700 eine zweite Eingabe empfangen, die einer Interaktion mit der Eingabevorrichtung 720C entspricht, während der Inhalt dem Benutzer präsentiert wird. Als Reaktion auf den Empfang der zweiten Eingabe kann die CGR-Präsentationseinheit den Inhalt aktualisieren, um eine feste Ausrichtung zu erzeugen, bei welcher der Richtungsvektor „nach oben“ parallel zu einem Richtungsvektor der virtuellen Darstellung verläuft, der einer z-Achse der Proxy-Vorrichtung 730 entspricht, die in der Mitte 735 der Proxy-Vorrichtung 700 fixiert ist.Alternatively or following receipt of the first input, the proxy device can 700 receive a second input that is interacting with the input device 720C corresponds while the content is presented to the user. In response to receiving the second input, the CGR presentation unit can update the content to create a fixed orientation in which the "up" direction vector is parallel to a virtual representation direction vector, the z-axis of the proxy device 730 corresponds to that in the middle 735 the proxy device 700 is fixed.

In einem weiteren Beispiel kann die Proxy-Vorrichtung 700 eine Eingabe empfangen, die einer der Eingabevorrichtungen 720A-C entspricht, während der Inhalt dem Benutzer präsentiert wird. Als Reaktion auf den Empfang der Eingabe kann die CGR-Präsentationseinheit eine engste Übereinstimmung zwischen jeder Achse einer virtuellen Darstellung der Proxy-Vorrichtung 700 und jeder Achse eines virtuellen Objekts innerhalb der CGR-Umgebung feststellen. Beispielhaft kann eine x-Achse des virtuellen Objekts in größerer Nähe zu einem Richtungsvektor liegen, der einer z-Achse des Proxy-Vorrichtungs-Referenzrahmens 730 entspricht, als Richtungsvektoren, die einer x-Achse oder einer y-Achse des Proxy-Vorrichtungs-Referenzrahmens 730 entsprechen. In diesem Fall kann die CGR-Präsentationseinheit den Inhalt aktualisieren, um eine feste Ausrichtung zwischen der x-Achse des virtuellen Objekts und dem Richtungsvektor entsprechend der z-Achse des Proxy-Vorrichtungs-Referenzrahmens 730 zu erzeugen. In einer Implementierung kann die CGR-Präsentationseinheit diese feste Ausrichtung erzeugen, ohne Rücksicht darauf, welche Eingabevorrichtung betätigt wurde, um die Eingabe zu generieren. In dieser Implementierung würde die CGR-Präsentationseinheit die feste Ausrichtung zwischen der x-Achse des virtuellen Objekts und dem Richtungsvektor, der der z-Achse des Proxy-Vorrichtungs-Referenzrahmens 730 entspricht, auch dann erzeugen, wenn der Benutzer die Eingabevorrichtung 720A oder die Eingabevorrichtung 720B betätigt hat, welche die x-Achse bzw. die y-Achse des Proxy-Vorrichtungs-Referenzrahmens 730 schneiden, um die Eingabe zu generieren.In another example, the proxy device 700 receive an input from one of the input devices 720A-C corresponds while the content is presented to the user. In response to receiving the input, the CGR presentation unit may have a closest match between each axis of a virtual representation of the proxy device 700 and locate each axis of a virtual object within the CGR environment. For example, an x-axis of the virtual object can be in closer proximity to a direction vector, that of a z-axis of the proxy device reference frame 730 corresponds to, as direction vectors, an x-axis or a y-axis of the proxy device reference frame 730 correspond. In this case, the CGR presentation unit can update the content to a fixed alignment between the x-axis of the virtual object and the direction vector corresponding to the z-axis of the proxy device reference frame 730 to create. In one implementation, the CGR presentation unit can generate this fixed orientation regardless of which input device was actuated to generate the input. In this implementation, the CGR presentation unit would establish the fixed alignment between the x-axis of the virtual object and the direction vector, that of the z-axis of the proxy device reference frame 730 corresponds, even if the user generates the input device 720A or the input device 720B which has actuated the x-axis or the y-axis of the proxy device reference frame 730 cut to generate the input.

Während die peripheren Grenzen, die durch das Gehäuse 710 in 7 definiert sind, einen Würfel bilden, wird der Fachmann erkennen, dass andere Implementierungen nicht derart begrenzt sind. Gemäß einigen Implementierungen können die peripheren Grenzen einer Proxy-Vorrichtung, die durch ihr Gehäuse definiert sind, andere Formen annehmen. Zum Beispiel zeigt 8 die peripheren Grenzen, die durch das Gehäuse 810 als eine Kugel bildend definiert sind. Als weiteres Beispiel können die peripheren Grenzen einer Proxy-Vorrichtung, die durch ihr Gehäuse definiert werden, einen abgeschnittenen Würfel bilden.During the peripheral boundaries, by the housing 710 in 7 are defined, those skilled in the art will recognize that other implementations are not so limited. According to some implementations, the peripheral boundaries of a proxy device defined by its housing can take other forms. For example shows 8th the peripheral boundaries through the housing 810 are defined as forming a sphere. As another example, the peripheral boundaries of a proxy device defined by its housing can form a truncated cube.

In einer Implementierung schneidet sich jede Achse eines Proxy-Vorrichtungs-Referenzrahmens mit mindestens einer der einen oder mehreren Eingabevorrichtungen, die auf einer nach außen gerichteten Oberfläche einer Proxy-Vorrichtung angeordnet sind. In 7 schneiden sich zum Beispiel die x-Achse, y-Achse und z-Achse des Proxy-Vorrichtungsrahmens 730 mit der Eingabevorrichtung 720A, der Eingabevorrichtung 720B und der Eingabevorrichtung 720C. In einer Implementierung schneidet jede Achse eines Proxy-Vorrichtungs-Referenzrahmens eine Vielzahl von Eingabevorrichtungen. Zum Beispiel schneidet in 8 eine erste Achse 830 eines Proxy-Vorrichtungs-Referenzrahmens, welcher der Proxy-Vorrichtung 800 entspricht, mit der Eingabevorrichtung 820A und der Eingabevorrichtung 820B auf diametral gegenüberliegenden Oberflächenbereichen des Gehäuses 810.In one implementation, each axis of a proxy device reference frame intersects with at least one of the one or more input devices disposed on an outward surface of a proxy device. In 7 For example, the x-axis, y-axis, and z-axis of the proxy device frame intersect 730 with the input device 720A , the input device 720B and the input device 720C . In one implementation, each axis of a proxy device reference frame intersects a plurality of input devices. For example, cuts in 8th a first axis 830 a proxy device reference frame, which the proxy device 800 corresponds with the input device 820A and the input device 820B on diametrically opposite surface areas of the housing 810 .

Die Manipulation der Proxy-Vorrichtung durch den Benutzer kann durch die physischen Abmessungen der peripheren Grenzen, die durch das Gehäuse definiert sind, erleichtert werden. Zu diesem Zweck ist das Gehäuse für die Manipulation durch eine Greifkraft angepasst, die von der Hand des Benutzers auf diametral gegenüberliegende Oberflächenbereiche des Gehäuses und auf einen anderen Oberflächenbereich des Gehäuses, der orthogonal zu den diametral gegenüberliegenden Oberflächenbereichen positioniert ist, ausgeübt wird. In 8 ist zum Beispiel das Gehäuse 810 für die Manipulation durch eine Greifkraft angepasst, die von einer Hand des Benutzers auf diametral gegenüberliegende Oberflächenbereiche des Gehäuses 810 in der Nähe der Eingabevorrichtungen 820A-820B und auf einen anderen Oberflächenbereich (z. B. einen Oberflächenbereich in der Nähe der Eingabevorrichtung 820C) des Gehäuses 810, der orthogonal zu diesen diametral gegenüberliegenden Oberflächenbereichen positioniert ist, ausgeübt wird.User manipulation of the proxy device can be facilitated by the physical dimensions of the peripheral boundaries defined by the housing. For this purpose, the housing is made for manipulation adapted a gripping force that is exerted by the user's hand on diametrically opposite surface areas of the housing and on another surface area of the housing that is positioned orthogonally to the diametrically opposite surface areas. In 8th is the case, for example 810 adapted for manipulation by a gripping force that is applied from one hand of the user to diametrically opposite surface areas of the housing 810 near the input devices 820A-820B and another surface area (e.g., a surface area near the input device 820C ) of the housing 810 , which is positioned orthogonally to these diametrically opposite surface areas.

In einer Implementierung schließen die eine oder die mehreren Eingabevorrichtungen eine Eingabevorrichtung ein, die so konfiguriert ist, dass sie mindestens eine Eingabe empfängt, die durch eine Eigenschaft einer Interaktion mit der Eingabevorrichtung definiert ist. Wenn die Eingabevorrichtung beispielsweise ein Touchpad ist, kann eine Eigenschaft einer Interaktion mit der Eingabevorrichtung eine Zeitdauer, in der ein Objekt mit dem Touchpad in Kontakt blieb, eine Ausrichtung des Objekts bei der Berührung des Touchpads, einen Bereich des Touchpads, in dem der Kontakt zwischen dem Objekt und dem Touchpad stattfand, jegliche Bewegungs- oder Beschleunigungsinformationen, die mit dem Objekt bei der Berührung des Touchpads verbunden sind, und dergleichen einschließen.In one implementation, the one or more input devices include an input device that is configured to receive at least one input that is defined by a property of interacting with the input device. For example, when the input device is a touch pad, a property of interacting with the input device may be a period of time that an object has remained in contact with the touch pad, an orientation of the object when the touch pad is touched, an area of the touch pad in which the contact between the object and the touch pad took place, include any movement or acceleration information associated with the object when the touch pad was touched, and the like.

9 ist ein Flussdiagramm, das ein Beispiel für ein Verfahren 900 zur Manipulation virtueller Objekte unter Verwendung eines verfolgten physischen Objekts bei gleichzeitiger Präsentation des Inhalts auf einem Display einer elektronischen Vorrichtung zeigt. In Block 902 schließt das Verfahren 900 die Präsentation von Inhalten einschließlich eines virtuellen Objekts und einer virtuellen Darstellung einer Proxy-Vorrichtung, die physisch nicht mit der elektronischen Vorrichtung verbunden ist, auf dem Display ein. Die Proxy-Vorrichtung schließt eine Eingabevorrichtung, die auf einer äußeren Oberfläche eines Gehäuses angeordnet ist, ein, das die peripheren Grenzen der Proxy-Vorrichtung definiert. In einer Implementierung ist das Gehäuse symmetrisch in Bezug auf eine oder mehrere Achsen eines Proxy-Vorrichtungs-Referenzrahmens, der in der Mitte der Proxy-Vorrichtung fixiert ist. In einer Implementierung ist das Gehäuse für die Manipulation durch eine Greifkraft ausgelegt, die von der Hand eines Benutzers auf diametral gegenüberliegende Oberflächenbereiche des Gehäuses und auf einen anderen Oberflächenbereich des Gehäuses, der orthogonal zu den diametral gegenüberliegenden Oberflächenbereichen positioniert ist, ausgeübt wird. 9 Fig. 3 is a flow chart showing an example of a method 900 for manipulating virtual objects using a tracked physical object while presenting the content on a display of an electronic device. In block 902 concludes the process 900 the presentation of content including a virtual object and a virtual representation of a proxy device that is not physically connected to the electronic device on the display. The proxy device includes an input device disposed on an outer surface of a housing that defines the peripheral boundaries of the proxy device. In one implementation, the housing is symmetrical with respect to one or more axes of a proxy device reference frame that is fixed in the center of the proxy device. In one implementation, the housing is designed for manipulation by a gripping force exerted by a user's hand on diametrically opposite surface areas of the housing and on another surface area of the housing that is positioned orthogonally to the diametrically opposite surface areas.

In Block 904 schließt das Verfahren 900 das Empfangen von Eingaben von der Proxy-Vorrichtung über eine Eingabevorrichtung ein, das eine Anforderung zur Erzeugung einer festen Ausrichtung zwischen dem virtuellen Objekt und der virtuellen Darstellung in einem 3-D-Koordinatenraum, der für den Inhalt definiert ist, darstellt. In einer Implementierung wird die Eingabe, welche die Anforderung zur Erzeugung der festen Ausrichtung darstellt, von der Proxy-Vorrichtung empfangen, wenn mindestens eine Teilmenge der virtuellen Darstellung eine von dem virtuellen Objekt belegte Stelle auf dem Display überlappt.In block 904 concludes the process 900 receiving input from the proxy device via an input device that represents a request to create a fixed alignment between the virtual object and the virtual representation in a 3-D coordinate space defined for the content. In one implementation, the input representing the request to generate the fixed orientation is received by the proxy device when at least a subset of the virtual representation overlaps a location on the display occupied by the virtual object.

In Block 906 schließt das Verfahren 900 das Erzeugen der festen Ausrichtung als Reaktion auf den Empfang der Eingabe von der Proxy-Vorrichtung ein. In einer Implementierung schließt das Erzeugen der festen Ausrichtung das Fangen einer ersten Oberfläche des virtuellen Objekts auf einem Teil der virtuellen Darstellung ein, der einer horizontalen Oberfläche der Proxy-Vorrichtung in der physischen Umgebung entspricht. In einer Implementierung definieren die Quelldaten für das Rendern des virtuellen Objekts die erste Oberfläche als eine untere Oberfläche des virtuellen Objekts. In einer Implementierung definieren die Quelldaten für das Rendern des virtuellen Objekts Befestigungseigenschaften des virtuellen Objekts.In block 906 concludes the process 900 generating the fixed orientation in response to receiving the input from the proxy device. In one implementation, generating the fixed orientation includes capturing a first surface of the virtual object on a portion of the virtual representation that corresponds to a horizontal surface of the proxy device in the physical environment. In one implementation, the source data for rendering the virtual object defines the first surface as a bottom surface of the virtual object. In one implementation, the source data for rendering the virtual object defines attachment properties of the virtual object.

In einer Implementierung schließt das Erzeugen der festen Ausrichtung die Aktualisierung der auf dem Display präsentierten Inhalte ein, um ein visuelles Rückmeldeelement in Verbindung mit der virtuellen Darstellung zu einzuschließen. In einer Implementierung interagiert das visuelle Rückmeldeelement mit dem virtuellen Objekt auf dem Display, um das virtuelle Objekt schrittweise von einer Vorausrichtungspose in eine Nachausrichtungspose entsprechend der festen Ausrichtung zu überführen. In einer Implementierung wird die feste Ausrichtung zwischen dem virtuellen Objekt und der virtuellen Darstellung für die Dauer einer Interaktion mit der Eingabevorrichtung, welche die Eingabe generiert, beibehalten. In einer Implementierung wird die feste Ausrichtung zwischen dem virtuellen Objekt und der virtuellen Darstellung nach Beendigung einer Interaktion mit der Eingabevorrichtung, welche die Eingabe generiert, beibehalten.In one implementation, generating the fixed orientation includes updating the content presented on the display to include a visual feedback element in conjunction with the virtual representation. In one implementation, the visual feedback element interacts with the virtual object on the display to gradually move the virtual object from a pre-alignment pose to a post-alignment pose according to the fixed orientation. In one implementation, the fixed alignment between the virtual object and the virtual representation is maintained for the duration of an interaction with the input device that generates the input. In one implementation, the fixed alignment between the virtual object and the virtual representation is maintained after an interaction with the input device that generates the input is ended.

In Block 908 schließt das Verfahren 900 das dynamische Aktualisieren einer Pose (z. B. einer Position, einer Ausrichtung oder einer Kombination davon) des virtuellen Objekts im 3-D-Koordinatenraum, ein, wobei Positionsdaten verwendet werden, welche die Bewegung der Proxy-Vorrichtung in einer physischen Umgebung definieren In einer Implementierung definieren die Positionsdaten die Übersetzungs- und Drehbewegung der Proxy-Vorrichtung in der physischen Umgebung.In block 908 concludes the process 900 dynamically updating a pose (e.g., position, orientation, or a combination thereof) of the virtual object in the 3-D coordinate space using position data that defines the movement of the proxy device in a physical environment In one implementation, the position data defines the translation and rotation of the proxy device in the physical environment.

In einer Implementierung schließt das Verfahren 900 ferner das Beenden der festen Ausrichtung ein, um das virtuelle Objekt aus der virtuellen Darstellung der Proxy-Vorrichtung freizugeben. In einer Implementierung wird die feste Ausrichtung als Reaktion auf den Empfang einer weiteren Eingabe beendet, die eine Anforderung zum Beenden der festen Ausrichtung über eine Eingabevorrichtung der Proxy-Vorrichtung nach dem Erzeugen der festen Ausrichtung darstellt. In einer Implementierung werden die Eingabe, welche die Anforderung zum Erzeugen der festen Ausrichtung darstellt, und die anschließende Eingabe, welche die Anforderung zum Beenden der festen Ausrichtung darstellt, über dieselbe Eingabevorrichtung der Proxy-Vorrichtung empfangen. In einer Implementierung werden die Eingabe, welche die Anforderung zum Anlegen der festen Ausrichtung darstellt, und die anschließende Eingabe, welche die Anforderung zum Beenden der festen Ausrichtung darstellt, über unter Verwendung unterschiedlicher Eingabevorrichtungen der Proxy-Vorrichtung empfangen. In einer Implementierung wird die feste Ausrichtung als Reaktion auf eine Freigabe der Eingabevorrichtung beendet, die zum Empfangen der Eingabe verwendet wurde, welche die Anforderung zur Erzeugung der festen Ausrichtung darstellt. The method closes in one implementation 900 also terminate fixed alignment to release the virtual object from the virtual representation of the proxy device. In one implementation, the fixed alignment is terminated in response to receiving another input that is a request to terminate the fixed alignment via an input device of the proxy device after generating the fixed alignment. In one implementation, the input representing the fixed alignment creation request and the subsequent input representing the fixed alignment termination request are received via the same proxy input device. In one implementation, the input representing the fixed alignment request and the subsequent input representing the fixed alignment termination request are received via different proxy device input devices. In one implementation, fixed alignment is terminated in response to a release of the input device that was used to receive the input that represents the request to generate the fixed alignment.

In einer Implementierung werden die Positionsdaten unter Verwendung eines Bildsensors, einer optischen Quelle, einer elektromagnetischen Quelle, eines elektromagnetischen Sensors, einer Trägheitsmesseinheit („IMU“) oder einer Kombination davon erhalten. In einer Implementierung ist mindestens einer von Bildsensor, optischer Quelle, elektromagnetischer Quelle und elektromagnetischem Sensor eine Komponente der Proxy-Vorrichtung. In einer Implementierung ist mindestens einer von Bildsensor, optischer Quelle, elektromagnetischer Quelle und elektromagnetischem Sensor eine Komponente der elektronischen Vorrichtung.In one implementation, the position data is obtained using an image sensor, an optical source, an electromagnetic source, an electromagnetic sensor, an inertial measurement unit (“IMU”), or a combination thereof. In one implementation, at least one of the image sensor, optical source, electromagnetic source and electromagnetic sensor is a component of the proxy device. In one implementation, at least one of the image sensor, optical source, electromagnetic source and electromagnetic sensor is a component of the electronic device.

In einer Implementierung wird das Verfahren 900 durch Verarbeitungslogik durchgeführt, einschließlich Hardware, Firmware, Software oder einer Kombination davon. In einer Implementierung wird das Verfahren 900 durch einen Prozessor durchgeführt, der einen Code ausführt, der in einem nicht-flüchtigen computerlesbaren Medium (z. B. einem Speicher) gespeichert ist.In an implementation the procedure 900 performed by processing logic, including hardware, firmware, software, or a combination thereof. In an implementation the procedure 900 performed by a processor that executes code stored in a non-volatile computer readable medium (e.g., memory).

10 ist ein Blockdiagramm einer elektronischen Vorrichtung 120, die sich zum Umsetzen von Gesichtspunkten der vorliegenden Erfindung eignet. Während bestimmte Merkmale veranschaulicht sind, wird der Fachmann aus der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht veranschaulicht worden sind, um einschlägigere Gesichtspunkte der hier offenbarten Implementierungen nicht zu verdecken. Zu diesem Zweck schließt die elektronische Vorrichtung 120 in einigen Implementierungen als nicht einschränkendes Beispiel eine oder mehrere Prozessoren 1002 (z. B. Mikroprozessoren, ASICs, FPGAs, GPUs, CPUs, Rechenkerne oder dergleichen), eine oder mehrere E-/A-Vorrichtungen 1004, ein oder mehrere Displays 1006, eine oder mehrere Kommunikationsschnittstellen 1008 (z. B. USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, BLUETOOTH, ZIGBEE, SPI, I2C oder gleichartige Schnittstellenarten), eine oder mehrere Programmierschnittstellen (z. B. E/A) 1010, einen Speicher 1020 und einen oder mehrere Kommunikationsbusse 1050 zum Verbinden dieser und verschiedener anderer Komponenten ein. Kurz gesagt kann eine GPU eine spezialisierte elektronische Schaltung einschließen, die ausgebildet ist, um den Speicher schnell zu manipulieren und zu ändern, um die Erzeugung von Bildern in einem Einzelbildpuffer zu beschleunigen. Eine GPU kann auf einer Videokarte vorhanden sein, oder sie kann in eine Hauptplatine oder - in bestimmten CPU - in den CPU-Chip eingebettet sein. 10th Figure 3 is a block diagram of an electronic device 120 suitable for implementing aspects of the present invention. While certain features are illustrated, those skilled in the art will recognize from the present disclosure that various other features have not been illustrated for brevity so as not to obscure more pertinent aspects of the implementations disclosed herein. For this purpose the electronic device closes 120 in some implementations, as a non-limiting example, one or more processors 1002 (e.g. microprocessors, ASICs, FPGAs, GPUs, CPUs, computing cores or the like), one or more I / O devices 1004 , one or more displays 1006 , one or more communication interfaces 1008 (e.g. USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, BLUETOOTH, ZIGBEE, SPI, I2C or similar interface types), one or more programming interfaces ( e.g. I / O) 1010 , a memory 1020 and one or more communication buses 1050 to connect these and various other components. In short, a GPU can include specialized electronic circuitry designed to quickly manipulate and change memory to speed up the creation of images in a frame buffer. A GPU can exist on a video card, or it can be embedded in a motherboard or - in certain CPUs - in the CPU chip.

Die eine oder mehreren E/A-Vorrichtungen 1004 sind so konfiguriert, dass sie eine Schnittstelle zwischen Mensch und Maschine bilden, die Befehle, Anforderungen, Informationen, Daten und dergleichen zwischen der elektronischen Vorrichtung 120 und einem Benutzer austauscht. Die eine oder mehreren E/A-Vorrichtungen 1004 können eine Tastatur, ein Zeigevorrichtung, ein Mikrofon, einen Joystick und dergleichen einschließen, sind aber nicht darauf beschränkt. In einigen Implementierungen schließen die eine oder mehreren E/A-Vorrichtungen 1004 mindestens eines von einer Trägheitsmesseinheit („IMU“: inertial measurement unit), einem Beschleunigungssensor, einem Gyroskop, einem Thermometer, einem oder mehreren physiologischen Sensoren (z. B. Blutdruckmessgerät, Herzfrequenzmessgerät, Blutsauerstoffsensor, Blutzuckersensor usw.), ein oder mehrere Mikrofone, ein oder mehrere Lautsprecher, einen Haptik-Motor, ein oder mehrere Tiefensensoren (z. B. ein strukturiertes Licht, eine Flugzeit oder dergleichen) und/oder dergleichen ein.The one or more I / O devices 1004 are configured to interface human and machine, the commands, requests, information, data and the like between the electronic device 120 and exchanges a user. The one or more I / O devices 1004 may include, but are not limited to, a keyboard, pointing device, microphone, joystick, and the like. In some implementations, the one or more I / O devices close 1004 at least one of an inertial measurement unit ("IMU"), an acceleration sensor, a gyroscope, a thermometer, one or more physiological sensors (e.g. blood pressure monitor, heart rate monitor, blood oxygen sensor, blood sugar sensor, etc.), one or more microphones, one or more speakers, a haptic motor, one or more depth sensors (e.g. structured light, flight time or the like) and / or the like.

In einer Implementierung umfassen die eine oder mehreren E/A-Vorrichtungen 1004 einen Bildsensor, der so konfiguriert ist, dass er Bilddaten erhält, die eine physische Umgebung in der elektronischen Vorrichtung 120 darstellen. Beispiele für geeignete Bildsensoren zur Realisierung von Bildsensoren der einen oder mehreren E/A-Vorrichtungen 1004 können eine oder mehrere RGB-Kamera(s) (z. B. mit einem Komplementär-Metalloxid-Halbleiter- („CMOS“) Bildsensor oder einem ladungsgekoppelten Vorrichtungs- (CCD) Bildsensor), eine Monochrom-Kamera, eine IR-Kamera, eine ereignisgesteuerte Kamera oder dergleichen sein.In one implementation, the one or more I / O devices 1004 an image sensor configured to receive image data representing a physical environment in the electronic device 120 represent. Examples of suitable image sensors for implementing image sensors of the one or more I / O devices 1004 can be one or more RGB cameras (e.g. with a complementary metal oxide semiconductor ("CMOS") image sensor or a charge coupled device (CCD) image sensor), a monochrome camera, an IR camera, an event-controlled camera or the like.

In einigen Implementierungen sind das eine oder die mehreren Displays 1006 konfiguriert, um dem Benutzer die Inhalte, wie vorstehend beschrieben, zu präsentieren. In einigen Implementierungen entsprechen das eine oder die mehreren Displays 1006 einem holografischen Display, DLP-Display (digital light processing), LCD-Display (liquid-crystal display), LCoS-Display (liquid crystal on silicon), OLET-Display (organic light-emitting field-effect transitory), OLED-Display (organic light-emitting diode), SED-Display (surface-conduction electron-emitter), FED-Display (field-emission display), QD-LED-Display (quantum-dot light-emitting diode), MEMS-Display (microelectro-mechanical system) oder ähnlichen Displayarten. In einigen Implementierungen entsprechen die eine oder mehreren Displays 1006 diffraktiven, reflektiven, polarisierten, holographischen usw. Wellenleiterdisplays. In some implementations, this is one or more displays 1006 configured to present the content to the user as described above. In some implementations, this corresponds to one or more displays 1006 a holographic display, DLP display (digital light processing), LCD display (liquid-crystal display), LCoS display (liquid crystal on silicon), OLET display (organic light-emitting field-effect transitory), OLED display (organic light-emitting diode), SED display (surface-conduction electron-emitter), FED display (field-emission display), QD-LED display (quantum-dot light-emitting diode), MEMS display (microelectro -mechanical system) or similar display types. In some implementations, the one or more displays correspond 1006 diffractive, reflective, polarized, holographic, etc. waveguide displays.

In einer Implementierung schließen das eine oder die mehreren Displays 1006 eine Display-Vorrichtung ein, die eine Vielzahl von Pixeln umfasst. Jedes Pixel unter der Vielzahl von Pixeln kann mittels LED- (light-emitting diode), organischen OLED-(organic light emitting diode), Plasmazellen-, LCD- (liquid crystal display) Komponenten und dergleichen implementiert werden. In einer Implementierung sind ein oder mehrere Displays 1006 auf einer nach innen gerichteten Oberfläche der elektronischen Vorrichtung 120 angeordnet. In einer Implementierung sind das eine oder die mehreren Displays 1006 ein durchsichtiges Display, durch das ein Teil der physischen Umgebung sichtbar ist.In one implementation, the one or more displays close 1006 a display device comprising a plurality of pixels. Each pixel among the plurality of pixels can be implemented using LED (light-emitting diode), organic OLED (organic light-emitting diode), plasma cell, LCD (liquid crystal display) components and the like. One or more displays are in an implementation 1006 on an inward surface of the electronic device 120 arranged. In one implementation, this is one or more displays 1006 a clear display through which part of the physical environment is visible.

In einer Implementierung schließen das eine oder die mehreren Displays 1006 eine stereoskopische Bildanzeige zum Präsentieren von Ansichten mit dem linken und rechten Auge ein. In einer Implementierung präsentiert die stereoskopische Bildanzeige eine stereoskopische Untermenge einer 3-D-Darstellung einer Szene, die einer physischen Umgebung entspricht (z. B. Szene 105 in 1), in der sich die elektronische Vorrichtung 120 befindet. In einer Implementierung wird die 3-D-Darstellung der Szene aus Lichtfeldbildern rekonstruiert, die von einem Array von Bildsensoren erfasst werden, die in einer oder mehreren E/A-Vorrichtungen 1004 eingeschlossen sind.In one implementation, the one or more displays close 1006 a stereoscopic image display for presenting left and right eye views. In one implementation, the stereoscopic image display presents a stereoscopic subset of a 3-D representation of a scene that corresponds to a physical environment (e.g., scene 105 in 1 ) in which the electronic device 120 located. In one implementation, the 3-D representation of the scene is reconstructed from light field images captured by an array of image sensors located in one or more I / O devices 1004 are included.

Die eine oder mehreren Kommunikationsschnittstellen 1008 können jede Vorrichtung oder Gruppe von Vorrichtungen einschließen, die geeignet sind, eine verdrahtete oder drahtlose Daten- oder Telefonverbindung zu einem oder mehreren Netzwerken aufzubauen. Nicht einschränkende Beispiele einer Netzwerkschnittstellenvorrichtung schließen einen Ethernet-Netzwerkadapter, ein Modem oder dergleichen ein. Eine Vorrichtung kann Nachrichten als elektronische oder optische Signale übertragen.The one or more communication interfaces 1008 may include any device or group of devices suitable for establishing a wired or wireless data or telephone connection to one or more networks. Non-limiting examples of a network interface device include an Ethernet network adapter, a modem, or the like. A device can transmit messages as electronic or optical signals.

Die eine oder mehrere Programmierschnittstellen (z. B. E/A-Schnittstellen) 1010 sind so konfiguriert, dass die eine oder mehreren E/A-Vorrichtungen 1004 mit anderen Komponenten der elektronischen Vorrichtung 120 kommunikativ koppeln. Somit sind die eine oder mehrere Programmierschnittstellen 1010 in der Lage, Befehle oder Eingaben von einem Benutzer über die eine oder mehreren E/A-Vorrichtungen 1004 anzunehmen und die eingegebenen Eingaben an den einen oder die mehreren Prozessoren 1002 zu übertragen.The one or more programming interfaces (e.g. I / O interfaces) 1010 are configured so that the one or more I / O devices 1004 with other components of the electronic device 120 couple communicatively. Thus, the one or more programming interfaces 1010 able to receive commands or input from a user through the one or more I / O devices 1004 to accept and the inputs entered on the one or more processors 1002 transferred to.

Der Speicher 1020 kann jedes geeignete computerlesbare Medium einschließen. Ein computerlesbares Speichermedium sollte nicht als flüchtige Signale an sich verstanden werden (z. B. Funkwellen oder andere sich ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich über ein Übertragungsmedium wie einen Wellenleiter ausbreiten, oder elektrische Signale, die über ein Kabel übertragen werden). Zum Beispiel kann der Speicher 1020 Hochgeschwindigkeitsdirektzugriffsspeicher einschließen, wie etwa DRAM, SRAM, DDR-RAM oder andere Festkörperspeichervorrichtungen mit wahlfreiem Zugriff. In einigen Implementierungen schließt der Speicher 1020 wahlweise nicht-flüchtigen Speicher, wie etwa eine oder mehrere Magnetplattenspeicher, optische Plattenspeicher, Flash-Speicher oder andere nichtflüchtige Festkörperspeicher ein. Der Speicher 1020 schließt optional eine oder mehrere Speichervorrichtungen, die sich entfernt von der einen oder den mehreren Verarbeitungseinheiten 1002 befinden, ein. Der Speicher 1020 umfasst ein nicht-flüchtiges computerlesbares Speichermedium. Anweisungen, die im Speicher 1020 gespeichert sind, können von dem einen oder mehreren Prozessoren 1002 ausgeführt werden, um eine Vielfalt von Verfahren und Operationen durchzuführen, einschließlich der Techniken zur Manipulation virtueller Objekte mittels eines verfolgten physischen Objekts, während der Inhalt auf einem Display einer elektronischen Vorrichtung präsentiert wird, die vorstehend detaillierter beschrieben wurden.The memory 1020 may include any suitable computer readable medium. A computer-readable storage medium should not be understood as volatile signals per se (e.g. radio waves or other propagating electromagnetic waves, electromagnetic waves that propagate through a transmission medium such as a waveguide, or electrical signals that are transmitted via a cable). For example, the memory 1020 Include high-speed random access memories such as DRAM, SRAM, DDR-RAM, or other random access solid-state memory devices. In some implementations, memory closes 1020 optionally, non-volatile memories, such as one or more magnetic disk memories, optical disk memories, flash memories or other non-volatile solid-state memories. The memory 1020 optionally includes one or more storage devices that are remote from the one or more processing units 1002 are, a. The memory 1020 includes a non-volatile computer readable storage medium. Instructions in memory 1020 can be stored by the one or more processors 1002 performed to perform a variety of methods and operations, including techniques for manipulating virtual objects using a tracked physical object while presenting content on a display of an electronic device, which have been described in more detail above.

In einigen Implementierungen speichern der Speicher 1020 oder das nicht-flüchtige computerlesbare Speichermedium des Speichers 1020 die folgenden Programme, Module und Datenstrukturen oder eine Untermenge davon, einschließlich eines optionalen Betriebssystems 1030 und eines CGR-Umgebungsmoduls 1040. Das Betriebssystem 1030 schließt Abläufe für das Handhaben verschiedener grundlegender Systemdienste und für das Durchführen hardwareabhängiger Aufgaben ein. In einigen Implementierungen ist das CGR-Umgebungsmodul 1040 konfiguriert, um eine oder mehrere CGR-Umgebungen für einen oder mehrere Benutzer zu verwalten und zu koordinieren (z. B. eine einzelne CGR-Umgebung für einen oder mehrere Benutzer oder mehrere CGR-Umgebungen für jeweilige Gruppen aus einem oder mehreren Benutzern). Zu diesem Zweck schließt das CGR-Umgebungsmodul 1040 in verschiedenen Implementierungen eine Datenerfassungseinheit 1042, eine CGR-Präsentationseinheit 1044, eine Proxy-Vorrichtungs-Verfolgungseinheit 1046 und eine Datenübertragungseinheit 1048 ein.In some implementations, memory stores 1020 or the non-volatile computer readable storage medium of the memory 1020 the following programs, modules, and data structures, or a subset thereof, including an optional operating system 1030 and a CGR environment module 1040 . The operating system 1030 includes processes for handling various basic system services and for performing hardware-dependent tasks. In some implementations, the CGR environment module is 1040 configured to manage and coordinate one or more CGR environments for one or more users (e.g., a single CGR environment for one or more users or multiple CGR environments for respective groups of one or more users). The CGR environment module closes for this purpose 1040 a data acquisition unit in various implementations 1042 , a CGR presentation unit 1044 , a proxy device tracking unit 1046 and a data transmission unit 1048 a.

In einigen Implementierungen ist die Datenerfassungseinheit 1042 so konfiguriert, dass sie Daten (z. B. Positionsdaten, Eingaben von Proxy-Vorrichtungen, Inhalte aus einer Grafik-Pipeline usw.) von einer oder mehreren Rechenvorrichtungen außerhalb der elektronischen Vorrichtung 120 erhält. Zu diesem Zweck schließt die Datenerfassungseinheit 1042 in verschiedenen Implementierungen Anweisungen bzw. Logik dafür sowie Heuristik und Metadaten dafür ein.In some implementations, the data acquisition unit is 1042 configured to receive data (e.g., location data, proxy device inputs, content from a graphics pipeline, etc.) from one or more computing devices outside the electronic device 120 receives. For this purpose the data acquisition unit closes 1042 instructions or logic for it as well as heuristics and metadata for it in various implementations.

In einigen Implementierungen ist die CGR-Präsentationseinheit 1044 konfiguriert, um CGR-Inhalte über das eine oder mehreren Displays 1006 zu präsentieren. Zu diesem Zweck schließt die CGR-Präsentationseinheit 1044 in verschiedenen Implementierungen Anweisungen oder Logik dafür sowie Heuristik und Metadaten dafür ein.In some implementations, the CGR presentation unit is 1044 configured to display CGR content across the one or more displays 1006 showcase. For this purpose the CGR presentation unit closes 1044 instructions or logic for it as well as heuristics and metadata for it in various implementations.

In einigen Implementierungen ist die Proxy-Vorrichtungs-Verfolgungseinheit 1046 so konfiguriert, dass sie eine Pose (z. B. eine Position, eine Ausrichtung oder eine Kombination davon) einer Proxy-Vorrichtung in einer physischen Umgebung in der Nähe der elektronischen Vorrichtung 120 basierend auf den von der Datenerfassungseinheit 1042 empfangenen Positionsdaten bestimmt. Zu diesem Zweck schließt die Proxy-Vorrichtungs-Verfolgungseinheit 1046 in verschiedenen Implementierungen Anweisungen bzw. Logik dafür sowie Heuristik und Metadaten dafür ein.In some implementations, the proxy device tracker is 1046 configured to pose (e.g., position, orientation, or a combination thereof) a proxy device in a physical environment near the electronic device 120 based on that from the data acquisition unit 1042 received position data determined. To this end, the proxy device tracking unit closes 1046 instructions or logic for it as well as heuristics and metadata for it in various implementations.

In einigen Implementierungen ist die Datenübertragungseinheit 1048 so konfiguriert, dass sie Daten (z. B. Positionsdaten, Eingaben von Proxy-- Vorrichtungen, Anforderungen für Aktualisierung von Inhalten aus einem Grafik-Pipeline-Inhalt usw.) auf eine oder mehrere Rechenvorrichtungen außerhalb der elektronischen Vorrichtung 120 überträgt. Zu diesen Zwecken schließt die Datenübertragungseinheit 1048 in verschiedenen Implementierungen Anweisungen bzw. Logik dafür sowie Heuristik und Metadaten dafür ein.In some implementations, the data transfer unit is 1048 configured to transfer data (e.g., location data, proxy device inputs, content update requests from a graphics pipeline content, etc.) to one or more computing devices outside of the electronic device 120 transmits. The data transmission unit closes for these purposes 1048 instructions or logic for it as well as heuristics and metadata for it in various implementations.

Obwohl die Datenerfassungseinheit 1042, die CGR-Präsentationseinheit 1044, die Proxy-Vorrichtungs-Verfolgungseinheit 1046 und die Datenübertragungseinheit 1048 als auf einer einzigen Vorrichtung (z. B. der elektronischen Vorrichtung 120) befindlich gezeigt sind, versteht es sich, dass sich in anderen Implementierungen jede Kombination der Datenerfassungseinheit 1042, der CGR-Präsentationseinheit 1044, der Proxy-Vorrichtungs-Verfolgungseinheit 1046 und der Datenübertragungseinheit 1048 in separaten Rechenvorrichtungen befinden kann.Although the data acquisition unit 1042 who have favourited CGR Presentation Unit 1044 , the proxy device tracking unit 1046 and the data transmission unit 1048 than on a single device (e.g. the electronic device 120 ) are shown, it is understood that in other implementations any combination of the data acquisition unit 1042 , the CGR presentation unit 1044 , the proxy device tracking unit 1046 and the data transmission unit 1048 can be located in separate computing devices.

10 ist eher als funktionale Beschreibung der verschiedenen Merkmale gedacht, die in einer bestimmten Implementierung vorhanden sind, im Gegensatz zu einem strukturellen Schema der hier beschriebenen Implementierungen. Wie der Durchschnittsfachmann erkennt, könnten separat gezeigte Gegenstände kombiniert und einige Elemente getrennt werden. Beispielsweise könnten einige Funktionsmodule, die separat in 10 gezeigt sind, in einem einzigen Modul implementiert sein, und die verschiedenen Funktionen einzelner Funktionsblöcke könnten durch einen oder mehrere Funktionsblöcke in verschiedenen Implementierungen implementiert werden. Die tatsächliche Anzahl von Modulen und die Aufteilung bestimmter Funktionen und wie die Merkmale ihnen zugeordnet sind, variieren von einer Implementierung zu einer anderen und hängen in einigen Implementierungen teilweise von der bestimmten Kombination von Hardware, Software oder Firmware ab, die für eine bestimmte Implementierung gewählt wird. 10th is intended rather as a functional description of the various features that are present in a particular implementation, as opposed to a structural scheme of the implementations described here. As one of ordinary skill in the art will recognize, items shown separately could be combined and some elements separated. For example, some functional modules that are separate in 10th are shown implemented in a single module, and the different functions of individual function blocks could be implemented by one or more function blocks in different implementations. The actual number of modules and the division of certain functions and how the features are assigned to them vary from one implementation to another and in some implementations depend in part on the particular combination of hardware, software or firmware chosen for a particular implementation .

Die Verwendung von „angepasst für“ oder „konfiguriert zu“ hierin ist als offene und einschließende Sprache gemeint, die keine Vorrichtungen ausschließt, die an zusätzliche Aufgaben oder Schritte angepasst sind oder dafür konfiguriert sind, zusätzliche Aufgaben oder Schritte auszuführen. Zusätzlich soll die Verwendung „basierend auf“ offen und einschließend sein, indem ein Prozess, Schritt, eine Berechnung oder eine andere Aktion, die auf der einen oder den mehreren angegebenen Bedingungen oder Werten basiert, in der Praxis auf zusätzlichen Bedingungen oder einem Wert über die genannten hinaus basieren kann. Die hier enthaltenen Überschriften, Listen und Nummerierungen dienen nur zur Erleichterung der Erläuterung und sollen nicht einschränkend sein.The use of “adapted for” or “configured to” herein is meant as an open and inclusive language that does not exclude devices that are adapted to additional tasks or steps or configured to perform additional tasks or steps. In addition, the use "based on" is intended to be open and inclusive, in practice, by a process, step, calculation, or other action based on the one or more specified conditions or values, in practice on additional conditions or a value above the can also be based. The headings, lists and numbering contained here are only to facilitate the explanation and are not intended to be limiting.

Es versteht sich auch, dass, wenngleich die Begriffe „erste(r)“, „zweite(r)“ usw. hier verwendet werden können, um verschiedene Elemente zu beschreiben, diese Elemente nicht durch diese Begriffe eingeschränkt werden. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Zum Beispiel könnte ein erster Knoten als ein zweiter Knoten bezeichnet werden, und ähnlich könnte ein zweiter Knoten als erster Knoten bezeichnet werden, ohne die Bedeutung der Beschreibung zu ändern, solange jedes Vorkommen des „ersten Knotens“ konsequent umbenannt wird und jedes Vorkommen des „zweiten Knotens“ konsequent umbenannt wird. Bei dem ersten Knoten und dem zweiten Knoten handelt es sich bei beiden um Knoten, es handelt sich jedoch nicht um denselben Knoten.It is also understood that although the terms "first", "second", etc. may be used here to describe various elements, these elements are not limited by these terms. These terms are only used to distinguish one element from another. For example, a first node could be called a second node, and similarly a second node could be called a first node without changing the meaning of the description, as long as each occurrence of the "first node" is consistently renamed and every occurrence of the "second." Knotens ”is consistently renamed. The first node and the second node are both Node, but it is not the same node.

Die hierin verwendete Terminologie dient lediglich der Beschreibung bestimmter Implementierungen und ist nicht dazu beabsichtigt, die Ansprüche einzuschränken. Wie in der Beschreibung der Implementierungen und den beiliegenden Ansprüchen verwendet, sollen die Singularformen „ein“, „eine“, „der“, „die“ und „das“ auch die Pluralformen einschließen, sofern es im Kontext nicht eindeutig anders angegeben ist. Es versteht sich auch, dass sich der Begriff „bzw.“, so wie er hier verwendet wird, auf jegliche und alle möglichen Kombinationen von einem oder mehreren der damit zusammenhängenden, aufgeführten Begriffe bezieht und diese einschließt. Es versteht sich ferner, dass die Begriffe „umfasst“ bzw. „umfassend“, wenn sie in dieser Patentschrift verwendet werden, das Vorhandensein von aufgeführten Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen bzw. Komponenten angeben, aber das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen, Komponenten bzw. Gruppen davon nicht ausschließen.The terminology used herein is used only to describe certain implementations and is not intended to limit the claims. As used in the description of the implementations and the appended claims, the singular forms "a", "a", "the", "the" and "that" should also include the plural forms, unless the context clearly states otherwise. It is also understood that the term "or" as used herein refers to and includes any and all possible combinations of one or more of the related listed terms. It is further understood that the terms “comprises” or “comprising”, when used in this patent specification, indicate the presence of listed features, integers, steps, processes, elements or components, but the presence or addition do not exclude one or more other characteristics, whole numbers, steps, operations, elements, components or groups of them.

Wie hier verwendet, kann der Begriff „wenn“ als „wenn“ oder „bei“ oder „infolge des Bestimmens“ oder „gemäß einer Bestimmung“ oder „infolge des Erkennens“, dass eine genannte vorausgehende Bedingung erfüllt ist, abhängig vom Kontext, verstanden werden. Ähnlich kann die Wendung „wenn bestimmt wird, [dass eine genannte vorausgehende Bedingung erfüllt ist]“ oder „falls [eine genannte vorausgehende Bedingung erfüllt ist]“ oder „wenn [eine genannte vorausgehende Bedingung erfüllt ist]“ als „bei Bestimmung“ oder „bei einer Bestimmung, dass“ oder „gemäß einer Bestimmung“ oder „beim Erkennen“ oder „infolge des Erkennens“ so interpretiert werden, dass eine genannte vorausgehende Bedingung erfüllt ist, abhängig vom Kontext.As used herein, the term "if" can be understood as "if" or "at" or "as a result of determination" or "according to a determination" or "as a result of recognition" that a foregoing condition is met, depending on the context become. Similarly, the phrase "if it is determined [that a foregoing condition is met]" or "if [a foregoing condition is met" "or" if [a preceding condition is met] "as" upon determination "or" in the case of a determination that "or" according to a determination "or" upon recognition "or" as a result of recognition "are interpreted in such a way that a previously mentioned condition is fulfilled, depending on the context.

Die vorstehende Beschreibung und Kurzdarstellung der Erfindung sind als in jeder Hinsicht veranschaulichend und beispielhaft, aber nicht als einschränkend zu verstehen, und der Umfang der hier offenbarten Erfindung ist nicht nur aus der detaillierten Beschreibung der veranschaulichenden Implementierungen, sondern gemäß der durch Patentgesetze erlaubten vollen Breite zu bestimmen. Es versteht sich, dass die hier gezeigten und beschriebenen Implementierungen nur veranschaulichend für die Prinzipien der vorliegenden Erfindung sind und dass verschiedene Modifikationen durch den Fachmann implementiert werden können, ohne vom Schutzumfang und Geist der Erfindung abzuweichen.The foregoing description and summary of the invention are to be considered in all respects as illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is to be understood not only from the detailed description of the illustrative implementations, but according to the full breadth permitted by patent law determine. It is understood that the implementations shown and described herein are only illustrative of the principles of the present invention and that various modifications can be implemented by those skilled in the art without departing from the scope and spirit of the invention.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant has been generated automatically and is only included for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent literature cited

  • US 62736551 [0001]US 62736551 [0001]

Claims (15)

Verfahren, umfassend: in einer elektronischen Vorrichtung mit einem Bildschirm: Präsentieren von Inhalt einschließlich eines virtuellen Objekts und einer virtuellen Darstellung einer Proxy-Vorrichtung, die physisch der elektronischen Vorrichtung zugeordnet ist, auf dem Display, wobei die Proxy-Vorrichtung eine Eingabevorrichtung einschließt, die auf einer äußeren Oberfläche eines Gehäuses angeordnet ist, das die peripheren Grenzen der Proxy-Vorrichtung definiert; Empfangen, von der Proxy-Vorrichtung unter Verwendung der Eingabevorrichtung, von Eingaben, die eine Anforderung zum Erzeugen einer festen Ausrichtung zwischen dem virtuellen Objekt und der virtuellen Darstellung in einem dreidimensionalen („3-D“-) Koordinatenraum, der für den Inhalt definiert ist, darstellen; Erzeugen der festen Ausrichtung als Reaktion auf das Empfangen der Eingabe; und dynamisches Aktualisieren einer Position und einer Ausrichtung des virtuellen Objekts im 3-D-Koordinatenraum unter Verwendung von Positionsdaten, welche die Bewegung der Proxy-Vorrichtung in einer physischen Umgebung definieren, wobei die Position und die Ausrichtung des virtuellen Objekts aktualisiert werden, um die feste Ausrichtung beizubehalten.Process comprising: in an electronic device with a screen: Presenting content including a virtual object and a virtual representation of a proxy device physically associated with the electronic device on the display, the proxy device including an input device disposed on an outer surface of a housing that defines the peripheral Proxy device limits defined; Receiving, from the proxy device using the input device, inputs that create a request to create a fixed alignment between the virtual object and the virtual representation in a three-dimensional ("3-D") coordinate space defined for the content , represent; Generating the fixed orientation in response to receiving the input; and dynamically updating a position and an orientation of the virtual object in the 3-D coordinate space using position data defining the movement of the proxy device in a physical environment, the position and the orientation of the virtual object being updated to the fixed orientation maintain. Verfahren nach Anspruch 1, wobei das Gehäuse symmetrisch in Bezug auf jede Achse eines Proxy-Vorrichtungs-Referenzrahmens ist, der in der Mitte der Proxy-Vorrichtung fixiert ist.Procedure according to Claim 1 , the housing being symmetrical with respect to each axis of a proxy device reference frame fixed in the center of the proxy device. Verfahren nach Anspruch 1, wobei das Erzeugen der festen Ausrichtung Folgendes einschließt: Fangen einer ersten Oberfläche des virtuellen Objekts auf einem Teil der virtuellen Darstellung, der einer horizontalen Oberfläche der Proxy-Vorrichtung in der physischen Umgebung entspricht.Procedure according to Claim 1 wherein generating the fixed orientation includes: capturing a first surface of the virtual object on a portion of the virtual representation that corresponds to a horizontal surface of the proxy device in the physical environment. Verfahren nach Anspruch 1, wobei Quelldaten für das Rendern des virtuellen Objekts die erste Oberfläche als eine untere Oberfläche des virtuellen Objekts definieren.Procedure according to Claim 1 source data for rendering the virtual object defining the first surface as a bottom surface of the virtual object. Verfahren nach Anspruch 1, wobei das Erzeugen der festen Ausrichtung Folgendes einschließt: Fangen einer zweiten Oberfläche des virtuellen Objekts an einem Teil der virtuellen Darstellung, die einer vertikalen Oberfläche der Proxy-Vorrichtung in der physischen Umgebung entspricht, oder Fangen einer Achse des virtuellen Objekts an einem auf der Nähe basierenden Richtungsvektor der virtuellen Darstellung.Procedure according to Claim 1 wherein generating the fixed orientation includes: snapping a second surface of the virtual object on a portion of the virtual representation that corresponds to a vertical surface of the proxy device in the physical environment, or snapping an axis of the virtual object on a nearby one based direction vector of the virtual representation. Verfahren nach Anspruch 1, wobei das Erzeugen der festen Ausrichtung Folgendes einschließt: Aktualisieren der auf dem Display präsentierten Inhalte, um ein visuelles Rückmeldeelement einzuschließen, das der virtuellen Darstellung zugeordnet ist und mit dem virtuellen Objekt auf dem Display interagiert, um das virtuelle Objekt schrittweise von einer Vorausrichtungspose in eine Nachausrichtungspose entsprechend der festen Ausrichtung zu überführen.Procedure according to Claim 1 , wherein generating the fixed orientation includes: updating the content presented on the display to include a visual feedback element associated with the virtual representation and interacting with the virtual object on the display to gradually move the virtual object from a pre-alignment pose to one Convey post-alignment pose according to the fixed alignment. Verfahren nach Anspruch 1, wobei das Gehäuse so konfiguriert ist, dass es von einer Hand eines Benutzers an diametral gegenüberliegenden Oberflächenbereichen des Gehäuses ergriffen werden kann, während es eine Handfläche an einem anderen Oberflächenbereich des Gehäuses berührt, der orthogonal zu den diametral gegenüberliegenden Oberflächenbereichen positioniert ist.Procedure according to Claim 1 wherein the housing is configured to be grasped by a user's hand on diametrically opposite surface areas of the housing while touching a palm on another surface area of the housing that is positioned orthogonal to the diametrically opposite surface areas. Verfahren nach Anspruch 1, wobei die Eingabe, welche die Anforderung zum Erzeugen der festen Ausrichtung darstellt, von der Proxy-Vorrichtung empfangen wird, wenn mindestens eine Teilmenge der virtuellen Darstellung eine von dem virtuellen Objekt belegten Stelle auf dem Display überlappt.Procedure according to Claim 1 wherein the input representing the request to generate the fixed orientation is received by the proxy device when at least a subset of the virtual representation overlaps a location on the display occupied by the virtual object. Nicht-flüchtiges computerlesbares Speichermedium, das Programmanweisungen speichert, die auf einem Rechner computerausführbar sind zum Durchführen der folgenden Operationen: in einer elektronischen Vorrichtung mit einem Display: Präsentieren von Inhalt einschließlich eines virtuellen Objekts und einer virtuellen Darstellung einer Proxy-Vorrichtung, die physisch der elektronischen Vorrichtung nicht zugeordnet ist, auf dem Display, wobei die Proxy-Vorrichtung eine Eingabevorrichtung einschließt, die auf einer äußeren Oberfläche eines Gehäuses angeordnet ist, das die peripheren Grenzen der Proxy-Vorrichtung definiert, und das Gehäuse für die Manipulation durch eine Greifkraft angepasst ist, die von der Hand eines Benutzers auf diametral gegenüberliegende Oberflächenbereiche des Gehäuses und auf einen anderen Oberflächenbereich des Gehäuses, der orthogonal zu den diametral gegenüberliegenden Oberflächenbereichen positioniert ist, ausgeübt wird; Empfangen, von der Proxy-Vorrichtung unter Verwendung der Eingabevorrichtung, einer Eingabe, die eine Anforderung zum Erzeugen einer festen Ausrichtung zwischen dem virtuellen Objekt und der virtuellen Darstellung in einem dreidimensionalen („3-D“-) Koordinatenraum, der für den Inhalt definiert ist, darstellt; Erzeugen der festen Ausrichtung als Reaktion auf das Empfangen der Eingabe; und dynamisches Aktualisieren einer Position und einer Ausrichtung des virtuellen Objekts im 3-D-Koordinatenraum unter Verwendung von Positionsdaten, welche die Bewegung der Proxy-Vorrichtung in der physischen Umgebung definieren.Non-volatile computer readable storage medium that stores program instructions that are computer-executable on a computer to perform the following operations: in an electronic device with a display: Presenting content including a virtual object and a virtual representation of a proxy device that is not physically associated with the electronic device on the display, the proxy device including an input device disposed on an outer surface of a housing that the defines peripheral boundaries of the proxy device, and the housing is adapted for manipulation by a gripping force that a user's hand places on diametrically opposite surface areas of the housing and on another surface area of the housing that is positioned orthogonally to the diametrically opposite surface areas, is exercised; Receiving, from the proxy device using the input device, an input that creates a request to create a fixed alignment between the virtual object and the virtual representation in a three-dimensional ("3-D") coordinate space defined for the content , represents; Generating the fixed orientation in response to receiving the input; and dynamically updating a position and orientation of the virtual object in the 3-D coordinate space using position data that defines the movement of the proxy device in the physical environment. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 9, wobei das Gehäuse symmetrisch in Bezug auf jede Achse eines Proxy-Vorrichtungs-Referenzrahmens ist, der in der Mitte der Proxy-Vorrichtung fixiert ist. Non-volatile computer readable storage medium Claim 9 , the housing being symmetrical with respect to each axis of a proxy device reference frame fixed in the center of the proxy device. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 9, wobei die Quelldaten zum Rendern des virtuellen Objekts die Befestigungseigenschaften des virtuellen Objekts definieren.Non-volatile computer readable storage medium Claim 9 , the source data for rendering the virtual object defining the attachment properties of the virtual object. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 9, wobei die Positionsdaten unter Verwendung eines Bildsensors, einer optischen Quelle, einer elektromagnetischen Quelle, eines elektromagnetischen Sensors, einer Trägheitsmesseinheit („IMU“) oder einer Kombination davon erhalten werden.Non-volatile computer readable storage medium Claim 9 wherein the position data is obtained using an image sensor, an optical source, an electromagnetic source, an electromagnetic sensor, an inertial measurement unit ("IMU"), or a combination thereof. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 9, wobei die feste Ausrichtung zwischen dem virtuellen Objekt und der virtuellen Darstellung für eine Dauer einer Interaktion mit der Eingabevorrichtung, welche die Eingabe erzeugt, beibehalten wird.Non-volatile computer readable storage medium Claim 9 wherein the fixed alignment between the virtual object and the virtual representation is maintained for a period of interaction with the input device that generates the input. Nicht-flüchtiges computerlesbares Speichermedium nach Anspruch 9, wobei die feste Ausrichtung zwischen dem virtuellen Objekt und der virtuellen Darstellung nach Beendigung einer Interaktion mit der Eingabevorrichtung, welche die Eingabe generiert, beibehalten wird.Non-volatile computer readable storage medium Claim 9 , wherein the fixed alignment between the virtual object and the virtual representation is maintained after an interaction with the input device that generates the input is ended. Proxy-Vorrichtung, umfassend: ein Gehäuse, das die peripheren Grenzen der Proxy-Vorrichtung definiert, wobei das Gehäuse symmetrisch in Bezug auf jede Achse eines Proxy-Vorrichtungs-Referenzrahmens ist, der in der Mitte der Proxy-Vorrichtung fixiert ist; und eine Eingabevorrichtung, die auf einer nach außen gerichteten Oberfläche des Gehäuses angeordnet ist, die so konfiguriert ist, dass sie Eingaben empfängt, die Anforderungen für Manipulationen eines virtuellen Objekts darstellen, das in den Inhalt über eine virtuelle Darstellung der Proxy-Vorrichtung im Inhalt eingeschlossen ist, wobei der Inhalt auf einem Display einer elektronischen Vorrichtung präsentiert wird, die physisch nicht der Proxy-Vorrichtung zugeordnet ist, wobei sich die Bewegung der Proxy-Vorrichtung in einer physischen Umgebung in eine Bewegung der virtuellen Darstellung in einem dreidimensionalen („3-D“) Koordinatenraum, der für den Inhalt definiert ist, übersetzt.A proxy device comprising: a housing defining the peripheral boundaries of the proxy device, the housing being symmetrical with respect to each axis of a proxy device reference frame fixed in the center of the proxy device; and an input device disposed on an outward surface of the housing configured to receive inputs representing requests for manipulation of a virtual object included in the content via a virtual representation of the proxy device in the content wherein the content is presented on a display of an electronic device that is not physically associated with the proxy device, wherein the movement of the proxy device in a physical environment translates into a movement of the virtual representation in a three-dimensional ("3-D") coordinate space defined for the content.
DE102020101675.1A 2019-01-25 2020-01-24 MANIPULATION OF VIRTUAL OBJECTS BY MEANS OF A TRACKED PHYSICAL OBJECT Pending DE102020101675A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962796706P 2019-01-25 2019-01-25
US62/796,706 2019-01-25
US16/745,472 US11099634B2 (en) 2019-01-25 2020-01-17 Manipulation of virtual objects using a tracked physical object
US16/745,472 2020-01-17

Publications (1)

Publication Number Publication Date
DE102020101675A1 true DE102020101675A1 (en) 2020-07-30

Family

ID=71524724

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020101675.1A Pending DE102020101675A1 (en) 2019-01-25 2020-01-24 MANIPULATION OF VIRTUAL OBJECTS BY MEANS OF A TRACKED PHYSICAL OBJECT

Country Status (1)

Country Link
DE (1) DE102020101675A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11069079B2 (en) * 2017-03-31 2021-07-20 Honda Motor Co., Ltd. Interaction with physical objects as proxy objects representing virtual objects

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11069079B2 (en) * 2017-03-31 2021-07-20 Honda Motor Co., Ltd. Interaction with physical objects as proxy objects representing virtual objects

Similar Documents

Publication Publication Date Title
DE102020110662A1 (en) SIMULTANEOUS POSITIONING AND MAP CREATION (SLAM) FOR MULTIPLE USERS
DE112020001415T5 (en) Remote communication environment
DE102020116144A1 (en) VIRTUAL CONTENT, POSITIONED BASED ON DETECTED OBJECT
CN107209565B (en) Method and system for displaying fixed-size augmented reality objects
DE202017105200U1 (en) Dragging virtual elements of an enhanced and / or virtual reality environment
US11099634B2 (en) Manipulation of virtual objects using a tracked physical object
DE112017005753T5 (en) LOCATION GLOBE IN VIRTUAL REALITY
US11709370B2 (en) Presentation of an enriched view of a physical setting
CN110715647A (en) Object detection using multiple three-dimensional scans
DE112019002353T5 (en) TECHNIQUES FOR SWITCHING BETWEEN IMMERSION LEVELS
DE102019218787A1 (en) METHOD, DEVICE AND SYSTEM FOR GENERATING OFFERS ASSOCIATED WITH A PRESENTATION OF AN ARTICLE
DE112020000573T5 (en) VIEWING REPRESENTATIONS OF ENVIRONMENTS
DE102022110363A1 (en) METHOD AND APPARATUS FOR DEBUGGING PROGRAM EXECUTION AND CONTENT PLAYBACK
DE112020000725T5 (en) OBJECT POSITIONING AND MOVEMENT IN THREE-DIMENSIONAL CONTENT
DE102020101675A1 (en) MANIPULATION OF VIRTUAL OBJECTS BY MEANS OF A TRACKED PHYSICAL OBJECT
DE112019000474T5 (en) CONFIGURE TARGET EFFECTORS FOR ENVIRONMENTS OF SYNTHETIC REALITY
DE102020104415A1 (en) MOVEMENT IN AN ENVIRONMENT
CN111602391B (en) Method and apparatus for customizing a synthetic reality experience from a physical environment
DE112019004889T5 (en) Computationally efficient model selection
CN113678173A (en) Method and apparatus for graph-based placement of virtual objects
DE102020104055A1 (en) RENDERING OF OBJECTS TO CUSTOMIZE THE CAMERA SOUND
US11182978B1 (en) Rendering virtual content with coherent visual properties
US11216920B2 (en) Enhanced local contrast
DE112020002063T5 (en) Generating a semantic construction of a physical environment
DE112021003266T5 (en) VISUAL CONTENT PRESENTATION WITH VIEWER POSITION-BASED AUDIO

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication