particle collision

   25340   12   1
User Avatar
Member
32 posts
Joined: July 2005
Offline
Hi folks,
i tried to collide a sphere with some particles but it doesn't seem to work. I have particles generated from a grid in a way, that the particles form some sort of wall. Now I want an object falling against this particlewall and pushing the particles away. How can I achieve that?
User Avatar
Member
639 posts
Joined: July 2005
Offline
hi,

There are a couple of ways you can do this in Houdini.
Sometimes, you may just have to increase the resolution of your model. Sometimes, you may have to check your surface normal to make sure it's pointing the correct direction. Other times, you may have to play with the “Collision Tolerance” in your Collision POP or check that “Geometry Moves with Time”

Now, what happen in your “Collision Tolerance” is that POP needs to calculate the point position of the particles on every frame, and they're dependant upon the previous frame to calculate other attributes in order to know the current frame position. And because under certain particle speed, the particle may escape collision on certain frame, thus the particle couldn't detect the collision happening for some particles, that's why you'll see that certain particle seems to have passed through the collision geometry. SO this Collision Tolerance is that it will offset the, well… collision tolerance/collision distance in order to detect the possible collision. Of course, the down side to this is that under certain circumstances, it may look like the particle has collided before it actually hit the surface.

If you can't afford a dead accurate particles collision, you can always kill the particles that passes through the sphere and leave the bounced particles alone.

You may also want to check on the “Gain Tangent' and ”Gain Normal" in your Behavior tab of Collision POP. This will depend on the surface normal to tell which direction the particle would go when it's collided.

HOpe that helped.

Cheers,
ALex
User Avatar
Member
32 posts
Joined: July 2005
Offline
The problem is, the ball hits no particle at all.
I used a grid as the source with random surface emission type. I pluged this source into a collision node. The collision Geometry is a poly sphere with a spring node with external force. The collision node is set to bounce.
So the sphere hits nothing. What am I doing wrong?
User Avatar
Member
32 posts
Joined: July 2005
Offline
OK, found something. It doesn't seem to work with the spring SOP attached to the ball.
User Avatar
Member
7710 posts
Joined: July 2005
Online
Off the top of my head, try turning on Geometry Moves with Time in the Collision POP.
User Avatar
Member
32 posts
Joined: July 2005
Offline
I have that one turned on of course.
No, I suppose the problem lies in the spring SOP. The motion of the collision object is driven by this SOP. When I use a xform SOP the collision works, but not with the simulation.
It's not that important, but does someone know why collision doesn't work with simulated movement?
User Avatar
Member
32 posts
Joined: July 2005
Offline
Short question, related to that. How can I bake simulated movement into function curves?
User Avatar
Member
51 posts
Joined: July 2005
Offline
hi draetsch
i myself am just learning particles so hopefully there may be a better way.
but you could
*simulate a sphere with the springSOP, keep the sphere a primitive
*create a nullOBJECT and use the point() to extract the t parameters onto your null
*go into CHOPs and use a fetchCHOP and grab the nulls t* channels
*then export these to another sphere, the one you will actually use for the particles collision
*in POPs use this second sphere as you collision object

i tried this and it worked for me.
try locking the fetchCHOP to ‘bake’ the results
User Avatar
Member
32 posts
Joined: July 2005
Offline
How do you extract the translation data to the null? I don't get this point.
User Avatar
Member
51 posts
Joined: July 2005
Offline
keep the sphere you are simulating a primitve so it only has one point. you could simulate it in POPs if you like for more complexity/flexibility or in the springSOP.
now with the null, stay in the OBJECT level and in the tx parameter type in the expression : point(“/obj/geo1/pop1”, 0, “P”, 0) - obviously here i have used POPs to simulate, just go to were your simulated point is……
in the expression, the first 0 is the point number you are extracting from, the “P” is the position attribute, and the last 0 is for the translate parameter,
for ty, substitute the last 0 with 1( for y) and in tz use 2 (for z).
look this up in the expressions help guide. sorry i don't have houdini in front of me at the moment so check this just in case i am incorrect in any area.
now the null will have the simulation for it's translate parameters. of course this could have been the actuall sphere you want to use for collisions. i just simply used a null for the experiment as i was trying some other stuff out with it as well, you could use this expression anywhere to grab these parameters.
anyway, this is the way i grabbed the simulation, and would then be able to use a sphere with these parameters for a collision, which yes wouldn't work when simply using the simulated sphere.
i hope this helps,
look at CHOPs for more madness, but i guess not really needed in this case….maybe i shouldn't have mentioned it originally. but like i said i was just fooling to see what i could do with it…oh yeah, just remembered you also wanted to bake the simulation. i used the fetchCHOP to then grab these parameters and then locked it so i could re-use them whenever on any other object. CHOPs is pretty damn great, have a look at it.
User Avatar
Member
32 posts
Joined: July 2005
Offline
Yeah, that works fine. Very special thanks to that. One last question. How do you import geometry into POPs? I only found the source POP but that is only for particles i thought.
User Avatar
Member
1631 posts
Joined: July 2005
Offline
Hi there,

You don't import geometry into POPs, you reference them instead. Are you trying to setup particle collisions?

In the Collision POP, you can use the Object & SOP parameters to reference the collision geometry of your choice.

I hope the above helps!

Cheers!
steven
User Avatar
Member
32 posts
Joined: July 2005
Offline
Yeah, that helps very much. Thank you all.
  • Quick Links