StretchMesh now OpenSource!

http://code.google.com/p/stretchmesh/

StretchMesh is a plug-in for Autodesk Maya which gives geometry an inherently stretchy characteristic. As geometry is deformed using native Maya deformers or other plug-ins, StretchMesh gives the geometry a built-in stretchy quality by preserving the relationship between vertices. Collision objects can be added to simulate the underlying anatomy over which the skin slides. A “stiffness” map can be painted to accommodate areas where stretchiness is not desired.

Looks pretty cool!

Its possible to do this in blender with softbodies, right? (very useful to, for example, press a character’s face against glass or somesuch…)

As I understand it, and I could be wrong…

…it’s better than softbody for certain things precisely because it is not a simulator,
and as such there’s supposedly no crazy compute times. :wink:

cool!
now only if i had $3500 for Maya… :wink:

…or coding talent to port stuff over to blender…

Well, if it’s Open Source now, it can be ported to Blender, can’t it?

Getting rid of ShrinkWrap for muscle systems, that would be really damn cool (Blender Softbody & Cloth collisions seem to be too imprecise and slow for that purpose)!

I’m not sure this is so well suited for muscle systems, not that we will have it in blender soon, but maybe it is with some tweaks…how would I know…I just post here like the rest of you…

I’m pretty sure this isn’t a replacement for a muscle system… but more for interactions between an animated mesh and a collision area

Did you read the quotation?

Collision objects can be added to simulate the underlying anatomy over which the skin slides.
It explicitly mentions “anatomy”, and seems to provide a way to make a mesh behave like skin over enclosed objects (“muscles”, “bones” …), similar to what a very exact and stable cloth simulation could do, but much more efficient. StretchMesh is no muscle system, right, but it would help a great deal in skinning one …

looks pretty bleak,

http://code.google.com/p/stretchmesh/source/browse/trunk/stretchMeshDeformer.cpp

is C++ plugin for maya using tons of maya libs.
if translated to python? it would take a long while to just sort the code out, make it work.
and if it finally works I wonder if python is fast enough to be interactive as their vimeo demo video, :confused:

Indeed. Had a look into the code myself yesterday.
It seems to rely heavily on Maya’s Nurbs surfaces - so the first question is: does Blender provide equivalent functionality at this point?
I have no clue - I’ve never used this kind of stuff so far.

Python is no option, that’s for sure. This is a C/C++ (or at least compiled languange) task. :wink:

C++ addons for blender anyone ^^
but yeah someone with good skills in blender source and C of course.
nurbs __ isn’t blender nurb code getting a rewamp soon? nurbana or what it’s called.

One could probably take the basic algorithm and convert it to a built-in modifier (which isn’t really that hard if you understand what the code is doing) since I believe you can get both the unmodified and modified mesh data in the mesh modifier stack…could be wrong though and from a quick glance at the code it seems you need both.

Python could maybe work but you’d need to do crazy stuff like make a shape key per frame or something along those lines – don’t think it’s possible to modify mesh data through the py-api nondestructively. The solidify modifier is a good example of this, the py-implementation added new geometry while the modifier doesn’t.

All in all it doesn’t look too complicated, measure the distance between verts on the modified/unmodified meshes and push them around a bit according to a little Fancy Math™.

Yet another exciting video…

Still need to get the smoothing working, currently using the built-in smooth modifier – which would probably work pretty well if I weight painted some smooth maps and didn’t have the displacement object moving around all willy-nilly.

Looking sweet Entity! any scripts / patches we can grab to test this out?