noc2 Posted May 15, 2021 Share Posted May 15, 2021 Hi; I'm trying to get the stiffness value of vellum hair to be constrained according to an attribute but since constraints are created on the primitive level, I couldn't figure out how What I need is to set a per-point attribute pre-simulation and devise the hair object so that it gets affected by the gravity according to that attribute which could potentially change over time. Any help would be greatly appreciated. Thank you in advance. Cheers; AJ Quote Link to comment Share on other sites More sharing options...
underscoreus Posted May 15, 2021 Share Posted May 15, 2021 Heyo. Not in front of a computer right now so can test this to be sure but if I remember correctly then you can control the stiffness of vellum hair via an attribute then have a look at the "Scaling" dropdown next to the "stiffness" parameter of both bend and stretch constraints in the "vellum configure hair" node. Here you can choose to scale by an attribute which means that whatever values you set up in the node hair configure node will be multiplied by whatever attribute you choose. And if you want this multiplier to change over time then I think you just have to add a "popwrangle" node hooked up to your sim and do the multiplication manually by fetching the attribute from SOPS, and if the stiffness attribute is on points you can just promote it to prims via an attribute promote or in VEX by using the "primpoint" function to get the attribute value from a primitives points. Hope that can help and was not completely wrong Quote Link to comment Share on other sites More sharing options...
noc2 Posted May 15, 2021 Author Share Posted May 15, 2021 (edited) Hi underscoreus Thank you so much for taking the time help out, this really opened my eye for a solution, will try it asap. Can I ask one more thing if I may; The task I have at hand is a coiled up noodle like slippery tube that is supposed to stay as it is until a certain frame, after which time it is supposed to be released downward but not altogether, one portion of the noodle slips down first and the rest follow suit. Think of coiled up macaroni in one's hand; it could start slipping down at any given point along its body, pulling the rest with it. Now, even if I can control the stiffness parameter via an animated attribute, I'm still at odd as to how to avoid the stiff parts to not be affected by gravity :-/ Or on a different angle, maybe it's not the stiffness parameter that I need to control via an attribute, it's the mass maybe? So that I can initiate the pull of gravity by a certain attribute? Even the smallest hint would again be hugely appreciated. Quite new to vellum and its paradigm :-/ Cheers AJ Edited May 15, 2021 by noc2 Quote Link to comment Share on other sites More sharing options...
underscoreus Posted May 15, 2021 Share Posted May 15, 2021 Hey again! So I'm not 100% sure I get what you are trying to do, but I think I can imagine it from what you've talked about. I think that I would do a combination of a few things; 1. For when the noodle is just laying there I would use the "active" attribute. By setting this to 0 (and then later animating it to 1) you should be able to basically freeze the geo in the sim making the solver ignore the geometry (assuming that when you say you want the noodle to be still you mean totally still as in frozen with no movement). 2. For when the noodle starts to move I would do exactly like you suggested, giving some of the points at the end of the noodle a higher mass so that they end up pulling the rest of the noodle with it as they fall. If you use the active approach the higher mass on one end of the noodle can even be set before the sim since it will just be ignored if a point's "active" attribute is set to 0. Quote Link to comment Share on other sites More sharing options...
noc2 Posted May 16, 2021 Author Share Posted May 16, 2021 Hey again underscoreus I set a test scene up but just couldn't get it to work There's a @new attribute created pre sim that changes over time which is converted to @mass inside the vellum solver by a geometry wrangle but the solver simply refuses to recognize the changing mass value and keeps initializing it only on and for the first frame. If the new/mass attribute is static, you get exactly what you want, yet when it comes to animating that attribute over time, it stone walls you PS: I also tried pop wrangle like you suggested but then switched to geo wrangle to see if that could do the trick... Here's the scene file: NOODLE_MASS.hip Cheers man and thanx again AJ Quote Link to comment Share on other sites More sharing options...
noc2 Posted May 16, 2021 Author Share Posted May 16, 2021 Hi yet once again; It just dawned on me that there's a geo vop node inside the dop network which also means that I could use it to animate the mass attribute during simulation instead of pre-sim and voila, there it worked. I want to thank you wholeheartedly Martin, your advice and insight helped me so much. Lotsa cheers AJ NOODLE_MASS_INSIDE_VS.hip 1 Quote Link to comment Share on other sites More sharing options...
noc2 Posted May 17, 2021 Author Share Posted May 17, 2021 Hi @underscoreus; And I'm back with yet another problem I've been struggling to get out of ever since I went on building upon the animated mass attribute solution I ditched the geometry vop in the vellum solver node and substituted it with a SopSolver node in which I tried to build a very simple neighbor based 'infection' effect where the mass value of 1 belonging to points in a group are propagated over time across their neighbors. Although the vellum solver should be able to handle this via a simple geometry wrangle inside it, it just refused to do it in contrast to a regular sop solver node So I had to resort to placing a sop solver inside the vellum solver just to get the vellum solver to recognize this 'infection' effect, naturally to no avail I'm quite literally stuck and out of ideas at this point. Any help would again be highly appreciated. Cheers; AJ Quote Link to comment Share on other sites More sharing options...
noc2 Posted May 17, 2021 Author Share Posted May 17, 2021 Aarghh... Found the answer I should have used a multisolver node to process a sop solver within a vellum solver :-/ Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.