tyFlow Forum
Do you wanna build a snowman? (I do, but I have some questions...) - Printable Version

+- tyFlow Forum (https://forum.tyflow.com)
+-- Forum: tyFlow Discussion (https://forum.tyflow.com/forum-1.html)
+--- Forum: General Discussion (https://forum.tyflow.com/forum-2.html)
+--- Thread: Do you wanna build a snowman? (I do, but I have some questions...) (/thread-81.html)



Do you wanna build a snowman? (I do, but I have some questions...) - insertmesh - 04-03-2019

Hey,

I´m just starting to play around with tyFlow, which is just sooo much fun, figuring out all the cool new stuff I can do within Max...

After just "doodling" for a while with that warm fuzzy feeling in my tummy only tyFlow or true love can give you...
I decided to go into it a bit deeper and see what I don´t get.

So here is my first in depth trial, destroying a snowman:



And here is the flow:

[Image: 2weyk90.jpg]


A couple of questions:

1. I want the grains not to react to gravity, before the sphere hits it. I put the sphere as a collider in the birth even, added a physxSwitch and set it to dynamic sleep (and also tried kinematic) and then in the second event I set it to dynamic wake. But gravity still starts in the first event. What am I doing wrong here?
2. I´m trying to make the snow stickier, so it breaks off in bigger chunks. I increased the steps in the tyFlows "particle Bind solver" to 50 and higher, but its still not sticky enough. And when increase steps above 50, after a certain point it looks like there are particles disappearing. So, how do I make it stickier? There are a couple more settings in different places I´m considering:
A) "Stiffness" in the particle Bind operator
B) "Stretch" in the particle Bind operator under "Break"
C) "Stiffness" in the particle physics operator under "Collision force".
3.  Does it make a difference in for the voxelisation, if I just stack three spheres on top of each other, or if I create a connected, closed mesh?
4. Right now the collision sphere is just crudely hand animated.
Ideally I´d like it to be a dynamic rigid body, interacting with the snowman. How do I generally go about this kind of setup? (one flow interacting with another one)


RE: Do you wanna build a snowman? (I do, but I have some questions...) - Boris268 - 04-03-2019

You should try to disable the gravity in first flow and let it get activated by second event. Btw did you managed to render it? I cannot get to render any grains. Trying with Scanline renderer 3ds max 2019


RE: Do you wanna build a snowman? (I do, but I have some questions...) - d4rk3lf - 04-03-2019

(04-03-2019, 02:08 PM)Boris268 Wrote:  I cannot get to render any grains. Trying with Scanline renderer 3ds max 2019

Have you placed mesh operator? 
You need it to render anything.


RE: Do you wanna build a snowman? (I do, but I have some questions...) - tyFlow - 04-03-2019

(04-03-2019, 12:21 PM)insertmesh Wrote: Hey,

I´m just starting to play around with tyFlow, which is just sooo much fun, figuring out all the cool new stuff I can do within Max...

After just "doodling" for a while with that warm fuzzy feeling in my tummy only tyFlow or true love can give you...
I decided to go into it a bit deeper and see what I don´t get.

So here is my first in depth trial, destroying a snowman:



And here is the flow:

[Image: 2weyk90.jpg]


A couple of questions:

2. I´m trying to make the snow stickier, so it breaks off in bigger chunks. I increased the steps in the tyFlows "particle Bind solver" to 50 and higher, but its still not sticky enough. And when increase steps above 50, after a certain point it looks like there are particles disappearing. So, how do I make it stickier? There are a couple more settings in different places I´m considering:
A) "Stiffness" in the particle Bind operator
B) "Stretch" in the particle Bind operator under "Break"
C) "Stiffness" in the particle physics operator under "Collision force".
3.  Does it make a difference in for the voxelisation, if I just stack three spheres on top of each other, or if I create a connected, closed mesh?
4. Right now the collision sphere is just crudely hand animated.
Ideally I´d like it to be a dynamic rigid body, interacting with the snowman. How do I generally go about this kind of setup? (one flow interacting with another one)

Hey nice test!

Quote:I want the grains not to react to gravity, before the sphere hits it. I put the sphere as a collider in the birth even, added a physxSwitch and set it to dynamic sleep (and also tried kinematic) and then in the second event I set it to dynamic wake. But gravity still starts in the first event. What am I doing wrong here?

The PhysX operators are only compatible with the PhysX solver. Mixing Particle Bind operators and PhysX operators won't work the way you're intending.

You do pose an interesting question though....how to allow particles to remain static until triggered by something, like a collider? It's actually not an easy question to answer for a variety of reasons. For example, when the snowball hits the head of the snowman, you'd normally want the reverberations of the impact to affect the entire snowman, as he breaks and falls apart...but how does a particle at the base of the snowman know that a particle in his head was hit by something? Somehow they have to communicate.

Currently, you could try adjusting the sleep settings in the Particle Bind Solver rollout. Make it sliiiightly greater than the strength of your gravity. This should cause particles to sleep until moved by a force greater than gravity itself - ie, the snowballs. The particle will fall asleep again if their velocity goes under that threshold, but you can keyframe that value in case you don't want sleeping to come on so strongly after the impact.

Quote:I´m trying to make the snow stickier, so it breaks off in bigger chunks


Creating chunking effects like that can be done in a variety of ways. The most effective is probably using a particle clustering workflow. Basically, you create a Cluster operator and adjust the settings so that particles are grouped into smallish "clusters". Then, you have two Particle Bind operators....one that binds particles in the same cluster with strong and hard-to-break bindings. And one that binds particles in non-same clusters with weak and easy-to-break bindings. The Particle Bind operator contains cluster settings for specifically this purpose.  The overall idea is that as binds break due to strong forces acting on them (like an impact), the clustered chunks maintain most of their shape while the bonds between the chunks break faster, giving a more chunky look to the sim.

For a material like snow, you can also enable cohesion forces in your Particle Physics operator....keep the value verrrry small, but it will cause particles to slightly stract and cohere to each other...similar to wet snow or sand. You'll have to experiment a bit to get the right look.

Eventually I'll add some example files showing how to do this.

Quote:Does it make a difference in for the voxelisation, if I just stack three spheres on top of each other, or if I create a connected, closed mesh?

Nope, the Birth Voxels operator should prevent overlap even between multiple voxelized objects (there's a checkbox for that in the settings).

Quote:Ideally I´d like it to be a dynamic rigid body, interacting with the snowman. How do I generally go about this kind of setup? (one flow interacting with another one)

You could either make your snowball a part of the Particle Physics sim (which is probably what you'd want...so it has the potential to break up as well), or simulate everything in a separate flow, set that flow to have a mesh and then import it as a collider in your snowman flow.


RE: Do you wanna build a snowman? (I do, but I have some questions...) - insertmesh - 04-03-2019

Quote:The PhysX operators are only compatible with the PhysX solver. Mixing Particle Bind operators and PhysX operators won't work the way you're intending.

Ok, thats good to know. I was thinking that might be the case...
Quote:You do pose an interesting question though....how to allow particles to remain static until triggered by something, like a collider?

just to make sure: Physx sims DO work like this though, that you can simply switch them off in one event and switch them on once they get triggered by a collision or something else, right?


Quote:It's actually not an easy question to answer for a variety of reasons. For example, when the snowball hits the head of the snowman, you'd normally want the reverberations of the impact to affect the entire snowman, as he breaks and falls apart...but how does a particle at the base of the snowman know that a particle in his head was hit by something? Somehow they have to communicate.

Ok, generally I´d tackle a grain sim like a fluid sim then: Have it settle for a couple of frames (if there is gravity present) and then start my dynamic stuff frmo there on, that would get rid of that problem. In case of the snowman I´d want the inital frame to be rather stable though, so I´d probably crank up the stiffness much higher to have it "melt" less, when effected by gravity. (maybe you could still elaborate wether particle bind solver steps is enough or the other settings I mentioned have to be taken into consideration as well). or possibly do something with the clusters.


Quote:Currently, you could try adjusting the sleep settings in the Particle Bind Solver rollout. Make it sliiiightly greater than the strength of your gravity. This should cause particles to sleep until moved by a force greater than gravity itself - ie, the snowballs. The particle will fall asleep again if their velocity goes under that threshold, but you can keyframe that value in case you don't want sleeping to come on so strongly after the impact.

Hm, not sure if this is working for me...gravity is about 0.25 here, so I set "Velocity thresh" and "Wake thresh" to 0.26, but the snowman still starts melting...

Quote:I´m trying to make the snow stickier, so it breaks off in bigger chunks



Quote:Creating chunking effects like that can be done in a variety of ways. The most effective is probably using a particle clustering workflow. Basically, you create a Cluster operator and adjust the settings so that particles are grouped into smallish "clusters". Then, you have two Particle Bind operators....one that binds particles in the same cluster with strong and hard-to-break bindings. And one that binds particles in non-same clusters with weak and easy-to-break bindings. 

Gotcha. Still a bit fuzzy on the "hard-to-break" bindings part. is that basically just the stiffness value in the particle bind op (in combination with the steps)?
And how do I distinguish between the cluster binds and the in between cluster binds in two particle bind ops?
lets say I set the clusters to channel 1, do I then simply set the "strong" particle bind ops clustering channel to "1" and leave the "weak" particle bind op to "0"?
Or do I have to turn off the clustering in the "weak" one?


Quote:For a material like snow, you can also enable cohesion forces in your Particle Physics operator....keep the value verrrry small, but it will cause particles to slightly stract and cohere to each other...similar to wet snow or sand. You'll have to experiment a bit to get the right look.

How do I do that? I can see the "enable particle attractions" checkbox, but I don´t know how to change the cohesion force...

Quote:Eventually I'll add some example files showing how to do this.

Yep, Examples are the best.



Quote:You could either make your snowball a part of the Particle Physics sim (which is probably what you'd want...so it has the potential to break up as well), or simulate everything in a separate flow, set that flow to have a mesh and then import it as a collider in your snowman flow.

Yeah, I can think of both cases...Snowball seems to be the easier one.
I thought of a cannonball goin through it, so I tried to creata an extra tyFlwo for just the cannonball and picked that as a collision object in the snowman sim, but that didn´t work...


RE: Do you wanna build a snowman? (I do, but I have some questions...) - insertmesh - 04-04-2019

Ok, another day, another try, figured it out I think:

For the clustering to work:

1. create cluster op, set it to channel 1 (Tip: Tick "Visualize clusters", great help!)
2. Create two particle bind ops.
3. Set one to have strong stiffness (not sure if thats necessary) and tick "Enable Clustering"
4. Set the clusetering channel to 1.
5. Set the other particle bind op to have weak stiffness (again, not sure if necessary).
6. untick "Enable clustering" for that one.
7. Voila! 

ty, please correct me if thats wrong or should be done differently! Maybe it only looks like its working, because I don´t quite understand:

A) How do particles get sent to particle bind op 2? Are particles that break from particle bind op 1 (the one with clustering enabled) automatically sent out and particle bind op 2 (with clustering diabled) picks them up?

For the "cannonball" to work:

Thats really simple.
1. Create your cannonball shoot and bounce sim (I actually just did normal force and collision without physx for this)
2. Make sure to have a mesh op.
3. And this was the problem: Make sure to UNTICK "render only"
4. Voila, now you can pick that flow in the grain flow as a collision object.

Of course, this is only a one way interaction, the cannonball doesn´t get slowed down by the grain sim, which works for me in this case.

If I would want two way interacion, I would probably try and just add the cannoball to the grain sim, give it strong stiffness and disable breaking and then possibly just skin the original sphere to that part of the sim.

And if I want it to be a snowbal, I´d just enable breaking in the particle bind op etc.


RE: Do you wanna build a snowman? (I do, but I have some questions...) - insertmesh - 04-04-2019

next on my to do list:
Figuring out how to add carrot nose and coal eyes and stick arms...Wink