IP Library Granted Patent US 11,308,673
Granted Patent B2
US 11,308,673 · App. 16/400,910 · Granted Apr 19, 2022

Using three-dimensional scans of a physical subject to determine positions and/or orientations of skeletal joints in the rigging for a virtual character

Inventor: Sean Michael Comer (Encino, CA)
Assignee: Magic Leap, Inc.
G06T13/40G06T7/11G06T7/73G06T17/20G06T2207/30196
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,308,673
App. No.
16/400,910
Filed
May 1, 2019
Granted
Apr 19, 2022
Kind
B2
Examiner
WU, SING-WAI
Art Unit
2611
USPC
345/473
Abstract

Systems and methods for using three-dimensional scans of a physical subject to determine positions and/or orientations of skeletal joints in the rigging for a virtual character. At least one articulation segment of a polygon mesh for the virtual character may be determined. The articulation segment may include a subset of vertices in the polygon mesh. An indicator of the position or orientation of the articulation segment of the polygon mesh may be determined. Based on the indicator of the position or orientation of the articulation segment, the position or orientation of at least one joint for deforming the polygon mesh may be determined.

Claims (31)

1. A method comprising:

receiving a plurality of polygon meshes of a digital character, the polygon meshes being representative of a physical subject in a plurality of training poses, each training pose comprising a unique articulation of one or more body parts of the physical subject;

segmenting each of the plurality of polygon meshes corresponding to the plurality of training poses into a plurality of articulation segments;

determining an indicator of position or orientation for each of the articulation segments for each of the polygon meshes corresponding to the plurality of training poses;

determining, based on the indicator of position or orientation of the each of the articulation segments, the position or orientation of one or more joints for the plurality of training poses; and

creating, based on the position or orientation of the one or more joints for the plurality of training poses, a pose space for a pose space deformer to calculate mesh deformations for the digital character by interpolating between the plurality of training poses,

wherein determining an indicator of position or orientation for each of the articulation segments of the polygon mesh comprises determining characteristic axes for each of the articulation segments, a first characteristic axis pointing in the direction of greatest spatial variation between the set of vertices in the articulation segment, a second characteristic axis pointing in the direction of greatest spatial variation between the set of vertices in the articulation segment, subject to the constraint that the second characteristic axis is perpendicular to the first characteristic axis, and a third characteristic axis being perpendicular to both the first characteristic axis and the second characteristic axis.

2. The method of claim 1 , further comprising creating the plurality of polygon meshes by scanning the physical subject in the plurality of training poses.

3. The method of claim 1 , wherein the articulation segments of the polygon mesh consist essentially of vertices which change position or orientation substantially together as a group between different poses amongst the plurality of training poses.

4. The method of claim 1 , further comprising:

identifying one of the polygon meshes as a base model; and

performing an alignment operation to align the remaining polygon meshes with the base model.

5. The method of claim 4 , wherein the alignment operation comprises an iterative closest point algorithm.

6. The method of claim 1 , wherein determining an indicator of position or orientation for each of the articulation segments of the polygon mesh comprises determining a local coordinate system for each of the articulation segments.

7. The method of claim 6 , wherein determining the local coordinate system for each of the articulation segments comprises determining a center point of the set of vertices in the articulation segment.

8. The method of claim 7 , wherein the center point comprises a centroid point.

9. The method of claim 6 , further comprising comparing the local coordinate system for each of the articulation segments with a reference coordinate system.

10. The method of claim 1 , wherein the characteristic axes comprise orthogonal principal components of the set of vertices in the articulation segment.

11. The method of claim 10 , further comprising determining the orthogonal principal components using eigen-decomposition or Singular Value Decomposition.

12. The method of claim 1 , further comprising determining a rotation matrix for each of the articulation segments which aligns a set of reference axes to the characteristic axes, or vice versa.

13. The method of claim 1 , further comprising loading a file which identifies vertices of each of the articulation segments.

14. The method of claim 1 , further comprising identifying vertices of each of the articulation segments by:

casting a plurality of rays from one of the joints; and

identifying vertices which correspond to polygon faces which are intersected by the rays.

15. The method of claim 1 , wherein the one or more joints are part of a core skeleton for the digital character.

16. The method of claim 1 , further comprising displaying the digital character using a head-mounted, see-through augmented reality display.

17. The method of claim 16 , further comprising displaying the digital character using a plurality of stacked waveguides corresponding to a plurality of depth planes.

18. The method of claim 1 , further comprising using the pose space to train the pose space deformer.

19. The method of claim 1 , further comprising:

inputting one or more joint transformations into the pose space deformer; and

outputting from the pose space deformer a new polygon mesh for the digital character, the new polygon mesh corresponding to a new pose that is not amongst the plurality of poses used to create the pose space.

Assignments (5)
SECURITY INTEREST Recorded Oct 24, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073255/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2020
From: COMER, SEAN MICHAEL
To: MAGIC LEAP, INC.
Reel/Frame 052983/0189 →
ASSIGNMENT OF SECURITY INTEREST IN PATENTS Recorded Nov 7, 2019
From: JPMORGAN CHASE BANK, N.A.
To: CITIBANK, N.A.
Reel/Frame 050967/0138 →
PATENT SECURITY AGREEMENT Recorded Aug 22, 2019
From: MAGIC LEAP, INC.; MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC
To: JP MORGAN CHASE BANK, N.A.
Reel/Frame 050138/0287 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2019
From: COMER, SEAN MICHAEL
To: MAGIC LEAP, INC.
Reel/Frame 049119/0367 →