curv.u Posted August 14, 2020 Share Posted August 14, 2020 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 Quote Link to comment Share on other sites More sharing options...
Noobini Posted August 14, 2020 Share Posted August 14, 2020 just a pointvelocity Quote Link to comment Share on other sites More sharing options...
curv.u Posted August 15, 2020 Author Share Posted August 15, 2020 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: 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 Quote Link to comment Share on other sites More sharing options...
Noobini Posted August 15, 2020 Share Posted August 15, 2020 (edited) 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 August 16, 2020 by Noobini Quote Link to comment Share on other sites More sharing options...
curv.u Posted August 16, 2020 Author Share Posted August 16, 2020 (edited) 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 August 16, 2020 by curv.u Quote Link to comment Share on other sites More sharing options...
Noobini Posted August 16, 2020 Share Posted August 16, 2020 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. Quote Link to comment Share on other sites More sharing options...
vicvvsh Posted August 16, 2020 Share Posted August 16, 2020 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. 1 Quote Link to comment Share on other sites More sharing options...
ziconic Posted August 16, 2020 Share Posted August 16, 2020 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. 1 Quote Link to comment Share on other sites More sharing options...
curv.u Posted August 17, 2020 Author Share Posted August 17, 2020 Thank you @ziconic, super straight explanation! To see now it was the very obvious thing to do, but i actually didn't thought about it earlier ... I'll mark as [SOLVED], many thanks to all you mates! 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.