← Back to Patent Explorer
US5986675A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for animating an object in three-dimensional space using a two-dimensional input device

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1996-05-24
•
Granted: 1999-11-16
•
Expires: 2016-05-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A process for creating a 3D computer animated movie or animated sequence of images. A 3D scene and actor (a class of 3D objects) are initially selected by the user. The user moves the mouse to place and orient the actor within the 3D scene without requiring additional types of input beyond 2D mouse inputs. Positioning and orienting of the actor is accomplished based on the distance and angle of mouse movement. Once the actor has been placed in the desired location and with the desired orientation, the content of the movie can be recorded. While recording, the user moves the actor along a path and selects actions or events to be performed along the path. By using a location-based recording model, editing and synchronization of the movie are enhanced. One example of an action performed by the actor is to change costumes. The costume of the actor is changed by selecting part of the actor with a single user interface operation, such as a mouse click. Repeatedly clicking upon the selected part of the actor cycles through different costumes on that part of the actor.

Inventors

  • 👤 Michael David Anderson
  • 👤 Susan O'Donnell
  • 👤 Narendra Varma

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 00:28
CPC Classifications
G; G06; G06T; G06T13/00; G06T13/20; G06F; G06F3/00; G06F3/01; G06F3/048; G06F3/0484; G06F3/04845; A; A63; A63F; A63F2300/00; A63F2300/60; A63F2300/6009; A63F2300/66; A63F2300/6607

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 140 words
A computer-readable medium storing computer executable-instructions for performing the steps of: defining a three-dimensional space with reference to a three dimensional coordinate system; defining an object located at an initial position and orientation in the three dimensional space; receiving user input corresponding to movement of a two-dimensional input device; translating the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; if the distance of the object movement during a time interval is greater than a predefined threshold, interpreting the user input as a change in the position of the object in the three-dimensional space; and if the distance of the object movement during the time interval is not greater than the predefined threshold, interpreting the user input as a change in the orientation of the object in the three-dimensional space.
Claim 2
Dependent Claim 140 words
A computer-readable medium storing computer executable-instructions for performing the steps of: defining a three-dimensional space with reference to a three dimensional coordinate system; defining an object located at an initial position and orientation in the three dimensional space; receiving user input corresponding to movement of a two-dimensional input device; translating the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; if the distance of the object movement during a time interval is greater than a predefined threshold, interpreting the user input as a change in the position of the object in the three-dimensional space; and if the distance of the object movement during the time interval is not greater than the predefined threshold, interpreting the user input as a change in the orientation of the object in the three-dimensional space.
Claim 3
Dependent Claim 91 words
The computer-readable medium of claim 1, wherein said computer-executable instructions further perform the steps of: calculating the distance D between the initial location and a candidate location; calculating a candidate orientation for the object; determining a display location for the object based on the distance D, the initial orientation, and the candidate orientation; determining a display orientation for the object based on the distance D, the initial orientation, and the candidate orientation; and displaying the object at the display location and oriented at the display orientation in the three dimensional space.
Claim 4
Dependent Claim 32 words
The computer-readable medium of claim 2, wherein the step of determining the display orientation includes smoothing the movement of the object to avoid the appearance of discrete rotational turns by the object.
Claim 5
Dependent Claim 41 words
The computer-readable medium of claim 2, wherein the candidate orientation is calculated by computing the angular change between the initial orientation and an orientation specified by a vector having an origin at the initial location and pointing toward the candidate point.
Claim 6
Dependent Claim 121 words
The computer-readable medium of claim 2, wherein said computer-executable instructions further perform the steps of: determining whether the distance D is above a predetermined threshold value; determining whether the angular change between the initial and candidate orientations is above a threshold degree; and if the distance D is above a threshold distance value and the angular change between the initial and candidate orientations is above a threshold degree, then momentarily damping the distance D in determining the display location and setting the display orientation equal to the candidate orientation while the object is being displayed wherein the object has the appearance of a momentary pause prior to turning to the display orientation and moving in the direction of the display orientation.
Claim 7
Dependent Claim 103 words
The computer-readable medium of claim 2, wherein said computer-executable instructions further perform the steps of; determining whether the distance D is above a predetermined threshold value; determining whether the angular change between the initial and candidate orientations is above a threshold degree; and if the distance D is above a threshold distance value and the angular change between the initial and candidate orientations is not above a threshold degree, then setting the display location at the distance D and setting the display orientation equal to the candidate orientation while the object is being displayed such that the object precisely tracks the user's input.
Claim 8
Dependent Claim 101 words
The computer-readable medium of claim 2, wherein said computer-executable instructions further perform the steps of: determining whether the distance D is above a predetermined threshold value; determining whether the angular change between the initial and candidate orientations is above a threshold degree; and if the distance D is not above a threshold distance value and the angular change between the initial and candidate orientations is above a threshold degree, then damping the distance D in determining the display location and smoothing the candidate orientation in determining the display orientation wherein the object is rotated without the appearance of discrete rotational turns.
Claim 9
Dependent Claim 88 words
The computer-readable medium of claim 2, wherein said computer-executable instructions further perform the steps of: determining whether the distance D is above a predetermined threshold value; determining whether the angular change between the initial and candidate orientations is above a threshold degree; and if the distance D is not above a threshold distance value and the angular change between the initial and candidate orientations is not above a threshold degree, then smoothing the candidate orientation in determining the display orientation while keeping the object at the initial location.
Claim 10
Dependent Claim 148 words
The computer-readable medium of claim 1, wherein said computer-executable instructions further perform the steps of: determining a first action to be performed by the object; providing a series of images associated with the first action, each of the images defining a distance of travel of the object; determining whether the object is moving in response to user input; in response to a determination that the object is moving, identifying a plurality of nodes along the path of movement, the nodes corresponding to the location associated with an occurrence of one of the series of images; in response to a determination that the object is not moving, determining the location of the object and the amount of time the action is executed at the location; storing a path list comprising the location of the nodes; and storing an event list comprising the location at which the first action begins.
Claim 11
Dependent Claim 26 words
The computer-readable medium of claim 9, wherein said computer-executable instructions further perform the step of storing the elapsed time first action is performed at the location.
Claim 12
Dependent Claim 28 words
The computer-readable medium of claim 9, wherein the location is indicated by the closest node to the location and the distance past the closest node to the location.
Claim 13
Dependent Claim 89 words
The computer-readable medium of claim 1, wherein said computer-executable instructions further perform the steps of: selecting one of a plurality of object parts with a single operation, the selected object part associated with an object set, the object set having one of a plurality of attributes; changing the one of the plurality of attributes associated with the object part set to a second of the plurality of attributes in response to selecting the object part; and displaying the object part set using the second of the plurality of attributes.
Claim 14
Dependent Claim 26 words
The computer-readable medium of claim 12, wherein each of the plurality of attributes defines a light-interaction characteristic and a color characteristic of the object part set.
Claim 15
Dependent Claim 22 words
The computer-readable medium of claim 12, wherein each of the plurality of attributes defines a visual appearance of the object part set.
Claim 16
Dependent Claim 22 words
The computer-readable medium of claim 12, wherein each of the plurality of attributes defines a shape characteristic of the object part set.
Claim 17
Dependent Claim 35 words
The computer-readable medium of claim 12, wherein each of the plurality of attributes includes a plurality of display parameters being assigned to each of the plurality of object parts associated with the object part set.
Claim 18
Dependent Claim 17 words
The computer-readable medium of claim 12, wherein the plurality of display parameters is capable of being heterogeneous.
Claim 19
Independent Claim 142 words
A method of animating an object in three-dimensional space, comprising the steps of: defining a three-dimensional space with reference to a three dimensional coordinate system; defining an object located at an initial position and orientation in the three dimensional space; receiving user input corresponding to movement of a two-dimensional input device; translating the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; if the distance of the object movement during a time interval is greater than a predefined threshold, interpreting the user input as a change in the position of the object in the three-dimensional space; and if the distance of the object movement during the time interval is not greater than the predefined threshold, interpreting the user input as a change in the orientation of the object in the three-dimensional space.
Claim 20
Independent Claim 142 words
A method of animating an object in three-dimensional space, comprising the steps of: defining a three-dimensional space with reference to a three dimensional coordinate system; defining an object located at an initial position and orientation in the three dimensional space; receiving user input corresponding to movement of a two-dimensional input device; translating the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; if the distance of the object movement during a time interval is greater than a predefined threshold, interpreting the user input as a change in the position of the object in the three-dimensional space; and if the distance of the object movement during the time interval is not greater than the predefined threshold, interpreting the user input as a change in the orientation of the object in the three-dimensional space.
Claim 21
Dependent Claim 188 words
A computer system for animating an object in three-dimensional space, comprising: a processing unit; an input device connected to the processing unit; and a display device coupled to the processing unit for displaying the object; the processing unit, responsive to instructions from a program module running on the computer system, being operative to: (a) define a three-dimensional space with reference to a three dimensional coordinate system; (b) define an object located at an initial position and orientation in the three dimensional space; (c) receive user input corresponding to movement of a two-dimensional input device; (d) translate the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; (e) if the distance of the object movement during a time interval is greater than a predefined threshold, interpret the user input as a change in the position of the object in the three-dimensional space; and (f) if the distance of the object movement during the time interval is not greater than the predefined threshold, interpret the user input as a change in the orientation of the object in the three-dimensional space.
Claim 22
Dependent Claim 188 words
A computer system for animating an object in three-dimensional space, comprising: a processing unit; an input device connected to the processing unit; and a display device coupled to the processing unit for displaying the object; the processing unit, responsive to instructions from a program module running on the computer system, being operative to: (a) define a three-dimensional space with reference to a three dimensional coordinate system; (b) define an object located at an initial position and orientation in the three dimensional space; (c) receive user input corresponding to movement of a two-dimensional input device; (d) translate the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; (e) if the distance of the object movement during a time interval is greater than a predefined threshold, interpret the user input as a change in the position of the object in the three-dimensional space; and (f) if the distance of the object movement during the time interval is not greater than the predefined threshold, interpret the user input as a change in the orientation of the object in the three-dimensional space.
Claim 23
Independent Claim 169 words
A method of creating an animated movie, comprising the steps of: defining a three-dimensional space with reference to a three dimensional coordinate system; defining an object located at an initial position and orientation in the three dimensional space; selecting one of a plurality of available three-dimensional scenes; selecting one of a plurality of available actors; displaying the selected actor at an initial position in the selected scene; receiving user input corresponding to movement of a two-dimensional input device; translating the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; if the distance of the object movement during a time interval is greater than a predefined threshold, interpreting the user input as a change in the position of the object in the three-dimensional space; and if the distance of the object movement during the time interval is not greater than the predefined threshold, interpreting the user input as a change in the orientation of the object in the three-dimensional space.
Claim 24
Independent Claim 169 words
A method of creating an animated movie, comprising the steps of: defining a three-dimensional space with reference to a three dimensional coordinate system; defining an object located at an initial position and orientation in the three dimensional space; selecting one of a plurality of available three-dimensional scenes; selecting one of a plurality of available actors; displaying the selected actor at an initial position in the selected scene; receiving user input corresponding to movement of a two-dimensional input device; translating the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; if the distance of the object movement during a time interval is greater than a predefined threshold, interpreting the user input as a change in the position of the object in the three-dimensional space; and if the distance of the object movement during the time interval is not greater than the predefined threshold, interpreting the user input as a change in the orientation of the object in the three-dimensional space.
Claim 25
Dependent Claim 218 words
A computer system for creating an animated movie, comprising: a processing unit; an input device connected to the processing unit; and a display device coupled to the processing unit for displaying the object; the processing unit, responsive to instructions from a program module running on the computer system, being operative to: (a) define a three-dimensional space with reference to a three dimensional coordinate system; (b) define an object located at an initial position and orientation in the three dimensional space; (c) select one of a plurality of available three-dimensional scenes; (d) select one of a plurality of available actors; (d) display the selected actor at an initial position in the selected scene; (e) receive user input corresponding to movement of a two-dimensional input device; (f) translate the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; (g) if the distance of the object movement during a time interval is greater than a predefined threshold, interpret the user input as a change in the position of the object in the three-dimensional space; and (h) if the distance of the object movement during the time interval is not greater than the predefined threshold, interpret the user input as a change in the orientation of the object in the three-dimensional space.
Claim 26
Dependent Claim 218 words
A computer system for creating an animated movie, comprising: a processing unit; an input device connected to the processing unit; and a display device coupled to the processing unit for displaying the object; the processing unit, responsive to instructions from a program module running on the computer system, being operative to: (a) define a three-dimensional space with reference to a three dimensional coordinate system; (b) define an object located at an initial position and orientation in the three dimensional space; (c) select one of a plurality of available three-dimensional scenes; (d) select one of a plurality of available actors; (d) display the selected actor at an initial position in the selected scene; (e) receive user input corresponding to movement of a two-dimensional input device; (f) translate the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; (g) if the distance of the object movement during a time interval is greater than a predefined threshold, interpret the user input as a change in the position of the object in the three-dimensional space; and (h) if the distance of the object movement during the time interval is not greater than the predefined threshold, interpret the user input as a change in the orientation of the object in the three-dimensional space.
Claim 27
Dependent Claim 169 words
A computer-readable medium storing computer-executable instructions for performing the steps of: defining a three-dimensional space with reference to a three dimensional coordinate system; defining an object located at an initial position and orientation in the three dimensional space; selecting one of a plurality of available three-dimensional scenes; selecting one of a plurality of available actors; displaying the selected actor at an initial position in the selected scene; receiving user input corresponding to movement of a two-dimensional input device; translating the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; if the distance of the object movement during a time interval is greater than a predefined threshold, interpreting the user input as a change in the position of the object in the three-dimensional space; and if the distance of the object movement during the time interval is not greater than the predefined threshold, interpreting the user input as a change in the orientation of the object in the three-dimensional space.
Claim 28
Dependent Claim 169 words
A computer-readable medium storing computer-executable instructions for performing the steps of: defining a three-dimensional space with reference to a three dimensional coordinate system; defining an object located at an initial position and orientation in the three dimensional space; selecting one of a plurality of available three-dimensional scenes; selecting one of a plurality of available actors; displaying the selected actor at an initial position in the selected scene; receiving user input corresponding to movement of a two-dimensional input device; translating the two-dimensional user input into movement of the object in the direction of the object orientation in the three-dimensional space; if the distance of the object movement during a time interval is greater than a predefined threshold, interpreting the user input as a change in the position of the object in the three-dimensional space; and if the distance of the object movement during the time interval is not greater than the predefined threshold, interpreting the user input as a change in the orientation of the object in the three-dimensional space.

References Cited (Backward Citations)

US3883235A Cited
US4894774A Cited
US4952051A Cited
US5684943A Cited
US5261041A Cited
US5564000A Cited
US5467441A Cited
US5594856A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-11-15 2003-05-17 2003-11-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-11-15 2007-05-17 2007-11-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-11-15 2011-05-17 2011-11-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag