Rain Drops on Glass in 3ds Max and Particle Flow
Today I’ll tell you about the method of creating drops after rain on the windows using Particle Flow. The method is noteworthy in that after tuning, you can easily change the pattern, as well as the number of drops. For Vray users, this method will be even more economical in resources than the same displacement if using Vray Instancer.
We will need some modeled drops. I made them as follows:
- 1) create a box and apply the spherify modifier.
- 2) Select half the sphere or a little less and align it to the plane.
- 3) slightly change the shape of moving the dots with the included soft selection.
- 4) we repeat everything several times until we get a set of 3-4 drops - this will be enough.
Next, create a PF Source and open the particle view in it.
I will explain the principle, and to save your time I’ll attach a file with a configured node to align the drops relative to the surface of our glass (it will be lower in the article, just add a file to the scene and the node will appear in the particle view window)
Prepare Particle Generation:
1) go to the Birth node - and set emit start -2, any other negative value is possible - this just means that our particles will start generation from -2 frames in order to be ready already for 0 frame. Well, we set emit stop to 0 - at frame zero we finish our generation.
2) We go into the Speed node - set it everywhere 0 because we do not need movement for a static frame.
So now the main thing:
1) To begin with, we will add a position object to our event node (it is responsible for placing particles on an object - on our glass).
2) In it, in the Emitter objects window, add our glass, for this, click the add button and select the glass in the viewport with a mouse click.
3) Turn on the Lock on emitter checkbox - so that the particles do not fly out of our PF Source, but are generated only through the glass, which is the emitter.
4) In the Location scroll, select surface from the drop-down menu because we want to multiply particles on the surface, and not inside the volume, or in any other way. After all, our drops are located only on one side of the glass.
5) Turn on the checkbox Density by material (let's talk about this a little lower, because it is connected with the material of our glass).
6) In the scroll if location is invalid - check the delete particles checkbox - in the future this will delete all the particles that erroneously arose in places excluded from generation by masking.
7) We take the file with the alignment node (attached here), merge it into the scene, then it appears at our place somewhere next to our event in the particle view window, it is called Align_particles (marked in blue where we need to place it - drag it it to the list of event nodes). It is important that it goes after the rotation node.
8) In the rotation node - be sure to set the Orientation Matrix - speed space, otherwise the alignment will not work.
A small note: The principle is the same, but the implementation for each render may be slightly different. To check whether our drops are aligned correctly, for example for Vray, while there are not so many of our particles, we can add a shape instance node - select one of our drops in it to replace the particles with it, then go down to the Display node and put the Geometry type in it - so that our particles are displayed in the viewport with geometry. So we can see if our particles are aligned correctly. If not, then look at which of the axes you need to deploy them. In my case, it was 90 degrees in X. In the rotation node, we rotate by the desired degree, along the desired axis. Further for Vray, the shape instance node can be deleted because it is more convenient to use the Vray instancer in the future (more on this below). And we do not forget in the Display node, after adjustments, put the display back on the dot or any other type that does not load our viewport.
9) You can add a Scale node to randomize particle size. You can increase the Divergence in the rotation node to randomize rotation, but you should not forget that our drops can rotate randomly along only one axis, because they are on the plane, and we don’t want them to penetrate through it at strange angles. Therefore, you can enable Restrict Divergence to axis - and put the unit in the desired axis along which we want to randomize the rotation. Other axes will remain untouched.
So our particle system is ready. In the birth node, increase the amount to the desired value (depending on how many drops you need)
It remains to deal with the material that controls masking - In paragraph 5 we turned on density by material - this function tells our particles to use the surface material as a density map. You might think - what card are we talking about if our glass is transparent? But for this there is a Use sub material function in which you can specify the ID of another material. Therefore, we will make a multi-material for our surface, in which the material with ID 1 will be the material of our glass, and the following materials, numbers 2,3,4, etc., will be any materials in the diffusion of which we will put our black and white particle masks. Accordingly, in the submaterial ID, in our position object node, we put the ID of the material that we want to use as a mask.
Here's what it looks like:
I will not dwell on the masks themselves because the main goal is to show the principle. Just show them an example:
Now you can use the Vray instancer - it replaces our particles with geometry. Its advantage is that you can use many objects for instantiation, and many particle systems.
1) Source objects - here we need to add the objects that we want to instransit.
2) Particles - here we add our particle system.
Before 3D Rendering, do not forget to apply separate material for drops. I made a regular refractive material with an IOR of 1.33 (water coefficient at a temperature of 0 to 20 degrees).
For the picture in the header, I used 5 particle systems. One for simulating condensate is very small drops, the other for large and medium drops. All systems used different masks, for a more interesting and reliable picture.
This method is just one of many. The main advantages are randomization and granularity:
1) You can quickly change the mask in the multi-material and the particles are redistributed.
2) You can not be afraid of close-ups, because all the drops are not fakes, but real geometry.
I dont want to talk about minuses, because it is very subjective, and depends on the render and the machine on which it will all be visualized.
How do you make drops?
Author's portfolio behance.net/Arkadiy_Katsuba