IP Library Granted Patent US 8,988,446
Granted Patent B2
US 8,988,446 · App. 13/399,520 · Granted Mar 24, 2015

2D animation from a 3D mesh

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 8,988,446
App. No.
13/399,520
Granted
Mar 24, 2015
Kind
B2
Abstract

Two-dimensional (2D) animation may be generated from a three-dimensional (3D) mesh by a machine or device that flattens, textures, and modifies the 3D mesh, which results in distorting the texture of the 3D mesh. The machine or device is configured to access and flatten a 3D mesh of 3D vertices. At least some of the 3D vertices of the flattened 3D mesh are texture mapped with a 2D image. The machine or device generates a first 2D frame of animation by rendering the 3D mesh (e.g., with graphics acceleration hardware), modifies the 3D mesh by repositioning one or more of the 3D vertices, and generates a second 2D frame of animation by rendering the modified 3D mesh (e.g., with graphics acceleration hardware). Accordingly, 2D animation may be generated by distorting the 2D image that is mapped onto at least part of the 3D mesh.

Claims (67)

1. A method comprising:

accessing a first three-dimensional (3D) mesh of 3D vertices each represented in three dimensions, one of the three dimensions being a depth dimension that is normal to a viewing plane, two of the three dimensions each being normal to the depth dimension, the first 3D mesh being a first portion of a 3D model;

flattening the first 3D mesh by assigning a first single value of the depth dimension to each of the 3D vertices in the first 3D mesh that is the first portion of the 3D model, the assigned first single value of the depth dimension identifying the flattened first 3D mesh distinct from a flattened second 3D mesh that is identified by a second single value of the depth dimension and is a second portion of the same 3D model;

texturing the flattened first 3D mesh by mapping a two-dimensional (2D) image to at least some of the 3D vertices each represented in the three dimensions and each assigned the first single value of the depth dimension that is normal to the viewing plane;

generating a first 2D frame of an animation by rendering the flattened and textured first 3D mesh to which the 2D image is mapped;

modifying the flattened and textured first 3D mesh by repositioning a 3D vertex among the 3D vertices while maintaining the first single value of the depth dimension assigned to each of the 3D vertices, the repositioning of the 3D vertex while maintaining the first single value of the depth dimension of the 3D vertex includes determining a 3D vector of movement for the 3D vertex and ignoring a component of the 3D vector in the depth dimension, the modifying of the flattened and textured first 3D mesh distorting the 2D image that is mapped to at least some of the 3D vertices of the flattened and textured first 3D mesh, the modifying being performed by a processor of a machine; and

generating a second 2D frame of the animation by rendering the flattened, textured, and modified first 3D mesh to which the distorted 2D image is mapped.

2. The method of claim 1 , wherein:

the first single value of the depth dimension corresponds to the flattened first 3D mesh; and

a second single value of the depth dimension corresponds to the flattened second 3D mesh.

3. The method of claim 1 , wherein:

the first 3D mesh models a 3D object; and

the 2D image depicts at least a portion of the 3D object.

4. The method of claim 1 , wherein:

the first 3D mesh models a portion of a 3D object; and

the 2D image depicts the portion of the 3D object.

5. The method of claim 1 , wherein:

the rendering of the textured, flattened, and modified first 3D mesh includes rendering the distorted 2D image that is mapped to the textured, flattened, and modified first 3D mesh.

6. The method of claim 1 further comprising:

generating the animation by storing the first 2D frame and the second 2D frame as sequential frames in the animation,

the first 2D frame being generated from the flattened and textured first 3D mesh,

the second 2D frame being generated from the flattened, textured, and modified first 3D mesh with the repositioned 3D vertex among the 3D vertices.

7. The method of claim 1 further comprising:

generating the animation by storing the undistorted 2D image and the distorted 2D image as frames in the animation,

the undistorted 2D image being mapped to the flattened and textured first 3D mesh prior to the repositioning of the 3D vertex among the 3D vertices,

the distorted 2D image being mapped to the flattened, textured, and modified first 3D mesh with the repositioned 3D vertex among the 3D vertices.

8. The method of claim 1 further comprising:

generating the animation by:

compositing the first 2D frame with a third 2D frame generated from a third 3D mesh that is flattened and textured; and

compositing the second 2D frame with a fourth 2D frame generated from the third 3D mesh that is flattened, textured, and modified by a repositioning of a 3D vertex included in the third 3D mesh.

9. The method of claim 1 further comprising:

presenting the animation by presenting the first 2D frame prior to presenting the second 2D frame,

the first 2D frame being generated by rendering the flattened, textured, and unmodified 3D mesh to which the undistorted 2D image is mapped,

the second 2D frame being generated by rendering the flattened, textured, and modified first 3D mesh to which the distorted 2D image is mapped.

10. The method of claim 1 , wherein:

the texturing of the flattened first 3D mesh includes mapping the 2D image to a portion of the 3D vertices that includes the 3D vertex; and

the repositioning of the 3D vertex distorts the 2D image mapped to the portion of the 3D vertices that includes the 3D vertex.

11. The method of claim 1 , wherein:

the texturing of the flattened first 3D mesh includes mapping the undistorted 2D image to the 3D vertex; and

the repositioning of the 3D vertex deforms the 2D image mapped to the 3D vertex.

12. The method of claim 1 , wherein:

the repositioning of the 3D vertex while maintaining the first single value of the depth dimension of the 3D vertex includes moving the 3D vertex in a direction orthogonal to the depth dimension.

13. The method of claim 1 , wherein:

the generating of the first 2D frame of the animation includes rendering the flattened and textured first 3D mesh by using 3D graphics acceleration hardware.

14. The method of claim 1 , wherein:

the generating of the second 2D frame of the animation includes rendering the flattened, textured, and modified first 3D mesh by using 3D graphics acceleration hardware.

15. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

accessing a first three-dimensional (3D) mesh of 3D vertices each represented in three dimensions, one of the three dimensions being a depth dimension that is normal to a viewing plane, two of the three dimensions each being normal to the depth dimension, the first 3D mesh being a first portion of a 3D model;

flattening the first 3D mesh by assigning a first single value of the depth dimension to each of the 3D vertices in the first 3D mesh that is the first portion of the 3D model, the assigned first single value of the depth dimension identifying the flattened first 3D mesh distinct from a flattened second 3D mesh that is identified by a second single value of the depth dimension and is a second portion of the same 3D model;

texturing the flattened first 3D mesh by mapping a two-dimensional (2D) image to at least some of the 3D vertices each represented in the three dimensions and each assigned the first single value of the depth dimension that is normal to the viewing plane;

generating a first 2D frame of an animation by rendering the flattened and textured first 3D mesh to which the 2D image is mapped;

modifying the flattened and textured first 3D mesh by repositioning a 3D vertex among the 3D vertices while maintaining the first single value of the depth dimension assigned to each of the 3D vertices, the repositioning of the 3D vertex while maintaining the first single value of the depth dimension of the 3D vertex includes determining a 3D vector of movement for the 3D vertex and ignoring a component of the 3D vector in the depth dimension, the modifying of the flattened and textured first 3D mesh distorting the 2D image that is mapped to at least some of the 3D vertices of the flattened and textured first 3D mesh,

the modifying being performed by the one or more processors of the machine; and

generating a second 2D frame of the animation by rendering the flattened, textured, and modified first 3D mesh to which the distorted 2D image is mapped.

16. The non-transitory machine-readable storage medium of claim 15 , wherein:

the texturing of the flattened first 3D mesh includes mapping the 2D image to a portion of the 3D vertices that includes the 3D vertex; and

the repositioning of the 3D vertex distorts the 2D image mapped to the portion of the 3D vertices that includes the 3D vertex.

17. A system comprising:

an access module configured to access a first three-dimensional (3D) mesh of 3D vertices each represented in three dimensions, one of the three dimensions being a depth dimension that is normal to a viewing plane, two of the three dimensions each being normal to the depth dimension, the first 3D mesh being a first portion of a 3D model;

a flattener module configured to flatten the first 3D mesh by assigning a first single value of the depth dimension to each of the 3D vertices in the first 3D mesh that is the first portion of the 3D model, the assigned first single value of the depth dimension identifying the flattened first 3D mesh distinct from a flattened second 3D mesh that is identified by a second single value of the depth dimension and is a second portion of the same 3D model;

a texture module configured to texture the flattened first 3D mesh by mapping a two-dimensional (2D) image to at least some of the 3D vertices each represented in the three dimensions and each assigned the first single value of the depth dimension that is normal to the viewing plane;

a render module configured to render a first 2D frame of an animation by rendering the flattened and textured first 3D mesh to which the 2D image is mapped; and

a processor configured by a motion module that configures the processor to modify the flattened and textured first 3D mesh by repositioning a 3D vertex among the 3D vertices while maintaining the first single value of the depth dimension assigned to each of the 3D vertices, the repositioning of the 3D vertex while maintaining the first single value of the depth dimension of the 3D vertex includes determining a 3D vector of movement for the 3D vertex and ignoring a component of the 3D vector in the depth dimension, the modifying of the flattened and textured first 3D mesh distorting the 2D image that is mapped to at least some of the 3D vertices of the flattened and textured first 3D mesh;

the render module being configured to generate a second 2D frame of the animation by rendering the flattened, textured, and modified first 3D mesh to which the distorted 2D image is mapped.

18. The system of claim 17 , wherein:

the texture module is configured to texture the flattened first 3D mesh by mapping the 2D image to a portion of the 3D vertices that includes the 3D vertex; and

the motion module configures the processor to distort the 2D image mapped to the portion of the 3D vertices that includes the 3D vertex by repositioning the 3D vertex.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 23, 2022
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ZYNGA INC.
Reel/Frame 060163/0437 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 14, 2020
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054719/0490 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 11, 2020
From: BANK OF AMERICA, N.A., AS LENDER
To: ZYNGA INC.
Reel/Frame 054701/0393 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 21, 2018
From: ZYNGA INC.
To: BANK OF AMERICA, N.A., AS LENDER
Reel/Frame 049147/0546 →