IP Library › Granted Patent US 12,499,602
Granted Patent B2
US 12,499,602 · App. 17/965,247 · Granted Dec 16, 2025

Inferred skeletal structure for practical 3D assets

Inventors: Sergei Makeev (Foster City, CA); Adrian Paul Longland (Redwood City, CA); Jovanni Antonio Cutigni (San Mateo, CA); Satheesh Subramanian (San Ramon, CA); David B. Baszucki (Portola Valley, CA)
Assignee: Roblox Corporation
G06T13/40G06N5/022G06T17/00
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,499,602
App. No.
17/965,247
Granted
Dec 16, 2025
Kind
B2
Abstract

Some implementations relate to methods, systems, and computer-readable media for inferring a skeletal structure to create a practical 3D asset. A user may create an avatar using different parts from different parent models. Upon creation, a data model for the avatar is examined to determine joint placement and infer an overall skeletal structure. Thereafter, different skinning techniques may be used to deform the avatar skin during animations based on the joint placement and movement.

Claims (44)

1 . A computer-implemented method, comprising:

receiving an avatar data model for a three-dimensional (3D) avatar, the avatar data model comprising at least a first body part from a first parent model, and a second body part from a second parent model, wherein the first parent model is a first 3D model, and wherein the second parent model is a second 3D model;

creating a graph representation for the avatar data model, wherein the graph representation begins at a selected root point for the avatar data model and extends to terminal portions of the avatar data model, wherein the graph representation comprises a plurality of nodes labeled according to corresponding individual body parts of the avatar data model;

traversing the graph representation to determine a plurality of joint locations, wherein the joint locations each represent a respective location where a joint is to be placed, wherein the joint locations are determined based on intersections of different body parts, descriptions of different body parts, or connections between different body parts, and wherein at least one joint location of the joint locations represents an intersection between the first body part and the second body part;

inferring a skeletal structure between the plurality of joint locations such that,

for all joints, a skeletal portion extends between a first joint and a second joint, the skeletal portion rotates by motion of one or both of the first joint and the second joint, and

for the at least one joint location, at least one skeletal portion extends from the at least one joint location based on a scale of a corresponding skeletal portion of the second 3D model; and

combining joints at each of the plurality of joint locations, the inferred skeletal structure, and the avatar data model to create a practical 3D asset.

2 . The computer-implemented method of claim 1 , further comprising:

animating the practical 3D asset in a virtual environment of a virtual experience.

3 . The computer-implemented method of claim 2 , wherein animating the practical 3D asset comprises utilizing the inferred skeletal structure for skin deformations during animation of the practical 3D asset.

4 . The computer-implemented method of claim 1 , further comprising creating a weight map for individually placed joints, wherein the weight map controls a degree of movement of each joint based upon the inferred skeletal structure.

5 . The computer-implemented method of claim 1 , wherein the graph representation further comprises a plurality of edges, wherein each edge of the plurality of edges extends between at least two nodes of the plurality of nodes, and wherein each edge of the plurality of edges represents a respective joint location, wherein each node that is linked to two or more edges has one or more virtual bones inferred between the two or more edges to manage positions of non-distal nodes of the plurality of nodes.

6 . The computer-implemented method of claim 1 , wherein each joint combined at the plurality of joint locations comprises either an animated joint or a fixed joint.

7 . The computer-implemented method of claim 1 , further comprising skinning the practical 3D asset based upon at least the inferred skeletal structure.

8 . The computer-implemented method of claim 1 , wherein traversing the graph representation comprises one or more of: a depth first search or a breadth first search.

9 . The computer-implemented method of claim 1 , wherein the graph representation comprises a weighted graph having weights assigned to edges based upon a scale of individual body parts of the avatar data model, wherein the scale informs inference of the inferred skeletal structure.

10 . The computer-implemented method of claim 1 , wherein one or more of the first parent model or the second parent model are user-generated content of a virtual experience platform.

11 . A system, comprising:

a memory with instructions stored thereon; and

a processing device, coupled to the memory and operable to access the memory, wherein the instructions when executed by the processing device, cause the processing device to perform operations including:

receiving an avatar data model for a three-dimensional (3D) avatar, the avatar data model comprising at least a first body part from a first parent model, and a second body part from a second parent model, wherein the first parent model is a first 3D model, and wherein the second parent model is a second 3D model;

creating a graph representation for the avatar data model, wherein the graph representation begins at a selected root point for the avatar data model and extends to terminal portions of the avatar data model, wherein the graph representation comprises a plurality of nodes labeled according to corresponding individual body parts of the avatar data model;

traversing the graph representation to determine a plurality of joint locations, wherein the joint locations each represent a respective location where a joint is to be placed, wherein the joint locations are determined based on intersections of different body parts, descriptions of different body parts, or connections between different body parts, and wherein at least one joint location of the joint locations represents an intersection between the first body part and the second body part;

inferring a skeletal structure between the plurality of joint locations such that,

for all joints, a skeletal portion extends between a first joint and a second joint, the skeletal portion rotates by motion of one or both of the first joint and the second joint, and

for the at least one joint location, at least one skeletal portion extends from the at least one joint location based on a scale of a corresponding skeletal portion of the second 3D model; and

combining joints at each of the plurality of joint locations, the inferred skeletal structure, and the avatar data model to create a practical 3D asset.

12 . The system of claim 11 , wherein the operations further comprise animating the practical 3D asset in a virtual environment of a virtual experience.

13 . The system of claim 12 , wherein animating the practical 3D asset comprises utilizing the inferred skeletal structure for skin deformations during animation of the practical 3D asset.

14 . The system of claim 11 , wherein the graph representation further comprises a plurality of edges, wherein each edge of the plurality of edges extends between at least two nodes of the plurality of nodes, and wherein each edge of the plurality of edges represents a respective joint location, wherein each node that is linked to two or more edges has one or more virtual bones inferred between the two or more edges to manage positions of non-distal nodes of the plurality of nodes.

15 . The system of claim 14 , wherein the virtual bones are scaled based upon a customized version of the avatar data model and the corresponding individual body parts.

16 . The system of claim 11 , wherein each joint combined at the plurality of joint locations comprises either an animated joint or a fixed joint.

17 . The system of claim 11 , wherein the operations further comprise skinning the practical 3D asset based upon at least the inferred skeletal structure.

18 . The system of claim 11 , wherein traversing the graph representation comprises one or more of: a depth first search or a breadth first search.

19 . The system of claim 11 , wherein the graph representation comprises a weighted graph having weights assigned to edges based upon a scale of individual body parts of the avatar data model.

20 . A non-transitory computer-readable medium with instructions stored thereon that, responsive to execution by a processing device, causes the processing device to perform operations comprising:

receiving an avatar data model for a three-dimensional (3D) avatar, the avatar data model comprising at least a first body part from a first parent model, and a second body part from a second parent model, wherein the first parent model is a first 3D model, and wherein the second parent model is a second 3D model;

creating a graph representation for the avatar data model, wherein the graph representation begins at a selected root point for the avatar data model and extends to terminal portions of the avatar data model, wherein the graph representation comprises a plurality of nodes labeled according to corresponding individual body parts of the avatar data model;

traversing the graph representation to determine a plurality of joint locations, wherein the joint locations each represent a respective location where a joint is to be placed, wherein the joint locations are determined based on intersections of different body parts, descriptions of different body parts, or connections between different body parts, and wherein at least one joint location of the joint locations represents an intersection between the first body part and the second body part;

inferring a skeletal structure between the plurality of joint locations such that,

for all joints, a skeletal portion extends between a first joint and a second joint, the skeletal portion rotates by motion of one or both of the first joint and the second joint, and

for the at least one joint location, at least one skeletal portion extends from the at least one joint location based on a scale of a corresponding skeletal portion of the second 3D model; and

combining joints at each of the plurality of joint locations, the inferred skeletal structure, and the avatar data model to create a practical 3D asset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2024
From: MAKEEV, SERGEI; LONGLAND, ADRIAN PAUL; CUTIGNI, JOVANNI ANTONIO; SUBRAMANIAN, SATHEESH; BASZUCKI, DAVID B.
To: ROBLOX CORPORATION
Reel/Frame 066828/0768 →
Continuity (3)
Provisional Application 63404871 · Sep 8, 2022
Provisional Application 63255489 · Oct 14, 2021
Related Publication 20230120883A1 · Apr 20, 2023
References Cited (80)
US 11321916B1 · Zhang et al. · 2022 [cited by applicant]
US 20070273711A1 · Maffei · 2007 [cited by applicant]
US 20100321386A1 · Lin et al. · 2010 [cited by applicant]
US 20120075340A1 · DeRose · 2012 [cited by applicant]
US 20130034276A1 · Hibbard · 2013 [cited by applicant]
US 20130057544A1 · Oh · 2013 [cited by applicant]
US 20140267268A1 · Tipton · 2014 [cited by applicant]
US 20150029198A1 · Sumner et al. · 2015 [cited by applicant]
US 20160163103A1 · DeTemmerman · 2016 [cited by applicant]
US 20160171296A1 · Ikenoue · 2016 [cited by applicant]
US 20160284018A1 · Adeyoola et al. · 2016 [cited by applicant]
US 20160379419A1 · Khalili et al. · 2016 [cited by applicant]
US 20170032579A1 · Eisemann et al. · 2017 [cited by applicant]
US 20170161948A1 · Hua et al. · 2017 [cited by applicant]
US 20170352092A1 · Mitchell et al. · 2017 [cited by applicant]
US 20180315254A1 · Grant et al. · 2018 [cited by applicant]
US 20190035149A1 · Chen · 2019 [cited by examiner]
US 20190088033A1 · Kuchibotla et al. · 2019 [cited by applicant]
US 20190362529A1 · Wedig et al. · 2019 [cited by applicant]
US 20190371080A1 · Sminchisescu et al. · 2019 [cited by applicant]
US 20200035010A1 · Kim et al. · 2020 [cited by applicant]
US 20210082179A1 · Fedyukov et al. · 2021 [cited by applicant]
US 20210150806A1 · Guler · 2021 [cited by examiner]
US 20210224765A1 · Siddique et al. · 2021 [cited by applicant]
US 20220035443A1 · Winold · 2022 [cited by examiner]
US 20220292791A1 · Makeev et al. · 2022 [cited by applicant]
KR 1020190118213 · 2019 [cited by applicant]
“APB: Creating a Powerful Customisation System for a Persistent Online Action Game”, Retrieved from Internet: https://macropolygon.files.wordpress.com/2010/08/apb_customisation_gdc2010.pptx, 2010, 49 pages. [cited by applicant]
“RBF Character Conversion”, Retrieved from Internet: http://www.polygon.me/2018/08/rbf-character-conversion.html, Aug. 9, 2018, 3 pages. [cited by applicant]
Agafonkin, “Edgebreaker, the heart of Google Draco”, Retrieved from Internet: https://observablehq.com/@mourner/edgebreaker-the-heart-of-google-draco, Oct. 16, 2019, 9 pages. [cited by applicant]
Anjyo, et al., “Scattered Data Interpolation for Computer Games”, SIGGRAPH 2014 Course Notes, 2014, 69 pages. [cited by applicant]
Appleby, et al., “Punching Above Your Weight: Small Art Teams, Big Games”, Video; retrieved from Internet: https://www.gdcvault.com/play/1014359/Punching-Above-Your-Weight-Small, 2011, 4 pages. [cited by applicant]
Bailey, et al., “Fast and deep deformation approximations”, ACM Transactions on Graphics, vol. 37, Issue 4, Aug. 2018, 12 pages. [cited by applicant]
Barak, “Adaptive Clothing System in Kingdom Come: Deliverance”, Retrieved from Internet: https://www.gdcvault.com/play/1022822/Adaptive-Clothing-System-in-Kingdom; see also video at: https://www.gdcvault.com/play/102277… [cited by applicant]
Botsch, et al., “Real-Time Shape Editing using Radial Basis Functions”, Eurographics 2005, vol. 24, No. 3, 2005, 11 pages. [cited by applicant]
De Goes, et al., “Mesh Wrap based on Affine-Invariant Coordinates”, ACM SIGGRAPH 2019 Talks, 2019, 2 pages. [cited by applicant]
Desbrun, et al., “Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow”, SIGGRAPH '99: Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques, Jul. 1999, 8 pages. [cited by applicant]
Feng, et al., “Avatar Reshaping and Automatic Rigging Using a Deformable Model”, Proceedings of the 8th ACM SIGGRAPH Conference on Motion in Games, 2015, 8 pages. [cited by applicant]
Fortier, “Universal Character System in Saints Row 2”, Video; retrieved from Internet: https://www.gdcvault.com/play/1289/Universal-Character-System-in-SAINTS, 2009, 3 pages. [cited by applicant]
Gagliardi, et al., “A Two-Step Mesh Adaption Tool Based on RBF with application to Turbomachinery Optimization Loops”, Evolutionary and Deterministic Methods for Design Optimization and Control With Applications to Indu… [cited by applicant]
Godard, “Plugin and Nodal Demo Reel 2016”, Video; retrieved from Internet: https://vimeo.com/166291982#t=3m33s, 2016, 3 pages. [cited by applicant]
Kim, et al., “GeoFilter: Geometric Selection of Mesh Filter Parameters”, Eurographics, Computer Graphics Forum, available at https://faculty.cc.gatech.edu/˜jarek/papers/GeoFilter.pdf, Jan. 31, 2005, 8 pages. [cited by applicant]
Lalleve, et al., “Character Pipeline and Customization System for ‘Far Cry Primal’”, Retrieved from Internet: https://www.gdcvault.com/play/1024578/Character-Pipeline-and-Customization-System, 2017, 104 pages. [cited by applicant]
Li, et al., “Fitting 3D garment models onto individual human models”, Computers and Graphics 34, 2010, pp. 742-755. [cited by applicant]
Nair, “Innovations in the Sims 4 Character Creator”, Retrieved from Internet: https://www.gdcvault.com/play/1022086/Innovations-in-The-Sims-4, 2015, 89 pages. [cited by applicant]
Niu, et al., “Radial basis function mesh deformation based on dynamic control points”, Aerospace Science and Technology 64; retrieved from Internet: https://dacemirror.sci-hub.tw/journal-article/b485b3a622b0953d5a8c898a… [cited by applicant]
Rossignac, “Edgebreaker: Connectivity compression for triangle meshes”, GVU Technical Report GIT-GVU-98-35, IEEE Transactions on Visualization and Computer Graphics, Jan.-Mar. 1999, 15 pages. [cited by applicant]
Schiffmann, “RBF Interpolation for Mesh Deformation”, Retrieved from Internet: https://imsc.uni-graz.at/haasegu/Lectures/GPU_CUDA/WS16/2016-11-03-HPC1-Schiffmann-RBF.pdf, 2016, 12 pages. [cited by applicant]
Selim MM, et al., “Mesh Deformation Approaches—A Survey”, J. Phys. Math., vol. 7, Issue 2, 2016, 9 pages. [cited by applicant]
Shepherd, “Building Customizable Characters for Bungie's Destiny”, Video; retrieved from Internet: https://www.gdcvault.com/play/1020412/Building-Customizable-Characters-for-Bungie, 2014, 4 pages. [cited by applicant]
Stokan, “Ultimate Customization in Character Creation—Challenges and Innovations”, Video; retrieved from Internet: https://www.gdcvault.com/play/1014370/Ultimate-Customization-in-Character-Creation, 2011, 4 pages. [cited by applicant]
Taubin, “A Signal Processing Approach to Fair Surface Design”, SIGGRAPH '95: Proceedings of the 22nd Annual Conference on Computer Graphics and Interactive Techniques, Sep. 1995, 8 pages. [cited by applicant]
Torok, et al., “REDengine 3 Character Pipeline”, Retrieved from Internet: http://fileserv.polter.pl/1594-CDPRED_SIGGRAPH.pdf, 2013, 53 pages. [cited by applicant]
USPTO, Written Opinion for International Patent Application No. PCT/US2022/015246, May 11, 2022, 12 pages. [cited by applicant]
USPTO, International Search Report for International Patent Application No. PCT/US2022/015246, May 11, 2022, 2 pages. [cited by applicant]
USPTO, Non-final Office Action for U.S. Appl. No. 17/375,066, May 24, 2022, 15 pages. [cited by applicant]
USPTO, Notice of Allowance for U.S. Appl. No. 17/375,066, Nov. 8, 2022, 9 pages. [cited by applicant]
Vaisse, “Ubisoft Cloth Simulation: Performance Postmortem and Journey from C++ to Computer Shaders”, Retrieved from Internet: https://www.gdcvault.com/play/1022421/Ubisoft-Cloth-Simulation-Performance-Postmortem, 2015, … [cited by applicant]
Wang, et al., “Delaunay graph-based moving mesh method with damping functions”, Chinese Journal of Aeronautics, vol. 31, Issue 11, Nov. 2018, pp. 2093-2103. [cited by applicant]
Wang, et al., “Mesh deformation on 3D complex configurations using multistep radial basis functions interpolation”, Chinese Journal of Aeronautics, 31(4), 2018, pp. 660-671. [cited by applicant]
USPTO, International Search Report for International Patent Application No. PCT/US2022/046528, Jan. 31, 2023, 2 pages. [cited by applicant]
USPTO, Written Opinion for International Patent Application No. PCT/US2022/046528, Jan. 31, 2023, 6 pages. [cited by applicant]
USPTO, Written Opinion for International Patent Application No. PCT/US2022/046523, Feb. 8, 2023, 11 pages. [cited by applicant]
Uspto, International Search Report for International Patent Application No. PCT/US2022/046523, Feb. 8, 2023, 2 pages. [cited by applicant]
USPTO, Non-final Office Action for U.S. Appl. No. 17/965,213, Mar. 11, 2024, 16 pages. [cited by applicant]
USPTO, Non-Final Office Action in U.S. Appl. No. 18/189,682, Dec. 31, 2024, 23 pages. [cited by applicant]
JPO, Notice of Allowance (with English translation) in Japanese Patent Application No. 2023-556822, Mar. 11, 2025, 5 pages. [cited by applicant]
“Korean Office Action in Application No. 10-2023-7035187”, Apr. 29, 2025. [cited by applicant]
Shiyi Huang, “Customized 3D Clothes Modeling for Virtual Try-On System Based on Multiple Kinects”, 2015, 133 pages. [cited by applicant]
“Korean Office Action In Application No. 10-2024-7009361”, Jul. 14, 2025. [cited by applicant]
“Communication under Rule 70(2) and 70a(2) EPC mailed in EP Application No. 22881757.3”, Aug. 8, 2025, 1 page. [cited by applicant]
“Extended European Search Report in EP Application No. 22881757.3”, Jul. 22, 2025, 11 pages. [cited by applicant]
Anonymous, “Shading,” Wikipedia, Oct. 1, 2021 (Oct. 1, 2021), pp. 1-9, XP093292046, Retrieved from the Internet: URL:https://web.archive.org/web/20211001215824/https://en.wikipedia.org/wiki/Shading [retrieved on Jul. 2,… [cited by applicant]
Ilya Baran, et al., “Automatic rigging and animation of 3D characters,” Computer Graphics. Siggraph 2000 Conference Proceedings. New Orleans, LA, Jul. 23-28, 2000; [Computer Graphics Proceedings. Siggraph], New York, NY… [cited by applicant]
Ilya Baran, et al., “Automatic rigging and animation of 3D characters—Supplementary Material—pps108.mp4,” Jul. 29, 2007 (Jul. 29, 2007), XP093292227, Retrieved from the Internet: URL:https://dl.acm.org/doi/suppl/10.1145… [cited by applicant]
Jakub Fiser, et al., “StyLit: Illumination-Guided Example-Based Stylization of 3D Renderings,” Acm Transactions On Graphics, ACM, NY, US, vol. 35, No. 4, Jul. 11, 2016 (Jul. 11, 2016), pp. 1-11, XP058684893, ISSN: 0730-… [cited by applicant]
“Notice of Allowance in JP Application No. 2025-65102”, Oct. 7, 2025. [cited by applicant]
“Communication pursuant to Rules 70(2) and 70a(2) EPC in EP Application No. 2281756.5”, Sep. 23, 2025. [cited by applicant]
“Extended European Search Report in EP Application No. 22881756.5”, Sep. 5, 2025. [cited by applicant]
Vladimir Lazunin, et al., “Interactive Visualization of Multi-Layered Clothing”, Visual Computer, Springer, Berlin, DE, vol. 33, No. 1, XP036131806, ISSN: 0178-2789, DOI: 10.1007/S00371-015-1153-4, Sep. 4, 2015. [cited by applicant]