IP Library Granted Patent US 10,984,579
Granted Patent B2
US 10,984,579 · App. 16/427,700 · Granted Apr 20, 2021

Playback for embedded and preset 3D animations

Inventors: Aimee Leong (Redmond, WA); Matt Kernek (Redmond, WA); Stephanie Horn (Redmond, WA); Jie Li (Redmond, WA); Varun Pandey (Redmond, WA); Mikko Mannisto (Redmond, WA); Eduardo Lemus Velazquez (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06T13/80G06F3/0482G06F3/04817G06T17/00
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 10,984,579
App. No.
16/427,700
Granted
Apr 20, 2021
Kind
B2
Abstract

A system and method of playing back 3D animations includes receiving user selection of a 3D file that contains animation parameters of an animated 3D model such as a preset animation or an embedded customized animation and inserting the animated 3D model into a 2D display canvas while preserving the animation parameters of the animated 3D model described in the 3D file. The animated 3D model is played and paused on the 2D display canvas under user control independent of a main thread that enables interaction with and editing of other content besides the animated 3D model in the 2D display. User adjustment of animation parameters of the animated 3D model during playback are received and the animated 3D model with the received user adjusted animation parameters are presented to the 2D display canvas on a display device.

Claims (37)

1. A computer-implemented method, comprising:

receiving, by one or more processors, user selection of a 3D file that contains animation parameters of an animated 3D model;

inserting, by the one or more processors, the animated 3D model into a 2D display canvas while preserving the animation parameters of the animated 3D model described in the 3D file, wherein the 2D display canvas is associated with a main thread that enables interaction with and editing of other content besides the animated 3D model in the 2D display canvas;

playing and pausing, by a worker thread implemented by the one or more processors, the animated 3D model on the 2D display canvas under user control, wherein the worker thread is separate from and independent of the main thread and renders the animated 3D model;

receiving, by the one or more processors, user adjustment of animation parameters of the animated 3D model by the main thread during one or more playbacks of the animated 3D model and passing control information for controlling the animated 3D model from the main thread to the worker thread; and

presenting, by the one or more processors, the animated 3D model with user adjusted animation parameters to the 2D display canvas on a display device.

2. The method of claim 1 , wherein the animated 3D model loops continuously during play back.

3. The method of claim 1 , wherein a default animation of the animated 3D model plays upon insertion or opening of the animated 3D model into the 2D display canvas.

4. The method of claim 1 , further comprising the worker thread passing animation progress data to the main thread during playback of the animated 3D model while the main thread receives the user adjustment of the animation parameters of the animated 3D model.

5. The method of claim 1 , further comprising presenting respective frames of the animated 3D model on the 2D display canvas at different rotated positions of the animated 3D model for user selection, wherein the different rotated positions of the animated 3D model presented for selection represent the different respective rotated positions of the animated 3D model in respective playbacks of the animated 3D model.

6. The method of claim 5 , wherein the respective frames of the animated model are presented on a ribbon of the 2D display canvas for user selection.

7. The method of claim 1 , further comprising presenting selection options for presenting the animated 3D model on a ribbon of the 2D display canvas for user selection, the selection options including at least one of: respective views of the selected animated 3D model for user selection, respective scenes of the selected animated 3D model for user selection, and 3D files containing animation parameters of respective animated 3D models including the animated 3D model for user selection.

8. The method of claim 7 , wherein the respective scenes represent respective embedded customized animations of the selected animated 3D model.

9. The method of claim 1 , wherein presenting the animated 3D model with user adjusted animation parameters to the 2D display canvas comprises fitting an entire animation scene of the animated 3D model in a designated area within the 2D display canvas so as not to affect the other content besides the animated 3D model in the 2D display canvas.

10. The method of claim 9 , further comprising representing the animated 3D model using a frame of a selected animation scene in areas of the 2D display canvas where the other content besides the animated 3D model should not animate.

11. A playback system for 3D animations, comprising:

processing circuitry including at least one processor; and

a memory device having instructions stored therein, wherein the instructions, which when executed by the processing circuitry, configure the at least one processor to:

receive user selection of a 3D file that contains animation parameters of an animated 3D model;

insert the animated 3D model into a 2D display canvas while preserving the animation parameters of the animated 3D model described in the 3D file, wherein the 2D display canvas is associated with a main thread that enables interaction with and editing of other content besides the animated 3D model in the 2D display canvas;

play and pause by a worker thread the animated 3D model on the 2D display canvas under user control, wherein the worker thread is separate from and independent of the main thread and renders the animated 3D model;

receive user adjustment of animation parameters of the animated 3D model by the main thread during one or more playbacks of the animated 3D model and passing control information for controlling the animated 3D model from the main thread to the worker thread; and

present the animated 3D model with user adjusted animation parameters to the 2D display canvas on a display device.

12. The system of claim 11 , wherein the instructions further comprise instructions for passing animation progress data from the worker thread to the main thread during playback of the animated 3D model while the main thread receives the user adjustment of the animation parameters of the animated 3D model.

13. The system of claim 11 , wherein the instructions further comprise instructions for presenting respective frames of the animated 3D model on the 2D display canvas at different rotated positions of the animated 3D model for user selection, wherein the different rotated positions of the animated 3D model presented for selection represent the different respective rotated positions of the animated 3D model in respective playbacks of the animated 3D model.

14. The system of claim 13 , wherein the instructions further comprise instructions for presenting respective frames of the animated model on a ribbon of the 2D display canvas for user selection.

15. The system of claim 11 , further comprising instructions for presenting selection options for presenting the animated 3D model on a ribbon of the 2D display canvas for user selection, the selection options including at least one of: respective views of the selected animated 3D model for user selection, respective scenes of the selected animated 3D model for user selection, and 3D files containing animation parameters of respective animated 3D models including the animated 3D model for user selection.

16. The system of claim 15 , wherein the respective scenes represent respective embedded customized animations of the selected animated 3D model.

17. The system of claim 11 , wherein the instructions for presenting the animated 3D model with user adjusted animation parameters to the 2D display canvas comprise instructions for fitting an entire animation scene of the animated 3D model in a designated area within the 2D display canvas so as not to affect the other content besides the animated 3D model in the 2D display canvas.

18. The system of claim 17 , further comprising instructions for representing the animated 3D model using a frame of a selected animation scene in areas of the 2D display canvas where the other content besides the animated 3D model should not animate.

19. A non-transitory machine readable medium that stores instructions thereon that when executed by one or more processors cause the one or more processors to playback 3D animations, comprising instructions to:

receive user selection of a 3D file that contains animation parameters of an animated 3D model;

insert the animated 3D model into a 2D display canvas while preserving the animation parameters of the animated 3D model described in the 3D file, wherein the 2D display canvas is associated with a main thread that enables interaction with and editing of other content besides the animated 3D model in the 2D display canvas;

create a worker thread separate and independent from the main thread, the worker thread rendering the animated 3D model and playing and pausing the animated 3D model on the 2D display canvas under user control;

receive user adjustment of animation parameters of the animated 3D model by the main thread during play back of the animated 3D model and pass control information for controlling the animated 3D model from the main thread to the worker thread; and

present the animated 3D model with user adjusted animation parameters to the 2D display canvas on a display device.

20. The medium of claim 19 , further comprising instructions for continuously looping the animated 3D model during playback and instructions to play a default animation of the animated 3D model upon insertion or opening of the animated 3D model into the 2D display canvas.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE 7TH INVENTOR'S LAST NAME FROM VELAZQUES TO LEMUS VELAZQUEZ PREVIOUSLY RECORDED ON REEL 049358 FRAME 0818. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 12, 2019
From: LEONG, AIMEE; KERNEK, MATT; HORN, STEPHANIE; LI, JIE; PANDEY, VARUN; MANNISTO, MIKKO; LEMUS VELAZQUEZ, EDUARDO
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 049443/0398 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2019
From: LEONG, AIMEE; KERNEK, MATT; HORN, STEPHANIE; LI, JIE; PANDEY, VARUN; MANNISTO, MIKKO; VELAZQUEZ, EDUARDO LEMUS
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 049358/0818 →
Continuity (2)
Provisional Application 62723190 · Aug 27, 2018
Related Publication 20200066022A1 · Feb 27, 2020
Cited By (1)
US 12,711,683