Vertex Group Save / Load

by Ben Morgan in Addons

Industry Standard

This plugin fulfills a standard animation pipeline need by giving you the ability to easily export and import vertex group weights from a skinned mesh.

This is a classic element of an asset pipeline, where skin weights for an asset would be a component used during the rig build process.

Flexible to Topology Changes

Weights are stored per-vertex, but mesh data can also be stored. This allows you the option to run a world-space transfer of skin weights.

How Export Weights

Exporting and Importing skin weights is embedded in the Vertex Groups carrot menu. To save skin weights, select the mesh, select the vertex group dropdown menu, and select "Save Vertex Weight Data to JSON"

Browse to the folder you wish to save to, name the file, and hit save.

Save Options

  • Space (World or Object) - The space to save vertices in. World space is recommended for best results.
  • Minimum Weight - Default is to only store weights above 0.0 to data to save file size
  • Store Mesh Data - Default is on. Use this option if you want the ability to then load from world-space data later.

How to Import Weights

Loading weight files is also easy. Simply select the armature you wish to bind to, then shift select your mesh. Use the Vertex Groups carrot menu to select "Load Vertex Weight Data from JSON". Note that this option is grayed out if you do not have the correct selection.

Load Options

  • Weight Loading Method - Options are Vertex Index, Barycentric, and Closest Vertex
  • Vertex Index - This loading method loads weights 1:1 based on the index of the mesh's vertex. This will only work correctly if the number of vertices on the mesh have not changed. If they have not, it is the most accurate method
  • Barycentric - This loading method uses a barycentric coordinate calculation to smoothly transfer weights based on positional data, so it is an option if the topology of your mesh has changed. This could also be called "Closest Point"
  • Closest Vertex - This loading method uses the positional data to transfer weights to the closest vertex on the destination mesh from each source mesh's vertices. This is another option to use if your mesh topology or vertex count has changed.

Sales 40+
Customer Ratings 5
Average Rating
Dev Fund Contributor
Published over 1 year ago
Blender Version 3.0, 3.1, 3.2, 3.3, 3.4
License Mit
Have questions before purchasing?

Contact the Creator with your questions right now.

Login to Message