Automatic placement of a virtual object in a three-dimensional space
First Claim
Patent Images
1. An augmented reality (AR) system for automatically repositioning a virtual object in a three-dimensional (3D) environment, the AR system comprising:
- an AR display configured to present virtual content;
a hardware processor in communication with the AR display, the hardware processor programmed to;
determine a representation of a focus indicator comprising a graphical representation of a cursor, virtual cone, or ray;
display the focus indicator at a location in the 3D environment of a user associated with a current pose of the user;
identify a target virtual object in the 3D environment of the user, wherein the target virtual object is associated with at least one vector representing a first location and a first orientation;
receive an indication to replicate the target virtual object;
assign the focus indicator to the target virtual object in response to the indication to replicate the target virtual object;
display the focus indicator at the location of the target virtual object in response to assigning the focus indicator to the target virtual object;
receive an indication to attach a replica of the target virtual object to a destination object, wherein the destination object is associated with at least one vector representing a second location and a second orientation;
calculate a trajectory between the target virtual object and the destination object based at least partly on the first location, the second location, and an affordance associated with at least one of the 3D environment, the target virtual object, or the destination object, wherein the affordance comprises an attribute used to simulate interactions of the target virtual object, the destination object, or the 3D environment using a law of physics;
move the replica of the target virtual object and the assigned focus indicator along the trajectory towards the destination object;
track a current location of the replica of the target virtual object;
calculate a distance between the replica of the target virtual object and the destination object based at least partly on the current location of the target virtual object and the second location;
determine whether the distance of the replica of the target virtual object and the destination virtual object is less than a threshold distance;
automatically attach the replica of the target virtual object to the destination object and orient the replica of the target virtual object to the second orientation in response to a determination that the distance is less than or equal to the threshold distance; and
render, by the AR display, the replica of the target virtual object at the second location with the second orientation where the replica of the target virtual object is overlaid on the destination object.
4 Assignments
0 Petitions
Accused Products
Abstract
Augmented reality systems and methods for automatically repositioning a virtual object with respect to a destination object in a three-dimensional (3D) environment of a user are disclosed. The systems and methods can automatically attach the target virtual object to the destination object and re-orient the target virtual object based on the affordances of the virtual object or the destination object. The systems and methods can also track the movement of a user and detach the virtual object from the destination object when the user'"'"'s movement passes a threshold condition.
-
Citations
19 Claims
-
1. An augmented reality (AR) system for automatically repositioning a virtual object in a three-dimensional (3D) environment, the AR system comprising:
-
an AR display configured to present virtual content; a hardware processor in communication with the AR display, the hardware processor programmed to; determine a representation of a focus indicator comprising a graphical representation of a cursor, virtual cone, or ray; display the focus indicator at a location in the 3D environment of a user associated with a current pose of the user; identify a target virtual object in the 3D environment of the user, wherein the target virtual object is associated with at least one vector representing a first location and a first orientation; receive an indication to replicate the target virtual object; assign the focus indicator to the target virtual object in response to the indication to replicate the target virtual object; display the focus indicator at the location of the target virtual object in response to assigning the focus indicator to the target virtual object; receive an indication to attach a replica of the target virtual object to a destination object, wherein the destination object is associated with at least one vector representing a second location and a second orientation; calculate a trajectory between the target virtual object and the destination object based at least partly on the first location, the second location, and an affordance associated with at least one of the 3D environment, the target virtual object, or the destination object, wherein the affordance comprises an attribute used to simulate interactions of the target virtual object, the destination object, or the 3D environment using a law of physics; move the replica of the target virtual object and the assigned focus indicator along the trajectory towards the destination object; track a current location of the replica of the target virtual object; calculate a distance between the replica of the target virtual object and the destination object based at least partly on the current location of the target virtual object and the second location; determine whether the distance of the replica of the target virtual object and the destination virtual object is less than a threshold distance; automatically attach the replica of the target virtual object to the destination object and orient the replica of the target virtual object to the second orientation in response to a determination that the distance is less than or equal to the threshold distance; and render, by the AR display, the replica of the target virtual object at the second location with the second orientation where the replica of the target virtual object is overlaid on the destination object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for automatically repositioning a virtual object in a three-dimensional (3D) environment, the method comprising:
-
under control of an augmented reality (AR) system comprising computer hardware, the AR system configured to permit user interactions with objects in a 3D environment; identifying a target virtual object in the user'"'"'s 3D environment, the target virtual object having a first position and a first orientation; receiving an indication to replicate the target virtual object; assigning the focus indicator to the target virtual object in response to the indication to replicate the target virtual object; displaying the focus indicator at the location of the target virtual object in response to assigning the focus indicator to the target virtual object; identifying parameters for positioning the replica of the target virtual object, wherein the parameters comprise at least one of a direction of movement, a speed of movement, or an acceleration of movement; analyzing affordances associated with at least one of the 3D environment, the target virtual object, and the destination object, wherein the affordances comprise attributes used to simulate interactions of the target virtual object, the destination object, or the 3D environment using a law of physics; calculating values of the parameters for positioning the replica of the target virtual object based on the affordances; determining a second position and a second orientation for the target virtual object and a movement of the replica of the target virtual object based on the values of the parameters for positioning the replica of the target virtual object; and rendering the replica of the target virtual object at the second position and the second orientation and the movement of the replica of the target virtual object for reaching the second position and the second orientation from the first position and the first orientation. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification