5
$\begingroup$

For the past couple of days, I have been breaking my head to solve this issue.The problem is that whenever a raindrop in my scene falls to the ground it doesn`t make a splash(the raindrops are emitted from the plane at the top) enter image description here

So basically I made the splash by using planes with the texture of an image of a splash like this and put them into a collection by pressing 'ctrl+G' enter image description here

Then I added a particle system to the plane on which the raindrops falls. I used the hair particle type, not the emitter.

enter image description here

And I made the object to render as a collection and then I chose the instance collection as the collection of the 'splash' planes.

enter image description here

Next, I added a new texture>went to the texture properties tab>added all the images of the wet map I created using Dynamic print physics(this makes the raindrops leave a white mark on the floor and then fade away after some time). enter image description here

Something like this enter image description here

Then I checked the 'cyclic' and 'Auto-refresh' options,changed the mapping coordinated to UV,selected the map and under the influence I selected the 'density' option instead of 'general time'

enter image description here

enter image description here

And when I play the animation the planes with the splash texture stays stationary throughout the whole animation.

The link to the tutorial I am following in youtube

Download the blend file over here

Update

enter image description here

$\endgroup$
1
  • $\begingroup$ Comments are not for extended discussion; this conversation has been moved to chat. $\endgroup$ Commented Oct 16, 2021 at 22:29

1 Answer 1

6
$\begingroup$

There are some known old bugs in the particle system and this seems to be one of them. The distribution of (hair) particles with image textures is kinda bugged.

When you use an Image Sequence to distribute the particles it looks like Blender uses only the current image at the current frame only at the moment when the particle settings are updated to calculate the possible spots for the particles. This calculation is not updated when the animation runs.

For the rain example here this means, when you're at frame 1 there are no particles hitting the road and the density texture is empty (=black). In consequence, you will see no splashes for the whole animation because Blender used the first empty image for the whole animation to calculate possible spots for the particles and never updated it.

On the other hand, when you're for example at frame 130 and update the particle system by changing something then Blender uses the 130th image of the sequence to distribute the splashes. This image has some white dots on it and is used for the whole animation. In consequence, you will see only around frame 130+ a few splashes because here the images have some white spots (=density weight for the particles).

The bug also causes to freeze the particle splashes now and then during the whole animation.

The mowing/shaving animation I made a while ago worked because it starts with a full density image. At least as long you're at frame 1 when you change things. The problems then occur at higher frames.

How to Fix the Animation with the Bug?

Knowing this is quite simple to prevent the bug.

  • in the timeline go to a frame where you have a full density map = a white image = "frame X". If there is no such a frame (like in this rain example here) then just paint the first image completely white and go to frame 1 (="frame X"). For the final animation, you will drop this dummy frame, of course.
  • make sure you have enough particles. It looks like Blender distributes them all at the moment of the update and then filters them with help of the images sequence when the animation runs. Even if there are only 500 filtered particles visible at a given time you need all e.g. 50000 at the beginning of the calculation.
  • update the particle physics by disabling and enabling it immediately again in the viewport by clicking the "eye" icon
  • if you need to change the particle system repeat these steps to initialize it properly

Example: Preparation for the particle update

Go to frame 1 at the timeline. Make sure there are 50,000 particles and image 1 is painted completely white. Then disable and enable the particle system in the viewport to see all particles at the same time. This state Blender will use to filter/manipulate the particles with help of the image sequence. preparation for the particle update

Example: Testing the animation

The setting Texture Settings > Influence has [X] Density and [X] Hair Length enabled. Run the animation. Here is frame 47 of the animation, the particles are visible and animated :-)

frame 47 of the animation

Wet Road on a Rainy Day Animation

First, the particles are selected to see the planes. Then they are unselected to see the final animation:

wet road on a rainy day animation

$\endgroup$
4
  • $\begingroup$ Thank you so much but it still isn`t working for me :( I think I am doing something wrong. I have updated the current status of my project after following your method.Could you share your file that you modified so I can correct my project $\endgroup$
    – Ribbit12
    Commented Oct 21, 2021 at 14:34
  • $\begingroup$ Oh darn! Here is the file: drive.google.com/file/d/1A3KnTt0BoJeWFUa-TSXOr0Lnhu9Pfqjx/… The images are not included because it's 900 MB. Try File > External Data > Find Missing Files to fix the path. Hope that helps! $\endgroup$
    – Blunder
    Commented Oct 21, 2021 at 17:12
  • $\begingroup$ great!thanks so much $\endgroup$
    – Ribbit12
    Commented Oct 22, 2021 at 1:07
  • $\begingroup$ @Blunder ... Holly goodness !!! All those years of pain just for a "white frame" ??? It hurts even more now :) Thanks for such discovery. I'm going to test with Vertex Weight ... $\endgroup$
    – vklidu
    Commented Jul 5, 2022 at 10:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .