Particles in a conveyor
#26
Did you look at the conveyor sample scene file?


.max   tyFlow_conveyorBelt_001.max (Size: 724 KB / Downloads: 25)
  Reply
#27
Thanks GreenDK,

I'm studying it now.

Anyway I have a different issue. I wonder if I can somehow delete particles in tyCache or do I need to export them first as meshes, then delete the unwanted particles by selecting them on screen and finally create particle cache out of those particles.

ON the screenshot, there's particles that are falling through the conveyor and I want to delete them. The rest of the particles are behaving somewhat correctly.


Attached Files Thumbnail(s)
   
  Reply
#28
Look t the Tycache options, there's a bunch of ways you can delete particles.
You can build a mesh for example, and every particle that enters the volume of mesh (or exit volume of mesh) will be deleted (same as with surface test we did for particles)
You can also select particles by their ID numbers.
And there are few more ways.

I think culling by mesh is the best option here.
  Reply
#29
Thanks,

With PFlow, my workflow was to generate everything into individual meshes. Then I could select and delete every particle that fly away. This way that particle was never born. It does not look good if we see a particle becoming unstable and gets deleted after that. Once I had manually cleaned the system, I sent them to Boomer Labs Supermesher and shared particle cache in that format.

It would be nice if I could manually select and delete particles in tyCache.

E: So I would like to remove "bad apples" from finished particle cache and then resave the cache. Is there possibility to open the cache file and manually remove the bad particles?
  Reply
#30
Inside Tycache options I don't think there's an option to manually select them (with mouse click) and then delete them.
It would be a good addition I agree.

What you can do is you can load your cache in TyFlow with birth flow and flow update operator (then reference your tycache)
Then you can use select operator, and just select your paticles, and it should manually delete them.
Then you can add export operator bellow select and export final cache file.

Finally, if you want, you could also export your original tyflow as meshes (like you said you did in the past with PFlow), because that oprion is also available in the particle export operator.
  Reply
#31
What would be the correct choice for particle physics in this case: Particle physics of PhysX? I'm using particle physics, but there's plenty of problems. One is that when conveyor stops, particles are tumbling on spot. In real life, if the conveyor stops, particles stop too.

Also, Do I need a birth event for each stopping? I could not find a way for animating the birth object?
  Reply
#32
Also there's one thing, I'm not sure.

I have two consequent Voronoi fracture events. In the first event the particles are fractured. I want to fracture them more in the second event. So I just copied the operator into new event. However I don't see any additional fracturing there. Do I need to change the settings in the second event?
  Reply
#33
I wonder what's happening. I got this error during tyFlow simulation.


Attached Files Thumbnail(s)
   
  Reply
#34
I have to return to this topic.

I still cannot find a way to split the particle stream. There are two kind of particles on the conveyor: those which dissolve and those which do not. How can I separate particles that don't dissolve. Those particles should eventually travel to junk trap while the rest are not visible after fracture operators.
  Reply
#35
So far this is the best result I can get. Any ideas, why Max keeps on crashing during the simulation?

   
  Reply
#36
You are maybe running out of RAM memory.

Try grabbing TyFlow object, and in the modify panel, under the cache, turn of "enable playback cache", then try to export again.
  Reply
#37
(01-05-2025, 08:36 AM)JuhaHo Wrote: I have to return to this topic.

I still cannot find a way to split the particle stream.  There are two kind of particles on the conveyor: those which dissolve and those which do not. How can I separate particles that don't dissolve. Those particles should eventually travel to junk trap while the rest are not visible after fracture operators.

All test operators are just for that. 
For testing particle conditions and send them out to do whatever you want. 
Test operators are the ones with orange colors. 
So you can split them with any test of your liking (and needs). 
You already split them once with "surface test"... and.. if you can do it also in this case, why don't ? 
There is also a simple split operator that can split particles to any percent (and some more variations of that). 
Time test is also test operator... 
And many more... 

Also, test operator always have output for you to connect them to new event, because whenever you split particles, they need to go somewhere... and that somewhere, in tyflow case is always new event. 
------------------------------------

I might be wrong, but looking at your last screenshot of your flow, it looks like you overcomplicated things too much, and it doesn't look too optimized. 
For example, I think you are using particle physics in cases where you don't really need it (where particles are basically dust and it doesn't matter if one particle dust collide to another. 
But I might be (very) wrong, and besides, part of learning is making overcomplex flows... I did it million times. Smile
  Reply
#38
Thanks,

I just looked my cache file and it's already 40 GB. At the moment there should mostly dead particles, but it's still 80 MB/frame.

Regarding particle physics, isn't that for collision between particles. If I want to make a pile of particles, I have noticed, without particle physics particles wont pile up - the pile is flat, because all particles go all the way to ground.

One question would be if all the operators are needed in every event. Are there universal operators that need to exist only once in the first event?

Edit: I need to split particles by material for instance. I have not find the way to mark particles to be taken away. So how can I mark the particles to be extracted from main flow?
  Reply
#39
So basically I'm taking metal (and other junk) particles out of the flow. What is the way to tell tyFlow which particles are junk and which not?
  Reply
#40
Also there's only tiny fraction of needed particles baked, but the cache shows about 80 GB. Also when trying to render, I got Bluescreen. Any idea what's going on here?
  Reply
#41
- For sending particles with different material, you can use custom properties operator, set to Mat ID, and then you set test true to "equal" and type number of Mat ID in the value.
It will send all the particle within that event with Mat ID of your choosing to next event... where you can delete them, if you want.

- There are some operators that are needed just in first event, and they are automatically moved into the next event, such as Shape, Physx Shape, Scale... etc... even particle physics if you set that option with operator.

- if you want partially to cache particles, you can place export particles operator to event. So it will cache particles only within that event. So you can use few particle export operators, if you want to cache it that way.
If you move particle export operator to it's own event... disconnected from everything... then it will cache all flow
  Reply
#42
Thanks,

I still don't get it. I have two types of particles. Those that dissolve and those that don't the latter being junk. On this setup I have only those that dissolve. Now I want to add some particle shapes that don't dissolve and eventually are transferred to the junk trap. I'm looking a way to "flag" these particles in the shape operator. Nothing else makes sense to me. Then I need an operator that takes the flagged particles off from main flow before they end to fracture events.

Edit: I see there's a possibility add another shape operator. So in theory I might add the junk particles there, but there's still the "flag" issue.

   
  Reply
#43
If I understand correctly your flow...

So with object test (bellow local) you are sending particles to next event that are further fractured and you want to keep them.
Everything else you want deleted (junk particles).
Right?

Then you don't need property test Mat ID... you only need to place "send out", BELLOW your object test, so your event will send out correct particles where they need to go (to be further fractured, and whatever their fate is), and every particle that is not send will be BELLOW object test.
So you just need send out BELLOW your object test to send them out to new event, to delete them, change their shape... or whatever you wanna do with junk particles.

Hope this make sense.
  Reply
#44
Thanks,

I have placed object test below to be more like a timer. Passing this level starts delay timer. After certain time particles move to fracture event, but they are staying in the same area since they are in the dissolving process. Then I have another event they fracture even more and after another delay are deleted (dissolved into liquid). I do the liquid part with Chaos Phoenix while tyFlow particles are deleted after becoming small. The liquid is screened away so there will be left only intact junk particles in the volume - so in the end I have liquid at a liquid pool and junk particles in the junk trap. The liquid changes color during the process duo to dissolved particles.

In the beginning I have two kinds of particles in the same birth event: the ones that will be dissolved and vanished and the ones that will stay intact and travel to junk trap.
  Reply
#45
Can't you just make a box covering junk trap, then use surface test (volume inside), and send these junk particles to be deleted?
If junk trap is at separate location then liquid pool, then this seems to me like the most straight forward option.
  Reply
#46
I noticed another thing. I can't open my render scene anymore. If I try to render the backburner task, that was perfectly working before, it causes bluescreen. It contains tyFlow cache so I can have the project to be rendered independently while I work with tyFlow make the particle systems better. I have the feeling, that it's caused by tyFlow Cache. Is it safe to delete that 30GB file?

What that file stands for?

   
  Reply
#47
I decided to start this project all over again. The fracture operator has been causing problems all the time. I have simplified the system to two events and forgot the idea of dividing to flow inro two streams. I working now with two independent particle systems: one for particles to be dissolved and other without dissolving (the junk particles).

The fracture operator is a bit confusing. Somewhat ideal solution would be the one, where particles are split into two then again few times until they would be deleted by their size. Is this doable?
  Reply
#48
(01-22-2025, 08:17 AM)JuhaHo Wrote: they would be deleted by their size. Is this doable?

Property test -> Surface Area
  Reply
#49
Thanks,

How about the sequential fractures, I tried to explain 1 > 2 > 4 > 8 > 16 > 32. When the original particle is fractured to about 16 fragments, the fragments should be deleted by their size. It would be nice to see the particle being gradually fractured in the process before deletion of the particle.

This would be a simple way to create dissolving particles in the liquid.
  Reply
#50
(01-22-2025, 12:27 PM)JuhaHo Wrote: Thanks,

How about the sequential fractures, I tried to explain 1 > 2 > 4 > 8 > 16 > 32. When the original particle is fractured to about 16 fragments, the fragments should be deleted by their size. It would be nice to see the particle being gradually fractured in the process before deletion of the particle.

This would be a simple way to create dissolving particles in the liquid.

Set only 2 points for Voronoi, and change timing from "on event entry" to "continuous". 
That way you will fracture particles each frame by double... like you said... 1,2,4,8,16... etc. 
You can also extend this to 2 or more frames of you want to... just set every nth frame to 2 or larger number. 

Also, continuous will do fracturing each frame... if you need specific frame, or particle age, you can also set it up in timing parameters. 

Here I quickly created you example, with small particles being deleted.


Attached Files
.max   continuous_voronoi_surface_delete.max (Size: 768 KB / Downloads: 14)
  Reply


Forum Jump: