Lets try to create a collision detection for particles/ocean modifier?

During the creation of this video http://youtu.be/S9LtDzTeb_c?hd=1, I came up with a solution for the limitations from blender particle’s lack of support for animated texture, collision detection, animated vertex group and mask modifier. Back then, I did not have the time to make it better. So, now this is the first test of many to come, in an attempt to create a good method for particle emission from collision detection. I hope people here can learn my method, give me suggestions for a new one or help me improve it.

It uses most of the method I explain in here http://www.youtube.com/watch?v=EgjW0MOalg4&hd=1 but the mask modifier goes on the plane, not the cube, and there is no remesh.

I don’t have the time right now, but my next attempt will be using the dynamic paint to create texture and a displacement effect on the water, but only that, since blender won’t allow the dynamic paint to affect the particles. Something like this

1-create the ocean modifier or the part of the collision that will be still. and the other object that will collide.
2-create another mesh, roughly the same size and shape of that. It must be with a big subidivision of evenly spaced, this will be the collision detector. Create a vertex group, apply a vertex weight modifier to it, linked to the other object that will collide, so that when it gets close to the ocean, it will get a stronger vertex weight.
3-create another object that will go with the collider in movement. Maybe, parent it to the object. And apply a shrink wrap to the last object. this will be the one emitting particles.

There are many problems on this method:
-Slow - blender calculates a ocean, then another mesh with a lot of subdivision, then weight proximity, then shrink wrap, then another mesh, then… what I want to say is: this will make big simulations and complex scenes almost impossible.

-far from exact - The collision detection is limited by the subdivision or remesh resolution of the object. Finer simulation will make it more visible and require even higher subdivisions.

-No current way of influencing most particles direction and intensity. The force of the particles and its direction should be defined by the direction and violence of the impact. I “solved” this in my wave using textures controlled by the Z axis. There it was possible because usually the higher in the wave, the stronger the collision. But what about a boat? It will emit particles the same way, if it is stopped or moving. Just the moving of the object itself will influence the direction and force. But not how is it impacting the water or anything.

So… is anyone interested in this?

I filed bug reports regarding the lack of support for animated textures and mask modifiers and weight proximity modifier. They told me blender particle is not meant to do this right now. Those are known issues. So… I don’t think a sollution is going to come from the developers right now. It should be in our hands.

I guess I created a confusing title. I don’t mean collision with the particles. I mean detection of collision between 2 objects, and the emission of particles from this.

The particles are already colliding well enough with the ocean.

Ok, so, i have seen almost all your videos from the wave-bridge simulation and i think that i understand them (please, excuse me, im a little new to blender and never before i had used the modifiers: Mask - Vertex Weight - Uv Project or even the Simple Deform one, so im being a little slow understanding them) anyway, the boat video that you posted it’s the one that some months ago make me think in how to make the two objects interact (boat and ocean modifier) and it appears to me that the use of Vertex Weight it’s pretty clever, in that way i can control where the particles gonna origin, i will try this by my own but it’s gonna take me a while.

About the Dynamic Paint i have read somewhere that the main developer it’s working on a way to produce particles with the modifier but havent hear anything about recently.

You know, sometime ago i saw something like the simulation that you have done with the cube, but i thing he used a regular mesh and not the Ocean Modifier in the simulation, cant find the post or something related, again really, really thanks for the explanations here and hope i will be able to update my progress as soon i can.

By the way, excuse my horrible English.

  • JS

No problem, ask me anything you need. I am already impressed that you saw most of them. I thought no one would.

Just to make one thing clear; it’s not the vertex weight that will allow the particles to be emitted. Blender particles does not support vertex weight proximity, or almost anything animated or dynamic. Normally, if you just put a vertex weight proximity in an object, it will mess the particles, even if there is no relationship between them.

So, you need the other object, the one that will have shrink wrap applied to the object that is using the vertex weight. Only that will be able to emit.

In the file I show here you can see that. There are 4 objects. That should make it clear. The 2 colliders, the one with vertex weight and the other one emiting.

As for the videos, do you mean this?

I thought I knew how he did it. But now that I see… I don’t. How did this guy do it? Was it hand animated?

But maybe you meant this

I guess this one had the particles animated as a simple emitter linked to the sphere. No real collision detection for the particles.

Ok, i have been testing this technique and i have to read a little to understand the behavior of the modifiers (the vertex weight it’s really usefull, sadly you are right, the particles doesnt support dynamic weight maps, it would be really easy to make this kind of simulations if it do), to be honest i get a little confused when i tried by my own, thanks that you uploaded the file im understanding the simulation at it’s whole now (well, more or less).

And about the videos, i never have seen that before but it’s kind of cool, it looks like he used to sets of particles, the first one is the big foam (that to be honest looks like hand animated) and the second one the little foam, im not pretty sure how he did that, maybe with a circle/plane (emiting particles) with a shrinkwrap connected to the ocean and somehow he limited the movement to the Z axis ?? i dont know, just a guess.

The second one is the one that i was talking about, to be honest i cant see if there are some kind of collision detection (there are too many particles !!) so i will stick to what you said.

Ok, so, now that i can understand a little more the method i will re-read a little more about the modifiers and try to make a little more complex scene, but first im gonna make this same scene from scratch to make sure that i have understand it (my memory is terrible), again thank you very much and will update as soon as i make progress :slight_smile:

It’s my fault, I guess. I have difficult explaining simple things, let alone something this complex.
Though, the complexity is blender’s fault. Its infuriating that it has all the tools right there: vertex weight proximity, dynamic paint… yet you can’t really use them.

The video I don’t understand could be easily be done with this thecnique. But I doubt he created the same thing as I did. Other then that I don’t know how.

If you do anything or have any doubt, let me know.

Ok, good !! finally i really understand all, (wow, the mask modifier will be really usefull), i could recreate the scene from scratch not remembering by memory each one of the steps but following the logic of your method.

I tried to make a scene with a fluid simulation… and my computer crashed, it’s just too much geometry and when you make it dynamic, well, that’s another level.

Your method it’s really great and clever (if blender cant trake it, well, lets gonna create something (that we cant use and) that track what blender can track but cant use), thanks again for your explanation and your patience, i wanted to post something more complex with this methodology but my computer right now cant handle it :frowning:

Anyway, there it’s just two things to do, the first it’s try to optimize the technique depending of the scene, and the second…wait until the dynamic paint support the particle generation so we dont gonna have to need a supercomputer to create great, nice and complex scenes.

By the way, you have really cool videos on youtube !! Subscribed to your channel :slight_smile: