Shared control of a virtual object by multiple devices
Aspects of the present disclosure involve a system comprising a computer-readable storage medium storing at least one program, method, and user interface to facilitate a shared control of a virtual object by two or more users. A virtual object is displayed by a first device, for example, as part of an augmented reality experience where the display of the object is overlaid on a real-world environment. User input indicative of a modification to the virtual object is received. The virtual object is modified, and a modified virtual object is displayed by a second device.
1. A method comprising:
detecting a geolocation associated with an initial virtual object being within a field of view of a first user based on a current location of a first device of the first user, the geolocation associated with the initial virtual object being specified by a second user;
based on detecting the geolocation being within the field of view of the first user, causing display, at the first device, of the initial virtual object overlaid on a real-world environment corresponding to the current location of the first device;
receiving input indicative of a modification to the initial virtual object by the first user or the second user;
modifying, by one or more hardware processors, the initial virtual object based on the modification to the initial virtual object; and
causing display, at the first device of the first user, of a modified virtual object overlaid on the real-world environment corresponding to the current location of the first device, the modified virtual object resulting from modifying the initial virtual object based on the modification to the initial virtual object.
2. The method of claim 1 , wherein the causing display, at the first device, of the initial virtual object comprises causing display of image data augmented to include the initial virtual object overlaid on the real-world environment, the image data comprising one or more images of the real-world environment, the image data being generated by a camera communicatively coupled to the first device.
3. The method of claim 2 , further comprising:
augmenting the image data to include the initial virtual object overlaid on the real-world environment.
4. The method of claim 2 , wherein:
the camera is embedded in a wearable device worn by the first user; and
the wearable device is communicatively coupled to the first device.
5. The method of claim 2 , wherein the camera is embedded in the first device.
6. The method of claim 1 , wherein:
the real-world environment is visible within a field of view of a camera coupled to the first device.
7. The method of claim 1 , further comprising causing display, at a second device, of the initial virtual object overlaid on the real-world environment.
8. The method of claim 1 , wherein the causing display, at the first device, of the modified virtual object comprises causing display of image data comprising the modified virtual object overlaid on the real-world environment.
9. The method of claim 1 , further comprising:
causing display, at a second device, of the modified virtual object overlaid on the real-world environment.
10. The method of claim 1 , wherein the modification to the initial virtual object comprises one or more of: a change to a size of the initial virtual object, a change to a shape of the initial virtual object, a change to a location of the initial virtual object, a change to a color of the initial virtual object, a change to an orientation of the initial virtual object, or a change to an animation state of the initial virtual object.
11. The method of claim 1 , wherein the modifying of the initial virtual object comprises one or more of:
changing a size of the initial virtual object;
changing a shape of the initial virtual object;
changing a location of the initial virtual object within the real-world environment;
changing a color of the initial virtual object;
changing an orientation of the initial virtual object; and
changing an animation state of the initial virtual object.
12. The method of claim 1 , wherein:
the initial virtual object is a first virtual object;
the input further comprises a selection of a second virtual object for inclusion in the real-world environment; and
the method further comprises causing display, at the first device, of the second virtual object overlaid on the real-world environment.
13. The method of claim 1 , wherein the input comprises one or more interactions with the display of the initial virtual object.
14. The method of claim 1 , wherein the input comprises one or more interactions with an interface element that enables one or more modifications to the initial virtual object.
15. The method of claim 14 , wherein:
the interface element comprises a map display; and
the input comprises an interaction with the map display indicative of a change to the geolocation associated with the initial virtual object.
16. A system comprising:
a memory that stores instructions; and
one or more processors configured by the instructions to perform operations comprising:
detecting a geolocation associated with an initial virtual object being within a field of view of a first user based on a current location of a first device of the first user, the geolocation associated with the initial virtual object being specified by a second user;
based on detecting the geolocation being within the field of view of the first user, causing display, at the first device, of the initial virtual object overlaid on a real-world environment corresponding to the current location of the first device;
receiving input indicative of a modification to the initial virtual object by the first user or the second user;
modifying the initial virtual object based on the modification to the initial virtual object; and
causing display, at the first device of the first user, of a modified virtual object overlaid on the real-world environment corresponding to the current location of the first device, the modified virtual object resulting from modifying the initial virtual object based on the modification to the initial virtual object.
17. The system of claim 16 , wherein the causing display, at the first device, of the initial virtual object comprises causing display of image data augmented to include the initial virtual object overlaid on the real-world environment, the image data comprising one or more images of the real-world environment, the image data being generated by a camera communicatively coupled to the first device.
18. The system of claim 16 , wherein:
the real-world environment is visible within a field of view of a camera coupled to the first device.
19. The system of claim 16 , wherein the causing display, at the first device, of the modified virtual object comprises causing display of image data comprising the modified virtual object overlaid on the real-world environment.
20. A non-transitory computer-readable medium storing instructions that, when executed by a computer system, cause the computer system to perform operations comprising:
detecting a geolocation associated with an initial virtual object being within a field of view of a first user based on a current location of a first device of the first user, the geolocation associated with the initial virtual object being specified by a second user;
based on detecting the geolocation being within the field of view of the first user, causing display, at the first device, of the initial virtual object overlaid on a real-world environment corresponding to the current location of the first device;
receiving input indicative of a modification to the initial virtual object by the first user or the second user;
modifying the initial virtual object based on the modification to the initial virtual object; and
causing display, at the first device of the first user, of a modified virtual object overlaid on the real-world environment corresponding to the current location of the first device, the modified virtual object resulting from modifying the initial virtual object based on the modification to the initial virtual object.