im working on a new addon and would like to get a bit of feedback and ideas to make it better.
how does VertexHeat work?
vertices in the active vertex group are taken as border conditions and all the vertices that are not in the active group will get their weight smoothed out. confused? let me show some examples.
if you like it more technical, heres a wiki link to the heat diffusion which i try to add to vertex weights
create a new vertex group
select some vertices that you like to be the max border and assign weight 1 (or whatever weight you like) to them.
select the vertices for the min border condition and assign weight 0 to them. i know the min border is not visible in weight paint mode but im thinking about possible solutions for that…
choose choose the vertex heat iterations
press the “Calculate” button. depending on iterations and mesh resolution this can take some time.
here a example what the addon does:
i defined some border conditions in weight paint mode. (for now make sure to use a curve without falloff)
and this is how it looks after running the addon. (note: without a min border condition the weight will increase until everything hass the weight of the max border condition)
here i added additional min border conditions (vertex weight 0 at 12 and 6 o’clock), now you see that it only smooths the are between the max and min condition.
v 1.25
- increased iteration max to 10000 and lowered default to 100
- added option and sliders for threshold weights to gui
- implemented threshold values from sliders
v 1.24
- use activeList to speed up iterations
- change bmesh creation method to prevent mode switching
Nice. Just an idea: How about using Vertices inside the Geometry? The software i’ve seen always kind of subdivide the Mesh inside (don’t know how it’s called). I think this is necessary for realistic calculate Objects, and not just surfaces… As i said, just an idea
I mean vertices inside the Geometry… As i understand right, as of now it calculates the heat across the surface. With Vertices inside the Geometry you could calculate Heat transfer inside an Object.I’ll try to find some reference…
Edit: Combine this with your MeshPy TetMesh
So what i think to calculate Heat in Object. Generate first TetMesh - calculate Heat - then maybe transfer Vertex Color Back to input Mesh/Object.
PS: I kind of think a really usable Heat Transfer solution should interact Between Meshes, having Heat source (and cold), different Materials, affect Particles (they should have Heat transfer as well)… but that’s maybe just me dreaming
both open source 3D Physics stuff calculations, fluid and heat and way much more.
I wonder how far to go would make sense for Blender, and for you. I think integrating one of those into Blender would be more powerfull, but of course waay less fun for the dev, you, to do. ;-). And probably a hell lot of work, but maybe their interested to have it integrated in Blender too and could help some?
again, just me dreaming, and in the End, “we” as Blender User don’t “need” to calculate Physically correct Heat Transfer (I don’t mean the Heat Transfer calculation itself, but to get accurate Results there must be more to it, like from Object to Object, Material to Material changes, Cooled by Water… what do i know…).
So just go on with what you like Even not a 100% accurate Heat Transfer is way Fun and usable too. Thanks
i think most of that goes a bit to far for my liking:D but i got a nice idea for some 3d heat diffusion, so i will take that into my list as well.
at the moment the main priority to solve is that vertices with 0 weight assigned are not visible in the weight paint mode but are taken into the calculation which can make it unpredictable since its possible to paint with 0 weight…
if anyone got an idea for that problem lets hear it^^
maybe i have to switch to vertex color and then transfere that to weights… hmm that might not be such a bad idea… gona check that one out:D
i just tried it with a tetmesh and it seems to work but since the softness of the result is dependent on the mesh resolution its pretty slow on a tetmesh:O
run 10k iterations on a tetmesh with 30k triangles and that took about 10 minutes:O
and the result is more than underwhelming, so this will need a 3d method to calculate weights in reasonable time i would guess.
Do you know Cython? Can convert Python to C, but still can be called like any python module. Not that hard to use. I could use it, and my programmer/python knowledge is very limited.
i added some sliders to control the threshold of the weights that get calculated.
it can be useful on vertex groups which have other weights than 1 and 0 in them.
This strikes me as potentially really useful. I’m a newbie, just been working for a couple of months, but this is very similar to what I’ve been looking for. Unfortunately, I’m having some trouble installing the add-on. Is it possible that the installation instructions are out-of-date? Is it working for Blender 2.77?