Voronoi on deforming and scaling mesh

   1973   2   1
User Avatar
Member
52 posts
Joined: June 2016
Offline
Hi,

I'm currently working on a growth animation system with the possibilty to break the geometry.
I have problem with the fragments on a deforming and scaling mesh.

I have several curves (I just put a simple example file to better understand) : each curve has a growth effect with a scaling radius.



I want to fragment each of these curves and keep the animation.



So I have 3 solutions :

1) the first one, is to freeze the animation at the last frame, create my voronoi in a loop (for each curve), and use a point deform on the overall mesh to get the animation back. But the result is not good because of the growing and scaling effect. Another problem comes from the radius of the point deform : if 2 curves are to close, the point deform doesn't interpolate correctly the positions.

2) So the second solution is to do this point deform inside the loop. But I still have the problem of the growing and the scaling effect on the mesh… plus : the loop is calculated on each frame, which is really longer ! (I plan to use this on large amount of curves, such as a tree, for example).

3) A third solution is to store the animation before the loop, apply the voronoi and get the animation back to points. The result is better because the voronoi automatically calculates the values of the ‘stored animation’ and we get a better transitions, even if there are still some problems… But like n°2, the loop is calculated on each frame… so very long !

My questions :

1) Is there a proper way to fracture my animated mesh ?

2) Is there a way to avoid calculation of the loop on each frame ?

Thanks !

Attachments:
voronoi_on_deform_mesh_anim_001.gif (805.3 KB)
voronoi_on_deform_mesh_anim_001_fragments.jpg (64.2 KB)
voronoi_on_deform_mesh_001.hip (471.8 KB)

User Avatar
Member
483 posts
Joined: Dec. 2006
Offline
Maybe try this:
first..
after “VEX_carve_from_end_level_3” you have to fuse the endpoints,
to get a good curve for the polywire.

and then use a ray sop with “Minimum distance” to move the points
of your fractured geometry on the initial curve.
But you have to clean up self intersecting geometry first or use
the ray sop in a loop to get the right point on the curve to
project to, for example on the sharp corner on the “1”.

If this is done it shold be possible to transform/grow
your pieces via "lerp [www.sidefx.com]"
function and an animated attribute.
English is not my native language, sorry in advance for any misunderstanding :-)
User Avatar
Member
483 posts
Joined: Dec. 2006
Offline
Really basic setup, should show only a basic
idea, how to grow the pieces.
You have to use complete small pieces for
the lerp/blend if you like to grow them from the
backbone line.
As said: Really basic… should only show lerp usage.
Edited by matthias_k - April 15, 2018 01:34:45

Attachments:
voronoi_on_deform_mesh_001.hip (495.1 KB)

English is not my native language, sorry in advance for any misunderstanding :-)
  • Quick Links