Hi Blender heads,
I’d like to share an add-on I made recently. It was originally to debug collisions between vertices of a single mesh. However it quickly grew to include compression and stretch mapping.
The addon is used for assigning proximity and tension wights to vertex groups in ways not possible using modifiers or geometry nodes. There are 3 modes. Proximity objects, proximity verts, and tension. The proximity Verts mode allows for self-referencing calculations. Similarily not possible otherwise, proximity objects calculates a target objects distance from a collection of objects(object centres) and assigns weights to those object within the collection rather than vise versa. Tension compares the vertex postions with the undeformed mesh and assigns weights centered around 0.5; higher is stretching lower is compressing.
Note this is in no way directly influenced by the Tension add-on which I hadn’t used before making this (not at least since about 5 yrs ago). I have tried it since however. Both work differently.
On one hand my addon requires geometry nodes to convert vertex groups to vertex colours, this is intentional as I think it is more flexible and perhaps even faster. On the other hand you’ll need to manually create vertex colour groups.
Demo 3.0.blend (1.1 MB)
Excited to try this out! A few months ago I tried making a 2.9 compatible version of tension maps, but it was before geo nodes became a thing, and admittedly it doesn’t scale the best performance wise! I’ll be thrilled if geo nodes opens up performance!
I think this one is a bit simpler in that it doesn’t directly deal with vertex colours but instead vertex weights, so there’s potentially less things that can go wrong. I’m also considering adding baking to image sequences for cases such as distributed rendering where the addon may not be installed. It would be quicker to read/write the data purely in code but that would still require the addon, It would be cool if there were another way like using the script node in cycles but hey.
Just fixed a bug that caused crashing when using multiple objects. Here’s an example of a multi object workflow.
Added buttons to create vert groups.
Here’s a setup video for tension weights:
Soon Proximtiy will have weight > image sequence baking. This will mean simulations won’t be interfered with and can be driven via particle texture. Also for better performance when using tension, and no addon install requirement for renderfarm
The current way in 3.0 to convert to vertex colours. Attribute node must be used for accesing in the shader.
Demo file now available in the description.