Virtual object translation
AssigneeAdobe Inc.
InventorMichael Baldus
Life of this patent
Estimating the term…
Abstract
Techniques are disclosed for translating a virtual object within a displayed scene in a digital environment in a realistic and intuitive manner. The realistic and intuitive translation is achieved due to new techniques that are used for determining locations of the virtual object in the digital scene as the virtual object is being translated responsive to user input. In some embodiments, a control plane is constructed based upon a point of interaction with a virtual object and an initial surface in the scene on which the virtual object is located. The constructed control plane is then used to determine locations in the scene for locating and displaying the virtual object as the virtual object is translated from its start position to an end position in the scene.
Claims17
A method comprising:
- receiving, by a computing system, information indicating that a user is translating a virtual object from an initial location in an Augmented Reality (AR) scene displayed on a screen of an output device, wherein the virtual object is displayed in the scene along with real-world content captured using a camera;
- identifying, by the computing system, a point on the virtual object based upon the received information;
- identifying, by the computing system, an initial surface in the scene on which the virtual object is located;
- constructing, by the computing system, a control plane passing through the identified point on the virtual object and parallel to the identified initial surface;
- generating, by the computing system, a pick ray originating from a camera location and passing through both a point of interaction on the screen and the control plane;
- identifying, by the computing system, a point on the control plane where the pick ray intersects the control plane;
- setting, by the computing system, a new location for positioning the virtual object in the scene at the point on the control plane where the pick ray intersects the control plane, where the new location is different from the initial location;
- and
- updating, by the computing system, the scene displayed on the output device by displaying the virtual object in the new location.
A computing system comprising:
- a memory;
- a processor;
- the memory including instructions, which when executed by the processor, cause the processor to perform steps comprising:
- receiving information indicating that a user is translating a virtual object from an initial location in an Augmented Reality (AR) scene displayed on a screen of an output device, wherein the virtual object is displayed in the scene along with real-world content captured using a camera;
- identifying a point on the virtual object based upon the received information;
- identifying an initial surface in the scene on which the virtual object is located;
- constructing a control plane passing through the identified point on the virtual object and parallel to the identified initial surface;
- generating a pick ray originating from a camera location and passing through both a point of interaction on the screen and the control plane;
- identifying a point on the control plane where the pick ray intersects the control plane;
- and
- setting a new location for positioning the virtual object in the scene at the point on the control plane where the pick ray intersects the control plane, where the new location is different from the initial location.
A non-transitory computer-readable medium having instructions stored thereon, the instructions executable by a processing device to perform operations comprising:
- receive information indicating that a user is translating a virtual object from an initial location in an Augmented Reality (AR) scene displayed on a screen of an output device, wherein the virtual object is displayed in the scene along with real-world content captured using a camera;
- identify a point on the virtual object based upon the received information;
- identify an initial surface in the scene on which the virtual object is located;
- construct a control plane based upon the identified point on the virtual object and the identified initial surface by generating the control plane such that the control plane is parallel to the initial surface and passes through the identified point on the virtual object;
- generate a pick ray originating from a camera location and passing through both a point of interaction on the screen and the control plane;
- identify a point on the control plane where the pick ray intersects the control plane;
- set a new location for positioning the virtual object in the scene at the point on the control plane where the pick ray intersects the control plane, where the new location is different from the initial location;
- and
- update the scene displayed on the output device by displaying the virtual object in the new location.
Dependencies are inferred from the claim text.