IP Library › Granted Patent US 10,902,618
Granted Patent B2
US 10,902,618 · App. 16/442,190 · Granted Jan 26, 2021

Universal body movement translation and character rendering system

Inventors: Simon Payne (Guildford, GB); Darren Rudy (Burnaby, CA)
Assignee: Electronic Arts Inc.
G06T7/251G06T13/40G06T19/20G06T2219/2016
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,902,618
App. No.
16/442,190
Filed
Jun 14, 2019
Granted
Jan 26, 2021
Kind
B2
Art Unit
2669
USPC
382/107
Abstract

Systems and methods are disclosed for universal body movement translation and character rendering. Motion data from a source character can be translated and used to direct movement of a target character model in a way that respects the anatomical differences between the two characters. The movement of biomechanical parts in the source character can be converted into normalized values based on defined constraints associated with the source character, and those normalized values can be used to inform the animation of movement of biomechanical parts in a target character based on defined constraints associated with the target character.

Claims (48)

1. A computer-implemented method comprising:

obtaining motion data for a source character;

determining, from the motion data, motion of a source biomechanical part of the source character;

determining one or more constraints for the source biomechanical part, including a first range of motion defined for the source biomechanical part and the source character;

generating, based on the one or more constraints for the source biomechanical part, an action code representative of the motion of the source biomechanical part;

determining, for a target character, a target biomechanical part that corresponds to the source biomechanical part;

determining one or more constraints for the target biomechanical part, including a second range of motion defined for the target biomechanical part and the target character;

evaluating, based on the one or more constraints for the target biomechanical part, the action code to determine relative motion of the target biomechanical part; and

applying the relative motion of the target biomechanical part to a three-dimensional model of the target character.

2. The method of claim 1 , further comprising:

determining one or more offsets associated with the source character and the target character; and

prior to evaluating the action code, applying the one or more offsets to the action code.

3. The method of claim 2 , wherein the one or more offsets associated with the source character and the target character are stored in a configuration associated with motion translation between the source character and the target character.

4. The method of claim 1 , wherein the motion of the source biomechanical part includes at least one of: a rotation around the X-axis, a rotation around the Y-axis, a rotation around the Z-axis, a translation in the X-axis, a translation in the Y-axis, and a translation in the Z-axis.

5. The method of claim 1 , wherein the first range of motion defined for the source biomechanical part and the source character is a range for one of: a rotation around the X-axis, a rotation around the Y-axis, or a rotation around the Z-axis.

6. The method of claim 1 , wherein the second range of motion defined for the target biomechanical part and the target character is a range for one of: a rotation around the X-axis, a rotation around the Y-axis, or a rotation around the Z-axis.

7. The method of claim 1 , wherein the action code includes a serial identifying the source biomechanical part.

8. The method of claim 1 , wherein the action code represents the motion of the source biomechanical part for each of: a rotation around the X-axis, a rotation around the Y-axis, a rotation around the Z-axis, a translation in the X-axis, a translation in the Y-axis, and a translation in the Z-axis.

9. The method of claim 1 , wherein generating the action code comprises normalizing the motion of the source biomechanical part using the one or more constraints for the source biomechanical part and a normalization scheme.

10. The method of claim 9 , wherein the normalization scheme includes a range of values between −10 and 10.

11. Non-transitory computer storage media storing instructions that when executed by a system of one or more computers, cause the one or more computers to perform operations comprising:

obtaining motion data for a source character;

determining, from the motion data, motion of a source biomechanical part of the source character;

determining one or more constraints for the source biomechanical part, including a first range of motion defined for the source biomechanical part and the source character;

generating, based on the one or more constraints for the source biomechanical part, an action code representative of the motion of the source biomechanical part;

determining, for a target character, a target biomechanical part that corresponds to the source biomechanical part;

determining one or more constraints for the target biomechanical part, including a second range of motion defined for the target biomechanical part and the target character;

evaluating, based on the one or more constraints for the target biomechanical part, the action code to determine relative motion of the target biomechanical part; and

applying the relative motion of the target biomechanical part to a three-dimensional model of the target character.

12. The computer storage media of claim 11 , wherein the instructions further cause the one or more computers to perform operations comprising:

determining one or more offsets associated with the source character and the target character; and

prior to evaluating the action code, applying the one or more offsets to the action code.

13. The computer storage media of claim 12 , wherein the one or more offsets associated with the source character and the target character are stored in a configuration associated with motion translation between the source character and the target character.

14. The computer storage media of claim 11 , wherein the motion of the source biomechanical part includes at least one of: a rotation around the X-axis, a rotation around the Y-axis, a rotation around the Z-axis, a translation in the X-axis, a translation in the Y-axis, and a translation in the Z-axis.

15. The computer storage media of claim 11 , wherein the first range of motion defined for the source biomechanical part and the source character is a range for one of: a rotation around the X-axis, a rotation around the Y-axis, or a rotation around the Z-axis.

16. The computer storage media of claim 11 , wherein the second range of motion defined for the target biomechanical part and the target character is a range for one of: a rotation around the X-axis, a rotation around the Y-axis, or a rotation around the Z-axis.

17. The computer storage media of claim 11 , wherein the action code includes a serial identifying the source biomechanical part.

18. The computer storage media of claim 11 , wherein the action code represents the motion of the source biomechanical part for each of: a rotation around the X-axis, a rotation around the Y-axis, a rotation around the Z-axis, a translation in the X-axis, a translation in the Y-axis, and a translation in the Z-axis.

19. The computer storage media of claim 11 , wherein generating the action code comprises normalizing the motion of the source biomechanical part using the one or more constraints for the source biomechanical part and a normalization scheme.

20. A system comprising one or more computers and computer storage media storing instructions that when executed by the one or more computers, cause the one or more computers to perform operations comprising:

obtaining motion data for a source character;

determining, from the motion data, motion of a source biomechanical part of the source character;

determining one or more constraints for the source biomechanical part, including a first range of motion defined for the source biomechanical part and the source character;

generating, based on the one or more constraints for the source biomechanical part, an action code representative of the motion of the source biomechanical part;

determining, for a target character, a target biomechanical part that corresponds to the source biomechanical part;

determining one or more constraints for the target biomechanical part, including a second range of motion defined for the target biomechanical part and the target character;

evaluating, based on the one or more constraints for the target biomechanical part, the action code to determine relative motion of the target biomechanical part; and

applying the relative motion of the target biomechanical part to a three-dimensional model of the target character.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2019
From: PAYNE, SIMON; RUDY, DARREN
To: ELECTRONIC ARTS INC.
Reel/Frame 051162/0181 →
Continuity (1)
Related Publication 20200394806A1 · Dec 17, 2020
Cited By (15)
US 12,205,214 US 12,236,510 US 12,322,015 US 12,364,923 US 12,374,014 US 12,387,409 US 12,403,400 US 12,444,115 US 12,456,245 US 12,485,347 US 12,508,508 US 12,518,170 US 12,569,761 US 12,589,300 US 12,688,649