Jump to content

[SOLVED] Emitting multiple vellum objects with custom velocity


curv.u

Recommended Posts

Hi everyone,

recently i had a look into vellum and tried to make an emitter of soft objects colliding each other as they go. I know it does exist the setting "Emission type: continuous" which generates a copy of your geo and constraints periodically, and it works like a charm when you basically just want them to fall one over another. But this system seems not to be affected by external velocity, as for example do does a simple setup of multiple rbd objects.

I was particularly interested in this because i want my objects to move with a random velocity, in a certain direction, within a cone angle; and i set all these properties in an AttributeRandomize at sop level. So, is there a way to feed this external velocity into dopnet, like you do with inherit velocity in rigid bodies?

 

Plus, i know there are several methods to emit multiple rigid objects, using Packedobj and PopSource or the SopSolver and Rigidbodysolver combined with Multisolver. They seem clear and simple as hell, isn't there a way to make a similar process into a vellum driven dop?

 

Attached below the hip file, with two examples of multiple rigid body emitters, which i can't replicate with vellum. Hope it helps.

Oh, and i suddenly thought about vellum, but if there is another smarter method to do this (ie FEM...?) please let me know! Many thanks

 

emitting_multiple_vellumobj.hipnc

Link to comment
Share on other sites

hi @Noobini, thank you for your reply. I carefully dug into your Tommy file (poor guy ^^) and i made some tests with pointVelocity, but i think it can't resolve the problem. PointVelocity and AttributeRandomize both can create a velocity within a cone angle, and that's ok, but neither of them seem to work when fed into a vellum dopnet. Note that they work perfectly when put in a rigidbody dopnet.

Below some screenshots to better explain:   

coneangle_v_rigidbodiesM.thumb.jpg.da0bc55eb19de363e9e86d226c7730e9.jpg

v_softbodiesM.thumb.jpg.e17cb1013dd2a8cde01dc8c65145d951.jpg

Studying your file gave me ideas: a target to orient direction or an initial rotation at starting point can make the trick, but tbh they're a workaround and really don't end where i wanted to, so i don't quite feel like to use them...

Seems very strange to me that super fancy sop nodes (point vel and attr rand) can't work there. Am i missing something obvious?

Please give a look at the file i've updated, maybe it can provide some hint (?)

emitting_multiple_vellumobj.hipnc

Link to comment
Share on other sites

i think it just works...

tips for testing:

- use a simple sphere instead of the pig, testing will be waaaaaaaaaaaaaaaaaaaaay faster.

- your Directional bias is 20 which is far too weighted towards the centre of cone, let's say your Cone Angle is 90, try Bias -1, your projectile would nearly go sideways !!...try Bias -0.5 (or maybe 0 is neutral ? dunno see what looks best)

it should just work.

Edited by Noobini
Link to comment
Share on other sites

ok wow! thank you @Noobini, it does work now indeed!

i somehow missed how important the bias was: testing it with the spheres really make the difference!

Anyway i still have big problems when i swicth those spheres with any other geometry (my original geo, as well as pighead or roberto): they go straight ahead!

AND i noticed one thing: if i pack the geometry, now any velocity node works like a charm. Right now meanwhile writing to you came an idea (better to say a workaround): if i pack the geo, then assign v, then unpack geo and pass v attribute NOW it works!

I really would like to understand why they work only this way tho. Can someone kindly explain me WHY? i really have a struggle to understand. Has this maybe something to do with points? (position, quantity, disposal)?

Edited by curv.u
Link to comment
Share on other sites

hmm...you've confused me now, i'm sure i tested with a polygon sphere and not a prim, if you test with a prim sphere...it's incredibly quick and the pointvel is on just the one point.

now i'm retesting and yeah...not as i expected unless you pack it into a single point like a prim sphere, wouldn't think it's because too many different guys pulling in different directions ? surely not, will have to have a closer look later.

Link to comment
Share on other sites

1 hour ago, curv.u said:

I really would like to understand why they work only this way tho. Can someone kindly explain me WHY? i really have a struggle to understand. Has this maybe something to do with points? (position, quantity, disposal)?

Hi, i presume a vellum solver takes into account average value of velocity of all the points, because after velocity noise sop each point has different value. When you do pack-unpack all points has the same value of velocity and simulation works as expected.

  • Thanks 1
Link to comment
Share on other sites

Umm you are assigning a random velocity to every point on your geometry, which will average out to a forward-ish direction for the entire pig head as soon as the sim runs. What you want to do is set the same random velocity on every point of the geometry.

To do so, change the attribute class on your Attribute Randomize node to Detail. Then add an Attribute Promote node immediately after it and "promote" the v attribute from Detail to Point. Now, every time a pig head is emitted, all the points on the pig head will have the same velocity, but will be different for each pig head.

  • Like 1
Link to comment
Share on other sites

  • curv.u changed the title to [SOLVED] Emitting multiple vellum objects with custom velocity

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...