System and method for facilitating sharing of virtual three-dimensional space
Abstract
One embodiment provides a system that facilitates shared virtual reality space. During operation, the system receives a first message associated with a first virtual reality object, wherein the first message includes a first address for the first virtual reality object and indicates a first action to be performed on the first virtual reality object. The system performs the first action on the first virtual reality object. The system determines a second address for a second virtual reality object that is remotely maintained and corresponds to the first virtual reality object. The system constructs a second message, which includes the second address and indicates the first action, thereby allowing the first action to be performed on the second virtual reality object.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method for processing a virtual reality space, the method comprising:
receiving, by a first engine on a first computing device, a first message, the first message including a first address for a first virtual reality object in the first engine and indicating a first action to be performed on the first virtual reality object; performing, by the first engine, the first action on the first virtual reality object; determining, by the first engine, a second address for a second virtual reality object in a second engine, the second engine being remote from the first engine, wherein the first virtual reality object and the second virtual reality object are copies of a same virtual reality object; constructing, by the first engine, a second message, the second message including the second address and indicating the first action; sending, by the first engine, the second message for use by the second engine, wherein the first engine comprises a plurality of simulators, a respective simulator performing simulation on a number of objects associated with the respective simulator and having an associated message queue, and wherein performing, by the first engine, the first action on the first virtual reality object comprises:
routing the first message to a message queue associated with a first simulator with which the first object is associated; and
performing, by the first simulator, the first action on the first object.
2 . The method of claim 1 , further comprising:
receiving, by the second engine from the first engine, the second message; and performing, by the second engine, the first action on the second virtual reality object.
3 . The method of claim 1 ,
wherein the second engine is on a second computing device remote from the first computing device.
4 . The method of claim 1 , wherein sending, by the first engine, the second message comprises:
sending, by the first engine, the second message for use by the second engine via a server remote from the first engine and the second engine.
5 . The method of claim 1 , further comprising:
receiving, by a user interface of the first computing device, a user input, the user input specifying the first virtual reality object and the first action; and generating, by a message generation module of the first computing device, the first message using the user input.
6 . The method of claim 1 , further comprising at least one of:
the first virtual reality object is a replica of the second virtual reality object; the second virtual reality object is a replica of the first virtual reality object; and the first virtual reality object and the second virtual reality object are replicas of a third virtual reality object, the third virtual reality object being in a third engine remote from the first engine and the second engine.
7 . The method of claim 1 , further comprising:
maintaining, by the first computing device, a view list for the first virtual reality object, the view list for the first virtual reality object listing one or more additional virtual reality objects each with a respective address, the first and additional virtual reality objects being copies of a same virtual reality object, wherein determining the second address for the second virtual reality object comprises using the view list for the first virtual reality object.
8 . The method of claim 7 , further comprising:
sending, by the first engine, to each of the additional virtual reality objects in the view list, a respective message, wherein a message for an additional virtual reality object includes the respective address for the additional virtual reality object and indicates the first action.
9 . The method of claim 1 , further comprising:
rendering, by the first engine, the virtual reality space on the first computing device, including rendering a representation of the first virtual reality object.
10 . The method of claim 1 , further comprising:
rendering, by the second engine, the virtual reality space on at least one of the first computing device and a second computing device remote from the first computing device, including rendering a representation of the second virtual reality object.
11 . The method of claim 1 , wherein determining the second address is based on a list associated with the first virtual reality object, and wherein the method further comprises:
adding to the list a new address for a new virtual reality object; generating a representation of the first virtual reality object; and constructing a third message, which includes the new address and the representation of the first virtual reality object, thereby allowing a replica of the first virtual object to be created remotely based on the new address.
12 . A system for processing a virtual reality space, the system comprising:
a first engine on a first computing device, the first engine configured to:
receive a first message, the first message including a first address for a first virtual reality object in the first engine and indicating a first action to be performed on the first virtual reality object;
perform the first action on the first virtual reality object;
determine a second address for a second virtual reality object in a second engine, the second engine being remote from the first engine, wherein the first virtual reality object and the second virtual reality object are copies of a same virtual reality object;
construct a second message, the second message including the second address and indicating the first action;
send the second message for use by the second engine;
wherein the first engine comprises a plurality of simulators, a respective simulator performing simulation on a number of objects associated with the respective simulator and having an associated message queue, and wherein the first engine is further configured to perform the first action on the first virtual reality object by:
routing the first message to a message queue associated with a first simulator with which the first object is associated; and
performing, by the first simulator, the first action on the first object.
13 . The system of claim 12 , further comprising:
the second engine configured to:
receive, from the first engine, the second message; and
perform the first action on the second virtual reality object.
14 . The system of claim 12 , wherein the first engine configured to send the second message comprises at least one of:
sending the second message for use by the second engine via a server remote from the first engine and the second engine; and sending the second message for use by the second engine, the second engine on a second computing device remote from the first computing device.
15 . The system of claim 12 ,
wherein the first computing device is configured to maintain a view list for the first virtual reality object, the view list for the first virtual reality object listing one or more additional virtual reality objects each with a respective address, the first and additional virtual reality objects being copies of a same virtual reality object, and wherein the first engine is further configured to:
determine the second address for the second virtual reality object comprises using the view list for the first virtual reality object;
send to each of the additional virtual reality objects in the view list, a respective message, wherein a message for an additional virtual reality object includes the respective address for the additional virtual reality object and indicates the first action.
16 . The system of claim 12 ,
wherein the first engine is further configured to render the virtual reality space on the first computing device, including rendering a representation of the first virtual reality object, and wherein the second engine is configured to render the virtual reality space on at least one of the first computing device and a second computing device remote from the first computing device, including rendering a representation of the second virtual reality object.
17 . The system of claim 12 , wherein the first engine is further configured to:
determine the second address is based on a list associated with the first virtual reality object; add to the list a new address for a new virtual reality object; generate a representation of the first virtual reality object; and construct a third message, which includes the new address and the representation of the first virtual reality object, thereby allowing a replica of the first virtual object to be created remotely based on the new address.
18 . A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:
receiving, by a first engine on a first computing device, a first message, the first message including a first address for a first virtual reality object in the first engine and indicating a first action to be performed on the first virtual reality object; performing, by the first engine, the first action on the first virtual reality object; determining, by the first engine, a second address for a second virtual reality object in a second engine, the second engine being remote from the first engine, wherein the first virtual reality object and the second virtual reality object are copies of a same virtual reality object; constructing, by the first engine, a second message, the second message including the second address and indicating the first action; sending, by the first engine, the second message for use by the second engine, wherein the first engine comprises a plurality of simulators, a respective simulator performing simulation on a number of objects associated with the respective simulator and having an associated message queue, and wherein performing, by the first engine, the first action on the first virtual reality object comprises:
routing the first message to a message queue associated with a first simulator with which the first object is associated; and
performing, by the first simulator, the first action on the first object.
19 . The storage medium of claim 18 , wherein the method further comprises:
receiving, by a user interface of the first computing device, a user input, the user input specifying the first virtual reality object and the first action; and generating, by a message generation module of the first computing device, the first message using the user input.
20 . The storage medium of claim 18 , wherein the method further comprises:
maintaining, by the first computing device, a view list for the first virtual reality object, the view list for the first virtual reality object listing one or more additional virtual reality objects each with a respective address, the first and additional virtual reality objects being copies of a same virtual reality object, wherein determining the second address for the second virtual reality object comprises using the view list for the first virtual reality object; and sending, by the first engine, to each of the additional virtual reality objects in the view list, a respective message, wherein a message for an additional virtual reality object includes the respective address for the additional virtual reality object and indicates the first action.Join the waitlist — get patent alerts
Track US2022217224A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.