Question About VDB to Sphere

   210   1   0
User Avatar
Member
48 posts
Joined: Feb. 2017
Offline
Hi everybody,

Why is it that the sphere resulting from the VDB to Sphere node change in size and place(and distribution maybe) during the animation and is there a way to make them static for moving base object?
User Avatar
Member
92 posts
Joined: Aug. 2010
Offline
I dug up my slides from when we implemented [dl.acm.org] vdbToSpheres to help explain what's going on. Here's one way to think about it:
* for all of the points inside a level set, choose the one furthest from the surface.
* That point is the center of a sphere, with radius equal to that distance (or optionally clamp the max sphere size).
* remove all other points that exist inside that sphere
* update the distances to all remaining points
* repeat (until desired number of spheres, reach a size threshold, etc)



If you change the levelset, the distribution of possible points would change. Since your base object is changing over the animation, the level set would change, hence the spheres change during animation.

In practice in production, artists often run vdbToSpheres on a reference frame (eg. first frame of the animation), then wrap deform the spheres to the animated/deforming mesh. The result is a temporally-coherent number & location of spheres.

Attachments:
tmp.jpg (77.2 KB)

  • Quick Links