IP Library › Granted Patent US 9,741,148
Granted Patent B2
US 9,741,148 · App. 15/274,148 · Granted Aug 22, 2017

Onion skin animation platform and time bar tool

Inventor: Timoni West (San Francisco, CA)
Assignee: Unity IPR ApS
G06T13/40G02B27/0172G06F3/04883G06T15/005G06T19/006G02B2027/014G02B2027/0138
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,741,148
App. No.
15/274,148
Granted
Aug 22, 2017
Kind
B2
Abstract

A system includes hardware processor(s), an HMD, an input device, and an onion skin animation module. The animation modules is configured to receive a character rig of a 3D character, receive a first 3D animation of the 3D character, the first 3D animation defines a motion sequence of the 3D character based on the character rig, create a virtual time bar within the virtual environment, the virtual time bar displaying a timeline associated with the first 3D animation, identify a first animation time within the first 3D animation, the first animation time is a point in time during the motion sequence, create a first pose object of the 3D character in the virtual environment, pose the first pose object based on the first 3D animation at the animation time, and positioning the first pose object within the virtual environment proximate the first animation time on the virtual time bar.

Claims (82)

1. A system comprising:

one or more hardware processors;

a head mounted display (HMD) configured to display a virtual environment to a user wearing the HMD;

an input device configured to allow the user to interact with virtual objects presented in the virtual environment; and

an onion skin animation module, executable by the one or more hardware processors, configured to perform operations comprising:

receiving a character rig of a three-dimensional (3D) character;

receiving a first 3D animation of the 3D character, the first 3D animation defines a motion sequence of the 3D character based at least in part on the character rig;

creating a virtual time bar within the virtual environment, the virtual time bar displaying a timeline associated with the first 3D animation;

identifying a first animation time within the first 3D animation, the first animation time is a point in time during the motion sequence;

creating a first pose object of the 3D character in the virtual environment;

posing the first pose object in the virtual environment based on the first 3D animation at the animation time;

positioning the first pose object within the virtual environment proximate the first animation time on the virtual time bar;

positioning a second pose object proximate a second animation time on the virtual time bar, the second pose object is in a pose different than the first pose object;

receiving indication of a compression gesture performed by the user in the virtual environment using the input device, the compression gesture identifies the first animation time and the second animation time; and

reducing the first pose object and the second pose object into a single, compressed pose object within the virtual environment, the compressed pose object displays at least a difference between the pose of the first pose object and the pose of the second pose object.

2. The system of claim 1 , wherein the onion skin animation module is further configured to perform operations further comprising:

receiving indication of a movement operation associated with the first pose object, the movement operation is performed by the user in the virtual environment, the move operation includes the user moving a component of the first pose object; and

automatically altering a pose of a second pose object within the virtual environment based at least in part on the movement operation.

3. The system of claim 1 , wherein the onion skin animation module is further configured to perform operations further comprising:

receiving indication of a scrolling gesture performed by the user in the virtual environment using the input device, the scrolling gesture includes (1) one of (a) grabbing the first pose object and (b) pressing a point on the time bar and (2) gesturing to one of the left and the right with the input device;

simultaneously moving the first pose object and the time bar to the one of the left and the right.

4. The system of claim 1 , wherein the onion skin animation module is further configured to perform operations further comprising:

receiving indication of an animation extension gesture performed by the user in the virtual environment using the input device, the animation extension gesture includes grabbing the first pose object and gesturing to one of the left and the right with the input device; and

creating a second pose object within the virtual environment in response to the animation extension gesture.

5. The system of claim 1 , wherein the onion skin animation module is further configured to perform operations further comprising:

generating a modified 3D animation based at least in part on the first pose object, the modified 3D animation is different than the first 3D animation.

6. The system of claim 1 , wherein the onion skin animation module is further configured to perform operations further comprising:

determining a second animation time based on the first animation time and a pre-determined animation increment;

creating a second pose object of the 3D character in the virtual environment; and

positioning the second pose object within the virtual environment proximate the second animation time on the virtual time bar.

7. A computer-implemented method comprising:

receiving a character rig of a three-dimensional (3D) character;

receiving a first 3D animation of the 3D character, the first 3D animation defines a motion sequence of the 3D character based at least in part on the character rig;

creating a virtual time bar within a virtual environment, the virtual time bar displaying a timeline associated with the first 3D animation, the virtual environment is displayed to a user wearing a head mounted display (HMD);

identifying a first animation time within the first 3D animation, the first animation time is a point in time during the motion sequence;

creating a first pose object of the 3D character in the virtual environment;

posing the first pose object in the virtual environment based on the first 3D animation at the animation time;

positioning the first pose object within the virtual environment proximate the first animation time on the virtual time bar;

positioning a second pose object proximate a second animation time on the virtual time bar, the second pose object is in a pose different than the first pose object;

receiving indication of a compression gesture performed by the user in the virtual environment using the input device, the compression gesture identifies the first animation time and the second animation time; and

reducing the first pose object and the second pose object into a single, compressed pose object within the virtual environment, the compressed pose object displays at least a difference between the pose of the first pose object and the pose of the second pose object.

8. The method of claim 7 , further comprising:

receiving indication of a movement operation associated with the first pose object, the movement operation is performed by the user in the virtual environment, the move operation includes the user moving a component of the first pose object; and

automatically altering a pose of a second pose object within the virtual environment based at least in part on the movement operation.

9. The method of claim 7 , further comprising:

receiving indication of a scrolling gesture performed by the user in the virtual environment using an input device, the scrolling gesture includes (1) one of (a) grabbing the first pose object and (b) pressing a point on the time bar and (2) gesturing to one of the left and the right with the input device, the input device is configured to allow the user to interact with virtual objects presented in the virtual environment; and

simultaneously moving the first pose object and the time bar to the one of the left and the right.

10. The method of claim 7 , further comprising:

receiving indication of an animation extension gesture performed by the user in the virtual environment using an input device, the animation extension gesture includes grabbing the first pose object and gesturing to one of the left and the right with the input device, the input device is configured to allow the user to interact with virtual objects presented in the virtual environment; and

creating a second pose object within the virtual environment in response to the animation extension gesture.

11. The method of claim 7 , further comprising:

generating a modified 3D animation based at least in part on the first pose object, the modified 3D animation is different than the first 3D animation.

12. The method of claim 7 , further comprising:

determining a second animation time based on the first animation time and a pre-determined animation increment;

creating a second pose object of the 3D character in the virtual environment; and

positioning the second pose object within the virtual environment proximate the second animation time on the virtual time bar.

13. A non-transitory machine-readable medium storing processor-executable instructions which, when executed by a processor, cause the processor to:

receive a character rig of a three-dimensional (3D) character;

receive a first 3D animation of the 3D character, the first 3D animation defines a motion sequence of the 3D character based at least in part on the character rig;

create a virtual time bar within a virtual environment, the virtual time bar displaying a timeline associated with the first 3D animation, the virtual environment is displayed to a user wearing a head mounted display (HMD);

identify a first animation time within the first 3D animation, the first animation time is a point in time during the motion sequence;

create a first pose object of the 3D character in the virtual environment;

pose the first pose object in the virtual environment based on the first 3D animation at the animation time;

position the first pose object within the virtual environment proximate the first animation time on the virtual time bar;

position a second pose object proximate a second animation time on the virtual time bar, the second pose object is in a pose different than the first pose object;

receive indication of a compression gesture performed by the user in the virtual environment using the input device, the compression gesture identifies the first animation time and the second animation time; and

reduce the first pose object and the second pose object into a single, compressed pose object within the virtual environment, the compressed pose object displays at least a difference between the pose of the first pose object and the pose of the second pose object.

14. The machine-readable medium of claim 13 , wherein the processor-executable instructions further cause the processor to:

receive indication of a movement operation associated with the first pose object, the movement operation is performed by the user in the virtual environment, the move operation includes the user moving a component of the first pose object; and

automatically alter a pose of a second pose object within the virtual environment based at least in part on the movement operation.

15. The machine-readable medium of claim 13 , wherein the processor-executable instructions further cause the processor to:

receive indication of a scrolling gesture performed by the user in the virtual environment using an input device, the scrolling gesture includes (1) one of (a) grabbing the first pose object and (b) pressing a point on the time bar and (2) gesturing to one of the left and the right with the input device, the input device is configured to allow the user to interact with virtual objects presented in the virtual environment;

simultaneously move the first pose object and the time bar to the one of the left and the right.

16. The machine-readable medium of claim 13 , wherein the processor-executable instructions further cause the processor to:

receive indication of an animation extension gesture performed by the user in the virtual environment using an input device, the animation extension gesture includes grabbing the first pose object and gesturing to one of the left and the right with the input device, the input device is configured to allow the user to interact with virtual objects presented in the virtual environment; and

create a second pose object within the virtual environment in response to the animation extension gesture.

17. The machine-readable medium of claim 13 , wherein the processor-executable instructions further cause the processor to:

generate a modified 3D animation based at least in part on the first pose object, the modified 3D animation is different than the first 3D animation.

18. The machine-readable medium of claim 13 , wherein the processor-executable instructions further cause the processor to:

determine a second animation time based on the first animation time and a pre-determined animation increment;

create a second pose object of the 3D character in the virtual environment; and

position the second pose object within the virtual environment proximate the second animation time on the virtual time bar.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2025
From: UNITY IPR APS
To: UNITY TECHNOLOGIES APS
Reel/Frame 072926/0322 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2017
From: WEST, TIMONI
To: UNITY IPR APS
Reel/Frame 041803/0964 →
Continuity (2)
Provisional Application 62232309 · Sep 24, 2015
Related Publication 20170091977A1 · Mar 30, 2017