Hi, I’m making a water material and I wanted to make some faked caustics on the bottom. What’s the best way to do them? I tried with spot light but my map is huge and I can’t use a single spot light. I also tried with a directional light and the effect is perfect but caustics are also projected on the surface so it’s useless. Is there a way I can set visible my caustics only when they are under a certain height or things like that?
you can just add scrolling caustics map into water material with bump offset to make some depth for it.
I searched bump offset and I saw it’s used to add depth on a material, a sort of cheap tessellation right? How can I use it for faked caustics?
it makes some depth offset for texture according to camera position/angle.
in case of water caustics you should simulate that caustics is on the floor.
for example:
then you need to blend (lerp) it with water base color/foam/etc…
but if you really want to make caustics on the underwater meshes, so…
- you must project caustics texture with world position coordinates, where you can set water level and mask caustics by it.
- underwater material must have no reflections/specular.
- it should be wet, so on little height above water your material must be darker and reflective.
here I’m using vertex color paint, to specify wet areas. It’s not ideal solution, but enough for me