Jump to content

In Vellum , is it possible to change the shape of input geometry, over time?


Masoud

Recommended Posts

Hi;

In Vellum , is it possible to change the shape of input geometry, over time?
I have a line in my scene that grows (in length) over time, and I would like to use it in vellum-hair, but it seems that vellum just uses first frame.


Thanks.

Link to comment
Share on other sites

Yes, you want the Vellum Rest Blend DOP, which you can point at an external SOP that animates your rest geometry. It will update the rest state of a specific set of constraints based on the input Rest geometry.  With 17.5 there is a help example for Vellum Rest Blend SOP that shows some uses of it.  Attached is an example of lengthening hair curves over time.  Note the rest topology has to match the original geometry, i.e. you can't add points, but you can transform them in various ways.

 

grow_hair.hip

Edited by johner
  • Like 2
Link to comment
Share on other sites

  • 7 months later...

Any way to update topology? 

I am trying to carve out a curve>polywire, basically grow a shape over time along the curve and make it vellum cloth, live and waving as it grows.

Seems like trying a sop in dops does not update it over time like you can with constraints.

Cheers!

  

Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...

To date, the only workaround I've found is loading in a bunch of extra points somewhere out of frame (i.e., hang onto a few hundred thousand points down at {0,-100,0} or something), and setting them to inactive. When you want to change your topology, swap them in and activate them. It's ugly, but it's the only thing I've managed to get working for a case where I wanted to resample under strain instead of breaking...

Link to comment
Share on other sites

  • 1 year later...
On 01/05/2020 at 11:37 PM, Noobini said:

dunno if this is applicable to your scenario (or carve situation):

https://zybrand.xyz/vellumcontinuous-emit-with-dynamic-constraints#more-324

I fooled around a bit to use hair instead of grains...mods were pretty minimal, you too can do it.

 

 

noodle.gif

Nice one, mind showing the way? :D

Edited by HM_2020
Link to comment
Share on other sites

  • 7 months later...

I hope this isn't belaboring the point, but the reason this is hard is because it is working against the main benefit of vellum. The whole idea behind vellum and position based dynamic solvers is that they affect the position of points directly without referencing internal forces.

Let's see if I can not botch this explanation: but instead of calculating physically realistic forces like pressure, elasticity, volume preservation, etc., vellum represents a material as points and constraints. Those constraints just have stretch and bend limits as well as damping. Over a number of iterations, the solver then updates the position of each point in a way that best satisfies the limits of all the constraints attached to that point. It is not physically accurate, but the advantage of this is that it is very fast and is much more stable UNLESS... the topology changes. As soon as the topology changes the wrong constraints are matched to wrong points and all hell breaks loose. In order for vellum to work, you need to have each individual point retain the same point number throughout the simulation AND you need to have the constraints (your constraint geometry) keep the same point numbers and primitive numbers.

So there's basically three ways (that I can think of) of doing this if you want to change the shape or size of a simulated object:

1. You can keep the same geometry and update the parameters of the constraints so that it appears as if the geometry is changing (like hair growing because the rest length is increasing over time, or a balloon inflating because the rest length of the pressure constraints are increasing, or cloth sagging because (you guessed it) the rest length of the stretch constraints are increasing over time. This is what John set up earlier in the thread.

2. You can perform the simulation on a stable piece of geometry and either alter it post-sim (for instance carve the piece of tape post-sim) or use it to drive a different piece of geo that is being altered (say transfer position based on UVs as an example).

3. Or finally you can get fancy and devise a way to keep the point numbers and constraint geometry from changing as the topology changes. HOW you do this depends on what kind of changes you are introducing to the topology. I'm not aware of a single set up that would work in all cases. But those are the conditions you have to meet if you want it to work...

 

Edited by madebygeoff
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...