Outer Rim Archives
Archives · 2020 · 10762599

Granted patent

Constrained virtual camera control

Number
10762599
Published
2020-09-01
Filed
2014-02-28
Assignee
LUCASFILM ENTERTAINMENT COMPANY LTD.
Inventors
Sullivan; Steve
CPC
G06T3/20; G06F3/04815
Verdict
Low Notable software
Source
Google Patents · FreePatentsOnline

The keeper's note

Constrained virtual camera control technique for VFX/animation.

Abstract

A method is described that includes receiving, from a first device, input used to select a first object in a computer-generated environment. The first device has at least two degrees of freedom with which to control the selection of the first object. The method also includes removing, in response to the selection of the first object, at least two degrees of freedom previously available to a second device used to manipulating a second object in the computer-generated environment. The removed degrees of freedom correspond to the at least two degrees of freedom of the first device and specify an orientation of the second object relative to the selected first object. Additionally, the method includes receiving, from the second device, input including movements within the reduced degrees of freedom used to manipulate a position of the second object while maintaining the specified orientation relative to the selected first object.

Background

TECHNICAL FIELD(1) This specification relates to systems and methods for constrained virtual camera control.BACKGROUND OF THE INVENTION(2) Navigating in three-dimensional environments, such as in animation software programs, can be disorienting and difficult for users because of an availability of multiple degrees of freedom in navigation of the environments with respect to common input devices. Some current systems enable users to navigate using a mouse and keyboard. With a mouse, a user has control over two degrees of freedom, namely control over the x and y directions. If a user wants to move in a z-direction (e.g., toward or back from an object in the 3D environment), the user can select a key on the keyboard. The selection of the key may modify the function of the mouse so that a horizontal movement of the mouse (e.g., a movement in the x direction), is mapped to a forward or backward movement (e.g., a movement along the z direction). The mapping of navigations from one degree of freedom to another degree of freedom, however, can be counter-intuitive to users.(3) Other systems may enable a user to navigate using a single device with up to seven degrees of freedom in movement. For example, a 3D motion controller may permit a user to control a virtual camera so that it can move horizontally, move vertically, move forward or backward, pan, tilt, or roll, or zoom. It may be difficult, however, for user to navigate around an object in a 3D environment because the user may hav

Claims

1. A method for manipulating an object in a computer-generated interactive virtual environment under a constraint defined relative to a different selected object, the method comprising: displaying, on a display, a computer-generated interactive virtual environment that includes at least first and second three-dimensional objects, wherein the first and second objects each comprise a scene element in the computer-generated interactive virtual environment, the scene element comprising a computer-generated rendering of a physical object; receiving, from a first device, first input corresponding to selection of the first three-dimensional object in the computer-generated environment and translating the first three-dimensional object to a new location within the virtual environment; defining, based at least in part on the selection of the first three-dimensional object, a constraint on manipulation of the second three-dimensional object in the computer-generated interactive virtual environment, wherein the constraint is defined relative to the first object; receiving second input, from a second device that is a 3D motion controller and separate from the first device and configured for manipulation of the second three-dimensional object according to multiple degrees of freedom, wherein the constraint restrains the manipulation of the second three-dimensional object with regard to at least one of the degrees of freedom, wherein each degree of freedom is limited to a subset of possible displacements along an axis relative to the first object; updating the computer-generated interactive virtual environment based on the second input, including manipulating the second three-dimensional object consistent with the constraint while the first object is translated; displaying, on the display, the updated computer-generated interactive virtual environment including the first and second three-dimensional objects; and regaining the at least one degree of freedom removed from the second device when the first device deselects the first object. 13. A computer program product embodied in a non-transitory computer-readable medium, the computer program product including instructions that, when executed, perform operations comprising: displaying, on a display, a computer-generated interactive virtual environment that includes at least first and second three-dimensional objects, wherein the first and second objects each comprise a scene element in the computer-generated interactive virtual environment, the scene element comprising a computer-generated rendering of a physical object; receiving, from a first device, first input corresponding to selection of the first three-dimensional object in the computer-generated interactive virtual environment and translating the first three-dimensional object to a new location within the virtual environment; defining, based at least in part on the selection of the first three-dimensional object, a constraint on manipulation of the second three-dimensional object in the computer-generated interactive virtual environment, wherein the constraint is defined relative to the first object; receiving second input, from a second device that is a 3D motion controller and separate from the first device and configured for manipulation of the second three-dimensional object according to multiple degrees of freedom, wherein the constraint restrains the manipulation of the second three-dimensional object with regard to at least one of the degrees of freedom, wherein each degree of freedom is limited to a subset of possible displacements along an axis relative to the first object; updating the computer-generated interactive virtual environment based on the second input, including manipulating the second three-dimensional object consistent with the constraint while the first object is translated; displaying, on a display, the updated computer-generated interactive virtual environment including the first and second three-dimensional objects; and regaining the at least one degree of freedom removed from the second device when the first device deselects the first object. 14. A computing device for manipulating a three dimensional object displayed in a computer-generated environment under a constraint defined relative to a different selected three-dimensional object, the device comprising: one or more memories; and one or more processors in communication with the one or more memories and configured to execute instructions stored in the one or more memories to performing operations comprising: displaying, on the display, a computer-generated interactive virtual environment that includes at least a first three-dimensional object defined by a first set of coordinates and a second three-dimensional object defined by a second set of coordinates, wherein the first and second objects each comprise a scene element in the computer-generated interactive virtual environment, the scene element comprising a computer-generated rendering of a physical object; receiving, from a first device, a first user input corresponding to selection of the first three-dimensional object in the computer-generated interactive virtual environment and translating the first three-dimensional object to a new location within the virtual environment; defining, based at least in part on the selection of the first three-dimensional object, a constraint on manipulation of the second three-dimensional object in the computer-generated interactive virtual environment, wherein the constraint is defined relative to the first object; receiving second input, from a second device that is a 3D motion controller and separate from the first device and configured for manipulation of the second three-dimensional object according to multiple degrees of freedom, wherein the constraint restrains a manipulation with regard to at least one of the degrees of freedom, wherein each degree of freedom is limited to a subset of possible displacements along an axis; updating the computer-generated interactive virtual environment based on the second input, including manipulating the second three-dimensional object consistent with the constraint while the first object is translated; displaying, on the display, the updated computer-generated interactive virtual environment including the first three-dimensional object and the second three-dimensional object; and regaining the at least one degree of freedom removed from the second device wherein the first device deselects the first object.