Page MenuHome

Restore Volume Modifier
Closed, ArchivedPublic

Description

Group: Unstable (example)

I saw some weeks ago that the Maintain Volume Constraint was introduced. But it just adjust the scaling of an object or bone. So i came up with the idea to write a modifier for closed meshes, that computes the initial volume (in local space) of a mesh and compares it to the current volume of the mesh from the modifier stack. If there is a difference in volume it moves the vertices along the normals, until the original volume is restored. So it is usual the last modifier in the stack.

For better understanding watch this short clip: http://www.youtube.com/watch?v=jtygcwZsGCM

Mostly comparable to the Displace Modifier, but it gives you no control over the displacement distance. Instead it tries to figure out how far it needs to move the vertices, to reach it's goal: equal volume.

So im opening this patch entry to get some valuable response. I appended a patch, that shows it's basic functionality. It could need some more improvements:

* Speed (Creates temporary meshes for normal computation, should be done with optimized code)
* Weightgroup Interpolation (usually its linear, but not good for this modifier)

Currently it probides 4 settings:
* Volume Adjustment: Mulitplies original Volume with this factor, so you can change the volume, if needed)
* Vertex Group: Defines which part of the mesh can be used how much for volume correction
* Steps/Render Steps: Works like multiple Displacement Modifiers applied after each other with low displacement, adding up to "1".

Details

Type
Patch

Event Timeline

Updated sources (v2), since one function changed. Also optimized speed.

Editmode is not supported, since current mesh is used after leaving modifier, which delivers the wrong of the two meshes automatically. (no way to change this?)

hi can you update this please? i can no longer get around patching it, thanks.

Bastien Montagne (mont29) closed this task as Archived.Aug 7 2014, 3:05 PM
Bastien Montagne (mont29) claimed this task.

Time to archive.