IP Library Granted Patent US 11,386,605
Granted Patent B2
US 11,386,605 · App. 17/393,181 · Granted Jul 12, 2022

Performance-based code alteration for animation control rigs

Inventors: Thomas Stevenson (Wellington, NZ); Edward Sun (Wellington, NZ)
Assignee: UNITY TECHNOLOGIES SF
G06T13/40G06F8/20G06F8/36G06F8/48G06F8/658G06F8/72G06T17/005G06T19/20G06T2213/08G06T2219/2021
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 11,386,605
App. No.
17/393,181
Granted
Jul 12, 2022
Kind
B2
Abstract

An animation system is provided for generating an animation control rig configured to manipulate a skeleton of an animated object. A partition separation process enables software changes to be inserted into uncompiled computer code associated with the animation control rig. Analysis of the uncompiled computer code is implemented relative to a performance metric. Based on the analysis in view of the performance matric, one or more partitions are determined in the uncompiled computer code to partition the code into separate code blocks. The uncompiled code is separated at the partition and updated with the software change. The updated code is compiled to generate the animation control rig.

Claims (31)

1. A computer-implemented method for changing computer code to generate an animation control rig, the method comprising:

receiving uncompiled computer code associated with the animation control rig;

analyzing the uncompiled computer code relative to one or more performance metrics to determine one or more partitions to partition the uncompiled computer code into separate computer code blocks in order to insert a software change, wherein analyzing of the uncompiled computer code includes:

predicting, by a neural network, a level of runtime performance by recursively determining a cost and benefit ratio relative to the one or more partitions;

separating the uncompiled computer code into the separate computer code blocks at the one or more partitions in the uncompiled computer code; and

updating one or more of the separate computer code blocks with the software change to create updated computer code for compiling to generate the animation control rig.

2. The computer-implemented method of claim 1 , wherein the analyzing of the uncompiled computer code further includes using feedback information from initial code issues.

3. The computer-implemented method of claim 1 , wherein the performance metrics includes one or more of: an expected processing time within a threshold processing time, a predicted closeness of a resulting animated character to a target character, or predicted errors within an error threshold.

4. The computer-implemented method of claim 3 , wherein the analyzing of the uncompiled computer code includes determining a number of the one or more partitions to form the separate computer code blocks that meets the performance metrics.

5. The computer-implemented method of claim 1 , wherein the software change includes a physical constraint of a particular movement to a skeleton modeled by the animation control rig.

6. A computer system comprising:

one or more processors; and

a storage medium storing instructions for generating an animation control rig configured to manipulate a skeleton of an animated object, which when executed by the one or more processors, cause the computer system to:

receive uncompiled computer code associated with the animation control rig;

analyze the uncompiled computer code relative to one or more performance metrics to determine one or more partitions to partition the uncompiled computer code into separate computer code blocks in order to insert a software change, wherein analyzing of the uncompiled computer code includes:

predicting, by a neural network, a level of runtime performance by recursively determining a cost and benefit ratio relative to the one or more partitions;

separate the uncompiled computer code into the separate computer code blocks at the one or more partitions in the uncompiled computer code; and

update one or more of the separate computer code blocks with the software change to create updated computer code for compiling to generate the animation control rig.

7. The computer system of claim 6 , wherein the analyzing of the uncompiled computer code further includes using feedback information from initial code issues.

8. The computer system of claim 6 , wherein the performance metrics includes one or more of: an expected processing time within a threshold processing time, a predicted closeness of a resulting animated character to a target character, or predicted errors within an error threshold.

9. The computer system of claim 6 , wherein the analyzing of the uncompiled computer code includes determining a number of the one or more partitions to form the separate computer code blocks that meets the performance metrics.

10. The computer system of claim 6 , wherein the software change includes a physical constraint of a particular movement to a skeleton modeled by the animation control rig.

11. A non-transient storage medium storing instructions for generating an animation control rig configured to manipulate a skeleton of an animated object, which when executed by one or more processors, cause the one or more processors to:

receive uncompiled computer code associated with the animation control rig;

analyze the uncompiled computer code relative to one or more performance metrics to determine one or more partitions to partition the uncompiled computer code into separate computer code blocks in order to insert a software change, wherein analyzing of the uncompiled computer code includes:

predicting, by a neural network, a level of runtime performance by recursively determining a cost and benefit ratio relative to the one or more partitions;

separate the uncompiled computer code into the separate computer code blocks at the one or more partitions in the uncompiled computer code; and

update one or more of the separate computer code blocks with the software change to create updated computer code for compiling to generate the animation control rig.

12. The non-transient storage medium of claim 11 , wherein the performance metrics includes one or more of: an expected processing time within a threshold processing time, a predicted closeness of a resulting animated character to a target character, or predicted errors within an error threshold.

13. The non-transient storage medium of claim 11 , wherein the analyzing of the uncompiled computer code includes determining a number of the one or more partitions to form the separate computer code blocks that meets the performance metrics.

14. The non-transient storage medium of claim 11 , wherein the software change includes a physical constraint of a particular movement to a skeleton modeled by the animation control rig.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2022
From: UNITY SOFTWARE INC.
To: UNITY TECHNOLOGIES SF
Reel/Frame 058980/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2022
From: WETA DIGITAL LIMITED
To: UNITY SOFTWARE INC.
Reel/Frame 058978/0905 →
Continuity (4)
Continuation 17206653 · Mar 19, 2021
Provisional Application 63056438 · Jul 24, 2020
Provisional Application 63056443 · Jul 24, 2020
Related Publication 20220028151A1 · Jan 27, 2022