Hello there,
I am currently working on an underwater simulation in Unity. I had a look around for some caustic effects on the seafloor and it appears that the most common method is the use of projectors.
The method I came up with is the following:
I dropped a huge size 1000, orthographic projector to the scene and attached a “transparent/diffuse” caustic texture to it. I attached a simple animation script to it that moved the Offset of the texture around to make it dynamic. I then copied the projector two times, and because the animation script modifies the Material I also copied the Material using the same texture so that every caustic projector has one unique Material assigned.
It looks great:
I went ahead to make the terrain more interesting by shaping the landscape, adding some more ground textures and detail objects.
Now I’ve got a problem: when I move through the scene the caustic effect doesn’t show up in some areas.
Even weirder, NO caustic effect is shown when the Main Camera is inside such area - it’s like the projector suddenly turns off.
Any idea what is causing it? How can I fix it? What do you think of my method in general. Is it feasible?