├── .gitignore ├── Assets ├── Standard Assets.meta ├── Standard Assets │ ├── Skyboxes.meta │ ├── Skyboxes │ │ ├── Sunny2 Skybox.mat │ │ ├── Sunny2 Skybox.mat.meta │ │ ├── Textures.meta │ │ └── Textures │ │ │ ├── Sunny2.meta │ │ │ └── Sunny2 │ │ │ ├── Sunny2_back.tif │ │ │ ├── Sunny2_back.tif.meta │ │ │ ├── Sunny2_down.tif │ │ │ ├── Sunny2_down.tif.meta │ │ │ ├── Sunny2_front.tif │ │ │ ├── Sunny2_front.tif.meta │ │ │ ├── Sunny2_left.tif │ │ │ ├── Sunny2_left.tif.meta │ │ │ ├── Sunny2_right.tif │ │ │ ├── Sunny2_right.tif.meta │ │ │ ├── Sunny2_up.tif │ │ │ └── Sunny2_up.tif.meta │ ├── Water (Basic).meta │ └── Water (Basic) │ │ ├── Sources.meta │ │ └── Sources │ │ ├── Textures.meta │ │ └── Textures │ │ ├── Water fallback.jpg │ │ ├── Water fallback.jpg.meta │ │ ├── oceangradientcube.psd │ │ └── oceangradientcube.psd.meta ├── WaterTest.meta └── WaterTest │ ├── Materials.meta │ ├── Materials │ ├── W1.mat │ ├── W1.mat.meta │ ├── W2.mat │ ├── W2.mat.meta │ ├── prototype_checker_dff 1.mat │ └── prototype_checker_dff 1.mat.meta │ ├── Scenes.meta │ ├── Scenes │ ├── Scene.unity │ ├── Scene.unity.meta │ ├── StressTest.unity │ └── StressTest.unity.meta │ ├── Scripts.meta │ ├── Scripts │ ├── HUDFPS.cs │ ├── HUDFPS.cs.meta │ ├── Rotator.cs │ ├── Rotator.cs.meta │ ├── StressTest.cs │ └── StressTest.cs.meta │ ├── WaterTestShaders.meta │ ├── WaterTestShaders │ ├── ReflectiveBlendAnimated.shader │ ├── ReflectiveBlendAnimated.shader.meta │ ├── ReflectiveBlended.shader │ ├── ReflectiveBlended.shader.meta │ ├── ReflectiveFakeDepthAnimated.shader │ ├── ReflectiveFakeDepthAnimated.shader.meta │ ├── Simple.meta │ └── Simple │ │ ├── WaterBlended.shader │ │ ├── WaterBlended.shader.meta │ │ ├── WaterBlendedSpecular.shader │ │ ├── WaterBlendedSpecular.shader.meta │ │ ├── WaterSimple.shader │ │ └── WaterSimple.shader.meta │ ├── textures.meta │ └── textures │ ├── day1.cubemap │ ├── day1.cubemap.meta │ ├── ground.jpg │ ├── ground.jpg.meta │ ├── prototype_checker_dff 1.png │ └── prototype_checker_dff 1.png.meta ├── LICENSE ├── ProjectSettings ├── AudioManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshLayers.asset ├── NetworkManager.asset ├── Physics2DSettings.asset ├── ProjectSettings.asset ├── QualitySettings.asset ├── TagManager.asset └── TimeManager.asset └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | [Ll]ibrary/ 2 | [Tt]emp/ 3 | [Oo]bj/ 4 | [Bb]uild/ 5 | 6 | # Autogenerated VS/MD solution and project files 7 | /*.csproj 8 | /*.unityproj 9 | /*.sln 10 | /*.suo 11 | /*.user 12 | /*.userprefs 13 | /*.pidb 14 | /*.booproj 15 | 16 | #Unity3D Generated File On Crash Reports 17 | sysinfo.txt 18 | -------------------------------------------------------------------------------- /Assets/Standard Assets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe8140aa23c1ef441ae752260f323cb7 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 77bd54cc397d50a4995e3d3d8c18916b 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Sunny2 Skybox.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/Standard Assets/Skyboxes/Sunny2 Skybox.mat -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Sunny2 Skybox.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: da976b1a4f7ebb949b0f71341e4f1821 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8a8ff6fbf29f75744a46fa022b108967 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a0b3fd2a2e13724e9bfe5f3405b8bac 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_back.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_back.tif -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_back.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ef26a39a400bec44a36b85fd38a2d65 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 512 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: 0 30 | wrapMode: 1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: 0 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_down.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_down.tif -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_down.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e58d7769af939f944aa34c67b70e282b 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 512 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: 0 30 | wrapMode: 1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: 0 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_front.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_front.tif -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_front.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be7c377d128f1ff46a22853ecdb9e6d1 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 512 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: 0 30 | wrapMode: 1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: 0 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_left.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_left.tif -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_left.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16dd8248d31591f4fbea40ca5d506411 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 512 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: 0 30 | wrapMode: 1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: 0 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_right.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_right.tif -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_right.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5861c55756febc148902667397405ff9 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 512 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: 0 30 | wrapMode: 1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: 0 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_up.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_up.tif -------------------------------------------------------------------------------- /Assets/Standard Assets/Skyboxes/Textures/Sunny2/Sunny2_up.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: db6ded423daf6e449ac50a3e1f99a36a 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 512 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: 0 30 | wrapMode: 1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: 0 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Water (Basic).meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 91e1f51025255a445b4c16591da9645c 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Water (Basic)/Sources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea0baa2c430d265499fa62484bed741a 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Water (Basic)/Sources/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa0e4a6dd0932fc45b35c8269f811e31 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Water (Basic)/Sources/Textures/Water fallback.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/Standard Assets/Water (Basic)/Sources/Textures/Water fallback.jpg -------------------------------------------------------------------------------- /Assets/Standard Assets/Water (Basic)/Sources/Textures/Water fallback.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2ef94ff9d11915d1100a04b44295342 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 2 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 512 26 | textureSettings: 27 | filterMode: 1 28 | aniso: 1 29 | mipBias: 0 30 | wrapMode: 0 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: 0 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/Standard Assets/Water (Basic)/Sources/Textures/oceangradientcube.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/Standard Assets/Water (Basic)/Sources/Textures/oceangradientcube.psd -------------------------------------------------------------------------------- /Assets/Standard Assets/Water (Basic)/Sources/Textures/oceangradientcube.psd.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98c330f39d11745ad0004adb8d76c639 3 | TextureImporter: 4 | fileIDToRecycleName: 5 | 8900000: generatedCubemap 6 | serializedVersion: 2 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | linearTexture: 0 11 | correctGamma: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapFadeDistanceStart: 2 15 | mipMapFadeDistanceEnd: 3 16 | bumpmap: 17 | convertToNormalMap: 0 18 | externalNormalMap: 0 19 | heightScale: .100000001 20 | normalMapFilter: 0 21 | isReadable: 0 22 | grayScaleToAlpha: 0 23 | generateCubemap: 3 24 | seamlessCubemap: 0 25 | textureFormat: 12 26 | maxTextureSize: 32 27 | textureSettings: 28 | filterMode: 1 29 | aniso: 1 30 | mipBias: 0 31 | wrapMode: 0 32 | nPOTScale: 0 33 | lightmap: 0 34 | compressionQuality: 50 35 | spriteMode: 0 36 | spriteExtrude: 1 37 | spriteMeshType: 1 38 | alignment: 0 39 | spritePivot: {x: .5, y: .5} 40 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 41 | spritePixelsToUnits: 100 42 | alphaIsTransparency: 0 43 | textureType: -1 44 | buildTargetSettings: [] 45 | spriteSheet: 46 | sprites: [] 47 | spritePackingTag: 48 | userData: 49 | -------------------------------------------------------------------------------- /Assets/WaterTest.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3206b0091fe44b3ca99b21ca46c971d 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c0f5f78b1a63c764b89d8a3dea3a0655 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/Materials/W1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/WaterTest/Materials/W1.mat -------------------------------------------------------------------------------- /Assets/WaterTest/Materials/W1.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b5dabee22ab02d42a9c62bc5e728c83 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/WaterTest/Materials/W2.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 3 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: W2 10 | m_Shader: {fileID: 4800000, guid: 3e8dca26a5f9f433384584eca4f3cf4b, type: 3} 11 | m_ShaderKeywords: [] 12 | m_CustomRenderQueue: -1 13 | m_SavedProperties: 14 | serializedVersion: 2 15 | m_TexEnvs: 16 | data: 17 | first: 18 | name: _MainTex 19 | second: 20 | m_Texture: {fileID: 2800000, guid: c2ef94ff9d11915d1100a04b44295342, type: 3} 21 | m_Scale: {x: 10, y: 15} 22 | m_Offset: {x: 0, y: 0} 23 | data: 24 | first: 25 | name: _BumpMap 26 | second: 27 | m_Texture: {fileID: 2800000, guid: b78f6f88331a44e42bf4c75514d90825, type: 3} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | data: 31 | first: 32 | name: _BottomTex 33 | second: 34 | m_Texture: {fileID: 2800000, guid: c2ef94ff9d11915d1100a04b44295342, type: 3} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | data: 38 | first: 39 | name: _Cube 40 | second: 41 | m_Texture: {fileID: 8900000, guid: 98c330f39d11745ad0004adb8d76c639, type: 3} 42 | m_Scale: {x: 1, y: 1} 43 | m_Offset: {x: 0, y: 0} 44 | data: 45 | first: 46 | name: _FoamTex 47 | second: 48 | m_Texture: {fileID: 2800000, guid: 0c2ab2a1c4018714989a955420ef3da3, type: 3} 49 | m_Scale: {x: 2, y: 5} 50 | m_Offset: {x: 0, y: 0} 51 | data: 52 | first: 53 | name: _SpeedMask 54 | second: 55 | m_Texture: {fileID: 2800000, guid: 8ef5b3073dc591f498ce8c0e935e68ed, type: 3} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | data: 59 | first: 60 | name: _Tex0 61 | second: 62 | m_Texture: {fileID: 2800000, guid: 3e3810b72e3255b4ea0ad31eeb9bed52, type: 3} 63 | m_Scale: {x: 1, y: 1} 64 | m_Offset: {x: 0, y: 0} 65 | m_Floats: 66 | data: 67 | first: 68 | name: _Reflection 69 | second: .178571433 70 | data: 71 | first: 72 | name: _Shininess 73 | second: 1 74 | data: 75 | first: 76 | name: _Exposure 77 | second: .689999998 78 | data: 79 | first: 80 | name: _Distortion 81 | second: .5 82 | data: 83 | first: 84 | name: _PhaseOffset 85 | second: .732142866 86 | data: 87 | first: 88 | name: _Speed 89 | second: 3.03571439 90 | data: 91 | first: 92 | name: _Depth 93 | second: .0892857164 94 | data: 95 | first: 96 | name: _Smoothing 97 | second: 1 98 | data: 99 | first: 100 | name: _XDrift 101 | second: .785714328 102 | data: 103 | first: 104 | name: _ZDrift 105 | second: 1.42857146 106 | data: 107 | first: 108 | name: _Scale 109 | second: 7.34821367 110 | data: 111 | first: 112 | name: _Glos 113 | second: .125 114 | data: 115 | first: 116 | name: _WaterSpeed 117 | second: -1.77999997 118 | data: 119 | first: 120 | name: _FakeDepth 121 | second: -.150000006 122 | data: 123 | first: 124 | name: _WaveFreq 125 | second: 33 126 | data: 127 | first: 128 | name: _WaveAmp 129 | second: 1 130 | data: 131 | first: 132 | name: _Blend 133 | second: 1 134 | m_Colors: 135 | data: 136 | first: 137 | name: _Color 138 | second: {r: 1, g: 1, b: 1, a: 1} 139 | data: 140 | first: 141 | name: _WaveSpeed 142 | second: {r: -2, g: 1, b: -.5, a: -2} 143 | data: 144 | first: 145 | name: WaveSpeed 146 | second: {r: 19, g: 9, b: -16, a: -7} 147 | data: 148 | first: 149 | name: _StonePos 150 | second: {r: 36.8795891, g: 36.8795891, b: 36.8795891, a: 1} 151 | data: 152 | first: 153 | name: _BallPos 154 | second: {r: 881.695129, g: 18.6474895, b: 1898.56604, a: 1} 155 | data: 156 | first: 157 | name: _xBallPos 158 | second: {r: 0, g: 0, b: 0, a: 1} 159 | data: 160 | first: 161 | name: _W 162 | second: {r: 0, g: -1, b: 0, a: 0} 163 | --- !u!1002 &2100001 164 | EditorExtensionImpl: 165 | serializedVersion: 6 166 | -------------------------------------------------------------------------------- /Assets/WaterTest/Materials/W2.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 03eb6055bec304698b66e0437da941f7 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/WaterTest/Materials/prototype_checker_dff 1.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/WaterTest/Materials/prototype_checker_dff 1.mat -------------------------------------------------------------------------------- /Assets/WaterTest/Materials/prototype_checker_dff 1.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7f4abffd4fb6bc845ac1ad4bcbede748 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/WaterTest/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2085c445cdf2649769e56787a0988eae 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/Scenes/Scene.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/WaterTest/Scenes/Scene.unity -------------------------------------------------------------------------------- /Assets/WaterTest/Scenes/Scene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5662fb906c44f42abace01fe8f85120a 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/WaterTest/Scenes/StressTest.unity: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/WaterTest/Scenes/StressTest.unity -------------------------------------------------------------------------------- /Assets/WaterTest/Scenes/StressTest.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3680e6aeb5e64edeb355f2151e14d8d 3 | DefaultImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/WaterTest/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58bd042f435b9471cab684f0ee92177b 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/Scripts/HUDFPS.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public class HUDFPS : MonoBehaviour 5 | { 6 | 7 | // Attach this to a GUIText to make a frames/second indicator. 8 | // 9 | // It calculates frames/second over each updateInterval, 10 | // so the display does not keep changing wildly. 11 | // 12 | // It is also fairly accurate at very low FPS counts (<10). 13 | // We do this not by simply counting frames per interval, but 14 | // by accumulating FPS for each frame. This way we end up with 15 | // correct overall FPS even if the interval renders something like 16 | // 5.5 frames. 17 | 18 | public float updateInterval = 0.5F; 19 | 20 | private float accum = 0; // FPS accumulated over the interval 21 | private int frames = 0; // Frames drawn over the interval 22 | private float timeleft; // Left time for current interval 23 | 24 | void Start() 25 | { 26 | if( !guiText ) 27 | { 28 | Debug.Log("UtilityFramesPerSecond needs a GUIText component!"); 29 | enabled = false; 30 | return; 31 | } 32 | timeleft = updateInterval; 33 | } 34 | 35 | void Update() 36 | { 37 | timeleft -= Time.deltaTime; 38 | accum += Time.timeScale/Time.deltaTime; 39 | ++frames; 40 | 41 | // Interval ended - update GUI text and start new interval 42 | if( timeleft <= 0.0 ) 43 | { 44 | // display two fractional digits (f2 format) 45 | float fps = accum/frames; 46 | string format = System.String.Format("{0:F2} FPS",fps); 47 | guiText.text = format; 48 | 49 | if(fps < 30) 50 | guiText.material.color = Color.yellow; 51 | else 52 | if(fps < 10) 53 | guiText.material.color = Color.red; 54 | else 55 | guiText.material.color = Color.green; 56 | // DebugConsole.Log(format,level); 57 | timeleft = updateInterval; 58 | accum = 0.0F; 59 | frames = 0; 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /Assets/WaterTest/Scripts/HUDFPS.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e5c4e7ba85a649809f32058dc9efee9 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/WaterTest/Scripts/Rotator.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public class Rotator : MonoBehaviour { 5 | public float speed = 10f; 6 | 7 | // Update is called once per frame 8 | void Update () { 9 | transform.Rotate(Vector3.right * Time.deltaTime * speed); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Assets/WaterTest/Scripts/Rotator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 62ec4c49a8deb4ea18012d8e0ec7a71c 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/WaterTest/Scripts/StressTest.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections; 3 | 4 | public class StressTest : MonoBehaviour { 5 | public int numOf = 100; 6 | public bool addScript = false; 7 | public Light dirLight; 8 | int counter=0; 9 | // Use this for initialization 10 | void Start () { 11 | Application.targetFrameRate = 60; 12 | 13 | } 14 | void OnGUI() 15 | { 16 | // Can make up to 800 cubes without shadows and with added scripts, tested on Nexus 4 and Galaxy Note2 17 | GUI.color = Color.red; 18 | addScript = GUI.Toggle(new Rect(160,10,100,50),addScript,"Add script"); 19 | if(GUI.Button(new Rect(10,10,150,80),"Generate 100")) 20 | { 21 | for(int i = 0; i < numOf; i++ ) 22 | { 23 | var cube = GameObject.CreatePrimitive( PrimitiveType.Cube ); 24 | Destroy( cube.GetComponent() ); 25 | cube.transform.position = new Vector3(i % 10, cube.transform.position.y + counter,i - 10); 26 | if(addScript) 27 | cube.AddComponent(); 28 | } 29 | counter ++; 30 | } 31 | GUI.Label(new Rect(10,100,300,50),string.Format("Num of cubes: {0}",counter*numOf)); 32 | 33 | if(GUI.Button(new Rect(10,150,150,80),"Shadow switch")) 34 | { 35 | if(dirLight.shadows == LightShadows.None) 36 | dirLight.shadows = LightShadows.Hard; 37 | else 38 | dirLight.shadows = LightShadows.None; 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Assets/WaterTest/Scripts/StressTest.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 438ba8f98419b4269805314338bcd3f7 3 | MonoImporter: 4 | serializedVersion: 2 5 | defaultReferences: [] 6 | executionOrder: 0 7 | icon: {instanceID: 0} 8 | userData: 9 | -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8ad26033bdfdb454a95f471ab56653f7 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/ReflectiveBlendAnimated.shader: -------------------------------------------------------------------------------- 1 | Shader "Water/ReflectiveBlendAnimated" { 2 | Properties { 3 | _WaveSpeed ("Wave speed", Vector) = (0,-1,0,0) 4 | _Exposure ("Exposure", Float) = 1 5 | _Distortion ("Distortion", Range(-10,.5)) = 0 6 | _Reflection ("Reflection", Range(0,.5)) = 0 7 | _MainTex ("Texture1", 2D) = "white" {} 8 | _BottomTex ("Texture2", 2D) = "white" {} 9 | _Cube ("Cubemap", CUBE) = "" {} 10 | 11 | _PhaseOffset ("PhaseOffset", Range(0,1)) = 0 12 | _Speed ("Speed", Range(0.3,10)) = 1.0 13 | _Depth ("Depth", Range(0.0,1)) = 0.2 14 | _Smoothing ("Smoothing", Range(0,1)) = 0.0 15 | _XDrift ("X Drift", Range(0.0,2.0)) = 0.05 16 | _ZDrift ("Z Drift", Range(0.0,2.0)) = 0.12 17 | _Scale ("Scale", Range(0.1,10)) = 1.0 18 | } 19 | SubShader { 20 | Tags { "RenderType"="Opaque" } 21 | LOD 250 22 | CGPROGRAM 23 | #pragma surface surf MobileBlinnPhong exclude_path:prepass nolightmap noforwardadd halfasview vertex:vert 24 | #pragma target 3.0 25 | 26 | #define PI 3.14 27 | 28 | inline fixed4 LightingMobileBlinnPhong (SurfaceOutput s, fixed3 lightDir, fixed3 halfDir, fixed atten) 29 | { 30 | fixed diff = max (0, dot (s.Normal, lightDir)); 31 | fixed nh = max (0, dot (s.Normal, halfDir)); 32 | fixed spec = pow (nh, s.Specular*128) * s.Gloss; 33 | fixed4 c; 34 | c.rgb = (s.Albedo * _LightColor0.rgb * diff + _LightColor0.rgb * spec) * (atten*2); 35 | c.a = 0.0; 36 | return c; 37 | } 38 | 39 | 40 | 41 | struct Input { 42 | float2 uv_MainTex; 43 | float2 uv_BottomTex; 44 | float3 worldPos; 45 | float3 worldRefl; 46 | float3 worldNormal; 47 | // half3 debugColor; 48 | //INTERNAL_DATA 49 | }; 50 | 51 | sampler2D _MainTex; 52 | sampler2D _BottomTex; 53 | samplerCUBE _Cube; 54 | uniform float _Exposure; 55 | uniform float _Distortion; 56 | uniform float4 _WaveSpeed; 57 | float _Reflection; 58 | 59 | float _PhaseOffset; 60 | float _Speed; 61 | float _Depth; 62 | float _Smoothing; 63 | float _XDrift; 64 | float _ZDrift; 65 | float _Scale; 66 | 67 | void vert( inout appdata_full v, out Input o ) 68 | { 69 | // Find here from this tutorial : https://www.youtube.com/watch?v=1G37-Yav2ZM 70 | 71 | // Note that, to start off, all work is in object (local) space. 72 | // We will eventually move normals to world space to handle arbitrary object orientation. 73 | // There is no real need for tangent space in this case. 74 | 75 | // Do all work in world space 76 | float3 v0 = mul( _Object2World, v.vertex ).xyz; 77 | 78 | // Create two fake neighbor vertices. 79 | // The important thing is that they be distorted in the same way that a real vertex in their location would. 80 | // This is pretty easy since we're just going to do some trig based on position, so really any samples will do. 81 | float3 v1 = v0 + float3( 0.05, 0, 0 ); // +X 82 | float3 v2 = v0 + float3( 0, 0, 0.05 ); // +Z 83 | 84 | // Some animation values 85 | float phase = _PhaseOffset * (PI * 2); 86 | float phase2 = _PhaseOffset * (PI * 1.123); 87 | float speed = _Time.y * _Speed; 88 | float speed2 = _Time.y * (_Speed * 0.33 ); 89 | float _Depth2 = _Depth * 1.0; 90 | float v0alt = v0.x * _XDrift + v0.z * _ZDrift; 91 | float v1alt = v1.x * _XDrift + v1.z * _ZDrift; 92 | float v2alt = v2.x * _XDrift + v2.z * _ZDrift; 93 | 94 | // Modify the real vertex and two theoretical samples by the distortion algorithm (here a simple sine wave on Y, driven by local X pos) 95 | v0.y += sin( phase + speed + ( v0.x * _Scale ) ) * _Depth; 96 | v0.y += sin( phase2 + speed2 + ( v0alt * _Scale ) ) * _Depth2; // This is just another wave being applied for a bit more complexity. 97 | 98 | v1.y += sin( phase + speed + ( v1.x * _Scale ) ) * _Depth; 99 | v1.y += sin( phase2 + speed2 + ( v1alt * _Scale ) ) * _Depth2; 100 | 101 | v2.y += sin( phase + speed + ( v2.x * _Scale ) ) * _Depth; 102 | v2.y += sin( phase2 + speed2 + ( v2alt * _Scale ) ) * _Depth2; 103 | 104 | // By reducing the delta on Y, we effectively restrict the amout of variation the normals will exhibit. 105 | // This appears like a smoothing effect, separate from the actual displacement depth. 106 | // It's basically undoing the change to the normals, leaving them straight on Y. 107 | v1.y -= (v1.y - v0.y) * _Smoothing; 108 | v2.y -= (v2.y - v0.y) * _Smoothing; 109 | 110 | // Solve worldspace normal 111 | float3 vna = cross( v2-v0, v1-v0 ); 112 | 113 | // Put normals back in object space 114 | float3 vn = mul( float3x3(_World2Object), vna ); 115 | 116 | // Normalize 117 | v.normal = normalize( vn ); 118 | 119 | // Put vertex back in object space, Unity will automatically do the MVP projection 120 | v.vertex.xyz = mul( float3x3(_World2Object), v0 ); 121 | } 122 | 123 | 124 | void surf (Input IN, inout SurfaceOutput o) 125 | { 126 | half4 c = tex2D(_MainTex, float2(IN.uv_MainTex.x +(_WaveSpeed.x * _Time.x),IN.uv_MainTex.y+(_WaveSpeed.y * _Time.x))); 127 | half3 tex = c.rgb *_Distortion; 128 | half3 tex2 = tex2D(_BottomTex, float2(IN.uv_BottomTex.x+tex.b+(_WaveSpeed.z * _Time.x),IN.uv_BottomTex.y+tex.g)+(_WaveSpeed.w * _Time.x)).rgb*_Exposure; 129 | half3 emis1 = texCUBE (_Cube, IN.worldRefl).rgb * _Reflection; 130 | o.Albedo = tex2; 131 | //o.Gloss = _Glos; 132 | o.Emission = emis1; 133 | } 134 | ENDCG 135 | } 136 | Fallback "Diffuse" 137 | } -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/ReflectiveBlendAnimated.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e8dca26a5f9f433384584eca4f3cf4b 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/ReflectiveBlended.shader: -------------------------------------------------------------------------------- 1 | Shader "Water/ReflectiveBlended" { 2 | Properties { 3 | _WaveSpeed ("Wave speed", Vector) = (0,-1,0,0) 4 | _Exposure ("Exposure", Float) = 1 5 | _Distortion ("Distortion", Range(-10,.5)) = 0 6 | _Glos ("Glos", Range(0,.5)) = 0 7 | _MainTex ("SurfaceWaveTexture", 2D) = "white" {} 8 | _BottomTex ("BottomTexture", 2D) = "white" {} 9 | _Cube ("Cubemap", CUBE) = "" {} 10 | } 11 | SubShader { 12 | Tags { "RenderType"="Opaque" } 13 | LOD 250 14 | CGPROGRAM 15 | #pragma surface surf MobileBlinnPhong exclude_path:prepass nolightmap noforwardadd halfasview 16 | 17 | inline fixed4 LightingMobileBlinnPhong (SurfaceOutput s, fixed3 lightDir, fixed3 halfDir, fixed atten) 18 | { 19 | fixed diff = max (0, dot (s.Normal, lightDir)); 20 | fixed nh = max (0, dot (s.Normal, halfDir)); 21 | fixed spec = pow (nh, s.Specular*128) * s.Gloss; 22 | fixed4 c; 23 | c.rgb = (s.Albedo * _LightColor0.rgb * diff + _LightColor0.rgb * spec) * (atten*2); 24 | c.a = 0.0; 25 | return c; 26 | } 27 | 28 | struct Input { 29 | float2 uv_MainTex; 30 | float2 uv_BottomTex; 31 | float3 worldPos; 32 | float3 worldRefl; 33 | float3 worldNormal; 34 | INTERNAL_DATA 35 | }; 36 | 37 | sampler2D _MainTex; 38 | sampler2D _BottomTex; 39 | samplerCUBE _Cube; 40 | uniform float _Exposure; 41 | uniform float _Distortion; 42 | uniform float4 _WaveSpeed; 43 | float _Glos; 44 | 45 | 46 | void surf (Input IN, inout SurfaceOutput o) 47 | { 48 | half3 tex = tex2D(_MainTex, float2(IN.uv_MainTex.x +(_WaveSpeed.x * _Time.x),IN.uv_MainTex.y+(_WaveSpeed.y * _Time.x))).rgb *_Distortion; 49 | half3 tex2 = tex2D(_BottomTex, float2(IN.uv_BottomTex.x+tex.b+(_WaveSpeed.z * _Time.x),IN.uv_BottomTex.y+tex.g)+(_WaveSpeed.w * _Time.x)).rgb*_Exposure; 50 | half3 emis1 = texCUBE (_Cube, IN.worldRefl).rgb *.3; 51 | o.Albedo = tex2; 52 | o.Gloss = _Glos; 53 | o.Emission = emis1; 54 | } 55 | ENDCG 56 | } 57 | Fallback "Diffuse" 58 | } -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/ReflectiveBlended.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7d34cfa13225740bc9c84c4fbf1e2c15 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/ReflectiveFakeDepthAnimated.shader: -------------------------------------------------------------------------------- 1 | Shader "Water/ReflectiveFakeDepthAnimated" { 2 | Properties { 3 | _WaveSpeed ("Wave speed", Vector) = (0,-1,0,0) 4 | _Exposure ("Exposure", Float) = 1 5 | _Distortion ("Distortion", Range(-10,.5)) = 0 6 | _Reflection ("Reflection", Range(0,.5)) = 0 7 | _MainTex ("SurfaceWaveTexture", 2D) = "white" {} 8 | _BottomTex ("BottomTexture", 2D) = "white" {} 9 | _Cube ("Cubemap", CUBE) = "" {} 10 | 11 | _PhaseOffset ("PhaseOffset", Range(0,1)) = 0 12 | _Speed ("Speed", Range(0.3,10)) = 1.0 13 | _Depth ("Depth", Range(0.0,1)) = 0.2 14 | _Smoothing ("Smoothing", Range(0,1)) = 0.0 15 | _XDrift ("X Drift", Range(0.0,2.0)) = 0.05 16 | _ZDrift ("Z Drift", Range(0.0,2.0)) = 0.12 17 | _Scale ("Scale", Range(0.1,10)) = 1.0 18 | } 19 | SubShader { 20 | Tags { "RenderType"="Opaque" } 21 | LOD 250 22 | CGPROGRAM 23 | #pragma surface surf MobileBlinnPhong exclude_path:prepass nolightmap noforwardadd halfasview vertex:vert 24 | //#pragma surface surf BlinnPhong vertex:vert 25 | #pragma target 3.0 26 | 27 | #define PI 3.14 28 | 29 | inline fixed4 LightingMobileBlinnPhong (SurfaceOutput s, fixed3 lightDir, fixed3 halfDir, fixed atten) 30 | { 31 | fixed diff = max (0, dot (s.Normal, lightDir)); 32 | fixed nh = max (0, dot (s.Normal, halfDir)); 33 | fixed spec = pow (nh, s.Specular*128) * s.Gloss; 34 | fixed4 c; 35 | c.rgb = (s.Albedo * _LightColor0.rgb * diff + _LightColor0.rgb * spec) * (atten*2); 36 | c.a = 0.0; 37 | return c; 38 | } 39 | 40 | 41 | 42 | struct Input { 43 | float2 uv_MainTex; 44 | float2 uv_BottomTex; 45 | float3 worldPos; 46 | float3 worldRefl; 47 | float3 worldNormal; 48 | // half3 debugColor; 49 | //INTERNAL_DATA 50 | }; 51 | 52 | sampler2D _MainTex; 53 | sampler2D _BottomTex; 54 | samplerCUBE _Cube; 55 | uniform float _Exposure; 56 | uniform float _Distortion; 57 | uniform float4 _WaveSpeed; 58 | float _Reflection; 59 | 60 | float _PhaseOffset; 61 | float _Speed; 62 | float _Depth; 63 | float _Smoothing; 64 | float _XDrift; 65 | float _ZDrift; 66 | float _Scale; 67 | 68 | void vert( inout appdata_full v, out Input o ) 69 | { 70 | // Note that, to start off, all work is in object (local) space. 71 | // We will eventually move normals to world space to handle arbitrary object orientation. 72 | // There is no real need for tangent space in this case. 73 | 74 | // Do all work in world space 75 | float3 v0 = mul( _Object2World, v.vertex ).xyz; 76 | 77 | // Create two fake neighbor vertices. 78 | // The important thing is that they be distorted in the same way that a real vertex in their location would. 79 | // This is pretty easy since we're just going to do some trig based on position, so really any samples will do. 80 | float3 v1 = v0 + float3( 0.05, 0, 0 ); // +X 81 | float3 v2 = v0 + float3( 0, 0, 0.05 ); // +Z 82 | 83 | // Some animation values 84 | float phase = _PhaseOffset * (PI * 2); 85 | float phase2 = _PhaseOffset * (PI * 1.123); 86 | float speed = _Time.y * _Speed; 87 | float speed2 = _Time.y * (_Speed * 0.33 ); 88 | float _Depth2 = _Depth * 1.0; 89 | float v0alt = v0.x * _XDrift + v0.z * _ZDrift; 90 | float v1alt = v1.x * _XDrift + v1.z * _ZDrift; 91 | float v2alt = v2.x * _XDrift + v2.z * _ZDrift; 92 | 93 | // Modify the real vertex and two theoretical samples by the distortion algorithm (here a simple sine wave on Y, driven by local X pos) 94 | v0.y += sin( phase + speed + ( v0.x * _Scale ) ) * _Depth; 95 | v0.y += sin( phase2 + speed2 + ( v0alt * _Scale ) ) * _Depth2; // This is just another wave being applied for a bit more complexity. 96 | 97 | v1.y += sin( phase + speed + ( v1.x * _Scale ) ) * _Depth; 98 | v1.y += sin( phase2 + speed2 + ( v1alt * _Scale ) ) * _Depth2; 99 | 100 | v2.y += sin( phase + speed + ( v2.x * _Scale ) ) * _Depth; 101 | v2.y += sin( phase2 + speed2 + ( v2alt * _Scale ) ) * _Depth2; 102 | 103 | // By reducing the delta on Y, we effectively restrict the amout of variation the normals will exhibit. 104 | // This appears like a smoothing effect, separate from the actual displacement depth. 105 | // It's basically undoing the change to the normals, leaving them straight on Y. 106 | v1.y -= (v1.y - v0.y) * _Smoothing; 107 | v2.y -= (v2.y - v0.y) * _Smoothing; 108 | 109 | // Solve worldspace normal 110 | float3 vna = cross( v2-v0, v1-v0 ); 111 | 112 | // Put normals back in object space 113 | float3 vn = mul( float3x3(_World2Object), vna ); 114 | 115 | // Normalize 116 | v.normal = normalize( vn ); 117 | 118 | // Put vertex back in object space, Unity will automatically do the MVP projection 119 | v.vertex.xyz = mul( float3x3(_World2Object), v0 ); 120 | } 121 | 122 | 123 | void surf (Input IN, inout SurfaceOutput o) 124 | { 125 | half4 c = tex2D(_MainTex, float2(IN.uv_BottomTex.x +(_WaveSpeed.x * _Time.x),IN.uv_BottomTex.y+(_WaveSpeed.y * _Time.x))); 126 | half3 tex = c.rgb *_Distortion; 127 | half3 tex2 = tex2D(_BottomTex, float2(IN.uv_MainTex.x+tex.b+(_WaveSpeed.z * _Time.x),IN.uv_MainTex.y+tex.g)+(_WaveSpeed.w * _Time.x)).rgb*_Exposure; 128 | half3 emis1 = texCUBE (_Cube, IN.worldRefl).rgb * _Reflection; 129 | o.Albedo = tex2; 130 | //o.Gloss = _Glos; 131 | o.Emission = emis1; 132 | } 133 | ENDCG 134 | } 135 | Fallback "Diffuse" 136 | } -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/ReflectiveFakeDepthAnimated.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58ae0705e039346eeb855d4264aa893a 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/Simple.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a5110d85df5e1a418b4bf785182ff94 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/Simple/WaterBlended.shader: -------------------------------------------------------------------------------- 1 | Shader "Water/Simple/Blended" { 2 | Properties { 3 | _WaveSpeed ("Wave speed", Vector) = (1,-1,0.1,0.1) 4 | _Exposure ("Exposure", Float) = 0.05 5 | _Distortion ("Distortion", Range(-10,.5)) = 0 6 | _MainTex ("SurfaceWaveTexture", 2D) = "white" {} 7 | _BottomTex ("BottomTexture", 2D) = "white" {} 8 | } 9 | SubShader { 10 | 11 | Tags { "RenderType"="Opaque" } 12 | LOD 250 13 | CGPROGRAM 14 | #pragma surface surf MobileBlinnPhong exclude_path:prepass nolightmap noforwardadd halfasview 15 | inline fixed4 LightingMobileBlinnPhong (SurfaceOutput s, fixed3 lightDir, fixed3 halfDir, fixed atten) 16 | { 17 | fixed diff = max (0, dot (s.Normal, lightDir)); 18 | fixed nh = max (0, dot (s.Normal, halfDir)); 19 | fixed spec = pow (nh, s.Specular*128) * s.Gloss; 20 | 21 | fixed4 c; 22 | c.rgb = (s.Albedo * _LightColor0.rgb * diff + _LightColor0.rgb * spec) * (atten*2); 23 | c.a = 0.0; 24 | return c; 25 | } 26 | struct Input { 27 | float2 uv_MainTex; 28 | float2 uv_BottomTex; 29 | }; 30 | sampler2D _MainTex; 31 | sampler2D _BottomTex; 32 | uniform float _Exposure; 33 | uniform float _Distortion; 34 | uniform float4 _WaveSpeed; 35 | float _Shininess; 36 | 37 | void surf (Input IN, inout SurfaceOutput o) 38 | { 39 | half3 tex = tex2D(_MainTex, float2(IN.uv_MainTex.x +(_WaveSpeed.x * _Time.x),IN.uv_MainTex.y+(_WaveSpeed.y * _Time.x))).rgb *_Distortion; 40 | half3 tex2 = tex2D(_BottomTex, float2(IN.uv_BottomTex.x+tex.b+(_WaveSpeed.z * _Time.x),IN.uv_BottomTex.y+tex.g)+(_WaveSpeed.w * _Time.x)).rgb*_Exposure; 41 | o.Albedo = tex2; 42 | } 43 | ENDCG 44 | } 45 | Fallback "Diffuse" 46 | } -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/Simple/WaterBlended.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 80013331c6f50465289896fc7a6d0b26 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/Simple/WaterBlendedSpecular.shader: -------------------------------------------------------------------------------- 1 | Shader "Water/Simple/BlendedSpecular" { 2 | Properties { 3 | _WaveSpeed ("Wave speed", Vector) = (1,-1,0.1,0.1) 4 | _Exposure ("Exposure", Float) = 0.05 5 | _Distortion ("Distortion", Range(-10,.5)) = 0 6 | _Shininess ("Shininess", Range (0.03, 1)) = 1 7 | _MainTex ("SurfaceWaveTexture", 2D) = "white" {} 8 | _BottomTex ("BottomTexture", 2D) = "white" {} 9 | _BumpMap ("Normalmap", 2D) = "bump" {} 10 | } 11 | SubShader { 12 | // ZWrite Off //n ZTest Equal 13 | // Cull Off 14 | // Offset 1, 1 15 | Tags { "RenderType"="Opaque" } 16 | LOD 250 17 | CGPROGRAM 18 | #pragma surface surf MobileBlinnPhong exclude_path:prepass nolightmap noforwardadd halfasview 19 | #include "UnityCG.cginc" 20 | inline fixed4 LightingMobileBlinnPhong (SurfaceOutput s, fixed3 lightDir, fixed3 halfDir, fixed atten) 21 | { 22 | fixed diff = max (0, dot (s.Normal, lightDir)); 23 | fixed nh = max (0, dot (s.Normal, halfDir)); 24 | fixed spec = pow (nh, s.Specular*128) * s.Gloss; 25 | 26 | fixed4 c; 27 | c.rgb = (s.Albedo * _LightColor0.rgb * diff + _LightColor0.rgb * spec) * (atten*2); 28 | c.a = 0.0; 29 | return c; 30 | } 31 | struct Input { 32 | float2 uv_MainTex; 33 | float2 uv_BottomTex; 34 | }; 35 | 36 | sampler2D _MainTex; 37 | sampler2D _BottomTex; 38 | sampler2D _BumpMap; 39 | uniform float _Exposure; 40 | uniform float _Distortion; 41 | uniform float4 _WaveSpeed; 42 | half _Shininess; 43 | 44 | void surf (Input IN, inout SurfaceOutput o) 45 | { 46 | half3 tex = tex2D(_MainTex, float2(IN.uv_MainTex.x +(_WaveSpeed.x * _Time.x),IN.uv_MainTex.y+(_WaveSpeed.y * _Time.x))).rgb *_Distortion; 47 | fixed4 tex2 = tex2D(_BottomTex, float2(IN.uv_BottomTex.x+tex.r+(_WaveSpeed.z * _Time.x),IN.uv_BottomTex.y+tex.g)+(_WaveSpeed.w * _Time.x)); 48 | o.Albedo = tex2.rgb*_Exposure; 49 | o.Gloss = tex2.a; 50 | o.Normal = UnpackNormal (tex2D(_BumpMap, IN.uv_MainTex)); 51 | o.Specular = _Shininess ; 52 | } 53 | ENDCG 54 | } 55 | Fallback "Diffuse" 56 | } -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/Simple/WaterBlendedSpecular.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff7f20bd50ec04a6e80a4176e2c2b9d4 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/Simple/WaterSimple.shader: -------------------------------------------------------------------------------- 1 | Shader "Water/Simple/Bumped" { 2 | Properties { 3 | _WaveSpeed ("Wave speed", Vector) = (0,-1,0,0) 4 | _Exposure ("Exposure", Float) = 1 5 | _MainTex ("SurfaceWaveTexture", 2D) = "white" {} 6 | _BumpMap ("Waves Normalmap ", 2D) = "" { } 7 | } 8 | SubShader { 9 | // ZWrite Off //n ZTest Equal 10 | // Cull Off 11 | // Offset 1, 1 12 | Tags { "RenderType"="Opaque" } 13 | LOD 250 14 | CGPROGRAM 15 | #pragma surface surf MobileBlinnPhong exclude_path:prepass nolightmap noforwardadd halfasview 16 | 17 | inline fixed4 LightingMobileBlinnPhong (SurfaceOutput s, fixed3 lightDir, fixed3 halfDir, fixed atten) 18 | { 19 | fixed diff = max (0, dot (s.Normal, lightDir)); 20 | fixed nh = max (0, dot (s.Normal, halfDir)); 21 | fixed spec = pow (nh, s.Specular*128) * s.Gloss; 22 | 23 | fixed4 c; 24 | c.rgb = (s.Albedo * _LightColor0.rgb * diff + _LightColor0.rgb * spec) * (atten*2); 25 | c.a = 0.0; 26 | return c; 27 | } 28 | struct Input { 29 | float2 uv_MainTex; 30 | //float2 uv_BumpMap; 31 | }; 32 | sampler2D _MainTex; 33 | sampler2D _BumpMap; 34 | sampler2D _Caustic; 35 | 36 | uniform float _Exposure; 37 | uniform float4 _WaveSpeed; 38 | 39 | void surf (Input IN, inout SurfaceOutput o) 40 | { 41 | fixed4 tex = tex2D(_MainTex, float2(IN.uv_MainTex.x +(_WaveSpeed.x * _Time.x),IN.uv_MainTex.y+(_WaveSpeed.y * _Time.x))); 42 | o.Albedo = tex.rgb *_Exposure ; 43 | o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_MainTex)); 44 | } 45 | ENDCG 46 | } 47 | Fallback "BumpedDiffuse" 48 | } -------------------------------------------------------------------------------- /Assets/WaterTest/WaterTestShaders/Simple/WaterSimple.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef5aaf4ccf0dc4ae2b1c189958e3cf28 3 | ShaderImporter: 4 | defaultTextures: [] 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d24fb37c638084e2299655de56c69085 3 | folderAsset: yes 4 | DefaultImporter: 5 | userData: 6 | -------------------------------------------------------------------------------- /Assets/WaterTest/textures/day1.cubemap.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab6301d4d70bdd34988cf73f908054f4 3 | NativeFormatImporter: 4 | userData: 5 | -------------------------------------------------------------------------------- /Assets/WaterTest/textures/ground.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/WaterTest/textures/ground.jpg -------------------------------------------------------------------------------- /Assets/WaterTest/textures/ground.jpg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 62af9cce9c68a684bafae498a9d33780 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: -1 28 | aniso: -1 29 | mipBias: -1 30 | wrapMode: -1 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: -1 43 | buildTargetSettings: [] 44 | spriteSheet: 45 | sprites: [] 46 | spritePackingTag: 47 | userData: 48 | -------------------------------------------------------------------------------- /Assets/WaterTest/textures/prototype_checker_dff 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/Assets/WaterTest/textures/prototype_checker_dff 1.png -------------------------------------------------------------------------------- /Assets/WaterTest/textures/prototype_checker_dff 1.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63b5636409fd0ac4a896cf28ded25eda 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | serializedVersion: 2 6 | mipmaps: 7 | mipMapMode: 0 8 | enableMipMap: 1 9 | linearTexture: 0 10 | correctGamma: 0 11 | fadeOut: 0 12 | borderMipMap: 0 13 | mipMapFadeDistanceStart: 1 14 | mipMapFadeDistanceEnd: 3 15 | bumpmap: 16 | convertToNormalMap: 0 17 | externalNormalMap: 0 18 | heightScale: .25 19 | normalMapFilter: 0 20 | isReadable: 0 21 | grayScaleToAlpha: 0 22 | generateCubemap: 0 23 | seamlessCubemap: 0 24 | textureFormat: -1 25 | maxTextureSize: 1024 26 | textureSettings: 27 | filterMode: 2 28 | aniso: 4 29 | mipBias: -1 30 | wrapMode: 0 31 | nPOTScale: 1 32 | lightmap: 0 33 | compressionQuality: 50 34 | spriteMode: 0 35 | spriteExtrude: 1 36 | spriteMeshType: 1 37 | alignment: 0 38 | spritePivot: {x: .5, y: .5} 39 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 40 | spritePixelsToUnits: 100 41 | alphaIsTransparency: 0 42 | textureType: 0 43 | buildTargetSettings: 44 | - buildTarget: iPhone 45 | maxTextureSize: 512 46 | textureFormat: -1 47 | compressionQuality: 50 48 | - buildTarget: Android 49 | maxTextureSize: 512 50 | textureFormat: -1 51 | compressionQuality: 50 52 | - buildTarget: BlackBerry 53 | maxTextureSize: 512 54 | textureFormat: -1 55 | compressionQuality: 50 56 | - buildTarget: FlashPlayer 57 | maxTextureSize: 512 58 | textureFormat: -1 59 | compressionQuality: 50 60 | - buildTarget: WP8 61 | maxTextureSize: 512 62 | textureFormat: -1 63 | compressionQuality: 50 64 | spriteSheet: 65 | sprites: [] 66 | spritePackingTag: 67 | userData: 68 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | 26 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/AudioManager.asset -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/DynamicsManager.asset -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/EditorBuildSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/EditorSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/GraphicsSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/InputManager.asset -------------------------------------------------------------------------------- /ProjectSettings/NavMeshLayers.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/NavMeshLayers.asset -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/NetworkManager.asset -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/Physics2DSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/ProjectSettings.asset -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/QualitySettings.asset -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/TagManager.asset -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nevarman/UnityWaterShadersTest/da427df04d8cdf99994733138a29a136ee870cf4/ProjectSettings/TimeManager.asset -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | UnityWaterShadersTest 2 | ===================== 3 | 4 | Unity water shaders(trying for mobile, light shaders). This repository is for fun and experimental though I'm practicing some CG shaders for Unity. 5 | Feel free to use and if you like please let me know. 6 | --------------------------------------------------------------------------------