← All ideas
  • Published 19 Jan 2025

For Smooth subdivision to smoothly Interpolate weights.

Subdivision surface modelling is a wonderful approach, but when it comes to weight painting for game assets the mesh must be finalized earlier than I would like, making the workflow destructive.

This is particularly problematic when iterating on designs or making adjustments to the topology.

So, similarly to UV smoothing under the Advanced dropdown of the Subdivision modifier, an alternative method to weight interpolation for vertex weights would be appreciated.. blender_uoiG1eQtI1.png

100%

Development Status: Open

Upvote 17 Downvote 0
genijux
19 Jan 2025

3 Comments

Nathaniel-McClatchey

An improved geonode flow:

  1. For every group of 3 vertex weight names, create a copy of the geometry to be subdivided, and set its vertex positions to a vector combining those weights.
  2. Subdivide using the same settings as from the main mesh.
  3. Read position of the side-channel, and use it to set attributes on the main mesh.

This applies the same Catmull-Clark subdivision weighting to vertex weights as to positions, resulting in nearly-perfecty results. Its only observed flaw is that geonodes can't iterate over all vertex weights. I'll look into the Python API later.

See example: i.imgur.com/bja6dUn.jpeg In the example, from left:

  1. The test armature.
  2. Subdivision after armature. Note two spikes, from vertex and edge crease tests.
  3. Geonodes before armature (selected & shown).
  4. Subdivision before armature. Note ugly spike artifacts not matching vertex & edge creases, and sharp edge part-way up the blob.
  5. Deformed, without subdivision.
  6. Subdivided, no deformation.
3dfigaro

I believe you can put geonodes with blur attribute before subdivision. Probably not ideal but this can be a start of something

genijux Author

Before subdivision? It can be done after subdivision, that's how I did for the image.

A script could be made that sets it up I suppose.

But take that to a humanoid rig worth of vertex groups and the performance may not be the best.

Dont have a profiler but the same mesh and rig of 4 bones in the image, on Subd lvl 1 goes from ~ 1250 fps to ~ 1100 fps with geo node blur attribute iteration lvl 1, like so i.imgur.com/753Y2KZ.png