Particles and dynamics

joel ruiz c

Active member
Hello, there was a thread about this subject but didn't see an answer in it, just example renders.

I don't seem to be able to get particles interact with other objects, only with effectors, but I would like for particles to "hit" objects and bounce, or stay inside a bowl (as in a cereal bowl for example), but I haven't found a way to do this, and if it is possible to do this with any type of particles (emitter, array, etc)

The manual is not explicit about it.

TIA!
 
From what I remember the particle emitter produces particles that don't interact, so there will be no collisions between them.
But the other particle systems (array, mesh & spline) will produce interactive particles after you turned them into a particle object with a double click (similar to making a polygon object editable, indicated by a change in icon type).
Then you need to attach a rigid body tag to the particle object to make the particles ready for dynamics.

What can be done with them you can explore in the menu Help/Cheetah3D Samples/Dynamics.
 
Oh I see! thanks for the explanation @misoversaturated, I couldn't find that in the manual (the double clicking part). Too bad particle emitters can't interact, it's a serious limitation, maybe it could be in the wishlist if it isn't already (edit: just bumped an existing thread).

cheers
 
Just explored this further:
- I set up a particle emitter with a ball particle (r=0.1)
- When hitting play, balls begin to emerge out of the emitter rectangle and move all together along the z axis
- I can stop that any time, double click the emitter and assign a rigid body tag with negative z initial velocity
- then set gravity to zero in dynamics preferences, set frame to zero too, clear initial state and hit play
- particles continue to move along, but overlapping ones will spring apart and cause the cloud to expand
 
I'm currently struggling with a related issue.
I'm fine with using deflectors to repel my emitted particles, but it appears only the "half space" deflector works properly. All the others make no sense to me - perhaps anyone has some input regarding that?

For instance a cone deflector (inverted or not) will not bounce particles off its cone shape (which is what I need for my current project). Instead they enter the cone and are deflected if they hit the infinitely small center of it (meaning most particles just fall through), and even then they don't deflect according to the geometry of the cone, but seemingly randomly.

Am I misunderstanding how these deflector types are intended to work, or are they buggy?

Right now my only work around to have particles bounce of a spaceship, I need to either produce them without the particle emitter, or use half space deflectors as polygons to remodel the shape of the ship's nose...

Thanks for any insights you can provide!
 
Last edited:
Hey, Fran, thanks for making me research this!
It's seems, I'd say, counter-intuitive the way the deflectors work.
But …
Based on the tests I just did, I'd say that, as far as "working as expected", if there were no 3D geometric options for the deflector tag, I'd say they do kind of work as expected, that is,

A "half space" deflector (which perhaps should be called something like "limited planar") only deflects those emitted objects that "make contact" with its (by default, x and z) 2D geometry;
The "unlimited" deflector ("unlimited planar" probably a better label) is unlimited in its (by default, z) deflection. Rotating either of these (in x or z) will change the deflection as one would expect light (reflections) bouncing off a mirror, or billiard balls off the rail (no English!) - that is, angle of incidence = angle of reflection.

Now, we can get into the weirdness of the 3D geometric deflectors.

Let's just take the cone, since you singled that one out.

I found that the cone's "middle" plane acts much like the "half space" deflector, in that when emitted objects hit its circular plane, they deflect (or don't, seemingly based on something I'll get to in a sec), and if they do not "hit" that plane, then they fall right on through (I'm basing this on all tests done with objects emitted downward and deflectors by default pointing upward).

Fine.
So it begs the question, why is it shaped like a cone, then? Well, for one thing, you get that circular plane instead of the rectangular in the "half space" …
So I did a test: I scaled the cone deflector in the y to zero so that it was completely flat - and guess what? No particles deflect; they all pass through. If I scale it up a little, I don't see deflections until I get to around .5, regardless of how many particles are emitted. Interesting. And as I increase the y scale of the deflector, it deflects more and more.

So there does seem to be some logic to it, and I can see how these can be used in certain situations.

However, if I'm doing something that actually needs objects to bounce off other objects, I'm going to use 3D geometry and not use emitters/deflector - I'm going to use dynamic/rigid rigid body tags and Dynamics.

I hope this makes sense - I definitely have a better understanding of using emitters and deflectors since you posed the question, so thanks again. I enjoy learning stuff.

-CG

I'm currently struggling with a related issue.
I'm fine with using deflectors to repel my emitted particles, but it appears only the "half space" deflector works properly. All the others make no sense to me - perhaps anyone has some input regarding that?

For instance a cone deflector (inverted or not) will not bounce particles off its cone shape (which is what I need for my current project). Instead they enter the cone and are deflected if they hit the infinitely small center of it (meaning most particles just fall through), and even then they don't deflect according to the geometry of the cone, but seemingly randomly.

Am I misunderstanding how these deflector types are intended to work, or are they buggy?

Right now my only work around to have particles bounce of a spaceship, I need to either produce them without the particle emitter, or use half space deflectors as polygons to remodel the shape of the ship's nose...

Thanks for any insights you can provide!
 
Last edited:
Thanks to both of you! While not really satisfying, the workaround using an array works, with the rather annoying limitation that all the particles already need to exist and be placed manually rather than being emitted and deleted dynamically.

crgreen, very interesting insights - but also confirmation of my confusion... I can't imagine this behaviour is really intended, with the collision behaving differently depending on scale. Perhaps an unnoticed bug that was unintentionally caused during some overhaul or feature update. I imagine they must have worked more logically when they were originally conceived.
 
I agree that it‘s not ideal. Particles are, in essence, in a different “universe” than the dynamics system so you can either have the cool interactions or the lightweight convenience. Sadly you can’t have it both ways.
 
Hello, I've been watching/scouring this forum for some time and I'm left with posting this question to you wizards:

How may I build out a 3d wave array of the following, attached? I'm really trying to land the mechanic of building out this uniform wave--just the array wave mesh.

I've tried multiple methods and, while I get close, I get a messy rendition by using an animated still frame. In comparison, it's possible to retrieve this in a node-based geom program like blender. Is this possible in Cheetah?

Cheers for your time and consideration.
 

Attachments

  • analytics.jpg
    analytics.jpg
    392.7 KB · Views: 111
Hi Jesse
* Something like the attached deformed particle mesh is easily achieved by deploying a suitable modifier to the base of the particle mesh (which is a simple subsectioned square). Animating a progressing sinoidal wave should be a bit fiddly and laborious but possible with some experimentation and key framing.
:mad: There is a Java script which allows floating a mesh onto a spline (which would be a plain sinus wave in this case) but unfortunately my tests seem to indicate that this does not function with a flat / planar mesh. I just get a beachball as the script appears to be stuck in an loop.
:unsure: I will try to re-check this later on when I have more time...

Screenshot 2023-04-08 at 08.07.35.png
 
* Somehow I got this Java script to work. As mentioned in the posting #13, it is used to distort a C3D mesh along the curvature of a spline. This is then used as a base for a particle mesh.
* As a result you get a square set of items which are following a sinoidal curve.
* No idea, if this can be used in your project.

Screenshot 2023-04-08 at 10.46.56.png
 
I KNEW this group could deliver in pointing me in the right direction.
TY Helmut and Frank. I'm going to dig into this, now.

Cheers
 
Hi Jesse
* Something like the attached deformed particle mesh is easily achieved by deploying a suitable modifier to the base of the particle mesh (which is a simple subsectioned square). Animating a progressing sinoidal wave should be a bit fiddly and laborious but possible with some experimentation and key framing.
:mad: There is a Java script which allows floating a mesh onto a spline (which would be a plain sinus wave in this case) but unfortunately my tests seem to indicate that this does not function with a flat / planar mesh. I just get a beachball as the script appears to be stuck in an loop.
:unsure: I will try to re-check this later on when I have more time...

View attachment 39308
Fantastic explanation. :love:
 
Back
Top