Easy to use realistic camera lens raindrop animation post process effects.
RaindropFX Pro is updated to Version 2.00
RaindropFX Pro 2.0 for HDRP is released! If you have purchased standard pipe version (2.0), you can send me a email with your purchase number to get HDRP version for free!
Added
Radial wind;
Tint color for droplets;
Accurate foreground droplet blur;
Stable object space version;
Better visual quality of object space version;
Batches are reduced by 5 from the previous version when there are no more droplets in the scene.
Fixed
Error with null raindrop texture;
FPS dropping down even when there are no drops on screen;
Enabling HDR option of camera causes an error in object space version;
Object space version is now compatible with AURA2;
Hi!
RaindropFX PRO is integrated with Unity’s Post Processing Stack (V2), so you can use RaindropFX PRO with same features in everywhere you can use Post Processing Stack (V2). You can try Post Processing Stack (V2) with your SRP(HDRP/LWRP/custom) first, if it works, RaindropFX PRO will works, too.
Lite version (RaindropFX 0.5.0) does not support SRP (HDRP/LWRP/custom), it only support Deferred and Forward rendering and has fewer features (screen fog, wind turbulence …), but it can work without Unity’s Post Processing Stack (V2), and can work with older versions (5.3.4 or higher) Unity.
Hi!
There are two ways to achieve the desired results:
Set the magnitude of gravity and wind to 0.
Drops are divided into two types: static and dynamic. You can set the maximum number of these two kinds of droplets separately, so you can just set the number of dynamic droplets to 0, so that only static droplets can be generated in random positions on the screen.
Hi!
Thank you for your suggestions! Actually I’ve already finished a object space version plugin, use this version you can add RaindropFX effect to the surface of your 3D object with correct physical interaction, and here’s the preview:
But there’s still a lot of limitations such as:
1.Unity limits the maximum number of collider vertices to 255, so we can’t apply the effect to complex models at present;
2.In order to get the correct physical interaction, we need to do a lot of pre-calculations before running the game.
So it’s not easy to use at present. I’m still trying to breaking these limitations, but maybe I’ll release a non-physical exact version first, so we don’t need to consider the above limitations.
this is insane. how many scripts, textures, materials and shaders are there?
lets say i want to use this on windshield for a vehicle (with enough polys), how much process power does this need for that? (for dynamic rain drops in medium & heavy rain)
This is a developing version, in order to achieve physical accuracy, we need to pre-calculate a large number of physical information of the model surface and store them to look up tables, so as to achieve real-time simulation. In release version I will make things as simple as possible, maybe just drag and drop a script to your object, and every thing is OK.
As for simulation efficiency, if physical accuracy is not needed (droplets are directly generated in the random positions in the UV space and will not be converted into 3D droplets), simulation efficiency is independent of the number of model faces, only the number of droplets will have an impact on simulation efficiency. In the presence of 10,000 static droplets and 25 dynamic droplets, the frame rate is generally 350~400 FPS (i5-8400 CPU + GTX1050 GPU); But if physical accuracy is required (droplets are generated from a 3D particle system and are converted to 2D droplets in the UV space after collision with the surface of object. When they flow through the boundary of the object, they are converted back to 3D droplets), the increasement of model faces will lead to a huge reduction in simulation efficiency.
@zhongtianhu
When I use it in the editor in play mode everything works fine. However, when I create a build and start it, the whole scene isn’t visible anymore (Only Canvas objects are visible). What could be the problem?
Hi!
I think here is the solution for your problem:
1.The problem is mainly caused by the ‘Shader.Find’ API by Unity, custom shaders will not be included into the player build if nothing references it.
2.So first you can try to go to ‘ProjectSettings->Graphics’ in your Unity editor then add all the 5 shaders of RaindropFX (located at : RaindropFXPro/Shaders/HDRP) to ‘always included shaders’, then rebuild your game and try it again.
3.If you try to build an apk for Android platform, you can try to do the following:
File → Build Settings
Click “Player Settings”
Navigate to the Android tab
Unfold the “Other Settings” menu
Uncheck “Auto Graphics API”
Remove OpenGLES2 and Vulkan graphics API’s
Set the Minimum API Level to be greater than Android 4.3.
Hope it can help you
Hi!
I’ll upload a preview version in the next month. But I don’t have time for rigorous testing of this version now, so it may not be stable. If you already use RaindropFX in a formal project, upgrade carefully.
Updates include:
· Non-physical accurate version of the object space version solver;
· Completely refactored raindrop solver core;
· Batch image renderer, which can be used to render droplet sequences onto a set of user-defined input image sequence;
· Online document.
That sounds great.
Mark the object space version as beta.
I am happy to support you with all kind of tests.
Your object space version will be an addition for this one i am working on.
This one is more for wheel interaction with wet ground.
However i tried an whiper here to. See floor cylinder.)
Hi!
It’s very kind of you to help me do the test! If you find any problems, you can post them here directly.
Your test video looks great! The current version of RaindropFX to be released is a non-physically accurate version (completely based on UV space), when using this version, you need to pay attention to the UV of your wheel model (which will affect the flow direction of water droplets). I will elaborate on it later in the documentation.
Hi. That will be fun.
I would like to combine your screenspace version the with the clearcoat of my carpaint and the windscreen glas.
All exterior surfaces have clean uv s.
The most fun will be the optimisation for larger surfaces.
But there will be solutions.)
Hi!
Thanks for your suggestions! That sounds interesting to add some LOD feature to RaindropFX, I’ll try it.
As for SDF, does it means to convert the model into voxels and then carry out collision detection? However, in this way, it may be difficult for us to get the UV coordinates of the model corresponding to the collision points, and for the objects with mesh animation, the voxelization consumption per frame will be relatively large.
I am just looking videos…could be nice to add a couple of things to be able to use it with car windshield/ wipers
Option to select an axis/point for wind split effect, so drops moves in a realistic way.
Option to clean window with a wiper, record with an auxiliar camera the movement of the wiper, and store in a texture when the wiper object writes to the Z, setting a value to 0 and increase the value to 1 with the time…
Use this auxiliar texture to filter effect, and clean it.
I was trying to implement something like this, but i am busy with many others things