0
$\begingroup$

I'm coming up with a problem with a quiet complex system that is probably to complex for my level of geo nodes knowledge. Still i hope to solve and understand it, learning with challenges...

I'm building a creeping maggot system and it all works quiet good. In the posted .blend it's already heavily simplified as it also involves Curve Deform-Nodes, collision, much more synchronized set_positions etc. The last thing i wanted to add to this simulation was the maggots to stop for some time and start creeping again (and waving their heads while they stop, that also works in the bigger file).

The problem occurs when i try to offset this 'stoptime' per maggot/index/island index. I've been trying to debug for few days, but just can't. I see in the spreadsheet that there are strange things going on with the indices, they are flipping around... To me it seems like the island index assignment would loose consistency, maybe due to the 'top' or 'age' attribute in conjunction with the delete-node???? I have no clue...

I tried to simplify the system as much as possible to show the problem. In the file you find two objects, one is with working maggot system, but without 'stoptime'-offset, and one not working with offset.

Would be really really kind if someone could look into it and help me. Thx!!!

enter image description here

enter image description here enter image description here

I just simplified the scene even more:

You can see the indices flipping at the end of the spreadsheet after frame 120 (what is the time when the movement has to stop). I marked the frame red in the node tree that contains the offsetting operation that brakes the system. You can just hit play, once with the 'maggots working'-object visible, once with the 'maggots not working'-object visible. The first one stops cleanly and continous the movement after some time, the second one starts stuttering.

New blend:

enter image description here

$\endgroup$
13
  • $\begingroup$ I guess it is necessary that i reduce the tree even more to the actual problem for easier examination. I'll do that later, sorry for bothering you with a too big node tree. $\endgroup$
    – Rolando
    Commented Apr 4 at 13:04
  • $\begingroup$ I attached an even more simplified .blend in my previous post, hopefully that helps. $\endgroup$
    – Rolando
    Commented Apr 4 at 14:49
  • $\begingroup$ it looks like you aren't adding any new islands in the simulation (you are only extendeding the old ones); is this true? $\endgroup$
    – shmuel
    Commented Apr 4 at 16:53
  • 1
    $\begingroup$ if you aren't adding new islands, then just store them before the sim (because it's vertices it could be the index instead of using the islands index if you want). $\endgroup$
    – shmuel
    Commented Apr 5 at 4:24
  • 1
    $\begingroup$ Rolando, you said > "I'm wandering how a captured/stored index attribute gets then processed in the sim, as the initial vertex will be deleted after a while. I thought it might be necessary to pass on such a consistent index per island from one vertex to the following/newly extruded every step, to guarantee consistency" this is unnecessary. the way it behaves is that is propagates / gets inherented by any geometry made from it either extruded, duplicated, or even instanced on it. $\endgroup$
    – shmuel
    Commented Apr 5 at 14:03

1 Answer 1

2
$\begingroup$

if you aren't adding new islands duringthe sim, then just store them before the sim and because it's vertices you could even use the index instead of using the islands.

you don't value to worry about propagating the (attribute) ID yourself, because the way it behaves is that when you captures or store an attribute it propagates / gets inherented by any geometry made from it either extruded, duplicated, or even instanced on it.

(there are some cases, though, that will loos attributes when on certain types, or certain domains, and or when using certain operations (nodes), but generally it will propagate on it's own.)

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .