Fake Water Shader
Testing “fake” water shader & trying to make a nice looking river scene (with unity free version..)
- Terrain textures & stones are from: Advanced Terrain Shaders v2
- Terrain modeled with heightmap, imported to Unity with mTerrain
- Unity Terrain + normal flat mesh plane for the river
- Custom “water” shader: Kind of fake reflection/refraction look by using 2 textures (*image#2)
- UV anim + Weird Waves “DepthBlur” or Refraction (?)
- Problem: Cannot see through the water at all..
Ideas / Todo/ItWontWork:
- Perlin noise for the waves?
- Normal / Vertex Bump/Displacement?
- Extra Texture layers (one more thin surface fx? more visible river bottom texture?)
- Cubemap reflection?
- Distance Blur?
- Interactive object-on-water fx? (water texture color based on object distance? animated ripples coming out from the object?)
- Sides should have slower speed + less sky reflection + more ground color (transparency?)
- Add particles for water splashing (but a rock on the river?)
- Fake vignetting with unity free version? (screen sized plane, with vignette texture, drawn on top of everything?)
- Fake Caustics with caustics map?, heres a nice Caustics Generator
(below) Image#2 : Current water shader with 2 textures (12.02.2012)
(below) Image#3: Had to redo the shader.. couldnt make it work with 1 sided planes.. Now using 2 sided box.
Starting to get some see thru effects, just need to animated it and add the surface blurring again.
Made a quick cut on the terrain..doesnt look so nice (see the edges of the terrain near river), but enough for a quick test..
(below) Image#4: Notes
– Added Foam map (currently not moving and it looks like the river has thin ice and the water is flowing under it..)
– Added Cubemap reflection (not strong enough?..have to try fix that & need to find better cubemaps..
– Problems adding vertex waves, but actually rivers dont have “sea waves”.. have to try with moving normals..(?)
– Idea: Create Foam around objects (based on distance?..but then cannot have many objects to do that inside shader?)
– Added webplayer of this version (without the foam)
(below) Image#5 : Current water shader with 4 textures (13.02.2012)
– Water is more transparent now (Transparency is based on normals)
– Got few highlights on the water, just by doubling some color values, not sure how(?) (still would need more “fake light highlights”)
– Tried speedMask texture (middle of the river flowed faster than the sides..but that caused texture stretching problems)
– Foam map failed with speedMask texture (strecthing)
– Tried “BlinnPhong”, but that killed Cubemap..(?) so back to “Lambert”
– In the image there are few stones in the water, looks ok thru the water also
– Maybe needs extra highlight map, middle depth map (some junk flowing inside water..)
– Stone should have foam around it.. (failed to get distance to stone in shader, trying again later..)
– Added webplayer
33 Comments + Add Comment
Leave a comment
- Publishing to Android TV
- Publishing to Ouya (2016)
- Useful Settings for Visual Studio 2015 + Unity
- Open & Play MIDI Files with winmm.dll in Unity
- Play Midi Sounds with midi-dot-net dll
- Matrix Playground Shader
- Mecanim Simple Trigger Animation Example
- Get Angle Between 2 GameObjects in Degrees (0-360)
- [LudumDare34] Growing, Two Button Controls
- Random Steam Keys Giveaway (finished)
- Custom shader Transparency & Batching issues
- [Vuforia + XCode] CARWrapper.bundle specifies a non-existent file for the CFBundle