IP Library › Granted Patent US 12,367,631
Granted Patent B2
US 12,367,631 · App. 18/623,830 · Granted Jul 22, 2025

Systems and methods for computer animation using an order of operations deformation engine

Inventors: Eric A. Soulvie (Tacoma, WA); Richard R. Hurrey (El Sobrante, CA); R. Jason Bickerstaff (Orinda, CA); Clifford S. Champion (San Jose, CA); Peter E. McGowan (Corona, CA); Robert Ernest Schnurstein (Victorville, CA)
Assignee: O3 STORY TECHNOLOGIES, INC.
G06T13/40G06T13/20G06T13/60G06T17/20G06T17/205G06T17/30G06T19/20G06T2213/12
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 12,367,631
App. No.
18/623,830
Granted
Jul 22, 2025
Kind
B2
Abstract

A method for computer animation includes receiving an input file that includes an asset geometry, where the asset geometry defines an asset mesh structure, where the asset geometry may exclude an internal support frame, and where logic for custom deformation steps may be included, altogether in a fashion portable and made to produce consistent results across multiple different software and/or hardware platform environments and/or across real-time and/or offline scenarios. The method also includes applying at least one deformer to the asset mesh structure, where the at least one deformer includes a plurality of user-selectable deformer channels, and where each deformer channel is associated with at least a portion of the asset mesh structure and is configured to adjust a visual appearance of the associated portion of the asset mesh structure.

Claims (53)

1. A system for computer animation, the system comprising:

at least one memory with instructions stored thereon; and

at least one processor in communication with the at least one memory, wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

determine to cause deformation of a region of an asset, wherein the asset is provided in a low resolution and is associated with an asset mesh structure;

identify at least one deformer instance to apply to the asset mesh structure that corresponds to causing the region of the asset to be deformed, wherein the asset mesh structure comprises a plurality of mesh positions;

based on the at least one deformer instance, determine a subset of the plurality of mesh positions to modify to cause the deformation of the region;

cause the subset of the plurality of mesh positions to be modified to cause the deformation of the region, resulting in a deformed asset;

apply a triangle sub-division algorithm to the deformed asset to convert the deformed asset from the low resolution to a high resolution; and

cause an image of the deformed asset in the high resolution to be rendered.

2. The system of claim 1 , wherein the instructions further cause the image to be rendered by performing at least one of a ray trace process or a rasterization process.

3. The system of claim 1 , wherein the image corresponds to an output displayed by an end-user application.

4. The system of claim 1 , wherein the instructions further cause the at least one processor to optimize execution of an order of operations for causing the subset of the plurality of mesh positions to be modified at runtime by synthesizing a training set including channel value sets for a plurality of deformer channels associated with the at least one deformer instance.

5. The system of claim 1 , wherein the instructions further cause the at least one processor to, based at least in part upon a weight map associated with the region:

cause a first portion of the subset to be deformed to a first degree of deformation; and

cause a second portion of the subset to be deformed to a second degree of deformation.

6. The system of claim 1 , wherein the instructions further cause the at least one processor to:

determine a first portion of the asset that is displayed by an end user application;

determine a second portion of the asset that is off-screen; and

determine the region of the asset as being included in the first portion of the asset to prevent deformation of the second portion of the asset.

7. The system of claim 6 , wherein the instructions further cause the at least one processor to update metadata associated with the asset to indicate that the first portion of the asset is displayed and the second portion of the asset is off-screen.

8. The system of claim 1 , wherein the instructions further cause the at least one processor to determine to cause the deformation based upon a user input.

9. The system of claim 1 , wherein the instructions further cause the at least one processor to determine to cause the deformation based upon an output from an artificial intelligence model.

10. At least one non-transitory computer-readable storage medium with instructions stored thereon that, in response to execution by at least one processor, cause the at least one processor to:

determine to cause deformation of a region of an asset, wherein the asset is provided in a low resolution and is associated with an asset mesh structure;

identify at least one deformer instance to apply to the asset mesh structure that corresponds to causing the region of the asset to be deformed, wherein the asset mesh structure comprises a plurality of mesh positions;

based on the at least one deformer instance, determine a subset of the plurality of mesh positions to modify to cause the deformation of the region;

cause the subset of the plurality of mesh positions to be modified to cause the deformation of the region, resulting in a deformed asset;

apply a triangle sub-division algorithm to the deformed asset to convert the deformed asset from the low resolution to a high resolution; and

cause an image of the deformed asset in the high resolution to be rendered.

11. The at least one non-transitory computer-readable storage medium of claim 10 , wherein the instructions further cause the image to be rendered by performing at least one of a ray trace process or a rasterization process.

12. The at least one non-transitory computer-readable storage medium of claim 10 , wherein the image corresponds to an output displayed by an end-user application.

13. The at least one non-transitory computer-readable storage medium of claim 10 , wherein the instructions further cause the at least one processor to optimize execution of an order of operations for causing the subset of the plurality of mesh positions to be modified at runtime by synthesizing a training set including channel value sets for a plurality of deformer channels associated with the at least one deformer instance.

14. The at least one non-transitory computer-readable storage medium of claim 10 , wherein the instructions further cause the at least one processor to, based at least in part upon a weight map associated with the region:

cause a first portion of the subset to be deformed to a first degree of deformation; and

cause a second portion of the subset to be deformed to a second degree of deformation.

15. The at least one non-transitory computer-readable storage medium of claim 10 , wherein the instructions further cause the at least one processor to:

determine a first portion of the asset that is displayed by an end user application;

determine a second portion of the asset that is off-screen; and

determine the region of the asset as being included in the first portion of the asset to prevent deformation of the second portion of the asset.

16. The at least one non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the at least one processor to update metadata associated with the asset to indicate that the first portion of the asset is displayed and the second portion of the asset is off-screen.

17. The at least one non-transitory computer-readable storage medium of claim 10 , wherein the instructions further cause the at least one processor to determine to cause the deformation based upon at least one of a user input or an output from an artificial intelligence model.

18. A computer-implemented method for computer animation implemented by at least one processor in communication with at least one memory, the computer-implemented method comprising:

determining to cause deformation of a region of an asset, wherein the asset is provided in a low resolution and is associated with an asset mesh structure;

identifying at least one deformer instance to apply to the asset mesh structure that corresponds to causing the region of the asset to be deformed, wherein the asset mesh structure comprises a plurality of mesh positions;

based on the at least one deformer instance, determining a subset of the plurality of mesh positions to modify to cause the deformation of the region;

causing the subset of the plurality of mesh positions to be modified to cause the deformation of the region, resulting in a deformed asset;

applying a triangle sub-division algorithm to the deformed asset to convert the deformed asset from the low resolution to a high resolution; and

causing an image of the deformed asset in the high resolution to be rendered.

19. The computer-implemented method of claim 18 , further comprising causing the image to be rendered by performing at least one of a ray trace process or a rasterization process.

20. The computer-implemented method of claim 18 , further comprising:

determining a first portion of the asset that is displayed by an end user application;

determining a second portion of the asset that is off-screen; and

determining the region of the asset as being included in the first portion of the asset to prevent deformation of the second portion of the asset.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2024
From: KITESTRING, INC.
To: O3 STORY TECHNOLOGIES, INC.
Reel/Frame 067198/0798 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2024
From: SOULVIE, ERIC A.; HURREY, RICHARD R.; BICKERSTAFF, R. JASON; CHAMPION, CLIFFORD S.; MCGOWAN, PETER E.; SCHNURSTEIN, ROBERT ERNEST
To: KITESTRING, INC.
Reel/Frame 066975/0057 →
Continuity (4)
Continuation 18296852 · Apr 6, 2023
Continuation 17384146 · Jul 23, 2021
Provisional Application 62706006 · Jul 24, 2020
Related Publication 20240331255A1 · Oct 3, 2024
References Cited (30)
US 4600919A · Stern · 1986 [cited by applicant]
US 5483630A · Unuma et al. · 1996 [cited by applicant]
US 5990908A · Thingvold · 1999 [cited by applicant]
US 6005589A · Unuma et al. · 1999 [cited by applicant]
US 6011562A · Gagne et al. · 2000 [cited by applicant]
US 6061067A · Silva et al. · 2000 [cited by applicant]
US 6115053A · Perlin · 2000 [cited by applicant]
US 6147692A · Shaw et al. · 2000 [cited by applicant]
US 6400368B1 · Laperriere · 2002 [cited by applicant]
US 7233326B1 · Silva et al. · 2007 [cited by applicant]
US 8681147B1 · Baraff · 2014 [cited by examiner]
US 8704823B1 · Waggoner · 2014 [cited by examiner]
US 8704828B1 · Witkin et al. · 2014 [cited by applicant]
US 20050219250A1 · Sepulveda · 2005 [cited by applicant]
US 20070035541A1 · Isner et al. · 2007 [cited by applicant]
US 20100321386A1 · Lin · 2010 [cited by examiner]
US 20110096078A1 · Lanciault et al. · 2011 [cited by applicant]
US 20110098113A1 · Lanciault et al. · 2011 [cited by applicant]
US 20160335793A1 · Rose · 2016 [cited by examiner]
US 20170091994A1 · Beeler et al. · 2017 [cited by applicant]
US 20190362529A1 · Wedig et al. · 2019 [cited by applicant]
US 20210042981A1 · Bisceglio · 2021 [cited by examiner]
EP 0712097A2 · 1996 [cited by applicant]
EP 1748391A2 · 2007 [cited by applicant]
KR 1020150011921A · 2015 [cited by applicant]
KR 101775839B1 · 2017 [cited by applicant]
KR 1020190028634A · 2019 [cited by applicant]
KR 1020200084315A · 2020 [cited by applicant]
Extended European Search Report for EP Patent Application No. 21845435.3 dated Jan. 9, 2024; 8 pp. [cited by applicant]
PCT International Search Report and Written Opinion, Application No. PCT/US2021/043020, dated Nov. 8, 2021, 9 pages. [cited by applicant]