Browser-implemented switching between virtual worlds in artificial reality
Patent Information
- Application Number
- CN202380043759.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-08-18
- Filing Date
- 2023-06-19
- Publication Date
- 2025-01-10
AI Technical Summary
The existing artificial reality system requires users to enter and exit the homepage lobby to move between the virtual worlds, resulting in difficulty in direct travel, high processing power and battery consumption, insufficient immersion in experience, many transition steps and large storage occupancy.
Through a virtual web browser, it provides a method to directly access multiple virtual worlds on artificial reality devices. It uses a virtual hub to receive website content and generates tabs to quickly switch and transition between virtual worlds, eliminates unnecessary intermediate steps and reduces storage Occupancy.
It realizes fast, intuitive and unlimited navigation between virtual worlds, reduces processing and battery consumption into the new world, and improves immersion and experience fluency.
Smart Images

Figure CN119301545A_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims priority to U.S. Provisional Patent Application No. 63 / 354,368, filed on June 22, 2022, entitled “Browser Enabled Switching Between Virtual Worlds in Artificial Reality”; and is related to U.S. Patent Application No. 17 / 867,724, filed on July 19, 2022, entitled “Virtual Hub for Control and Travel Between Virtual Worlds”; and U.S. Patent Application No. 17 / 724,597, filed on April 20, 2022, entitled “An Artificial Reality Browser Configured to Trigger an Immersive Experience”. Technical Field
[0003] The present disclosure relates to methods and systems for navigating between multiple virtual worlds in artificial reality via a virtual web browser to enable access to the virtual worlds. Background Art
[0004] Movement between virtual worlds in artificial reality is usually achieved by entering and exiting a home lobby. In other words, the home lobby serves as a switching center where the current application for the corresponding virtual world is closed and another application for the subsequent virtual world is opened.
[0005] Systems for artificial reality environments can often use avatars that can be controlled to simulate the user's movements relative to specific places and things in these environments. For example, these movements can be directed to places and things in the virtual world that the user is currently traveling to. In some cases, these movements can represent the user's desire to understand and experience these places and things in a way that can be closest to real-life events. Summary of the invention
[0006] According to one aspect of the present invention, a method for accessing multiple virtual worlds on an artificial reality device is provided, the method comprising: providing a virtual web browser; receiving, via the web browser, a selection of a first website associated with a first virtual world among the multiple virtual worlds; in response to the selection of the first website, receiving content for the website and 3D content for the first virtual world from a server system; displaying the content for the first website in a first tab of the virtual web browser; receiving a selection associated with the first virtual world in the virtual web browser; in response to the selection, providing a first command, the first command causing the 3D content for the first virtual world to be instantiated to replace a second virtual world currently being displayed by the artificial reality device; detecting a virtual world interaction associated with a third virtual world; in response to the virtual world interaction, generating, on the web browser, a second tab for a second website associated with the third virtual world; and further in response to the virtual world interaction, providing a second command, the second command causing the 3D content for the third virtual world to be instantiated to replace the first virtual world.
[0007] Optionally, the content for the first website is received in a first session with one or more servers, and wherein the 3D content for the first virtual world is received in a second session with at least one server, such that display of the content for the first website is performed before the 3D content for the first virtual world is fully received.
[0008] Optionally, the virtual world interaction is a user interaction with a virtual object displayed in the first virtual world and designated by an indicator of the third virtual world.
[0009] Optionally, the indicator of the third virtual world is based on content retrieved by accessing a link for the third virtual world associated with the virtual object.
[0010] Optionally, the indicator of the third virtual world is based on: an indicator of a portion of the third virtual world for the content of the first website.
[0011] Optionally, the second website is associated with the third virtual world at least via a defined link related to a virtual object in the first virtual world with which the virtual world interaction is performed.
[0012] Optionally, the method further comprises: re-instantiating the 3D content for the first virtual world to replace the third virtual world by receiving another selection associated with the first virtual world in the virtual browser.
[0013] According to another aspect of the present invention, a computing system for accessing multiple virtual worlds on an artificial reality device is provided, the computing system comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the computing system to perform a process, the process comprising: providing a virtual web browser; receiving, via the web browser, a selection of a first website associated with a first virtual world among the multiple virtual worlds; receiving content for the website and 3D content for the first virtual world from a server system; displaying the content for the first website in a first tab of the virtual web browser; receiving a selection associated with the first virtual world in the virtual web browser; in response to the selection, providing a first command, the first command causing the 3D content for the first virtual world to be instantiated to replace a second virtual world currently being displayed by the artificial reality device; detecting a virtual world interaction associated with a third virtual world; in response to the virtual world interaction, generating, on the web browser, a second tab for a second website associated with the third virtual world; and providing a second command, the second command causing the 3D content for the third virtual world to be instantiated to replace the first virtual world.
[0014] Optionally, the second command is provided in response to another selection in the virtual web browser associated with the third virtual world.
[0015] Optionally, the content for the first website is received in a first session with one or more servers, and wherein the 3D content for the first virtual world is received in a second session with at least one server, such that display of the content for the first website is performed before the 3D content for the first virtual world is fully received.
[0016] Optionally, the virtual world interaction is a user interaction with a virtual object displayed in the first virtual world.
[0017] Optionally, the virtual world interaction is a user interaction with a virtual object displayed in the first virtual world and designated by an indicator of the third virtual world, and wherein the indicator of the third virtual world is based on: (a) content retrieved by accessing a link for the third virtual world associated with the virtual object, or (b) an indication of the content of the first website as part of the third virtual world.
[0018] Optionally, the second website is associated with the third virtual world at least via a defined link related to a virtual object in the first virtual world with which the virtual world interaction is performed.
[0019] Optionally, the process further includes: in response to receiving another selection associated with the first virtual world in the virtual browser, re-instantiating the 3D content for the first virtual world to replace the third virtual world.
[0020] According to another aspect of the present invention, a machine-readable storage medium is provided, the machine-readable storage medium having machine-executable instructions stored thereon, which, when executed by one or more processors, cause the one or more processors to perform a method for accessing multiple virtual worlds on an artificial reality device, the method comprising: providing a virtual web browser; receiving, via the web browser, a selection of a first website associated with a first virtual world among the multiple virtual worlds; receiving content for the website and 3D content for the first virtual world from a server system; displaying the content for the first website in a first tab of the virtual web browser; providing a first command, the first command causing the 3D content for the first virtual world to be instantiated to replace a second virtual world currently being displayed by the artificial reality device; detecting a browser or virtual world interaction associated with a third virtual world; in response to the interaction, generating a second tab associated with the third virtual world on the web browser; and providing a second command, the second command causing the 3D content for the third virtual world to be instantiated to replace the first virtual world.
[0021] Optionally, the second command is provided in response to another selection in the virtual web browser associated with the third virtual world.
[0022] Optionally, the content for the first website is received in a first session with one or more servers, and wherein the 3D content for the first virtual world is received in a second session with at least one server, such that display of the content for the first website is performed before the 3D content for the first virtual world is fully received.
[0023] Optionally, detecting the browser or virtual world interaction comprises detecting the virtual world interaction; and wherein the virtual world interaction is a user interaction with a virtual object displayed in the first virtual world and designated by a pointer in the third virtual world.
[0024] Optionally, the indicator of the third virtual world is based on: (a) content retrieved by accessing a link for the third virtual world associated with the virtual object, or (b) a portion of the content of the first website indicating the third virtual world.
[0025] Optionally, the process further includes: in response to receiving another selection associated with the first virtual world in the virtual browser, re-instantiating the 3D content for the first virtual world to replace the third virtual world. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] Figure 1 is a block diagram showing an overview of a number of devices upon which some embodiments of the present technology may operate.
[0027] Figure 2A is a line diagram illustrating a virtual reality headset that may be used in some embodiments of the present technology.
[0028] Figure 2B is a line diagram illustrating a mixed reality head mounted viewer that may be used in some embodiments of the present technology.
[0029] Figure 2C is a line diagram illustrating a plurality of controllers that, in some implementations, a user may hold with one or both hands to interact with an artificial reality environment.
[0030] Figure 3 is a block diagram illustrating an overview of an environment in which some embodiments of the present technology may operate.
[0031] Figure 4 is a block diagram illustrating various components that may be used in a system employing the disclosed technology in some implementations.
[0032] Figure 5 is a conceptual illustration of an exemplary virtual browser set up on an artificial reality (XR) device.
[0033] Figure 6 is a swimlane flow chart illustrating a process used in some embodiments of the present technology for switching between virtual worlds in an artificial reality via a virtual web browser.
[0034] Figure 7 is an example diagram showing access to a virtual world via a virtual web browser according to an embodiment of the present technology.
[0035] Figure 8 is an example diagram showing presentation of a selection of virtual worlds accessible via a virtual web browser in accordance with an embodiment of the present technology.
[0036] Fig. 9 is an example diagram illustrating accessing a subsequent virtual world corresponding to an item interacted with by a user in a current virtual world according to an embodiment of the present technology.
[0037] Fig.10 is an example diagram illustrating navigation to subsequent virtual worlds while traveling within a current virtual world according to an embodiment of the present technology.
[0038] The various techniques described herein may be better understood by referring to the following detailed description in conjunction with the accompanying drawings, in which like reference numbers refer to the same elements or functionally similar elements. DETAILED DESCRIPTION
[0039] Aspects of the present disclosure relate to navigating between multiple virtual worlds in an artificial reality via a virtual browser, thereby enabling access to these virtual worlds. A virtual web browser navigation system may provide such access via a virtual hub (referred to herein as a "hub"), which may present a virtual web browser to receive websites corresponding to virtual worlds. The hub may be separate from the current virtual world, allowing it to appear consistently in multiple virtual worlds and display controls from websites corresponding to and controlling the current virtual world, or controls or elements for other websites corresponding to a VR world, such as controls that enable virtual world selection and transfer. In some embodiments, when traveling within a current virtual world, a user may travel to a subsequent virtual world simply by entering a website for that world and selecting a control that may provide access to that world. The virtual web browser may generate a tab for each received website. In this way, a user may simply select a tab to have the virtual web browser navigation system redirect it to the corresponding website, where the 3D content defining the associated virtual world may be accessed.
[0040] The virtual web browser can communicate with a remote server to obtain content for a selected website and preload 3D content for a virtual world corresponding to the website. In response to a user having selected a control for a virtual world (where the control can be embedded in a user interface of the virtual web browser), the virtual web browser can communicate with a shell application for the virtual world to load corresponding 3D content for the virtual world.
[0041] In some embodiments, for a virtual world that a user is traveling, the virtual web browser navigation system may detect user interactions with items in the virtual world that may be associated with websites and corresponding 3D content for the corresponding virtual world. As a result of one or more such detections, the virtual web browser navigation system may cause its virtual web browser to navigate to one or more new websites and corresponding tabs. For corresponding items in the current world, such websites and tabs may be associated with 3D content of a new virtual world corresponding to those items.
[0042] As can be understood from the above, the virtual web browser navigation system can enable users to travel between virtual worlds corresponding to these websites via accessing corresponding browser tabs for websites and associated VR controls. When a user moves between virtual worlds and accumulates additional open corresponding tabs in the user's virtual browser, the user can use these tabs to quickly and easily move back and forth between these virtual worlds. For example, a user can be in a first virtual world corresponding to a tab on the user's virtual browser. When the user walks through a portal in a virtual world, additional corresponding tabs can be automatically opened in the user's virtual browser. When the user wants to return to one of these virtual worlds, such as the first virtual world, she can go to the corresponding tab. In some cases, going to the tab can cause the corresponding virtual world to be loaded, while in other cases, the user can go to the tab and activate the control to go to the corresponding virtual world.
[0043] Embodiments of the disclosed technology may include an artificial reality system, or may be implemented in conjunction with an artificial reality system. Artificial reality or extra reality (XR) is a form of reality that has been adjusted in some way before being presented to a user, and the artificial reality or extra reality may include, for example, virtual reality (VR), augmented reality (AR), mixed reality (MR), hybrid reality, or some combination and / or derivative thereof. Artificial reality content may include fully generated content, or generated content combined with collected content (e.g., photos of the real world). Artificial reality content may include video, audio, tactile feedback, or some combination thereof, any of which may be presented in a single channel or in multiple channels (e.g., stereoscopic video that gives the viewer a three-dimensional effect). In addition, in some embodiments, artificial reality may be associated with an application, product, accessory, service, or some combination thereof, which is used, for example, to create content in artificial reality and / or to be used in artificial reality (e.g., to perform activities in artificial reality). Artificial reality systems that provide artificial reality content can be implemented on a variety of platforms, including a head-mounted display (HMD) connected to a host computer system, a stand-alone HMD, a mobile device or computing system, a "cave" environment projection system or other projection system, or any other hardware platform capable of providing artificial reality content to one or more viewers.
[0044] As used herein, "virtual reality" or "VR" refers to an immersive experience in which the user's visual input is controlled by a computing system. "Augmented reality" or "AR" refers to a system in which a user views images of the real world after they pass through a computing system. For example, a tablet with a camera on the back can capture images of the real world and then display them on a screen on the side of the tablet opposite the camera. The tablet can process and adjust or "enhance" these images as they pass through the system, for example by adding virtual objects. "Mixed reality" or "MR" refers to a system in which the light entering the user's eyes is partially generated by a computing system and partially constitutes light reflected from objects in the real world. For example, an MR head-mounted viewer can be shaped as a pair of glasses with a transparent display that allows light from the real world to pass through a waveguide that simultaneously emits light from a projector in the MR head-mounted viewer, thereby allowing the MR head-mounted viewer to present virtual objects mixed with real objects that the user can see. As used herein, “artificial reality,” “hyperreality,” or “XR” refers to any of the following: VR, AR, MR, or any combination or hybrid thereof.
[0045] Existing artificial reality systems require users to enter and exit the home lobby to implement the various applications corresponding to the various virtual worlds that the user can travel. In other words, direct travel from one world to another is not feasible for these systems. In contrast, embodiments of the present technology provide users with the ability to switch directly between these virtual worlds simply by accessing a virtual web browser tab corresponding to a website for a virtual world in artificial reality and selecting a VR control. Embodiments of the present technology can reduce the processing power and battery required to load the lobby before entering a new virtual world, increase the speed of the transition by eliminating unnecessary intermediate transition steps, make the XR experience more immersive by implementing world transitions linked to elements in the current virtual world, and make the transition between virtual worlds more intuitive. In addition, the disclosed system can consume only the storage space required to load websites corresponding to virtual worlds in and between which the user can travel. That is, since the world can be discarded simply by closing the tab for the associated website, such storage can be quickly reduced. In these ways, unlike existing systems, embodiments of the present technology can provide users with unlimited opportunities to spontaneously explore an unlimited number of available virtual worlds without being overly burdened by a limited number of choices (i.e., applications) for those worlds and limitations on system processing and storage.
[0046] Several embodiments are discussed in more detail below with reference to the accompanying drawings. Figure 1is a block diagram showing an overview of multiple devices on which some embodiments of the disclosed technology may run. These devices may include hardware components of a computing system 100 that enable navigation between multiple virtual worlds in an artificial reality via a virtual web browser, thereby providing access to these worlds. In various embodiments, the computing system 100 may include a single computing device 103 or multiple computing devices (e.g., computing device 101, computing device 102, and computing device 103) that communicate via a wired channel or a wireless channel to distribute processing and share input data. In some embodiments, the computing system 100 may include a standalone head-mounted viewer that is capable of providing a computer-created or enhanced experience to a user without the need for external processing or external sensors. In other embodiments, the computing system 100 may include multiple computing devices, such as a head-mounted viewer and a core processing component (e.g., a console, a mobile device, or a server system), wherein some processing operations are performed on the head-mounted viewer and other processing operations are offloaded to the core processing component. The following is combined with Figure 2A and Figure 2B An example head mounted view device is described. In some implementations, location data and environmental data may be collected solely by sensors incorporated into the head mounted view device, while in other implementations, one or more of the plurality of non-head mounted view computing devices may include sensor components that may track environmental data or location data.
[0047] The computing system 100 may include one or more processors 110 (e.g., a central processing unit (CPU), a graphical processing unit (GPU), a holographic processing unit (HPU), etc.). The processor 110 may be a single processing unit or multiple processing units, which are located in one device or distributed on multiple devices (e.g., distributed on two or more computing devices among the computing devices 101 to 103).
[0048] The computing system 100 may include one or more input devices 120 that provide input to the processors 110, thereby informing the processors of actions. These actions may be communicated by a hardware controller that interprets the signals received from the input devices and transmits the information to the processors 110 using a communication protocol. Each input device 120 may include, for example, a mouse, a keyboard, a touch screen, a touchpad, a wearable input device (e.g., a tactile glove, a bracelet, a ring, an earring, a necklace, a watch, etc.), a camera (or other light-based input device, such as an infrared sensor), a microphone, or other user input device.
[0049] The processor 110 can be coupled to other hardware devices, for example, by using an internal bus or an external bus, such as a peripheral component interconnect standard (PCI) bus, a small computer system interface (SCSI) bus, or a wireless connection. The processor 110 can communicate with a hardware controller for each device (e.g., for a display 130). The display 130 can be used to display text and graphics. In some embodiments, the display 130 includes an input device, such as when the input device is a touch screen or is equipped with an eye movement direction monitoring system, the input device is part of the display. In some embodiments, the display is separated from the input device. Examples of display devices are: a liquid crystal display (LCD) display screen, a light emitting diode (LED) display screen, a projection display, a holographic display, or an augmented reality display (e.g., a head-up display device or a head-mounted device), etc. Other input / output (I / O) devices 140 may also be coupled to the processor, such as a network chip or network card, a video chip or video card, an audio chip or audio card, a universal serial bus (USB), FireWire or other external devices, a camera, a printer, a speaker, a compact disc read-only memory (CD-ROM) drive, a digital video disc (DVD) drive, a disk drive, etc.
[0050] In some embodiments, input from I / O devices 140 (e.g., cameras, depth sensors, inertial motion unit (IMU) sensors, GPS units, LiDAR or other time-of-flight sensors, etc.) can be used by computing system 100 to identify and map the user's physical environment and track the user's position within the environment. A simultaneous localization and mapping (SLAM) system can generate a map (e.g., topology, grid, etc.) of an area (which can be a room, building, outdoor space, etc.) and / or obtain a map of the area that has been previously generated by computing system 100 or another computing system and has been mapped. The SLAM system can track users within the area based on factors such as GPS data, match identified objects and structures with mapped objects and structures, monitor acceleration and other changes in position, etc.
[0051] The computing system 100 may include such a communication device: the communication device can communicate with other local computing devices or network nodes wirelessly or based on wired communication. The communication device can communicate with another device or server through a network, for example, using the Transmission Control Protocol / Internet Protocol (TCP / IP protocol). The computing system 100 can use the communication device to distribute operations on multiple network devices.
[0052] The processor 110 can access the memory 150, which can be included in one of the multiple computing devices of the computing system 100, or can be distributed on multiple computing devices of the computing system 100, or multiple other external devices. The memory includes one or more hardware devices for volatile or non-volatile storage, and can include both read-only memory and writable memory. For example, the memory can include one or more of the following: random access memory (RAM), various cache memories, CPU registers, read-only memory (ROM) and writable non-volatile memory, such as flash memory, hard drive, floppy disk, compact disk (CD), DVD, magnetic storage device, and tape drive. The memory is not a propagation signal separated from the underlying hardware, so the memory is non-transitory. The memory 150 can include a program memory 160, which stores programs and software, such as an operating system 162, a virtual web browser navigation system 164, and other applications 166. Memory 150 may also include data storage 170, which may include, for example, website data and corresponding 3D content (for an associated virtual world), configuration data, settings, user options or preferences, etc., which may be provided to program storage 160 or any element in computing system 100.
[0053] Some embodiments may operate with many other computing system environments or configurations. Examples of computing systems, environments, and / or configurations suitable for use with the technology include, but are not limited to, XR headsets, personal computers, server computers, handheld or laptop devices, cellular phones, wearable electronic devices, game consoles, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, networked personal computers (PCs), minicomputers, mainframe computers, or distributed computing environments that include any of the above systems or devices, etc.
[0054] Figure 2A2 is a line diagram of a virtual reality head mounted display (HMD) 200 according to some embodiments. HMD 200 includes a front rigid body 205 and a band 210. Front rigid body 205 includes one or more electronic display elements of an electronic display 245, an inertial motion unit (IMU) 215, one or more position sensors 220, a locator 225, and one or more computing units 230. Position sensor 220, IMU 215, and computing unit 230 may be located inside HMD 200 and may not be visible to the user. In various embodiments, IMU 215, position sensor 220, and locator 225 may track the movement and position of HMD 200 in the real world and in an artificial reality environment with three degrees of freedom (3DoF) or six degrees of freedom (6DoF). For example, locator 225 may emit infrared beams that produce light spots on real objects around HMD 200. As another example, the IMU 215 may include, for example: one or more accelerometers; one or more gyroscopes; one or more magnetometers; one or more other non-camera-based position, force, or orientation sensors; or a combination thereof. One or more cameras (not shown) integrated with the HMD 200 may detect light points. The computing unit 230 in the HMD 200 may use the detected light points to infer the position and movement of the HMD 200, and to recognize the shape and position of real objects around the HMD 200.
[0055] The electronic display 245 can be integrated with the front rigid body 205 and can provide image light to the user as directed by the computing unit 230. In various embodiments, the electronic display 245 can be a single electronic display or multiple electronic displays (e.g., one display for each eye of the user). Examples of the electronic display 245 include: a liquid crystal display (LCD), an organic light-emitting diode (OLED) display, an active-matrix organic light-emitting diode display (AMOLED), a display including one or more quantum dot light-emitting diode (QOLED) sub-pixels, a projector unit (e.g., micro-LED, laser (LASER)), some other display, or some combination thereof.
[0056] In some embodiments, the HMD 200 can be coupled to a core processing component such as a personal computer (PC) (not shown) and / or one or more external sensors (not shown). The external sensors can monitor the HMD 200 (e.g., via light emitted from the HMD 200), and the PC can use the HMD in conjunction with the outputs from the IMU 215 and the position sensor 220 to determine the position and movement of the HMD 200.
[0057] Figure 2B 2 is a line diagram of a mixed reality HMD system 250, which includes a mixed reality HMD 252 and a core processing component 254. The mixed reality HMD 252 and the core processing component 254 can communicate via a wireless connection (e.g., a 60 gigahertz (GHz) link) as indicated by link 256. In other embodiments, the mixed reality system 250 includes only a head-mounted viewer without an external computing device, or includes other wired or wireless connections between the mixed reality HMD 252 and the core processing component 254. The mixed reality HMD 252 includes a pass-through display 258 and a frame 260. The frame 260 can house various electronic components (not shown), such as light projectors (e.g., lasers, LEDs, etc.), cameras, eye tracking sensors, micro-electromechanical systems (MEMS) components, network components, etc.
[0058] The projector can be coupled to a transparent display 258, for example, via an optical element to display media to the user. The optical element can include one or more waveguide components, one or more reflectors, one or more lenses, one or more mirrors, one or more collimators, one or more gratings, etc. for guiding light from the projector to the user's eyes. Image data can be transmitted from the core processing component 254 to the HMD 252 via a link 256. The controller in the HMD 252 can convert the image data into a plurality of light pulses from the projector, which can be transmitted to the user's eyes via an optical element as output light. The output light can be mixed with the light passing through the display 258, thereby allowing the output light to present virtual objects that appear to exist in the real world.
[0059] Similar to HMD 200, HMD system 250 may also include motion and position tracking units, cameras, light sources, etc., which allow HMD system 250 to track itself, for example, with 3DoF or 6DoF, track multiple parts of the user (e.g., hands, feet, head, or other body parts), map virtual objects to appear stationary when HMD 252 moves, and make virtual objects react to gestures and other real-world objects.
[0060] Figure 2C A plurality of controllers 270 (including controllers 276A and 276B) are shown, which in some embodiments can be held by a user with one or both hands to interact with an artificial reality environment presented by HMD 200 and / or HMD 250. Controllers 270 can communicate with the HMD directly or via an external device (e.g., core processing component 254). The controllers can have their own IMU units, position sensors, and / or can emit light points farther away. The HMD 200 or 250, external sensors, or sensors in the controllers can track these controller light points to determine the position and / or orientation of the controllers (e.g., to track the controllers with 3DoF or 6DoF). The computing unit 230 in the HMD 200, or the core processing component 254, can use this tracking to monitor the position and movement of the user's hands in combination with the IMU output and the position output. The controller may also include various buttons (e.g., buttons 272A-272F) and / or joysticks (e.g., joysticks 274A-274B) that a user may actuate to provide input and interact with objects.
[0061] In various embodiments, the HMD 200 or 250 may also include additional subsystems, such as an eye tracking unit, an audio system, various network components, etc., to monitor indications of user interaction and intent. For example, in some embodiments, instead of or in addition to a controller, one or more cameras included in the HMD 200 or 250 or from an external camera can monitor the position and posture of the user's hands to determine gestures and other hand and body movements. As another example, one or more light sources can illuminate one or both eyes of the user, and the HMD 200 or 250 can use an eye-facing camera to collect reflected light of the light to determine eye position (e.g., based on a set of reflected lights around the user's cornea), model the user's eyes and determine gaze direction.
[0062] Figure 3305B may be a HMD 200 or a HMD system 250. The plurality of client computing devices 305 may be operated in a network environment using logical connections to one or more remote computers (e.g., server computing devices) through a network 330.
[0063] In some implementations, server 310 may be an edge server that receives multiple client requests and coordinates fulfillment of these requests through other servers (e.g., servers 320A to 320C). Server computing devices 310 and 320 may include a computing system, such as computing system 100. Although each server computing device 310 and 320 is logically shown as a single server, each of these server computing devices may be a distributed computing environment that includes multiple computing devices located at the same physical location or at geographically different physical locations.
[0064] Client computing device 305, and server computing devices 310 and 320 can all act as servers or clients of one or more other servers / client devices. Server 310 can be connected to database 315. Servers 320A to 320C can each be connected to corresponding databases 325A to 325C. As discussed above, each server 310 or 320 can correspond to a group of servers, and each of these servers can share a database, or can have its own database. Although databases 315 and 325 are logically shown as a single unit, databases 315 and 325 can all be distributed computing environments that include multiple computing devices, can be located in their corresponding servers, or can be located at the same physical location or at geographically different physical locations.
[0065] The network 330 may be a local area network (LAN), a wide area network (WAN), a mesh network, a hybrid network, or other wired or wireless network. The network 330 may be the Internet or some other public or private network. The client computing device 305 may be connected to the network 330 via a network interface, for example, by wired or wireless communication. Although the connections between the server 310 and the plurality of servers 320 are shown as separate connections, these connections may be any type of local area network, wide area network, wired network, or wireless network including the network 330 or a separate public or private network.
[0066] Figure 4 4 is a block diagram showing a plurality of components 400 that can be used in a system that employs the disclosed technology in some embodiments. Each component 400 can be included in a device of the computing system 100, or can be distributed on multiple devices of the computing system 100. Component 400 includes hardware 410, middleware 420, and multiple dedicated components 430. As discussed above, a system implementing the disclosed technology can use various hardware, including a processing unit 412, a working memory 414, input and output devices 416 (e.g., a camera, a display, an IMU unit, a network connection, etc.) and a storage memory 418. In various embodiments, the storage memory 418 can be one or more of the following: a local device, an interface to a remote storage device, or a combination thereof. For example, the storage memory 418 can be one or more hard drives or flash drives accessible via a system bus, or can be a cloud storage provider (e.g., in memory 315 or 325) or other network memory accessible via one or more communication networks. In various implementations, component 400 may be implemented in a client computing device (eg, client computing device 305 ), or on a server computing device (eg, server computing devices 310 or 320 ).
[0067] The middleware 420 may include components that coordinate resources between the hardware 410 and the plurality of specialized components 430. For example, the middleware 420 may include an operating system, a service system (service), a driver, a basic input output system (BIOS), a controller circuit, or other hardware or software systems.
[0068] The specialized components 430 may include software or hardware configured to perform operations for navigating between multiple virtual worlds in artificial reality via a virtual web browser to enable access to these worlds. The multiple specialized components 430 may include an information retrieval module 434, an information evaluation module 436, a display module 438, a tab creation module 440, a switching module 442, and components and application programming interfaces (APIs) that can be used to provide user interfaces, transfer data, and control each specialized component, such as interface 432. In some embodiments, each component 400 may be in a computing system distributed across multiple computing devices, or may be an interface to a server-based application that executes one or more of the multiple specialized components 430. Although each specialized component 430 is depicted as a separate component, these specialized components may be logical partitions (differentiations) or other non-physical partitions of functionality, and / or may be sub-modules or code blocks of one or more applications.
[0069] In some embodiments, the information retrieval module 434 can retrieve information (i.e., data) that can be used to activate the hub. For example, such data can include gestures, speech, and other activities of the user while traveling within the virtual world (e.g., activating UI elements on the hub). In some embodiments, the information retrieval module 434 can retrieve website data for a website corresponding to the virtual world. For example, the information retrieval module 434 can retrieve the content of a selected website and the 3D content for its virtual world in response to a user's interaction with a virtual web browser. In some embodiments, the information retrieval module 434 can retrieve data for one or more user interactions within the virtual world and any website data corresponding to these interactions. The following is combined with, for example, Figure 6 Blocks 610 through 616, 620, 626, and 632 in provide additional details regarding retrieving the above-described types of data.
[0070] In some embodiments, the information evaluation module 436 can perform certain evaluations on the data retrieved by the information retrieval module 434. For example, the information evaluation module 436 can determine the content for the website selected by the user and whether the content includes 3D content for the virtual world. In some embodiments, the information evaluation module 436 can evaluate the following interactions between the virtual web browser and the shell application for the virtual world: the interaction is related to loading corresponding 3D content for the virtual world through the shell application. In some embodiments, the information evaluation module 436 can evaluate whether the user interaction within the virtual world corresponds to a website that can provide 3D content for the corresponding virtual world. Additional details about the evaluations performed by the information evaluation module 436 are described below with respect to Figure 6614, 616, 622, 624 and 626 are provided in.
[0071] In some embodiments, the display module 438 can display the content for the selected website on the hub of the virtual web browser navigation system. The display module 438 can also display the 3D content for the virtual world corresponding to the website in an area away from the hub. Figure 6 Boxes 618 and 624 in provide additional details regarding the types of content that may be displayed by the display module 438 .
[0072] In some embodiments, the tab creation module 440 can generate tabs in the user interface of the virtual web browser, which can enable users to selectively access websites and corresponding virtual worlds. For example, the tab creation module 440 can generate tabs for websites selected by the user. In some embodiments, such tabs can include embedded virtual reality (VR) controls, which can enable the selective generation of a virtual world corresponding to the website represented by the tab. In some embodiments, the tab creation module 440 can generate tabs for websites associated with items that the user interacts with when traveling in the virtual world. Here, the generated tabs can also include VR controls, which can enable users to access virtual worlds different from the world currently being traveled (i.e., the virtual world associated with the items that the user has already interacted with). The following is combined with Figure 6 Blocks 618 , 620 , and 630 in FIG. 4 provide additional details regarding the tab generation performed by tab generation module 440 .
[0073] In some embodiments, the switching module 442 can facilitate the transfer of users of the virtual web browser navigation system between virtual worlds. That is, the switching module 442 can reload the content for a website and / or virtual world in response to a user selecting a tab associated with a website corresponding to a virtual world. In this way, the user can seamlessly gain the opportunity to travel between multiple virtual worlds simply by switching between tabs presented on the user interface of the virtual web browser. Figure 6 Block 632 in provides additional details regarding traveling between virtual worlds as enabled by switching module 442 .
[0074] Those skilled in the art will understand that the above described Figures 1 to 4The multiple components shown in each of the multiple flow charts discussed above and below can be changed in various ways. For example, the order of the logic can be rearranged, multiple sub-steps can be performed in parallel, the logic shown can be omitted, other logic can be included, etc. In some embodiments, one or more of the multiple components described above can perform one or more of the multiple processes described below.
[0075] Figure 5is a conceptual diagram of an exemplary virtual browser 500 that may include a virtual web browser navigation system 164 set on an artificial reality (XR) device. In various embodiments, the present technology can be used to access a virtual world in an artificial reality, that is, a world that can be configured according to: virtual reality (VR), augmented reality (AR), mixed reality (MR), hybrid reality, or some combination and / or derivative thereof. In some embodiments, the virtual web browser 500 can display consistent controls when displayed in different virtual worlds. In other words, the user can use the same virtual browser regardless of the virtual world currently being traveled. The virtual browser can be activated and displayed to the user in response to the user making one or more gestures, a series of actions, words, activating UI elements, etc. In this way, the user can access the virtual browser UI 502 of the virtual web browser navigation system 164 to newly enter or retrieve a website corresponding to the virtual world that the user expects to travel. For example, the user can enter a website via the address bar 504, or retrieve a stored website by sorting the available websites 506. Whether a newly entered website or a website selected from the available websites 506, the virtual browser UI 502 can generate corresponding tabs 508 for the entered or selected (collectively, "selected") websites (e.g., website 123, website 456, website 789, website xyz), which themselves correspond to virtual worlds 510 (i.e., VW1, VW2, VW3, VW4). In some embodiments, each tab 508 can have a corresponding VR control 512, which can be generated in the tab 508 or other areas of the user interface of the virtual browser UI 502 and can be selected to cause the virtual web browser navigation system 164 to present the virtual world 508 for the corresponding website with the tabbed page. Additional details regarding the use of VR controls to enhance a virtual browser are provided in U.S. patent application Ser. No. 17 / 724,597, filed on April 20, 2022, entitled “An Artificial Reality Browser Configured to Trigger an Immersive Experience,” Attorney Docket No. 3589-0140DP01, the entire contents of which are incorporated herein by reference. In some embodiments, such VR controls may be embedded in the displayed content of a website that may be accessed by the virtual web browser navigation system 164.
[0076] Figure 66 is a swimlane flow chart illustrating a process 600 for switching between virtual worlds in an artificial reality via a virtual web browser, used in some embodiments of the present technology. Among them, the process 600 can define the exchange of commands (e.g., requests for information) between a user 602, a virtual web browser 604, a shell application 606 (e.g., an application such as an XR device operating system or other application that controls loading virtual worlds and coordinating applications and user interactions within virtual worlds) and a remote server 608, which can provide content for a requested website corresponding to a virtual world. One or more portions of the process 600 can be initiated whenever a user desires to travel from a current virtual world to a subsequent virtual world, or whenever a user interacts with an item in a current virtual world. As shown, portions of the process 600 can be executed on an artificial reality client device, where the device can communicate with one or more servers to receive website data for a virtual world, while other portions of the process 600 can be executed on one or more server systems, which can access data corresponding to a virtual world for a website selected on the virtual web browser 604.
[0077] At block 610, process 600 may receive user interaction with virtual web browser 604. For example, such interaction may include the user entering a website corresponding to a subsequent virtual world to which the user desires to travel while traveling in the current virtual world. In some embodiments, the user may select such a website from a drop-down menu list of websites (e.g., bookmarks) stored by virtual web browser 604, for example. In these aspects, these websites may represent previous virtual worlds that the user has visited. In some embodiments, these websites may be populated by virtual web browser 604 based on one or more activities that detect items accessible through the hub (e.g., available avatars, specific items for the user's personal, photos, etc.). The uniform resource locator (URL) of the website that appears in the address bar of virtual web browser 604, whether newly entered, selected from the drop-down content, or navigated to through other websites, can be executed to reproduce the website that appears (hereinafter referred to as the "selected" website or the "selection" of the website).
[0078] In response to receiving a user selection according to block 610 , at block 612 , the virtual web browser 604 may request content for the selected website from the server 608 .
[0079] At blocks 614 and 616, the server 608 may provide the requested website content to the virtual web browser 604 in a first session with the server 608, and provide the corresponding 3D world content to the virtual web browser 604 in a second session with the server 608, respectively. For example, the content may include all of the structural (e.g., HTML, XML, etc.) data, script (e.g., javascript, CSS) data, and content (e.g., media and text) data that may define a website. At block 616, the server may also provide 3D world content corresponding to the virtual world for the website, such as 3D models and textures, skyboxes, script components, etc. In some implementations, the website content and the 3D world content may be provided as a result of sessions between the virtual web browser 604 and multiple servers (e.g., the server 608 and servers that communicate with the server 608 and / or the virtual web browser 604, respectively).
[0080] At block 618, the virtual web browser 604 may display the website content (i.e., the website). By preloading the 3D world content provided by block 616, the 3D content may be made available to the shell 606 for future loading. In some cases, the website may be displayed at block 618 before the 3D world content is fully transmitted. For example, the website may load and the user may interact with the website while the 3D world content continues to preload in the background.
[0081] Now that the displayed website has been presented, at box 620, the user can select a control to load 3D content for the virtual world corresponding to the selected website, that is, change from the current virtual world viewed by the user on the XR device to the virtual world corresponding to the website. In some embodiments, the option to load 3D content (e.g., VR control) can be embedded within the content of the displayed website. In some embodiments, the VR control can be embedded within the user interface portion of the virtual web browser 604. For example, the VR control can be arranged with the content displayed by the browser or embedded in the general UI provided by the virtual web browser 604. For more information on accessing 3D world content from a browser that can be used to navigate various virtual worlds in artificial reality, generally refer to U.S. Patent Application No. 17 / 724,597 filed on April 20, 2022 and entitled "An ArtificialReality Browser Configured to Trigger an Immersive Experience". In some embodiments, a travel card can be provided when the user chooses to enter the virtual world from the website.
[0082] In response to the user selecting any of the above options to load 3D content for the virtual world corresponding to the selected website, process 600 can proceed to blocks 622 and 624. For example, at block 622, virtual web browser 604 can interact with shell application 606 to command the application to load the selected VR world. This can include providing 3D world content required to load the virtual world, such as the 3D world content preloaded from server 608 at block 616. Then, at block 624, shell application 606 can load the selected VR world content to display the corresponding virtual world. In this way, the user can interact with the virtual world corresponding to the selected website to move in the world, experience various items and messaging within the world, interact with other users in the world, etc.
[0083] While in the current world, process 600 may detect one or more user interactions. For example, process 600 may detect user interactions in the world at box 626, such as clicking on a particular item, a particular other avatar, a particular message (e.g., an advertisement), moving through a portal, etc. User interactions may be performed with virtual objects, each of which may be an item, a person, a message, etc. (collectively referred to as an "item") in the current virtual world in which the user is traveling. Some of these items may correspond to a different virtual world. For example, the item may be intuitively assigned to the user by an indicator for the different virtual world. In some embodiments, the indicator may be obtained by a deep link for the item: the deep link binds the item to a virtual world other than the virtual world currently being traveled. In other embodiments, the indicator may be defined by a portion of the content of a website corresponding to the virtual world currently being traveled.
[0084] When the user interacts with such an item, the process 600 can react using the shell application 606 for the current virtual world at box 628. In these aspects, the shell application 606 can instruct the virtual web browser 604 to navigate to a new tab page for the following website: the website corresponds to new 3D content that can be associated with the item from the current virtual world. In some embodiments, the navigation to the new tab page can be caused by the item being deeply linked to the corresponding website. That is, after detecting the user's interaction with the item, the deep link can be activated. In some embodiments, the triggering action can be, for example, the user approaching or selecting a specific item in the virtual world, gazing or staring at a specific item in the virtual world, a verbal command referencing a specific item, etc.
[0085] In response to an instruction from the shell application 606 to navigate to a new tab at box 628, the virtual web browser 604 can then automatically open a new tab for the deeply linked website at box 630. In this regard, the process 600 can return from box 630 (not shown for simplicity) to box 612 and execute boxes 612 to 618 accordingly. The user can then further interact with the new virtual world or new tab (as described below, at box 632), thereby iteratively viewing content, opening tabs, and jumping between worlds according to tab and world selections. For example, if a user traveling within the current virtual world interacts with an advertisement in the world, the process 600 can detect the interaction. In response, the shell application 606 can cause the virtual web browser 604 to navigate to a tab corresponding to, for example, a website of an advertiser that places an advertisement. Therefore, the user can then obtain access to the virtual world corresponding to the advertiser via a tab automatically generated for the website. For example, the user can select a VR control associated with a tab and displayed as part of the UI of the virtual web browser 604. In this way, the user can further learn about the advertisements first seen in the current virtual world and learn about additional information and experiences associated with the advertiser. As another example, if a user traveling within the current virtual world passes through a portal that is an entrance to another virtual world, the process 600 can automatically generate a tab corresponding to the other virtual world on the virtual browser 604. Thus, in the event that, for example, the user returns to the previous current world through the portal, the user can be directly enabled to access the other virtual world via the virtual web browser 604.
[0086] At block 632, process 600 may detect further interactions with virtual web browser 604, such as switching between tabs opened in virtual web browser 604 for corresponding websites and virtual worlds. In other words, process 600 may recognize that selection of tabs corresponding to websites and virtual worlds has been terminated by selection of another tab for a subsequent virtual world of the corresponding website. In this manner, process 600 may return to blocks 622 and 624, where, in response to the user having selected 3D content for a subsequent virtual world (block 620), the corresponding virtual world may be loaded so that the user may subsequently interact with the world. For example, the user's selection of VR controls for a subsequent virtual world (block 620) may cause process 600 to instantiate 3D content for the subsequent virtual world to replace the current virtual world in which the user is traveling. In another example, when the user is traveling to a subsequent virtual world, and in response to the user selecting a still available (i.e., unclosed) tab and / or VR controls thereof corresponding to a website for the replaced current virtual world, process 600 can re-instantiate the 3D content corresponding to that world to once again make that world available for the user to travel to. In these ways, the user can easily switch between virtual worlds by using virtual web browser 604.
[0087] In some implementations, process 600 may close a given virtual world and display the most previously active virtual world (the corresponding tab for which is still open in virtual web browser 604 ) in response to a user closing a tab corresponding to that virtual world.
[0088] Figure 7700 is an example diagram illustrating accessing a virtual world via a virtual web browser navigation system 164 according to an embodiment of the present technology. The virtual web browser navigation system 164 may include portions implemented on an artificial reality (XR) device such as a hub 702 that may be displayed to a user to enable the user to travel to and interact with a virtual world. For example, a user who desires to travel to the virtual world "Clubhouse" may simply enter a corresponding website in a virtual web browser 704. Upon retrieving the website, the virtual web browser navigation system 164 may generate a corresponding tab 710 and may present associated preliminary messaging for Clubhouse in a display area 706 of the virtual web browser 704. For example, a user may experience a 2D version of the website content by selecting an entry "Enter Clubhouse from Here". Alternatively, a user may experience a corresponding 3D world associated with the website by selecting an indicated VR control 708 to generate a corresponding virtual world. While traveling within the virtual world, a user may interact with the virtual world to, for example, select an item or pass through a portal so that additional tabs of the web browser 704 may be opened.
[0089] Figure 8 8 is an example diagram 800 showing a selection of virtual worlds accessible via a virtual web browser navigation system 164 in accordance with an embodiment of the present technology. Figure 7 702, the virtual web browser 802 can facilitate navigation to the virtual world corresponding to the selected website and present controls and applications that can be used to interact with the virtual world. Here, the user has selected the virtual world corresponding to the website "Dream.Virtual" in the URL bar 810, and the virtual web browser navigation system 164 has generated its corresponding tab 804 in the virtual web browser 802. In addition, the virtual web browser navigation system 164 has generated tabs 806 and 808, which reflect the websites of the previously visited virtual worlds "Concert Venue" and "Club House", respectively. In this way, as can be understood from the discussion so far, the user can simply navigate to each of the three available virtual worlds by switching between the indicated tabs. In some embodiments, as already discussed, the user can directly access the 3D content of the virtual world by selecting the indicated VR controls 812 embedded within these tabs or embedded elsewhere on the browser UI.
[0090] Fig. 9900 is an example diagram illustrating accessing a virtual world corresponding to an item participating in another virtual world according to an embodiment of the present technology. For example, while traveling within a current virtual world, a user may interact with an item in that world that the user desires to learn more about. Interaction with the item may be detected via a trigger action for the item, which may cause the virtual web browser to generate a tab (for the virtual web browser navigation system 164) that displays a website corresponding to the item. Fig. 9 In the case of , the user is shown traveling in the current virtual world "Concert Hall", which is populated with musical instruments from all over the world (guitar, flute, piano, harp, violin and organ) 902. In some embodiments, an item can be deeply linked to a corresponding website for the item, so that a detected trigger action 904 for the item (e.g., organ) can cause the virtual web browser navigation system 164 to generate a tab 906 for the virtual world "JS BACH" on the virtual web browser 908, and accordingly populate the tab 906 on the virtual web browser 908 with the deeply linked website. Therefore, the user can then go directly to the JS Bach virtual world via the VR control 910 embedded in the corresponding tab or another part of the browser UI. Otherwise, the user can continue to stay in the concert hall to explore more of its services.
[0091] Fig.10 1000 is an example diagram illustrating navigating to a subsequent virtual world while traveling within a current virtual world according to an embodiment of the present technology. Fig. 9 For example, when traveling within the concert hall virtual world, the user can navigate to a subsequent website for the "learning hall" virtual world via an entry in the virtual web browser 1002 at a URL corresponding to the "learning hall" virtual world. That is, the user can access the learning hall virtual world by selecting a tab 1004 and / or a corresponding VR control 1006 for the tab.
[0092] References in this specification to "embodiments" (e.g., "some embodiments," "various embodiments," "one embodiment," "an embodiment," etc.) mean that a particular feature, structure, or characteristic described in conjunction with the embodiment is included in at least one embodiment of the present disclosure. The appearances of these phrases in different places in the specification do not necessarily all refer to the same embodiment, nor are they necessarily separate embodiments or alternative embodiments that are mutually exclusive of other embodiments. In addition, various features are described that may be present in some embodiments but not in other embodiments. Similarly, various requirements are described that may be requirements for some embodiments but not for other embodiments.
[0093] As used herein, being higher than a threshold value means that the value of a comparison item is higher than other values specified, the comparison item is located in a certain specified number of items with a maximum value, or the value of a comparison item is within a specified maximum percentage value. As used herein, being lower than a threshold value means that the value of a comparison item is lower than other values specified, the comparison item is located in a certain specified number of items with a minimum value, or the value of a comparison item is within a specified minimum percentage value. As used herein, being within a threshold value means that the value of a comparison item is between two other values specified, the comparison item is located in a middle specified number of items, or the value of a comparison item is within a middle specified percentage range. When not otherwise defined, relative terms such as high or unimportant may be understood to assign a value and determine how the value is compared with the established threshold value. For example, the phrase "selecting a fast connection" may be understood to mean selecting a connection with a value corresponding to the connection speed assigned thereto that is higher than a threshold value.
[0094] As used herein, the word "or" refers to any possible arrangement of a group of items. For example, the phrase "A, B, or C" refers to at least one of A, B, C, or any combination thereof, such as any of the following: A; B; C; A and B; A and C; B and C; A, B, and C; or a plurality of any items (e.g., A and A; B, B, and C; A, A, B, C, and C; etc.).
[0095] Although the subject matter has been described in language specific to structural features and / or method actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Specific embodiments and implementations have been described herein for illustrative purposes, but various modifications may be made without departing from the scope of these embodiments and implementations. The specific features and actions described above are disclosed as example forms of implementing the appended claims. Therefore, the embodiments and implementations are not limited except as limited by the appended claims.
[0096] Any patent, patent application and other references mentioned above are incorporated herein by reference. If necessary, various aspects may be modified to provide further embodiments using the systems, functions and concepts of the various references mentioned above. If the statements or themes in the documents incorporated by reference conflict with the statements or themes of the present application, the present application shall prevail.
Claims
1. A method for accessing multiple virtual worlds on an artificial reality device, the method comprising: Provides a virtual web browser; receiving, via the web browser, a selection of a first website associated with a first virtual world of the plurality of virtual worlds; In response to the selection of the first website, receiving content for the website and 3D content for the first virtual world from a server system; displaying the content for the first website in a first tab of the virtual web browser; receiving a selection in the virtual web browser associated with the first virtual world; In response to the selection, providing a first command that causes the 3D content for the first virtual world to be instantiated to replace a second virtual world currently being displayed by the artificial reality device; detecting virtual world interactions associated with a third virtual world; In response to the virtual world interaction, generating, on the web browser, a second tab for a second website associated with the third virtual world; as well as Further in response to the virtual world interaction, a second command is provided, the second command causing 3D content for the third virtual world to be instantiated to replace the first virtual world.
2. The method according to claim 1, in, The content for the first website is received in a first session with one or more servers, and The 3D content for the first virtual world is received in a second session with at least one server, such that displaying the content for the first website is performed before the 3D content for the first virtual world is completely received.
3. The method according to claim 1 or 2, in, The virtual world interaction is a user interaction with a virtual object displayed in the first virtual world and designated by a pointer of the third virtual world.
4. The method according to claim 3, in, The indicator of the third virtual world is based on content retrieved by accessing a link for the third virtual world associated with the virtual object.
5. The method according to claim 3, in, The indicator of the third virtual world is based on indicating a portion of the third virtual world for the content of the first website.
6. A method according to any preceding claim, in, The second website is associated with the third virtual world via at least a defined link related to a virtual object in the first virtual world with which the virtual world interaction is performed.
7. A method according to any preceding claim, further comprising: By receiving another selection in the virtual browser associated with the first virtual world, the 3D content for the first virtual world is reinstantiated to replace the third virtual world.
8. A computing system for accessing multiple virtual worlds on an artificial reality device, the computing system comprising: one or more processors; as well as one or more memories storing instructions that, when executed by the one or more processors, cause the computing system to perform a process comprising: Provides a virtual web browser; receiving, via the web browser, a selection of a first website associated with a first virtual world of the plurality of virtual worlds; receiving content for the website and 3D content for the first virtual world from a server system; displaying the content for the first website in a first tab of the virtual web browser; receiving a selection in the virtual web browser associated with the first virtual world; In response to the selection, providing a first command that causes the 3D content for the first virtual world to be instantiated to replace a second virtual world currently being displayed by the artificial reality device; detecting virtual world interactions associated with a third virtual world; In response to the virtual world interaction, generating a second tab page for a second website associated with the third virtual world on the web browser; and A second command is provided that causes 3D content for the third virtual world to be instantiated to replace the first virtual world.
9. The computing system according to claim 8, in, The second command is provided in response to another selection in the virtual web browser associated with the third virtual world.
10. A computing system according to any one of claims 8 or 9, in, The content for the first website is received in a first session with one or more servers, and The 3D content for the first virtual world is received in a second session with at least one server, such that displaying the content for the first website is performed before the 3D content for the first virtual world is completely received.
11. The computing system of any one of claims 8 to 10, and any one or more of the following: a) wherein the virtual world interaction is a user interaction with a virtual object displayed in the first virtual world; or b) Among them, The virtual world interaction is a user interaction with a virtual object displayed in the first virtual world and designated by a pointer in the third virtual world, and Wherein, the indicator of the third virtual world is based on: (a) content retrieved by accessing a link for the third virtual world associated with the virtual object, or (b) an indicator of a portion of the third virtual world for the content of the first website.
12. A computing system according to any one of claims 8 to 11, in, The second website is associated with the third virtual world via at least a defined link related to a virtual object in the first virtual world with which the virtual world interaction is performed.
13. A computing system according to any one of claims 8 to 12, in, The process also includes, in response to receiving another selection associated with the first virtual world in the virtual browser, re-instantiating the 3D content for the first virtual world to replace the third virtual world.
14. A machine-readable storage medium having machine-executable instructions stored thereon, the machine-executable instructions, when executed by one or more processors, causing the one or more processors to perform a method for accessing a plurality of virtual worlds on an artificial reality device, the method comprising: Provides a virtual web browser; receiving, via the web browser, a selection of a first website associated with a first virtual world of the plurality of virtual worlds; receiving content for the website and 3D content for the first virtual world from a server system; displaying the content for the first website in a first tab of the virtual web browser; providing a first command that causes the 3D content for the first virtual world to be instantiated to replace a second virtual world currently being displayed by the artificial reality device; detecting browser or virtual world interactions with third virtual worlds; In response to the interaction, generating a second tab page associated with the third virtual world on the web browser; as well as A second command is provided that causes 3D content for the third virtual world to be instantiated to replace the first virtual world.
15. The machine-readable storage medium of claim 14, and any one or more of the following: a) wherein the second command is provided in response to another selection in the virtual web browser associated with the third virtual world; or b) Among them, The content for the first website is received in a first session with one or more servers, and wherein the 3D content for the first virtual world is received in a second session with at least one server, such that displaying of the content for the first website is performed before the 3D content for the first virtual world is completely received; or c) wherein detecting the browser or virtual world interaction comprises detecting the virtual world interaction; and wherein the virtual world interaction is a user interaction with a virtual object displayed in the first virtual world and designated by an indicator of the third virtual world, in which case, optionally, wherein the indicator of the third virtual world is based on: (a) content retrieved by accessing a link for the third virtual world associated with the virtual object, or (b) an indication of the content of the first website as a portion of the third virtual world; or d) wherein the process further comprises: in response to receiving another selection associated with the first virtual world in the virtual browser, re-instantiating the 3D content for the first virtual world to replace the third virtual world.
Citation Information
Patent Citations
Artificial Reality Browser Configured to Trigger an Immersive Experience
US20230342409A1
Virtual Personal Interface for Control and Travel Between Virtual Worlds
US20230419617A1