[
  {
    "path": ".gitignore",
    "content": "# macOS\n# General\n.DS_Store\n.AppleDouble\n.LSOverride\n\n# Icon must end with two \\r\nIcon\n\n\n# Thumbnails\n._*\n\n# Files that might appear in the root of a volume\n.DocumentRevisions-V100\n.fseventsd\n.Spotlight-V100\n.TemporaryItems\n.Trashes\n.VolumeIcon.icns\n.com.apple.timemachine.donotpresent\n\n# Directories potentially created on remote AFP share\n.AppleDB\n.AppleDesktop\nNetwork Trash Folder\nTemporary Items\n.apdisk\n\n# Windows\n# Windows thumbnail cache files\nThumbs.db\nehthumbs.db\nehthumbs_vista.db\n\n# Dump file\n*.stackdump\n\n# Folder config file\n[Dd]esktop.ini\n\n# Recycle Bin used on file shares\n$RECYCLE.BIN/\n\n# Windows Installer files\n*.cab\n*.msi\n*.msix\n*.msm\n*.msp\n\n# Windows shortcuts\n*.lnk\n\n# Linux\n*~\n\n# temporary files which can be created if a process still has a handle open of a deleted file\n.fuse_hidden*\n\n# KDE directory preferences\n.directory\n\n# Linux trash folder which might appear on any partition or disk\n.Trash-*\n\n# .nfs files are created when an open file is removed but is still being accessed\n.nfs*\n\n.idea/"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2018 Muck\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# Optically Realistic Water\nA Unity port of Martins Upitis' fantastic [ocean water shader](https://devlog-martinsh.blogspot.com/2013/09/waterunderwater-sky-shader-update-02.html), which was originally coded in GLSL for Blender.\n\n![water](https://user-images.githubusercontent.com/5405629/47149964-7a570800-d318-11e8-9420-74cf4619b35e.jpg)\n\n## Contents\nThe shader actually consists of two parts:\n* WaterSurface.shader\n* WaterUnder.shader\n\nWaterSurface.shader is intended to be used with the water plane and renders reflections, subsurface scattering, etc.\n\nWaterUnder.shader must be applied to any renderers which could potentially be submerged in the water (such as the terrain, etc.).\n\nWater.cs should be attached to the water plane and handles planar reflections and all shader parameters. It is mostly self-explanatory if you are at all familiar with Unity's existing water shader.\n\nJust like in Martins' project, you can click and drag the sun into any position you like.\n\n## Features\n* Reflection with accurate fresnel reflectance model\n* Refraction with chromatic aberration\n* Projected caustics on geometry from the water surface based on normals\n* Seamless transition to underwater (no post effects used)\n* Accurate water volume with light scattering\n* View and light ray color extinction based on water color and sunlight\n\n## Additional features/changes\n* Refraction is masked based on depth to prevent foreground distortion artefacts\n* Normal map intensity fades out with distance to prevent excessive distortion artefacts\n* Clip plane offset depends on camera distance from water plane, which reduces artefacts when close to surface\n* Some shader calculations moved into scripts (sun colour, for example)\n* Some optimisations (much more could be done here)\n\n## Removed/unported features\n* Simple coastline detection (I didn't want this shader to rely on baked shoreline maps)\n* \"Caustic fringe\" effect\n* Above/below water transition droplet post effect\n* Underwater distortion (it's not a real physical phenomenon so I chose to remove it)\n* \"Glitter\" post effect\n\n## Limitations\nDue to the required underwater shader, you may find it very difficult to adapt this to an existing project and thus it should be considered more of a prototype or proof of concept. This is also a limitation of Martins' original shader.\n\nThe shader uses forward rendering and has not been tested in deferred.\n"
  },
  {
    "path": "Water/.gitignore",
    "content": "[Ll]ibrary/\n[Tt]emp/\n[Oo]bj/\n[Bb]uild/\n[Bb]uilds/\nAssets/AssetStoreTools*\n\n# Visual Studio 2015 cache directory\n/.vs/\n\n# Autogenerated VS/MD/Consulo solution and project files\nExportedObj/\n.consulo/\n*.csproj\n*.unityproj\n*.sln\n*.suo\n*.tmp\n*.user\n*.userprefs\n*.pidb\n*.booproj\n*.svd\n*.pdb\n\n# Unity3D generated meta files\n*.pidb.meta\n*.pdb.meta\n\n# Unity3D Generated File On Crash Reports\nsysinfo.txt\n\n# Builds\n*.apk\n#*.unitypackage"
  },
  {
    "path": "Water/Assets/Plugins/Editor/.gitignore",
    "content": "[Jj]et[Bb]rains/"
  },
  {
    "path": "Water/Assets/Plugins/Editor/JetBrains.meta",
    "content": "fileFormatVersion: 2\nguid: 000f9a97b0c034e85834df174bcc9506\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Plugins/Editor.meta",
    "content": "fileFormatVersion: 2\nguid: 9eaaf39c5592849cb9a2985b96401ad8\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Plugins.meta",
    "content": "fileFormatVersion: 2\nguid: 640382a6168b94ee69c490b6eb71a5d9\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Materials/Skybox.mat",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!21 &2100000\nMaterial:\n  serializedVersion: 6\n  m_ObjectHideFlags: 0\n  m_PrefabParentObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_Name: Skybox\n  m_Shader: {fileID: 106, guid: 0000000000000000f000000000000000, type: 0}\n  m_ShaderKeywords: _SUNDISK_HIGH_QUALITY\n  m_LightmapFlags: 4\n  m_EnableInstancingVariants: 0\n  m_DoubleSidedGI: 0\n  m_CustomRenderQueue: -1\n  stringTagMap: {}\n  disabledShaderPasses: []\n  m_SavedProperties:\n    serializedVersion: 3\n    m_TexEnvs: []\n    m_Floats:\n    - _AtmosphereThickness: 1\n    - _Exposure: 1.3\n    - _SunDisk: 2\n    - _SunSize: 0.04\n    - _SunSizeConvergence: 5\n    m_Colors:\n    - _GroundColor: {r: 0.36899996, g: 0.34899998, b: 0.34099993, a: 1}\n    - _SkyTint: {r: 0.5, g: 0.5, b: 0.5, a: 1}\n"
  },
  {
    "path": "Water/Assets/Water/Materials/Skybox.mat.meta",
    "content": "fileFormatVersion: 2\nguid: 4a8aa65aac3ec4b3fa72f539852b84f9\nNativeFormatImporter:\n  externalObjects: {}\n  mainObjectFileID: 2100000\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Materials/Underwater.mat",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!21 &2100000\nMaterial:\n  serializedVersion: 6\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_Name: Underwater\n  m_Shader: {fileID: 4800000, guid: 891ac3ba7a1754646afff4b89a5a8a80, type: 3}\n  m_ShaderKeywords: \n  m_LightmapFlags: 4\n  m_EnableInstancingVariants: 0\n  m_DoubleSidedGI: 0\n  m_CustomRenderQueue: -1\n  stringTagMap: {}\n  disabledShaderPasses: []\n  m_SavedProperties:\n    serializedVersion: 3\n    m_TexEnvs:\n    - _BumpMap:\n        m_Texture: {fileID: 0}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    - _DetailAlbedoMap:\n        m_Texture: {fileID: 0}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    - _DetailMask:\n        m_Texture: {fileID: 0}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    - _DetailNormalMap:\n        m_Texture: {fileID: 0}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    - _EmissionMap:\n        m_Texture: {fileID: 0}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    - _MainTex:\n        m_Texture: {fileID: 2800000, guid: 65b81ca5f830e4f1f87398de1eedbad9, type: 3}\n        m_Scale: {x: 5, y: 5}\n        m_Offset: {x: 0, y: 0}\n    - _MetallicGlossMap:\n        m_Texture: {fileID: 0}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    - _NormalTex:\n        m_Texture: {fileID: 2800000, guid: eca2a7fa5744c453b8a3dd4d9549b767, type: 3}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    - _OcclusionMap:\n        m_Texture: {fileID: 0}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    - _ParallaxMap:\n        m_Texture: {fileID: 0}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    m_Floats:\n    - _BumpScale: 1\n    - _Choppy: 0.8\n    - _Cutoff: 0.5\n    - _DetailNormalMapScale: 1\n    - _DstBlend: 0\n    - _GlossMapScale: 1\n    - _Glossiness: 0.5\n    - _GlossyReflections: 1\n    - _Metallic: 0\n    - _Mode: 0\n    - _OcclusionStrength: 1\n    - _Parallax: 0.02\n    - _SmoothnessTextureChannel: 0\n    - _SpecularHighlights: 1\n    - _SrcBlend: 1\n    - _UVSec: 0\n    - _Visibility: 28\n    - _WaterLevel: 0\n    - _WaveScale: 1\n    - _WinSpeed: 112.3\n    - _WindSpeed: 0.6\n    - _ZWrite: 1\n    m_Colors:\n    - _Color: {r: 1, g: 1, b: 1, a: 1}\n    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}\n    - _WindDirection: {r: -0.5, g: -0.8, b: 0, a: 0}\n"
  },
  {
    "path": "Water/Assets/Water/Materials/Underwater.mat.meta",
    "content": "fileFormatVersion: 2\nguid: 06618ef051ba8422a85c276d05b5be98\nNativeFormatImporter:\n  externalObjects: {}\n  mainObjectFileID: 2100000\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Materials/WaterSurface.mat",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!21 &2100000\nMaterial:\n  serializedVersion: 6\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_Name: WaterSurface\n  m_Shader: {fileID: 4800000, guid: 6cdea64d237bb4dfa80eddee7ad81c28, type: 3}\n  m_ShaderKeywords: \n  m_LightmapFlags: 4\n  m_EnableInstancingVariants: 0\n  m_DoubleSidedGI: 0\n  m_CustomRenderQueue: -1\n  stringTagMap: {}\n  disabledShaderPasses: []\n  m_SavedProperties:\n    serializedVersion: 3\n    m_TexEnvs:\n    - _HeightTex:\n        m_Texture: {fileID: 2800000, guid: 86b0a0e99191f4d88a704b569144426d, type: 3}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    - _NormalTex:\n        m_Texture: {fileID: 2800000, guid: eca2a7fa5744c453b8a3dd4d9549b767, type: 3}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    - _ReflectionTex:\n        m_Texture: {fileID: 0}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    - _WaterDepthTex:\n        m_Texture: {fileID: 2800000, guid: 756446f7a0bd14438bd73b8cde7fb0cd, type: 3}\n        m_Scale: {x: 1, y: 1}\n        m_Offset: {x: 0, y: 0}\n    m_Floats:\n    - _Aberration: 0.002\n    - _AberrationAmount: 0.002\n    - _Bumpiness: 0.06\n    - _Choppy: 0.8\n    - _ReflBump: 0.04\n    - _ReflDistortionAmount: 0.03\n    - _RefrBump: 0.03\n    - _RefrDistortionAmount: 0.04\n    - _ScatterAmount: 3.5\n    - _Visibility: 28\n    - _WaterLevel: 0\n    - _WaveScale: 1\n    - _WindSpeed: 0.6\n    m_Colors:\n    - _ScatterColor: {r: 0, g: 1, b: 0.95, a: 1}\n    - _WindDirection: {r: -0.5, g: -0.8, b: 0, a: 0}\n"
  },
  {
    "path": "Water/Assets/Water/Materials/WaterSurface.mat.meta",
    "content": "fileFormatVersion: 2\nguid: 784f7b1ea93064cb79f69935ad0efad4\nNativeFormatImporter:\n  externalObjects: {}\n  mainObjectFileID: 2100000\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Materials.meta",
    "content": "fileFormatVersion: 2\nguid: 8ba53af3751684390ae8d35fde42204f\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Models/terrain.fbx.meta",
    "content": "fileFormatVersion: 2\nguid: 230faa639d2cf4ee98a023a6526b47ff\nModelImporter:\n  serializedVersion: 22\n  fileIDToRecycleName:\n    100000: //RootNode\n    400000: //RootNode\n    2100000: ground\n    2300000: //RootNode\n    3300000: //RootNode\n    4300000: ground\n  externalObjects: {}\n  materials:\n    importMaterials: 0\n    materialName: 0\n    materialSearch: 1\n    materialLocation: 1\n  animations:\n    legacyGenerateAnimations: 4\n    bakeSimulation: 0\n    resampleCurves: 1\n    optimizeGameObjects: 0\n    motionNodeName: \n    rigImportErrors: \n    rigImportWarnings: \n    animationImportErrors: \n    animationImportWarnings: \n    animationRetargetingWarnings: \n    animationDoRetargetingWarnings: 0\n    importAnimatedCustomProperties: 0\n    importConstraints: 0\n    animationCompression: 1\n    animationRotationError: 0.5\n    animationPositionError: 0.5\n    animationScaleError: 0.5\n    animationWrapMode: 0\n    extraExposedTransformPaths: []\n    extraUserProperties: []\n    clipAnimations: []\n    isReadable: 1\n  meshes:\n    lODScreenPercentages: []\n    globalScale: 1\n    meshCompression: 0\n    addColliders: 0\n    importVisibility: 1\n    importBlendShapes: 1\n    importCameras: 1\n    importLights: 1\n    swapUVChannels: 0\n    generateSecondaryUV: 0\n    useFileUnits: 1\n    optimizeMeshForGPU: 1\n    keepQuads: 0\n    weldVertices: 1\n    preserveHierarchy: 0\n    indexFormat: 0\n    secondaryUVAngleDistortion: 8\n    secondaryUVAreaDistortion: 15.000001\n    secondaryUVHardAngle: 88\n    secondaryUVPackMargin: 4\n    useFileScale: 1\n  tangentSpace:\n    normalSmoothAngle: 60\n    normalImportMode: 0\n    tangentImportMode: 3\n    normalCalculationMode: 4\n  importAnimation: 0\n  copyAvatar: 0\n  humanDescription:\n    serializedVersion: 2\n    human: []\n    skeleton: []\n    armTwist: 0.5\n    foreArmTwist: 0.5\n    upperLegTwist: 0.5\n    legTwist: 0.5\n    armStretch: 0.05\n    legStretch: 0.05\n    feetSpacing: 0\n    rootMotionBoneName: \n    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}\n    hasTranslationDoF: 0\n    hasExtraRoot: 0\n    skeletonHasParents: 1\n  lastHumanDescriptionAvatarSource: {instanceID: 0}\n  animationType: 0\n  humanoidOversampling: 1\n  additionalBone: 0\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Models/watersurface.fbx.meta",
    "content": "fileFormatVersion: 2\nguid: f887aba9d4c2b4ed7aa199c12fda2221\nModelImporter:\n  serializedVersion: 22\n  fileIDToRecycleName:\n    100000: blur\n    100002: Cube\n    100004: Cube.001\n    100006: flare1\n    100008: ground\n    100010: lens\n    100012: Plane.000\n    100014: skybox\n    100016: Sphere.000\n    100018: Sphere.001\n    100020: Sphere.002\n    100022: Sphere.003\n    100024: water\n    100026: //RootNode\n    400000: blur\n    400002: Cube\n    400004: Cube.001\n    400006: flare1\n    400008: ground\n    400010: lens\n    400012: Plane.000\n    400014: skybox\n    400016: Sphere.000\n    400018: Sphere.001\n    400020: Sphere.002\n    400022: Sphere.003\n    400024: water\n    400026: //RootNode\n    2100000: ground\n    2100002: Material\n    2100004: flare.002\n    2100006: lens\n    2100008: sky\n    2100010: water\n    2100012: flare.001\n    2100014: blur\n    2300000: blur\n    2300002: Cube\n    2300004: Cube.001\n    2300006: flare1\n    2300008: ground\n    2300010: lens\n    2300012: Plane.000\n    2300014: skybox\n    2300016: Sphere.000\n    2300018: Sphere.001\n    2300020: Sphere.002\n    2300022: Sphere.003\n    2300024: water\n    3300000: blur\n    3300002: Cube\n    3300004: Cube.001\n    3300006: flare1\n    3300008: ground\n    3300010: lens\n    3300012: Plane.000\n    3300014: skybox\n    3300016: Sphere.000\n    3300018: Sphere.001\n    3300020: Sphere.002\n    3300022: Sphere.003\n    3300024: water\n    4300000: Sphere.003\n    4300002: Sphere.002\n    4300004: Sphere.000\n    4300006: Sphere.001\n    4300008: Cube\n    4300010: flare1\n    4300012: lens\n    4300014: skybox\n    4300016: water\n    4300018: Plane.000\n    4300020: blur\n    4300022: Cube.001\n    4300024: ground\n  externalObjects: {}\n  materials:\n    importMaterials: 1\n    materialName: 0\n    materialSearch: 1\n    materialLocation: 1\n  animations:\n    legacyGenerateAnimations: 4\n    bakeSimulation: 0\n    resampleCurves: 1\n    optimizeGameObjects: 0\n    motionNodeName: \n    rigImportErrors: \n    rigImportWarnings: \n    animationImportErrors: \n    animationImportWarnings: \n    animationRetargetingWarnings: \n    animationDoRetargetingWarnings: 0\n    importAnimatedCustomProperties: 0\n    importConstraints: 0\n    animationCompression: 1\n    animationRotationError: 0.5\n    animationPositionError: 0.5\n    animationScaleError: 0.5\n    animationWrapMode: 0\n    extraExposedTransformPaths: []\n    extraUserProperties: []\n    clipAnimations: []\n    isReadable: 1\n  meshes:\n    lODScreenPercentages: []\n    globalScale: 1\n    meshCompression: 0\n    addColliders: 0\n    importVisibility: 1\n    importBlendShapes: 1\n    importCameras: 1\n    importLights: 1\n    swapUVChannels: 0\n    generateSecondaryUV: 0\n    useFileUnits: 1\n    optimizeMeshForGPU: 1\n    keepQuads: 0\n    weldVertices: 1\n    preserveHierarchy: 0\n    indexFormat: 0\n    secondaryUVAngleDistortion: 8\n    secondaryUVAreaDistortion: 15.000001\n    secondaryUVHardAngle: 88\n    secondaryUVPackMargin: 4\n    useFileScale: 1\n  tangentSpace:\n    normalSmoothAngle: 60\n    normalImportMode: 0\n    tangentImportMode: 3\n    normalCalculationMode: 4\n  importAnimation: 1\n  copyAvatar: 0\n  humanDescription:\n    serializedVersion: 2\n    human: []\n    skeleton: []\n    armTwist: 0.5\n    foreArmTwist: 0.5\n    upperLegTwist: 0.5\n    legTwist: 0.5\n    armStretch: 0.05\n    legStretch: 0.05\n    feetSpacing: 0\n    rootMotionBoneName: \n    rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}\n    hasTranslationDoF: 0\n    hasExtraRoot: 0\n    skeletonHasParents: 1\n  lastHumanDescriptionAvatarSource: {instanceID: 0}\n  animationType: 0\n  humanoidOversampling: 1\n  additionalBone: 0\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Models.meta",
    "content": "fileFormatVersion: 2\nguid: c067694b1663f4a319591cbac03ae3d3\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Prefabs/Water Surface.prefab",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!1001 &100100000\nPrefab:\n  m_ObjectHideFlags: 1\n  serializedVersion: 2\n  m_Modification:\n    m_TransformParent: {fileID: 0}\n    m_Modifications: []\n    m_RemovedComponents: []\n  m_SourcePrefab: {fileID: 0}\n  m_RootGameObject: {fileID: 1142640042221668}\n  m_IsPrefabAsset: 1\n--- !u!1 &1142640042221668\nGameObject:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 100100000}\n  serializedVersion: 6\n  m_Component:\n  - component: {fileID: 4301781751017244}\n  - component: {fileID: 33632951515453430}\n  - component: {fileID: 23948156561336780}\n  - component: {fileID: 114451531188865348}\n  m_Layer: 4\n  m_Name: Water Surface\n  m_TagString: Untagged\n  m_Icon: {fileID: 0}\n  m_NavMeshLayer: 0\n  m_StaticEditorFlags: 0\n  m_IsActive: 1\n--- !u!4 &4301781751017244\nTransform:\n  m_ObjectHideFlags: 1\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 100100000}\n  m_GameObject: {fileID: 1142640042221668}\n  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}\n  m_LocalPosition: {x: 0, y: 0, z: 0}\n  m_LocalScale: {x: 1, y: 1, z: 1}\n  m_Children: []\n  m_Father: {fileID: 0}\n  m_RootOrder: 0\n  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}\n--- !u!23 &23948156561336780\nMeshRenderer:\n  m_ObjectHideFlags: 1\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 100100000}\n  m_GameObject: {fileID: 1142640042221668}\n  m_Enabled: 1\n  m_CastShadows: 0\n  m_ReceiveShadows: 1\n  m_DynamicOccludee: 1\n  m_MotionVectors: 1\n  m_LightProbeUsage: 1\n  m_ReflectionProbeUsage: 1\n  m_RenderingLayerMask: 4294967295\n  m_Materials:\n  - {fileID: 2100000, guid: 784f7b1ea93064cb79f69935ad0efad4, type: 2}\n  m_StaticBatchInfo:\n    firstSubMesh: 0\n    subMeshCount: 0\n  m_StaticBatchRoot: {fileID: 0}\n  m_ProbeAnchor: {fileID: 0}\n  m_LightProbeVolumeOverride: {fileID: 0}\n  m_ScaleInLightmap: 1\n  m_PreserveUVs: 0\n  m_IgnoreNormalsForChartDetection: 0\n  m_ImportantGI: 0\n  m_StitchLightmapSeams: 0\n  m_SelectedEditorRenderState: 3\n  m_MinimumChartSize: 4\n  m_AutoUVMaxDistance: 0.5\n  m_AutoUVMaxAngle: 89\n  m_LightmapParameters: {fileID: 0}\n  m_SortingLayerID: 0\n  m_SortingLayer: 0\n  m_SortingOrder: 0\n--- !u!33 &33632951515453430\nMeshFilter:\n  m_ObjectHideFlags: 1\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 100100000}\n  m_GameObject: {fileID: 1142640042221668}\n  m_Mesh: {fileID: 4300016, guid: f887aba9d4c2b4ed7aa199c12fda2221, type: 3}\n--- !u!114 &114451531188865348\nMonoBehaviour:\n  m_ObjectHideFlags: 1\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 100100000}\n  m_GameObject: {fileID: 1142640042221668}\n  m_Enabled: 1\n  m_EditorHideFlags: 0\n  m_Script: {fileID: 11500000, guid: cf6badaa217364968a525ba8a44a3fe3, type: 3}\n  m_Name: \n  m_EditorClassIdentifier: \n  disablePixelLights: 0\n  reflectionDownsample: 2\n  clipPlaneOffset: 0.2\n  m_ReflectLayers:\n    serializedVersion: 2\n    m_Bits: 4294967295\n  settings:\n    normalTexture: {fileID: 2800000, guid: eca2a7fa5744c453b8a3dd4d9549b767, type: 3}\n    windDirection: {x: -0.5, y: -0.8}\n    windSpeed: 0.6\n    visibility: 28\n    waveScale: 1\n    scatterAmount: 3.5\n    scatterColor: {r: 0, g: 1, b: 0.95, a: 1}\n    reflectionDistortionAmount: 0.03\n    refractionDistortionAmount: 0.04\n    aberrationAmount: 0.002\n    mudExtinction: {r: 1, g: 0.7, b: 0.5, a: 1}\n    waterExtinction: {r: 0.6, g: 0.8, b: 1, a: 1}\n    sunExtinction: {r: 0.45, g: 0.55, b: 0.7, a: 1}\n  surfaceMaterial: {fileID: 2100000, guid: 784f7b1ea93064cb79f69935ad0efad4, type: 2}\n  groundMaterial: {fileID: 2100000, guid: 06618ef051ba8422a85c276d05b5be98, type: 2}\n  sunLight: {fileID: 0}\n"
  },
  {
    "path": "Water/Assets/Water/Prefabs/Water Surface.prefab.meta",
    "content": "fileFormatVersion: 2\nguid: 20de1bf9e984c4606a378e2e88960fe2\nNativeFormatImporter:\n  externalObjects: {}\n  mainObjectFileID: 100100000\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Prefabs.meta",
    "content": "fileFormatVersion: 2\nguid: a6b6b767a300b4426ba058af2c640842\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Scenes/SampleScene/LightingData.asset.meta",
    "content": "fileFormatVersion: 2\nguid: f1061ecdfe0124098a6f7abd28d41fbb\nNativeFormatImporter:\n  externalObjects: {}\n  mainObjectFileID: 25800000\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Scenes/SampleScene/ReflectionProbe-0.exr.meta",
    "content": "fileFormatVersion: 2\nguid: 71213cc1419644e388aecddf279aef6b\nTextureImporter:\n  fileIDToRecycleName:\n    8900000: generatedCubemap\n  externalObjects: {}\n  serializedVersion: 5\n  mipmaps:\n    mipMapMode: 0\n    enableMipMap: 1\n    sRGBTexture: 1\n    linearTexture: 0\n    fadeOut: 0\n    borderMipMap: 0\n    mipMapsPreserveCoverage: 0\n    alphaTestReferenceValue: 0.5\n    mipMapFadeDistanceStart: 1\n    mipMapFadeDistanceEnd: 3\n  bumpmap:\n    convertToNormalMap: 0\n    externalNormalMap: 0\n    heightScale: 0.25\n    normalMapFilter: 0\n  isReadable: 0\n  grayScaleToAlpha: 0\n  generateCubemap: 6\n  cubemapConvolution: 1\n  seamlessCubemap: 1\n  textureFormat: 1\n  maxTextureSize: 2048\n  textureSettings:\n    serializedVersion: 2\n    filterMode: 2\n    aniso: 0\n    mipBias: 0\n    wrapU: 1\n    wrapV: 1\n    wrapW: 1\n  nPOTScale: 1\n  lightmap: 0\n  compressionQuality: 50\n  spriteMode: 0\n  spriteExtrude: 1\n  spriteMeshType: 1\n  alignment: 0\n  spritePivot: {x: 0.5, y: 0.5}\n  spritePixelsToUnits: 100\n  spriteBorder: {x: 0, y: 0, z: 0, w: 0}\n  spriteGenerateFallbackPhysicsShape: 1\n  alphaUsage: 1\n  alphaIsTransparency: 0\n  spriteTessellationDetail: -1\n  textureType: 0\n  textureShape: 2\n  singleChannelComponent: 0\n  maxTextureSizeSet: 0\n  compressionQualitySet: 0\n  textureFormatSet: 0\n  platformSettings:\n  - serializedVersion: 2\n    buildTarget: DefaultTexturePlatform\n    maxTextureSize: 2048\n    resizeAlgorithm: 0\n    textureFormat: -1\n    textureCompression: 1\n    compressionQuality: 100\n    crunchedCompression: 0\n    allowsAlphaSplitting: 0\n    overridden: 0\n    androidETC2FallbackOverride: 0\n  spriteSheet:\n    serializedVersion: 2\n    sprites: []\n    outline: []\n    physicsShape: []\n    bones: []\n    spriteID: \n    vertices: []\n    indices: \n    edges: []\n    weights: []\n  spritePackingTag: \n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Scenes/SampleScene/ReflectionProbe-1.exr.meta",
    "content": "fileFormatVersion: 2\nguid: 5a58a4cc09abf44d291f28fa3ee7ddac\nTextureImporter:\n  fileIDToRecycleName:\n    8900000: generatedCubemap\n  externalObjects: {}\n  serializedVersion: 5\n  mipmaps:\n    mipMapMode: 0\n    enableMipMap: 1\n    sRGBTexture: 1\n    linearTexture: 0\n    fadeOut: 0\n    borderMipMap: 0\n    mipMapsPreserveCoverage: 0\n    alphaTestReferenceValue: 0.5\n    mipMapFadeDistanceStart: 1\n    mipMapFadeDistanceEnd: 3\n  bumpmap:\n    convertToNormalMap: 0\n    externalNormalMap: 0\n    heightScale: 0.25\n    normalMapFilter: 0\n  isReadable: 0\n  grayScaleToAlpha: 0\n  generateCubemap: 6\n  cubemapConvolution: 1\n  seamlessCubemap: 1\n  textureFormat: 1\n  maxTextureSize: 2048\n  textureSettings:\n    serializedVersion: 2\n    filterMode: 2\n    aniso: 0\n    mipBias: 0\n    wrapU: 1\n    wrapV: 1\n    wrapW: 1\n  nPOTScale: 1\n  lightmap: 0\n  compressionQuality: 50\n  spriteMode: 0\n  spriteExtrude: 1\n  spriteMeshType: 1\n  alignment: 0\n  spritePivot: {x: 0.5, y: 0.5}\n  spritePixelsToUnits: 100\n  spriteBorder: {x: 0, y: 0, z: 0, w: 0}\n  spriteGenerateFallbackPhysicsShape: 1\n  alphaUsage: 1\n  alphaIsTransparency: 0\n  spriteTessellationDetail: -1\n  textureType: 0\n  textureShape: 2\n  singleChannelComponent: 0\n  maxTextureSizeSet: 0\n  compressionQualitySet: 0\n  textureFormatSet: 0\n  platformSettings:\n  - serializedVersion: 2\n    buildTarget: DefaultTexturePlatform\n    maxTextureSize: 2048\n    resizeAlgorithm: 0\n    textureFormat: -1\n    textureCompression: 1\n    compressionQuality: 100\n    crunchedCompression: 0\n    allowsAlphaSplitting: 0\n    overridden: 0\n    androidETC2FallbackOverride: 0\n  spriteSheet:\n    serializedVersion: 2\n    sprites: []\n    outline: []\n    physicsShape: []\n    bones: []\n    spriteID: \n    vertices: []\n    indices: \n    edges: []\n    weights: []\n  spritePackingTag: \n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Scenes/SampleScene.meta",
    "content": "fileFormatVersion: 2\nguid: 4170843eeef83425a9a6c96eaf19fdb5\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Scenes/SampleScene.unity",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!29 &1\nOcclusionCullingSettings:\n  m_ObjectHideFlags: 0\n  serializedVersion: 2\n  m_OcclusionBakeSettings:\n    smallestOccluder: 5\n    smallestHole: 0.25\n    backfaceThreshold: 100\n  m_SceneGUID: 00000000000000000000000000000000\n  m_OcclusionCullingData: {fileID: 0}\n--- !u!104 &2\nRenderSettings:\n  m_ObjectHideFlags: 0\n  serializedVersion: 9\n  m_Fog: 0\n  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}\n  m_FogMode: 3\n  m_FogDensity: 0.01\n  m_LinearFogStart: 0\n  m_LinearFogEnd: 300\n  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}\n  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}\n  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}\n  m_AmbientIntensity: 1\n  m_AmbientMode: 0\n  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}\n  m_SkyboxMaterial: {fileID: 2100000, guid: 4a8aa65aac3ec4b3fa72f539852b84f9, type: 2}\n  m_HaloStrength: 0.5\n  m_FlareStrength: 1\n  m_FlareFadeSpeed: 3\n  m_HaloTexture: {fileID: 0}\n  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}\n  m_DefaultReflectionMode: 0\n  m_DefaultReflectionResolution: 128\n  m_ReflectionBounces: 1\n  m_ReflectionIntensity: 1\n  m_CustomReflection: {fileID: 0}\n  m_Sun: {fileID: 0}\n  m_IndirectSpecularColor: {r: 0.18278779, g: 0.22849165, b: 0.30702552, a: 1}\n  m_UseRadianceAmbientProbe: 0\n--- !u!157 &3\nLightmapSettings:\n  m_ObjectHideFlags: 0\n  serializedVersion: 11\n  m_GIWorkflowMode: 1\n  m_GISettings:\n    serializedVersion: 2\n    m_BounceScale: 1\n    m_IndirectOutputScale: 1\n    m_AlbedoBoost: 1\n    m_TemporalCoherenceThreshold: 1\n    m_EnvironmentLightingMode: 0\n    m_EnableBakedLightmaps: 0\n    m_EnableRealtimeLightmaps: 0\n  m_LightmapEditorSettings:\n    serializedVersion: 10\n    m_Resolution: 2\n    m_BakeResolution: 10\n    m_AtlasSize: 512\n    m_AO: 0\n    m_AOMaxDistance: 1\n    m_CompAOExponent: 1\n    m_CompAOExponentDirect: 0\n    m_Padding: 2\n    m_LightmapParameters: {fileID: 0}\n    m_LightmapsBakeMode: 1\n    m_TextureCompression: 1\n    m_FinalGather: 0\n    m_FinalGatherFiltering: 1\n    m_FinalGatherRayCount: 256\n    m_ReflectionCompression: 2\n    m_MixedBakeMode: 2\n    m_BakeBackend: 1\n    m_PVRSampling: 1\n    m_PVRDirectSampleCount: 32\n    m_PVRSampleCount: 256\n    m_PVRBounces: 2\n    m_PVRFilterTypeDirect: 0\n    m_PVRFilterTypeIndirect: 0\n    m_PVRFilterTypeAO: 0\n    m_PVRFilteringMode: 1\n    m_PVRCulling: 1\n    m_PVRFilteringGaussRadiusDirect: 1\n    m_PVRFilteringGaussRadiusIndirect: 5\n    m_PVRFilteringGaussRadiusAO: 2\n    m_PVRFilteringAtrousPositionSigmaDirect: 0.5\n    m_PVRFilteringAtrousPositionSigmaIndirect: 2\n    m_PVRFilteringAtrousPositionSigmaAO: 1\n    m_ShowResolutionOverlay: 1\n  m_LightingDataAsset: {fileID: 112000002, guid: f1061ecdfe0124098a6f7abd28d41fbb,\n    type: 2}\n  m_UseShadowmask: 1\n--- !u!196 &4\nNavMeshSettings:\n  serializedVersion: 2\n  m_ObjectHideFlags: 0\n  m_BuildSettings:\n    serializedVersion: 2\n    agentTypeID: 0\n    agentRadius: 0.5\n    agentHeight: 2\n    agentSlope: 45\n    agentClimb: 0.4\n    ledgeDropHeight: 0\n    maxJumpAcrossDistance: 0\n    minRegionArea: 2\n    manualCellSize: 0\n    cellSize: 0.16666667\n    manualTileSize: 0\n    tileSize: 256\n    accuratePlacement: 0\n    debug:\n      m_Flags: 0\n  m_NavMeshData: {fileID: 0}\n--- !u!1 &170076733\nGameObject:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  serializedVersion: 6\n  m_Component:\n  - component: {fileID: 170076735}\n  - component: {fileID: 170076734}\n  - component: {fileID: 170076736}\n  m_Layer: 0\n  m_Name: Directional Light\n  m_TagString: Untagged\n  m_Icon: {fileID: 0}\n  m_NavMeshLayer: 0\n  m_StaticEditorFlags: 0\n  m_IsActive: 1\n--- !u!108 &170076734\nLight:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 170076733}\n  m_Enabled: 1\n  serializedVersion: 8\n  m_Type: 1\n  m_Color: {r: 1, g: 0.9508428, b: 0.9582202, a: 0}\n  m_Intensity: 1\n  m_Range: 10\n  m_SpotAngle: 30\n  m_CookieSize: 10\n  m_Shadows:\n    m_Type: 2\n    m_Resolution: -1\n    m_CustomResolution: -1\n    m_Strength: 1\n    m_Bias: 0.05\n    m_NormalBias: 0.4\n    m_NearPlane: 0.2\n  m_Cookie: {fileID: 0}\n  m_DrawHalo: 0\n  m_Flare: {fileID: 0}\n  m_RenderMode: 0\n  m_CullingMask:\n    serializedVersion: 2\n    m_Bits: 4294967295\n  m_Lightmapping: 4\n  m_LightShadowCasterMode: 0\n  m_AreaSize: {x: 1, y: 1}\n  m_BounceIntensity: 1\n  m_ColorTemperature: 6570\n  m_UseColorTemperature: 0\n  m_ShadowRadius: 0\n  m_ShadowAngle: 0\n--- !u!4 &170076735\nTransform:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 170076733}\n  m_LocalRotation: {x: 0.8763844, y: -0.01259281, z: 0.02294891, w: 0.48090047}\n  m_LocalPosition: {x: 0, y: 3, z: 0}\n  m_LocalScale: {x: 1, y: 1, z: 1}\n  m_Children: []\n  m_Father: {fileID: 0}\n  m_RootOrder: 1\n  m_LocalEulerAnglesHint: {x: 122.49, y: -3, z: 0}\n--- !u!114 &170076736\nMonoBehaviour:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 170076733}\n  m_Enabled: 1\n  m_EditorHideFlags: 0\n  m_Script: {fileID: 11500000, guid: 4b5fe6ee500ee41c39b6f3662c2fbf20, type: 3}\n  m_Name: \n  m_EditorClassIdentifier: \n  extinction: {r: 0.45, g: 0.55, b: 0.7, a: 1}\n  noonColor: {r: 1, g: 1, b: 1, a: 1}\n  duskColor: {r: 1, g: 0.5, b: 0.2, a: 1}\n--- !u!1 &282840810\nGameObject:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  serializedVersion: 6\n  m_Component:\n  - component: {fileID: 282840814}\n  - component: {fileID: 282840813}\n  - component: {fileID: 282840811}\n  - component: {fileID: 282840812}\n  - component: {fileID: 282840815}\n  - component: {fileID: 282840817}\n  - component: {fileID: 282840816}\n  m_Layer: 0\n  m_Name: Main Camera\n  m_TagString: MainCamera\n  m_Icon: {fileID: 0}\n  m_NavMeshLayer: 0\n  m_StaticEditorFlags: 0\n  m_IsActive: 1\n--- !u!81 &282840811\nAudioListener:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 282840810}\n  m_Enabled: 1\n--- !u!114 &282840812\nMonoBehaviour:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 282840810}\n  m_Enabled: 1\n  m_EditorHideFlags: 0\n  m_Script: {fileID: 11500000, guid: 948f4100a11a5c24981795d21301da5c, type: 3}\n  m_Name: \n  m_EditorClassIdentifier: \n  volumeTrigger: {fileID: 282840814}\n  volumeLayer:\n    serializedVersion: 2\n    m_Bits: 256\n  stopNaNPropagation: 1\n  antialiasingMode: 1\n  temporalAntialiasing:\n    jitterSpread: 0.75\n    sharpness: 0.25\n    stationaryBlending: 0.95\n    motionBlending: 0.85\n  subpixelMorphologicalAntialiasing:\n    quality: 0\n  fastApproximateAntialiasing:\n    fastMode: 0\n    keepAlpha: 0\n  fog:\n    enabled: 1\n    excludeSkybox: 1\n  debugLayer:\n    lightMeter:\n      width: 512\n      height: 256\n      showCurves: 1\n    histogram:\n      width: 512\n      height: 256\n      channel: 3\n    waveform:\n      exposure: 0.12\n      height: 256\n    vectorscope:\n      size: 256\n      exposure: 0.12\n    overlaySettings:\n      linearDepth: 0\n      motionColorIntensity: 4\n      motionGridSize: 64\n      colorBlindnessType: 0\n      colorBlindnessStrength: 1\n  m_Resources: {fileID: 11400000, guid: d82512f9c8e5d4a4d938b575d47f88d4, type: 2}\n  m_ShowToolkit: 0\n  m_ShowCustomSorter: 0\n  breakBeforeColorGrading: 0\n  m_BeforeTransparentBundles: []\n  m_BeforeStackBundles: []\n  m_AfterStackBundles: []\n--- !u!20 &282840813\nCamera:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 282840810}\n  m_Enabled: 1\n  serializedVersion: 2\n  m_ClearFlags: 1\n  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}\n  m_projectionMatrixMode: 1\n  m_SensorSize: {x: 36, y: 24}\n  m_LensShift: {x: 0, y: 0}\n  m_FocalLength: 50\n  m_NormalizedViewPortRect:\n    serializedVersion: 2\n    x: 0\n    y: 0\n    width: 1\n    height: 1\n  near clip plane: 0.3\n  far clip plane: 1000\n  field of view: 60\n  orthographic: 0\n  orthographic size: 5\n  m_Depth: -1\n  m_CullingMask:\n    serializedVersion: 2\n    m_Bits: 4294967295\n  m_RenderingPath: -1\n  m_TargetTexture: {fileID: 0}\n  m_TargetDisplay: 0\n  m_TargetEye: 3\n  m_HDR: 1\n  m_AllowMSAA: 0\n  m_AllowDynamicResolution: 0\n  m_ForceIntoRT: 1\n  m_OcclusionCulling: 1\n  m_StereoConvergence: 10\n  m_StereoSeparation: 0.022\n--- !u!4 &282840814\nTransform:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 282840810}\n  m_LocalRotation: {x: 0.07455771, y: -0.065220244, z: 0.0048867646, w: 0.9950696}\n  m_LocalPosition: {x: -2.29, y: 2.03, z: -2}\n  m_LocalScale: {x: 1, y: 1, z: 1}\n  m_Children: []\n  m_Father: {fileID: 0}\n  m_RootOrder: 0\n  m_LocalEulerAnglesHint: {x: 8.57, y: -7.5, z: 0}\n--- !u!114 &282840815\nMonoBehaviour:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 282840810}\n  m_Enabled: 1\n  m_EditorHideFlags: 0\n  m_Script: {fileID: 11500000, guid: 55512927bb6e346438f511122529a907, type: 3}\n  m_Name: \n  m_EditorClassIdentifier: \n--- !u!54 &282840816\nRigidbody:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 282840810}\n  serializedVersion: 2\n  m_Mass: 1\n  m_Drag: 0\n  m_AngularDrag: 0.05\n  m_UseGravity: 1\n  m_IsKinematic: 1\n  m_Interpolate: 0\n  m_Constraints: 0\n  m_CollisionDetection: 0\n--- !u!135 &282840817\nSphereCollider:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 282840810}\n  m_Material: {fileID: 0}\n  m_IsTrigger: 0\n  m_Enabled: 1\n  serializedVersion: 2\n  m_Radius: 1\n  m_Center: {x: 0, y: 0, z: 0}\n--- !u!1001 &737155627\nPrefab:\n  m_ObjectHideFlags: 0\n  serializedVersion: 2\n  m_Modification:\n    m_TransformParent: {fileID: 0}\n    m_Modifications:\n    - target: {fileID: 4301781751017244, guid: 20de1bf9e984c4606a378e2e88960fe2, type: 2}\n      propertyPath: m_LocalPosition.x\n      value: 0\n      objectReference: {fileID: 0}\n    - target: {fileID: 4301781751017244, guid: 20de1bf9e984c4606a378e2e88960fe2, type: 2}\n      propertyPath: m_LocalPosition.y\n      value: 0\n      objectReference: {fileID: 0}\n    - target: {fileID: 4301781751017244, guid: 20de1bf9e984c4606a378e2e88960fe2, type: 2}\n      propertyPath: m_LocalPosition.z\n      value: 0\n      objectReference: {fileID: 0}\n    - target: {fileID: 4301781751017244, guid: 20de1bf9e984c4606a378e2e88960fe2, type: 2}\n      propertyPath: m_LocalRotation.x\n      value: 0\n      objectReference: {fileID: 0}\n    - target: {fileID: 4301781751017244, guid: 20de1bf9e984c4606a378e2e88960fe2, type: 2}\n      propertyPath: m_LocalRotation.y\n      value: 0\n      objectReference: {fileID: 0}\n    - target: {fileID: 4301781751017244, guid: 20de1bf9e984c4606a378e2e88960fe2, type: 2}\n      propertyPath: m_LocalRotation.z\n      value: 0\n      objectReference: {fileID: 0}\n    - target: {fileID: 4301781751017244, guid: 20de1bf9e984c4606a378e2e88960fe2, type: 2}\n      propertyPath: m_LocalRotation.w\n      value: 1\n      objectReference: {fileID: 0}\n    - target: {fileID: 4301781751017244, guid: 20de1bf9e984c4606a378e2e88960fe2, type: 2}\n      propertyPath: m_RootOrder\n      value: 4\n      objectReference: {fileID: 0}\n    - target: {fileID: 114451531188865348, guid: 20de1bf9e984c4606a378e2e88960fe2,\n        type: 2}\n      propertyPath: sunLight\n      value: \n      objectReference: {fileID: 170076734}\n    m_RemovedComponents: []\n  m_SourcePrefab: {fileID: 100100000, guid: 20de1bf9e984c4606a378e2e88960fe2, type: 2}\n  m_IsPrefabAsset: 0\n--- !u!1 &1094497146\nGameObject:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  serializedVersion: 6\n  m_Component:\n  - component: {fileID: 1094497150}\n  - component: {fileID: 1094497149}\n  - component: {fileID: 1094497148}\n  - component: {fileID: 1094497147}\n  - component: {fileID: 1094497151}\n  m_Layer: 0\n  m_Name: Sphere (3)\n  m_TagString: Untagged\n  m_Icon: {fileID: 0}\n  m_NavMeshLayer: 0\n  m_StaticEditorFlags: 0\n  m_IsActive: 1\n--- !u!135 &1094497147\nSphereCollider:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1094497146}\n  m_Material: {fileID: 0}\n  m_IsTrigger: 0\n  m_Enabled: 1\n  serializedVersion: 2\n  m_Radius: 0.5\n  m_Center: {x: 0, y: 0, z: 0}\n--- !u!23 &1094497148\nMeshRenderer:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1094497146}\n  m_Enabled: 1\n  m_CastShadows: 1\n  m_ReceiveShadows: 1\n  m_DynamicOccludee: 1\n  m_MotionVectors: 1\n  m_LightProbeUsage: 1\n  m_ReflectionProbeUsage: 1\n  m_RenderingLayerMask: 4294967295\n  m_Materials:\n  - {fileID: 2100000, guid: 06618ef051ba8422a85c276d05b5be98, type: 2}\n  m_StaticBatchInfo:\n    firstSubMesh: 0\n    subMeshCount: 0\n  m_StaticBatchRoot: {fileID: 0}\n  m_ProbeAnchor: {fileID: 0}\n  m_LightProbeVolumeOverride: {fileID: 0}\n  m_ScaleInLightmap: 1\n  m_PreserveUVs: 0\n  m_IgnoreNormalsForChartDetection: 0\n  m_ImportantGI: 0\n  m_StitchLightmapSeams: 0\n  m_SelectedEditorRenderState: 3\n  m_MinimumChartSize: 4\n  m_AutoUVMaxDistance: 0.5\n  m_AutoUVMaxAngle: 89\n  m_LightmapParameters: {fileID: 0}\n  m_SortingLayerID: 0\n  m_SortingLayer: 0\n  m_SortingOrder: 0\n--- !u!33 &1094497149\nMeshFilter:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1094497146}\n  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}\n--- !u!4 &1094497150\nTransform:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1094497146}\n  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}\n  m_LocalPosition: {x: 8.25, y: 4.5, z: 8.25}\n  m_LocalScale: {x: 3, y: 3, z: 3}\n  m_Children: []\n  m_Father: {fileID: 0}\n  m_RootOrder: 8\n  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}\n--- !u!54 &1094497151\nRigidbody:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1094497146}\n  serializedVersion: 2\n  m_Mass: 1\n  m_Drag: 0\n  m_AngularDrag: 0.05\n  m_UseGravity: 1\n  m_IsKinematic: 0\n  m_Interpolate: 0\n  m_Constraints: 0\n  m_CollisionDetection: 0\n--- !u!1 &1128070029 stripped\nGameObject:\n  m_CorrespondingSourceObject: {fileID: 100000, guid: 230faa639d2cf4ee98a023a6526b47ff,\n    type: 3}\n  m_PrefabInternal: {fileID: 1554616083}\n--- !u!64 &1128070030\nMeshCollider:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1128070029}\n  m_Material: {fileID: 0}\n  m_IsTrigger: 0\n  m_Enabled: 1\n  serializedVersion: 3\n  m_Convex: 0\n  m_CookingOptions: 14\n  m_SkinWidth: 0.01\n  m_Mesh: {fileID: 4300000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n--- !u!1001 &1554616083\nPrefab:\n  m_ObjectHideFlags: 0\n  serializedVersion: 2\n  m_Modification:\n    m_TransformParent: {fileID: 0}\n    m_Modifications:\n    - target: {fileID: 400000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n      propertyPath: m_LocalPosition.x\n      value: -0\n      objectReference: {fileID: 0}\n    - target: {fileID: 400000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n      propertyPath: m_LocalPosition.y\n      value: 0\n      objectReference: {fileID: 0}\n    - target: {fileID: 400000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n      propertyPath: m_LocalPosition.z\n      value: 0\n      objectReference: {fileID: 0}\n    - target: {fileID: 400000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n      propertyPath: m_LocalRotation.x\n      value: 0.000000021855694\n      objectReference: {fileID: 0}\n    - target: {fileID: 400000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n      propertyPath: m_LocalRotation.y\n      value: 0\n      objectReference: {fileID: 0}\n    - target: {fileID: 400000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n      propertyPath: m_LocalRotation.z\n      value: -0\n      objectReference: {fileID: 0}\n    - target: {fileID: 400000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n      propertyPath: m_LocalRotation.w\n      value: 1\n      objectReference: {fileID: 0}\n    - target: {fileID: 400000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n      propertyPath: m_RootOrder\n      value: 3\n      objectReference: {fileID: 0}\n    - target: {fileID: 2300000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n      propertyPath: m_Materials.Array.data[0]\n      value: \n      objectReference: {fileID: 2100000, guid: 06618ef051ba8422a85c276d05b5be98, type: 2}\n    - target: {fileID: 100000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n      propertyPath: m_Name\n      value: Terrain\n      objectReference: {fileID: 0}\n    - target: {fileID: 100000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n      propertyPath: m_IsActive\n      value: 1\n      objectReference: {fileID: 0}\n    m_RemovedComponents: []\n  m_SourcePrefab: {fileID: 100100000, guid: 230faa639d2cf4ee98a023a6526b47ff, type: 3}\n  m_IsPrefabAsset: 0\n--- !u!1 &1730418754\nGameObject:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  serializedVersion: 6\n  m_Component:\n  - component: {fileID: 1730418758}\n  - component: {fileID: 1730418757}\n  - component: {fileID: 1730418756}\n  - component: {fileID: 1730418755}\n  - component: {fileID: 1730418759}\n  m_Layer: 0\n  m_Name: Sphere\n  m_TagString: Untagged\n  m_Icon: {fileID: 0}\n  m_NavMeshLayer: 0\n  m_StaticEditorFlags: 0\n  m_IsActive: 1\n--- !u!135 &1730418755\nSphereCollider:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1730418754}\n  m_Material: {fileID: 0}\n  m_IsTrigger: 0\n  m_Enabled: 1\n  serializedVersion: 2\n  m_Radius: 0.5\n  m_Center: {x: 0, y: 0, z: 0}\n--- !u!23 &1730418756\nMeshRenderer:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1730418754}\n  m_Enabled: 1\n  m_CastShadows: 1\n  m_ReceiveShadows: 1\n  m_DynamicOccludee: 1\n  m_MotionVectors: 1\n  m_LightProbeUsage: 1\n  m_ReflectionProbeUsage: 1\n  m_RenderingLayerMask: 4294967295\n  m_Materials:\n  - {fileID: 2100000, guid: 06618ef051ba8422a85c276d05b5be98, type: 2}\n  m_StaticBatchInfo:\n    firstSubMesh: 0\n    subMeshCount: 0\n  m_StaticBatchRoot: {fileID: 0}\n  m_ProbeAnchor: {fileID: 0}\n  m_LightProbeVolumeOverride: {fileID: 0}\n  m_ScaleInLightmap: 1\n  m_PreserveUVs: 0\n  m_IgnoreNormalsForChartDetection: 0\n  m_ImportantGI: 0\n  m_StitchLightmapSeams: 0\n  m_SelectedEditorRenderState: 3\n  m_MinimumChartSize: 4\n  m_AutoUVMaxDistance: 0.5\n  m_AutoUVMaxAngle: 89\n  m_LightmapParameters: {fileID: 0}\n  m_SortingLayerID: 0\n  m_SortingLayer: 0\n  m_SortingOrder: 0\n--- !u!33 &1730418757\nMeshFilter:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1730418754}\n  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}\n--- !u!4 &1730418758\nTransform:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1730418754}\n  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}\n  m_LocalPosition: {x: -9.25, y: 2.25, z: 9.5}\n  m_LocalScale: {x: 3, y: 3, z: 3}\n  m_Children: []\n  m_Father: {fileID: 0}\n  m_RootOrder: 5\n  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}\n--- !u!54 &1730418759\nRigidbody:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1730418754}\n  serializedVersion: 2\n  m_Mass: 1\n  m_Drag: 0\n  m_AngularDrag: 0.05\n  m_UseGravity: 1\n  m_IsKinematic: 0\n  m_Interpolate: 0\n  m_Constraints: 0\n  m_CollisionDetection: 0\n--- !u!1 &1736917589\nGameObject:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  serializedVersion: 6\n  m_Component:\n  - component: {fileID: 1736917593}\n  - component: {fileID: 1736917592}\n  - component: {fileID: 1736917591}\n  - component: {fileID: 1736917590}\n  - component: {fileID: 1736917594}\n  m_Layer: 0\n  m_Name: Sphere (2)\n  m_TagString: Untagged\n  m_Icon: {fileID: 0}\n  m_NavMeshLayer: 0\n  m_StaticEditorFlags: 0\n  m_IsActive: 1\n--- !u!135 &1736917590\nSphereCollider:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1736917589}\n  m_Material: {fileID: 0}\n  m_IsTrigger: 0\n  m_Enabled: 1\n  serializedVersion: 2\n  m_Radius: 0.5\n  m_Center: {x: 0, y: 0, z: 0}\n--- !u!23 &1736917591\nMeshRenderer:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1736917589}\n  m_Enabled: 1\n  m_CastShadows: 1\n  m_ReceiveShadows: 1\n  m_DynamicOccludee: 1\n  m_MotionVectors: 1\n  m_LightProbeUsage: 1\n  m_ReflectionProbeUsage: 1\n  m_RenderingLayerMask: 4294967295\n  m_Materials:\n  - {fileID: 2100000, guid: 06618ef051ba8422a85c276d05b5be98, type: 2}\n  m_StaticBatchInfo:\n    firstSubMesh: 0\n    subMeshCount: 0\n  m_StaticBatchRoot: {fileID: 0}\n  m_ProbeAnchor: {fileID: 0}\n  m_LightProbeVolumeOverride: {fileID: 0}\n  m_ScaleInLightmap: 1\n  m_PreserveUVs: 0\n  m_IgnoreNormalsForChartDetection: 0\n  m_ImportantGI: 0\n  m_StitchLightmapSeams: 0\n  m_SelectedEditorRenderState: 3\n  m_MinimumChartSize: 4\n  m_AutoUVMaxDistance: 0.5\n  m_AutoUVMaxAngle: 89\n  m_LightmapParameters: {fileID: 0}\n  m_SortingLayerID: 0\n  m_SortingLayer: 0\n  m_SortingOrder: 0\n--- !u!33 &1736917592\nMeshFilter:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1736917589}\n  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}\n--- !u!4 &1736917593\nTransform:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1736917589}\n  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}\n  m_LocalPosition: {x: -13.25, y: 0, z: 24}\n  m_LocalScale: {x: 3, y: 3, z: 3}\n  m_Children: []\n  m_Father: {fileID: 0}\n  m_RootOrder: 7\n  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}\n--- !u!54 &1736917594\nRigidbody:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1736917589}\n  serializedVersion: 2\n  m_Mass: 1\n  m_Drag: 0\n  m_AngularDrag: 0.05\n  m_UseGravity: 1\n  m_IsKinematic: 0\n  m_Interpolate: 0\n  m_Constraints: 0\n  m_CollisionDetection: 0\n--- !u!1 &1826373489\nGameObject:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  serializedVersion: 6\n  m_Component:\n  - component: {fileID: 1826373492}\n  - component: {fileID: 1826373490}\n  m_Layer: 8\n  m_Name: Post-process Volume\n  m_TagString: Untagged\n  m_Icon: {fileID: 0}\n  m_NavMeshLayer: 0\n  m_StaticEditorFlags: 0\n  m_IsActive: 1\n--- !u!114 &1826373490\nMonoBehaviour:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1826373489}\n  m_Enabled: 1\n  m_EditorHideFlags: 0\n  m_Script: {fileID: 11500000, guid: 8b9a305e18de0c04dbd257a21cd47087, type: 3}\n  m_Name: \n  m_EditorClassIdentifier: \n  sharedProfile: {fileID: 11400000, guid: fe7b519646b984bcd9778a537cbc164c, type: 2}\n  isGlobal: 1\n  blendDistance: 0\n  weight: 1\n  priority: 0\n--- !u!4 &1826373492\nTransform:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 1826373489}\n  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}\n  m_LocalPosition: {x: 0, y: 0, z: 0}\n  m_LocalScale: {x: 1, y: 1, z: 1}\n  m_Children: []\n  m_Father: {fileID: 0}\n  m_RootOrder: 2\n  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}\n--- !u!1 &2131938256\nGameObject:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  serializedVersion: 6\n  m_Component:\n  - component: {fileID: 2131938260}\n  - component: {fileID: 2131938259}\n  - component: {fileID: 2131938258}\n  - component: {fileID: 2131938257}\n  - component: {fileID: 2131938261}\n  m_Layer: 0\n  m_Name: Sphere (1)\n  m_TagString: Untagged\n  m_Icon: {fileID: 0}\n  m_NavMeshLayer: 0\n  m_StaticEditorFlags: 0\n  m_IsActive: 1\n--- !u!135 &2131938257\nSphereCollider:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 2131938256}\n  m_Material: {fileID: 0}\n  m_IsTrigger: 0\n  m_Enabled: 1\n  serializedVersion: 2\n  m_Radius: 0.5\n  m_Center: {x: 0, y: 0, z: 0}\n--- !u!23 &2131938258\nMeshRenderer:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 2131938256}\n  m_Enabled: 1\n  m_CastShadows: 1\n  m_ReceiveShadows: 1\n  m_DynamicOccludee: 1\n  m_MotionVectors: 1\n  m_LightProbeUsage: 1\n  m_ReflectionProbeUsage: 1\n  m_RenderingLayerMask: 4294967295\n  m_Materials:\n  - {fileID: 2100000, guid: 06618ef051ba8422a85c276d05b5be98, type: 2}\n  m_StaticBatchInfo:\n    firstSubMesh: 0\n    subMeshCount: 0\n  m_StaticBatchRoot: {fileID: 0}\n  m_ProbeAnchor: {fileID: 0}\n  m_LightProbeVolumeOverride: {fileID: 0}\n  m_ScaleInLightmap: 1\n  m_PreserveUVs: 0\n  m_IgnoreNormalsForChartDetection: 0\n  m_ImportantGI: 0\n  m_StitchLightmapSeams: 0\n  m_SelectedEditorRenderState: 3\n  m_MinimumChartSize: 4\n  m_AutoUVMaxDistance: 0.5\n  m_AutoUVMaxAngle: 89\n  m_LightmapParameters: {fileID: 0}\n  m_SortingLayerID: 0\n  m_SortingLayer: 0\n  m_SortingOrder: 0\n--- !u!33 &2131938259\nMeshFilter:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 2131938256}\n  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}\n--- !u!4 &2131938260\nTransform:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 2131938256}\n  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}\n  m_LocalPosition: {x: 8, y: 6, z: 19.5}\n  m_LocalScale: {x: 3, y: 3, z: 3}\n  m_Children: []\n  m_Father: {fileID: 0}\n  m_RootOrder: 6\n  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}\n--- !u!54 &2131938261\nRigidbody:\n  m_ObjectHideFlags: 0\n  m_CorrespondingSourceObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 2131938256}\n  serializedVersion: 2\n  m_Mass: 1\n  m_Drag: 0\n  m_AngularDrag: 0.05\n  m_UseGravity: 1\n  m_IsKinematic: 0\n  m_Interpolate: 0\n  m_Constraints: 0\n  m_CollisionDetection: 0\n"
  },
  {
    "path": "Water/Assets/Water/Scenes/SampleScene.unity.meta",
    "content": "fileFormatVersion: 2\r\nguid: 99c9720ab356a0642a771bea13969a05\r\nDefaultImporter:\r\n  externalObjects: {}\r\n  userData: \r\n  assetBundleName: \r\n  assetBundleVariant: \r\n"
  },
  {
    "path": "Water/Assets/Water/Scenes/SampleScene_Profiles/Post-process Volume Profile.asset",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!114 &11400000\nMonoBehaviour:\n  m_ObjectHideFlags: 0\n  m_PrefabParentObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 0}\n  m_Enabled: 1\n  m_EditorHideFlags: 0\n  m_Script: {fileID: 11500000, guid: 8e6292b2c06870d4495f009f912b9600, type: 3}\n  m_Name: Post-process Volume Profile\n  m_EditorClassIdentifier: \n  settings:\n  - {fileID: 114668727993528958}\n  - {fileID: 114268534441347778}\n  - {fileID: 114533367690942200}\n--- !u!114 &114268534441347778\nMonoBehaviour:\n  m_ObjectHideFlags: 3\n  m_PrefabParentObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 0}\n  m_Enabled: 1\n  m_EditorHideFlags: 0\n  m_Script: {fileID: 11500000, guid: adb84e30e02715445aeb9959894e3b4d, type: 3}\n  m_Name: ColorGrading\n  m_EditorClassIdentifier: \n  active: 1\n  enabled:\n    overrideState: 1\n    value: 1\n  gradingMode:\n    overrideState: 0\n    value: 1\n  externalLut:\n    overrideState: 0\n    value: {fileID: 0}\n    defaultState: 1\n  tonemapper:\n    overrideState: 1\n    value: 2\n  toneCurveToeStrength:\n    overrideState: 0\n    value: 0\n  toneCurveToeLength:\n    overrideState: 0\n    value: 0.5\n  toneCurveShoulderStrength:\n    overrideState: 0\n    value: 0\n  toneCurveShoulderLength:\n    overrideState: 0\n    value: 0.5\n  toneCurveShoulderAngle:\n    overrideState: 0\n    value: 0\n  toneCurveGamma:\n    overrideState: 0\n    value: 1\n  ldrLut:\n    overrideState: 0\n    value: {fileID: 0}\n    defaultState: 4\n  ldrLutContribution:\n    overrideState: 0\n    value: 1\n  temperature:\n    overrideState: 0\n    value: -15.68\n  tint:\n    overrideState: 0\n    value: 0\n  colorFilter:\n    overrideState: 0\n    value: {r: 1, g: 1, b: 1, a: 1}\n  hueShift:\n    overrideState: 0\n    value: 0\n  saturation:\n    overrideState: 0\n    value: 0\n  brightness:\n    overrideState: 0\n    value: 0\n  postExposure:\n    overrideState: 1\n    value: -0.25\n  contrast:\n    overrideState: 1\n    value: 25\n  mixerRedOutRedIn:\n    overrideState: 0\n    value: 100\n  mixerRedOutGreenIn:\n    overrideState: 0\n    value: 0\n  mixerRedOutBlueIn:\n    overrideState: 0\n    value: 0\n  mixerGreenOutRedIn:\n    overrideState: 0\n    value: 0\n  mixerGreenOutGreenIn:\n    overrideState: 0\n    value: 100\n  mixerGreenOutBlueIn:\n    overrideState: 0\n    value: 0\n  mixerBlueOutRedIn:\n    overrideState: 0\n    value: 0\n  mixerBlueOutGreenIn:\n    overrideState: 0\n    value: 0\n  mixerBlueOutBlueIn:\n    overrideState: 0\n    value: 100\n  lift:\n    overrideState: 0\n    value: {x: 1, y: 1, z: 1, w: 0}\n  gamma:\n    overrideState: 0\n    value: {x: 1, y: 1, z: 1, w: 0}\n  gain:\n    overrideState: 0\n    value: {x: 1, y: 1, z: 1, w: 0}\n  masterCurve:\n    overrideState: 0\n    value:\n      curve:\n        serializedVersion: 2\n        m_Curve:\n        - serializedVersion: 3\n          time: 0\n          value: 0\n          inSlope: 1\n          outSlope: 1\n          tangentMode: 0\n          weightedMode: 0\n          inWeight: 0\n          outWeight: 0\n        - serializedVersion: 3\n          time: 1\n          value: 1\n          inSlope: 1\n          outSlope: 1\n          tangentMode: 0\n          weightedMode: 0\n          inWeight: 0\n          outWeight: 0\n        m_PreInfinity: 2\n        m_PostInfinity: 2\n        m_RotationOrder: 4\n      m_Loop: 0\n      m_ZeroValue: 0\n      m_Range: 1\n      cachedData:\n      - 0\n      - 0.0078125\n      - 0.015625\n      - 0.0234375\n      - 0.03125\n      - 0.0390625\n      - 0.046875\n      - 0.0546875\n      - 0.0625\n      - 0.0703125\n      - 0.078125\n      - 0.0859375\n      - 0.09375\n      - 0.1015625\n      - 0.109375\n      - 0.1171875\n      - 0.125\n      - 0.1328125\n      - 0.140625\n      - 0.1484375\n      - 0.15625\n      - 0.1640625\n      - 0.171875\n      - 0.1796875\n      - 0.1875\n      - 0.1953125\n      - 0.203125\n      - 0.2109375\n      - 0.21875\n      - 0.2265625\n      - 0.234375\n      - 0.2421875\n      - 0.25\n      - 0.2578125\n      - 0.265625\n      - 0.2734375\n      - 0.28125\n      - 0.2890625\n      - 0.296875\n      - 0.3046875\n      - 0.3125\n      - 0.3203125\n      - 0.328125\n      - 0.3359375\n      - 0.34375\n      - 0.3515625\n      - 0.359375\n      - 0.3671875\n      - 0.375\n      - 0.3828125\n      - 0.390625\n      - 0.3984375\n      - 0.40625\n      - 0.4140625\n      - 0.421875\n      - 0.4296875\n      - 0.4375\n      - 0.4453125\n      - 0.453125\n      - 0.4609375\n      - 0.46875\n      - 0.4765625\n      - 0.484375\n      - 0.4921875\n      - 0.5\n      - 0.5078125\n      - 0.515625\n      - 0.5234375\n      - 0.53125\n      - 0.5390625\n      - 0.546875\n      - 0.5546875\n      - 0.5625\n      - 0.5703125\n      - 0.578125\n      - 0.5859375\n      - 0.59375\n      - 0.6015625\n      - 0.609375\n      - 0.6171875\n      - 0.625\n      - 0.6328125\n      - 0.640625\n      - 0.6484375\n      - 0.65625\n      - 0.6640625\n      - 0.671875\n      - 0.6796875\n      - 0.6875\n      - 0.6953125\n      - 0.703125\n      - 0.7109375\n      - 0.71875\n      - 0.7265625\n      - 0.734375\n      - 0.7421875\n      - 0.75\n      - 0.7578125\n      - 0.765625\n      - 0.7734375\n      - 0.78125\n      - 0.7890625\n      - 0.796875\n      - 0.8046875\n      - 0.8125\n      - 0.8203125\n      - 0.828125\n      - 0.8359375\n      - 0.84375\n      - 0.8515625\n      - 0.859375\n      - 0.8671875\n      - 0.875\n      - 0.8828125\n      - 0.890625\n      - 0.8984375\n      - 0.90625\n      - 0.9140625\n      - 0.921875\n      - 0.9296875\n      - 0.9375\n      - 0.9453125\n      - 0.953125\n      - 0.9609375\n      - 0.96875\n      - 0.9765625\n      - 0.984375\n      - 0.9921875\n  redCurve:\n    overrideState: 0\n    value:\n      curve:\n        serializedVersion: 2\n        m_Curve:\n        - serializedVersion: 3\n          time: 0\n          value: 0\n          inSlope: 1\n          outSlope: 1\n          tangentMode: 0\n          weightedMode: 0\n          inWeight: 0\n          outWeight: 0\n        - serializedVersion: 3\n          time: 1\n          value: 1\n          inSlope: 1\n          outSlope: 1\n          tangentMode: 0\n          weightedMode: 0\n          inWeight: 0\n          outWeight: 0\n        m_PreInfinity: 2\n        m_PostInfinity: 2\n        m_RotationOrder: 4\n      m_Loop: 0\n      m_ZeroValue: 0\n      m_Range: 1\n      cachedData:\n      - 0\n      - 0.0078125\n      - 0.015625\n      - 0.0234375\n      - 0.03125\n      - 0.0390625\n      - 0.046875\n      - 0.0546875\n      - 0.0625\n      - 0.0703125\n      - 0.078125\n      - 0.0859375\n      - 0.09375\n      - 0.1015625\n      - 0.109375\n      - 0.1171875\n      - 0.125\n      - 0.1328125\n      - 0.140625\n      - 0.1484375\n      - 0.15625\n      - 0.1640625\n      - 0.171875\n      - 0.1796875\n      - 0.1875\n      - 0.1953125\n      - 0.203125\n      - 0.2109375\n      - 0.21875\n      - 0.2265625\n      - 0.234375\n      - 0.2421875\n      - 0.25\n      - 0.2578125\n      - 0.265625\n      - 0.2734375\n      - 0.28125\n      - 0.2890625\n      - 0.296875\n      - 0.3046875\n      - 0.3125\n      - 0.3203125\n      - 0.328125\n      - 0.3359375\n      - 0.34375\n      - 0.3515625\n      - 0.359375\n      - 0.3671875\n      - 0.375\n      - 0.3828125\n      - 0.390625\n      - 0.3984375\n      - 0.40625\n      - 0.4140625\n      - 0.421875\n      - 0.4296875\n      - 0.4375\n      - 0.4453125\n      - 0.453125\n      - 0.4609375\n      - 0.46875\n      - 0.4765625\n      - 0.484375\n      - 0.4921875\n      - 0.5\n      - 0.5078125\n      - 0.515625\n      - 0.5234375\n      - 0.53125\n      - 0.5390625\n      - 0.546875\n      - 0.5546875\n      - 0.5625\n      - 0.5703125\n      - 0.578125\n      - 0.5859375\n      - 0.59375\n      - 0.6015625\n      - 0.609375\n      - 0.6171875\n      - 0.625\n      - 0.6328125\n      - 0.640625\n      - 0.6484375\n      - 0.65625\n      - 0.6640625\n      - 0.671875\n      - 0.6796875\n      - 0.6875\n      - 0.6953125\n      - 0.703125\n      - 0.7109375\n      - 0.71875\n      - 0.7265625\n      - 0.734375\n      - 0.7421875\n      - 0.75\n      - 0.7578125\n      - 0.765625\n      - 0.7734375\n      - 0.78125\n      - 0.7890625\n      - 0.796875\n      - 0.8046875\n      - 0.8125\n      - 0.8203125\n      - 0.828125\n      - 0.8359375\n      - 0.84375\n      - 0.8515625\n      - 0.859375\n      - 0.8671875\n      - 0.875\n      - 0.8828125\n      - 0.890625\n      - 0.8984375\n      - 0.90625\n      - 0.9140625\n      - 0.921875\n      - 0.9296875\n      - 0.9375\n      - 0.9453125\n      - 0.953125\n      - 0.9609375\n      - 0.96875\n      - 0.9765625\n      - 0.984375\n      - 0.9921875\n  greenCurve:\n    overrideState: 0\n    value:\n      curve:\n        serializedVersion: 2\n        m_Curve:\n        - serializedVersion: 3\n          time: 0\n          value: 0\n          inSlope: 1\n          outSlope: 1\n          tangentMode: 0\n          weightedMode: 0\n          inWeight: 0\n          outWeight: 0\n        - serializedVersion: 3\n          time: 1\n          value: 1\n          inSlope: 1\n          outSlope: 1\n          tangentMode: 0\n          weightedMode: 0\n          inWeight: 0\n          outWeight: 0\n        m_PreInfinity: 2\n        m_PostInfinity: 2\n        m_RotationOrder: 4\n      m_Loop: 0\n      m_ZeroValue: 0\n      m_Range: 1\n      cachedData:\n      - 0\n      - 0.0078125\n      - 0.015625\n      - 0.0234375\n      - 0.03125\n      - 0.0390625\n      - 0.046875\n      - 0.0546875\n      - 0.0625\n      - 0.0703125\n      - 0.078125\n      - 0.0859375\n      - 0.09375\n      - 0.1015625\n      - 0.109375\n      - 0.1171875\n      - 0.125\n      - 0.1328125\n      - 0.140625\n      - 0.1484375\n      - 0.15625\n      - 0.1640625\n      - 0.171875\n      - 0.1796875\n      - 0.1875\n      - 0.1953125\n      - 0.203125\n      - 0.2109375\n      - 0.21875\n      - 0.2265625\n      - 0.234375\n      - 0.2421875\n      - 0.25\n      - 0.2578125\n      - 0.265625\n      - 0.2734375\n      - 0.28125\n      - 0.2890625\n      - 0.296875\n      - 0.3046875\n      - 0.3125\n      - 0.3203125\n      - 0.328125\n      - 0.3359375\n      - 0.34375\n      - 0.3515625\n      - 0.359375\n      - 0.3671875\n      - 0.375\n      - 0.3828125\n      - 0.390625\n      - 0.3984375\n      - 0.40625\n      - 0.4140625\n      - 0.421875\n      - 0.4296875\n      - 0.4375\n      - 0.4453125\n      - 0.453125\n      - 0.4609375\n      - 0.46875\n      - 0.4765625\n      - 0.484375\n      - 0.4921875\n      - 0.5\n      - 0.5078125\n      - 0.515625\n      - 0.5234375\n      - 0.53125\n      - 0.5390625\n      - 0.546875\n      - 0.5546875\n      - 0.5625\n      - 0.5703125\n      - 0.578125\n      - 0.5859375\n      - 0.59375\n      - 0.6015625\n      - 0.609375\n      - 0.6171875\n      - 0.625\n      - 0.6328125\n      - 0.640625\n      - 0.6484375\n      - 0.65625\n      - 0.6640625\n      - 0.671875\n      - 0.6796875\n      - 0.6875\n      - 0.6953125\n      - 0.703125\n      - 0.7109375\n      - 0.71875\n      - 0.7265625\n      - 0.734375\n      - 0.7421875\n      - 0.75\n      - 0.7578125\n      - 0.765625\n      - 0.7734375\n      - 0.78125\n      - 0.7890625\n      - 0.796875\n      - 0.8046875\n      - 0.8125\n      - 0.8203125\n      - 0.828125\n      - 0.8359375\n      - 0.84375\n      - 0.8515625\n      - 0.859375\n      - 0.8671875\n      - 0.875\n      - 0.8828125\n      - 0.890625\n      - 0.8984375\n      - 0.90625\n      - 0.9140625\n      - 0.921875\n      - 0.9296875\n      - 0.9375\n      - 0.9453125\n      - 0.953125\n      - 0.9609375\n      - 0.96875\n      - 0.9765625\n      - 0.984375\n      - 0.9921875\n  blueCurve:\n    overrideState: 0\n    value:\n      curve:\n        serializedVersion: 2\n        m_Curve:\n        - serializedVersion: 3\n          time: 0\n          value: 0\n          inSlope: 1\n          outSlope: 1\n          tangentMode: 0\n          weightedMode: 0\n          inWeight: 0\n          outWeight: 0\n        - serializedVersion: 3\n          time: 1\n          value: 1\n          inSlope: 1\n          outSlope: 1\n          tangentMode: 0\n          weightedMode: 0\n          inWeight: 0\n          outWeight: 0\n        m_PreInfinity: 2\n        m_PostInfinity: 2\n        m_RotationOrder: 4\n      m_Loop: 0\n      m_ZeroValue: 0\n      m_Range: 1\n      cachedData:\n      - 0\n      - 0.0078125\n      - 0.015625\n      - 0.0234375\n      - 0.03125\n      - 0.0390625\n      - 0.046875\n      - 0.0546875\n      - 0.0625\n      - 0.0703125\n      - 0.078125\n      - 0.0859375\n      - 0.09375\n      - 0.1015625\n      - 0.109375\n      - 0.1171875\n      - 0.125\n      - 0.1328125\n      - 0.140625\n      - 0.1484375\n      - 0.15625\n      - 0.1640625\n      - 0.171875\n      - 0.1796875\n      - 0.1875\n      - 0.1953125\n      - 0.203125\n      - 0.2109375\n      - 0.21875\n      - 0.2265625\n      - 0.234375\n      - 0.2421875\n      - 0.25\n      - 0.2578125\n      - 0.265625\n      - 0.2734375\n      - 0.28125\n      - 0.2890625\n      - 0.296875\n      - 0.3046875\n      - 0.3125\n      - 0.3203125\n      - 0.328125\n      - 0.3359375\n      - 0.34375\n      - 0.3515625\n      - 0.359375\n      - 0.3671875\n      - 0.375\n      - 0.3828125\n      - 0.390625\n      - 0.3984375\n      - 0.40625\n      - 0.4140625\n      - 0.421875\n      - 0.4296875\n      - 0.4375\n      - 0.4453125\n      - 0.453125\n      - 0.4609375\n      - 0.46875\n      - 0.4765625\n      - 0.484375\n      - 0.4921875\n      - 0.5\n      - 0.5078125\n      - 0.515625\n      - 0.5234375\n      - 0.53125\n      - 0.5390625\n      - 0.546875\n      - 0.5546875\n      - 0.5625\n      - 0.5703125\n      - 0.578125\n      - 0.5859375\n      - 0.59375\n      - 0.6015625\n      - 0.609375\n      - 0.6171875\n      - 0.625\n      - 0.6328125\n      - 0.640625\n      - 0.6484375\n      - 0.65625\n      - 0.6640625\n      - 0.671875\n      - 0.6796875\n      - 0.6875\n      - 0.6953125\n      - 0.703125\n      - 0.7109375\n      - 0.71875\n      - 0.7265625\n      - 0.734375\n      - 0.7421875\n      - 0.75\n      - 0.7578125\n      - 0.765625\n      - 0.7734375\n      - 0.78125\n      - 0.7890625\n      - 0.796875\n      - 0.8046875\n      - 0.8125\n      - 0.8203125\n      - 0.828125\n      - 0.8359375\n      - 0.84375\n      - 0.8515625\n      - 0.859375\n      - 0.8671875\n      - 0.875\n      - 0.8828125\n      - 0.890625\n      - 0.8984375\n      - 0.90625\n      - 0.9140625\n      - 0.921875\n      - 0.9296875\n      - 0.9375\n      - 0.9453125\n      - 0.953125\n      - 0.9609375\n      - 0.96875\n      - 0.9765625\n      - 0.984375\n      - 0.9921875\n  hueVsHueCurve:\n    overrideState: 0\n    value:\n      curve:\n        serializedVersion: 2\n        m_Curve: []\n        m_PreInfinity: 2\n        m_PostInfinity: 2\n        m_RotationOrder: 4\n      m_Loop: 1\n      m_ZeroValue: 0.5\n      m_Range: 1\n      cachedData:\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n  hueVsSatCurve:\n    overrideState: 0\n    value:\n      curve:\n        serializedVersion: 2\n        m_Curve: []\n        m_PreInfinity: 2\n        m_PostInfinity: 2\n        m_RotationOrder: 4\n      m_Loop: 1\n      m_ZeroValue: 0.5\n      m_Range: 1\n      cachedData:\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n  satVsSatCurve:\n    overrideState: 0\n    value:\n      curve:\n        serializedVersion: 2\n        m_Curve: []\n        m_PreInfinity: 2\n        m_PostInfinity: 2\n        m_RotationOrder: 4\n      m_Loop: 0\n      m_ZeroValue: 0.5\n      m_Range: 1\n      cachedData:\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n  lumVsSatCurve:\n    overrideState: 0\n    value:\n      curve:\n        serializedVersion: 2\n        m_Curve: []\n        m_PreInfinity: 2\n        m_PostInfinity: 2\n        m_RotationOrder: 4\n      m_Loop: 0\n      m_ZeroValue: 0.5\n      m_Range: 1\n      cachedData:\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n      - 0.5\n--- !u!114 &114533367690942200\nMonoBehaviour:\n  m_ObjectHideFlags: 3\n  m_PrefabParentObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 0}\n  m_Enabled: 1\n  m_EditorHideFlags: 0\n  m_Script: {fileID: 11500000, guid: 48a79b01ea5641d4aa6daa2e23605641, type: 3}\n  m_Name: Bloom\n  m_EditorClassIdentifier: \n  active: 1\n  enabled:\n    overrideState: 1\n    value: 1\n  intensity:\n    overrideState: 1\n    value: 1\n  threshold:\n    overrideState: 0\n    value: 1\n  softKnee:\n    overrideState: 0\n    value: 0.5\n  clamp:\n    overrideState: 0\n    value: 65472\n  diffusion:\n    overrideState: 0\n    value: 5\n  anamorphicRatio:\n    overrideState: 0\n    value: 0\n  color:\n    overrideState: 0\n    value: {r: 1, g: 1, b: 1, a: 1}\n  fastMode:\n    overrideState: 0\n    value: 1\n  dirtTexture:\n    overrideState: 0\n    value: {fileID: 0}\n    defaultState: 1\n  dirtIntensity:\n    overrideState: 0\n    value: 0\n--- !u!114 &114668727993528958\nMonoBehaviour:\n  m_ObjectHideFlags: 3\n  m_PrefabParentObject: {fileID: 0}\n  m_PrefabInternal: {fileID: 0}\n  m_GameObject: {fileID: 0}\n  m_Enabled: 1\n  m_EditorHideFlags: 0\n  m_Script: {fileID: 11500000, guid: 7a34fa72bd4185749832024e9c8010bf, type: 3}\n  m_Name: ScreenSpaceReflections\n  m_EditorClassIdentifier: \n  active: 0\n  enabled:\n    overrideState: 1\n    value: 1\n  preset:\n    overrideState: 1\n    value: 2\n  maximumIterationCount:\n    overrideState: 0\n    value: 16\n  resolution:\n    overrideState: 0\n    value: 0\n  thickness:\n    overrideState: 0\n    value: 8\n  maximumMarchDistance:\n    overrideState: 0\n    value: 100\n  distanceFade:\n    overrideState: 0\n    value: 0.5\n  vignette:\n    overrideState: 1\n    value: 1\n"
  },
  {
    "path": "Water/Assets/Water/Scenes/SampleScene_Profiles/Post-process Volume Profile.asset.meta",
    "content": "fileFormatVersion: 2\nguid: fe7b519646b984bcd9778a537cbc164c\nNativeFormatImporter:\n  externalObjects: {}\n  mainObjectFileID: 11400000\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Scenes/SampleScene_Profiles.meta",
    "content": "fileFormatVersion: 2\nguid: 74e3dc751f42141a58fb42c416891d2f\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Scenes.meta",
    "content": "fileFormatVersion: 2\r\nguid: 4f704ae4b4f98ae41a0bce26658850c1\r\nfolderAsset: yes\r\nDefaultImporter:\r\n  externalObjects: {}\r\n  userData: \r\n  assetBundleName: \r\n  assetBundleVariant: \r\n"
  },
  {
    "path": "Water/Assets/Water/Scripts/CameraMove.cs",
    "content": "﻿using UnityEngine;\r\n\r\npublic class CameraMove : MonoBehaviour\r\n{\r\n\tvoid Update()\r\n\t{\r\n\t\ttransform.Rotate(-Input.GetAxisRaw(\"Mouse Y\") * 2, 0, 0, Space.Self);\r\n\t\ttransform.Rotate(0, Input.GetAxisRaw(\"Mouse X\") * 2, 0, Space.World);\r\n\t\t\r\n\t\ttransform.Translate(Input.GetAxis(\"Horizontal\") * Time.smoothDeltaTime * 10, 0, Input.GetAxis(\"Vertical\") * Time.smoothDeltaTime * 10, Space.Self);\r\n\t}\r\n}"
  },
  {
    "path": "Water/Assets/Water/Scripts/CameraMove.cs.meta",
    "content": "fileFormatVersion: 2\nguid: 55512927bb6e346438f511122529a907\nMonoImporter:\n  externalObjects: {}\n  serializedVersion: 2\n  defaultReferences: []\n  executionOrder: 0\n  icon: {instanceID: 0}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Scripts/LightGrab.cs",
    "content": "﻿using UnityEngine;\r\n\r\n[ExecuteInEditMode]\r\npublic class LightGrab : MonoBehaviour\r\n{\r\n\t[SerializeField]\r\n\tColor extinction = new Color(.45f, .55f, .7f);\r\n\t\r\n\t[SerializeField]\r\n\tColor noonColor = Color.white;\r\n\r\n\t[SerializeField]\r\n\tColor duskColor = new Color(1f, .5f, .2f);\r\n\t\r\n\tbool grabbing;\r\n\tQuaternion startRot;\r\n\tQuaternion camRot;\r\n\t\r\n\tvoid Update()\r\n\t{\r\n\t\t#if UNITY_EDITOR\r\n\t\tif(Application.isPlaying)\r\n\t\t#endif\r\n\t\t{\r\n\t\t\tif(Input.GetMouseButtonDown(0))\r\n\t\t\t{\r\n\t\t\t\tgrabbing = true;\r\n\t\t\t\tstartRot = transform.rotation;\r\n\t\t\t\tcamRot = Camera.main.transform.rotation;\r\n\t\t\t}\r\n\r\n\t\t\tif(grabbing)\r\n\t\t\t{\r\n\t\t\t\tif(Input.GetMouseButtonUp(0))\r\n\t\t\t\t{\r\n\t\t\t\t\tgrabbing = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttransform.rotation = Quaternion.Inverse(camRot * Quaternion.Inverse(Camera.main.transform.rotation)) * startRot;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar light = GetComponent<Light>();\r\n\t\t\r\n\t\tif(light)\r\n\t\t\tlight.color = GetLightColor(transform.forward);\r\n\t}\r\n\r\n\tColor GetLightColor(Vector3 lightDir)\r\n\t{\r\n\t\tfloat y = lightDir.y * 5;\r\n\t\t\r\n\t\tColor sunPenetration = new Color\r\n\t\t{\r\n\t\t\tr = Mathf.Max(1 - Mathf.Exp(y * extinction.r), 0),\r\n\t\t\tg = Mathf.Max(1 - Mathf.Exp(y * extinction.g), 0),\r\n\t\t\tb = Mathf.Max(1 - Mathf.Exp(y * extinction.b), 0)\r\n\t\t};\r\n\r\n\t\treturn new Color\r\n\t\t{\r\n\t\t\tr = Mathf.Lerp(duskColor.r, noonColor.r, sunPenetration.r),\r\n\t\t\tg = Mathf.Lerp(duskColor.g, noonColor.g, sunPenetration.g),\r\n\t\t\tb = Mathf.Lerp(duskColor.b, noonColor.b, sunPenetration.b)\r\n\t\t};\r\n\t}\r\n}"
  },
  {
    "path": "Water/Assets/Water/Scripts/LightGrab.cs.meta",
    "content": "fileFormatVersion: 2\nguid: 4b5fe6ee500ee41c39b6f3662c2fbf20\nMonoImporter:\n  externalObjects: {}\n  serializedVersion: 2\n  defaultReferences: []\n  executionOrder: 0\n  icon: {instanceID: 0}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Scripts/Water.cs",
    "content": "﻿using System.Collections.Generic;\r\nusing UnityEngine;\r\n\r\n[ExecuteInEditMode]\r\npublic class Water : MonoBehaviour\r\n{\r\n\t[SerializeField]\r\n\tbool disablePixelLights = true;\r\n\t\r\n\t[SerializeField][Range(1, 5)]\r\n\tint reflectionDownsample = 2;\r\n\t\r\n\t[SerializeField]\r\n\tfloat clipPlaneOffset = 0.2f; // this is actually a maximum offset\r\n \r\n\t[SerializeField]\r\n\tLayerMask m_ReflectLayers = -1;\r\n\r\n\t[SerializeField]\r\n\tWaterSettings settings = WaterSettings.Default;\r\n\tpublic WaterSettings Settings => settings;\r\n\r\n\t[SerializeField]\r\n\tMaterial surfaceMaterial;\r\n\t\r\n\t[SerializeField]\r\n\tMaterial groundMaterial;\r\n\r\n\t[SerializeField]\r\n\tLight sunLight;\r\n\r\n\tCamera reflectionCamera;\r\n\tDictionary<Camera, RenderTexture> reflTextures = new Dictionary<Camera, RenderTexture>();\r\n\tVector2Int currentTextureDimensions;\r\n\r\n\tstatic bool insideRendering;\r\n \r\n\tvoid OnWillRenderObject()\r\n\t{\r\n\t\tif(!surfaceMaterial)\r\n\t\t\treturn;\r\n\t\t\r\n\t\tif(!enabled)\r\n\t\t\treturn;\r\n \r\n\t\tCamera cam = Camera.current;\r\n\t\t\r\n\t\tif(!cam)\r\n\t\t\treturn;\r\n \r\n\t\t// safeguard from recursive reflections.        \r\n\t\tif(insideRendering)\r\n\t\t\treturn;\r\n\t\t\r\n\t\tinsideRendering = true;\r\n \r\n\t\tvar reflTexture = GetRenderTexture(cam);\r\n\t\tsurfaceMaterial.SetTexture(\"_ReflectionTex\", reflTexture);\r\n \r\n\t\t// find out the reflection plane: position and normal in world space\r\n\t\tVector3 pos = transform.position;\r\n\t\tVector3 normal = cam.transform.position.y > pos.y ? Vector3.up : Vector3.down;\r\n\t\t\r\n\t\t// Optionally disable pixel lights for reflection\r\n\t\tint oldPixelLightCount = QualitySettings.pixelLightCount;\r\n\t\t\r\n\t\tif(disablePixelLights)\r\n\t\t\tQualitySettings.pixelLightCount = 0;\r\n \r\n\t\tUpdateCameraModes(cam);\r\n \r\n\t\t// Render reflection\r\n\t\t// Reflect camera around reflection plane\r\n\t\tfloat d = -Vector3.Dot(normal, pos);\r\n\t\tVector4 reflectionPlane = new Vector4(normal.x, normal.y, normal.z, d);\r\n \r\n\t\tMatrix4x4 reflection = Matrix4x4.zero;\r\n\t\tCalculateReflectionMatrix(ref reflection, reflectionPlane);\r\n\t\tVector3 oldPos = cam.transform.position;\r\n\t\tVector3 newPos = reflection.MultiplyPoint(oldPos);\r\n\t\treflectionCamera.worldToCameraMatrix = cam.worldToCameraMatrix * reflection;\r\n \r\n\t\t// Set up oblique projection matrix so that near plane is our reflection\r\n\t\t// plane. This way we clip everything below/above it for free.\r\n\t\tVector4 clipPlane = CameraSpacePlane(reflectionCamera, pos, normal);\r\n\t\tMatrix4x4 projection = cam.CalculateObliqueMatrix(clipPlane);\r\n\t\treflectionCamera.projectionMatrix = projection;\r\n \r\n\t\treflectionCamera.cullingMatrix = cam.projectionMatrix * cam.worldToCameraMatrix;\r\n\t\treflectionCamera.cullingMask = ~(1 << 4) & m_ReflectLayers.value; // never render water layer\r\n\r\n\t\tvar oldCulling = GL.invertCulling;\r\n\t\tGL.invertCulling = !oldCulling;\r\n\t\treflectionCamera.transform.position = newPos;\r\n\t\tVector3 euler = cam.transform.eulerAngles;\r\n\t\treflectionCamera.transform.eulerAngles = new Vector3(-euler.x, euler.y, euler.z);\r\n\t\t\r\n\t\treflectionCamera.targetTexture = reflTexture;\r\n\t\treflectionCamera.Render();\r\n\t\treflectionCamera.targetTexture = null;\r\n\t\t\r\n\t\treflectionCamera.transform.position = oldPos;\r\n\t\tGL.invertCulling = oldCulling;\r\n \r\n\t\t// Restore pixel light count\r\n\t\tif(disablePixelLights)\r\n\t\t\tQualitySettings.pixelLightCount = oldPixelLightCount;\r\n \r\n\t\tinsideRendering = false;\r\n\t}\r\n\r\n\tvoid UpdateMaterial()\r\n\t{\r\n\t\tif(!sunLight)\r\n\t\t\tsunLight = FindObjectOfType<Light>();\r\n\r\n\t\t// make up our own light direction if no light could be found\r\n\t\t// (just avoids tedious null checks later on)\r\n\t\tvar lightDir = sunLight ? sunLight.transform.forward : -Vector3.one.normalized;\r\n\t\tvar transmittance = WaterUtility.GetTransmittance(lightDir, settings.sunExtinction.ToVector3());\r\n\t\t\r\n\t\tfloat sunFade = Mathf.Clamp01((.1f - lightDir.y) * 10);\r\n\t\tfloat scatterFade = Mathf.Clamp01((.15f - lightDir.y) * 4);\r\n\t\t\r\n\t\tif(surfaceMaterial)\r\n\t\t{\r\n\t\t\tsurfaceMaterial.SetTexture(\"_NormalTex\", settings.normalTexture);\r\n\t\t\tsurfaceMaterial.SetVector(\"_WindDirection\", settings.windDirection);\r\n\t\t\tsurfaceMaterial.SetFloat(\"_WindSpeed\", settings.windSpeed);\r\n\t\t\tsurfaceMaterial.SetFloat(\"_Visibility\", settings.visibility);\r\n\t\t\tsurfaceMaterial.SetFloat(\"_WaveScale\", settings.waveScale);\r\n\t\t\tsurfaceMaterial.SetFloat(\"_ScatterAmount\", settings.scatterAmount);\r\n\t\t\tsurfaceMaterial.SetColor(\"_ScatterColor\", settings.scatterColor);\r\n\t\t\tsurfaceMaterial.SetFloat(\"_ReflDistortionAmount\", settings.reflectionDistortionAmount);\r\n\t\t\tsurfaceMaterial.SetFloat(\"_RefrDistortionAmount\", settings.refractionDistortionAmount);\r\n\t\t\tsurfaceMaterial.SetFloat(\"_AberrationAmount\", settings.aberrationAmount);\r\n\t\t\tsurfaceMaterial.SetColor(\"_WaterExtinction\", settings.waterExtinction);\r\n\t\t\tsurfaceMaterial.SetVector(\"_SunTransmittance\", transmittance);\r\n\t\t\tsurfaceMaterial.SetFloat(\"_SunFade\", sunFade);\r\n\t\t\tsurfaceMaterial.SetFloat(\"_ScatterFade\", scatterFade);\r\n\t\t}\r\n\r\n\t\tif(groundMaterial)\r\n\t\t{\r\n\t\t\tgroundMaterial.SetTexture(\"_NormalTex\", settings.normalTexture);\r\n\t\t\tgroundMaterial.SetVector(\"_WindDirection\", settings.windDirection);\r\n\t\t\tgroundMaterial.SetFloat(\"_WindSpeed\", settings.windSpeed);\r\n\t\t\tgroundMaterial.SetFloat(\"_Visibility\", settings.visibility);\r\n\t\t\tgroundMaterial.SetFloat(\"_WaveScale\", settings.waveScale);\r\n\t\t\tgroundMaterial.SetColor(\"_MudExtinction\", settings.mudExtinction);\r\n\t\t\tgroundMaterial.SetColor(\"_WaterExtinction\", settings.waterExtinction);\r\n\t\t\tgroundMaterial.SetVector(\"_SunTransmittance\", transmittance);\r\n\t\t\tgroundMaterial.SetFloat(\"_SunFade\", sunFade);\r\n\t\t\tgroundMaterial.SetFloat(\"_ScatterFade\", scatterFade);\r\n\t\t}\r\n\t}\r\n\r\n\tvoid OnEnable()\r\n\t{\r\n\t\tCamera.onPreRender += PreRender;\r\n\t}\r\n\r\n\tvoid LateUpdate()\r\n\t{\r\n\t\tUpdateMaterial();\r\n\t}\r\n\r\n\tvoid PreRender(Camera c)\r\n\t{\r\n\t\t// ignore reflection camera\r\n\t\tif(c != reflectionCamera)\r\n\t\t{\r\n\t\t\t// cache camera position so reflected shader has access to it\r\n\t\t\tif(groundMaterial && c != reflectionCamera)\r\n\t\t\t\tgroundMaterial.SetVector(\"_WorldSpaceCameraPos2\", c.transform.position);\r\n\t\t}\r\n\t}\r\n \r\n\tvoid OnDisable()\r\n\t{\r\n\t\tforeach(var kvp in reflTextures)\r\n\t\t\tif(kvp.Value)\r\n\t\t\t\tDestroyImmediate(kvp.Value);\r\n\r\n\t\treflTextures.Clear();\r\n\r\n\t\tif(reflectionCamera)\r\n\t\t{\r\n\t\t\tDestroyImmediate(reflectionCamera.gameObject);\r\n\t\t\treflectionCamera = null;\r\n\t\t}\r\n\r\n\t\tCamera.onPreRender -= PreRender;\r\n\t}\r\n\r\n\tvoid UpdateCameraModes(Camera src)\r\n\t{\r\n\t\tif(reflectionCamera == null)\r\n\t\t{\r\n\t\t\treflectionCamera = new GameObject(\"Reflection Camera\", typeof(Camera)).GetComponent<Camera>();\r\n\t\t\treflectionCamera.enabled = false;\r\n\t\t\treflectionCamera.gameObject.hideFlags = HideFlags.DontSave;\r\n\t\t}\r\n\t\t\r\n\t\treflectionCamera.clearFlags = src.clearFlags;\r\n\t\treflectionCamera.backgroundColor = src.backgroundColor;        \r\n\t\t\r\n\t\tif(src.clearFlags == CameraClearFlags.Skybox)\r\n\t\t{\r\n\t\t\tSkybox sky = src.GetComponent<Skybox>();\r\n\t\t\tSkybox reflSky = reflectionCamera.GetComponent<Skybox>();\r\n\t\t\t\r\n\t\t\tif(!sky || !sky.material)\r\n\t\t\t{\r\n\t\t\t\tif(reflSky)\r\n\t\t\t\t\treflSky.enabled = false;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif(!reflSky)\r\n\t\t\t\t\treflSky = reflectionCamera.gameObject.AddComponent<Skybox>();\r\n\t\t\t\t\r\n\t\t\t\treflSky.enabled = true;\r\n\t\t\t\treflSky.material = sky.material;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\treflectionCamera.farClipPlane = src.farClipPlane;\r\n\t\treflectionCamera.nearClipPlane = src.nearClipPlane;\r\n\t\treflectionCamera.orthographic = src.orthographic;\r\n\t\treflectionCamera.fieldOfView = src.fieldOfView;\r\n\t\treflectionCamera.aspect = src.aspect;\r\n\t\treflectionCamera.orthographicSize = src.orthographicSize;\r\n\t}\r\n \r\n\tRenderTexture GetRenderTexture(Camera currentCamera)\r\n\t{\r\n\t\tVector2Int newTextureDimensions = new Vector2Int(currentCamera.scaledPixelWidth / reflectionDownsample, currentCamera.scaledPixelHeight / reflectionDownsample);\r\n\t\tRenderTexture rt;\r\n\t\t\r\n\t\tif(reflTextures.TryGetValue(currentCamera, out rt))\r\n\t\t{\r\n\t\t\tif(rt.width != newTextureDimensions.x || rt.height != newTextureDimensions.y)\r\n\t\t\t{\r\n\t\t\t\tDestroyImmediate(rt);\r\n\t\t\t\treflTextures.Remove(currentCamera);\r\n\t\t\t}\r\n\r\n\t\t\tgoto Skip;\r\n\t\t}\r\n\t\t\r\n\t\trt = new RenderTexture(newTextureDimensions.x, newTextureDimensions.y, 16, RenderTextureFormat.DefaultHDR)\r\n\t\t{\r\n\t\t\tname = $\"PlanarReflection {GetInstanceID()}\",\r\n\t\t\thideFlags = HideFlags.DontSave\r\n\t\t};\r\n\t\t\r\n\t\treflTextures.Add(currentCamera, rt);\r\n\t\t\r\n\t\tSkip:\r\n\t\t\r\n\t\treturn rt;\r\n\t}\r\n \r\n\tVector4 CameraSpacePlane(Camera cam, Vector3 pos, Vector3 normal)\r\n\t{\r\n\t\t// lerp between small clip plane offset and maximum offset based on dist from water plane\r\n\t\t// we want small offset when near surface and large offset when high above surface\r\n\t\tfloat dist = Mathf.Abs(cam.transform.position.y - pos.y);\r\n\t\tfloat clipOffset = Mathf.Lerp(.01f, clipPlaneOffset, Mathf.Clamp01(dist));\r\n\t\t\r\n\t\tMatrix4x4 m = cam.worldToCameraMatrix;\r\n\t\tpos = m.MultiplyPoint(pos - normal * clipOffset);\r\n\t\tnormal = m.MultiplyVector(normal).normalized;\r\n\t\t\r\n\t\treturn new Vector4(normal.x, normal.y, normal.z, -Vector3.Dot(pos, normal));\r\n\t}\r\n \r\n\tstatic void CalculateReflectionMatrix(ref Matrix4x4 reflectionMat, Vector4 plane)\r\n\t{\r\n\t\treflectionMat.m00 = 1F - 2F * plane[0] * plane[0];\r\n\t\treflectionMat.m01 = -2F * plane[0] * plane[1];\r\n\t\treflectionMat.m02 = -2F * plane[0] * plane[2];\r\n\t\treflectionMat.m03 = -2F * plane[3] * plane[0];\r\n\r\n\t\treflectionMat.m10 = -2F * plane[1] * plane[0];\r\n\t\treflectionMat.m11 = 1F - 2F * plane[1] * plane[1];\r\n\t\treflectionMat.m12 = -2F * plane[1] * plane[2];\r\n\t\treflectionMat.m13 = -2F * plane[3] * plane[1];\r\n\r\n\t\treflectionMat.m20 = -2F * plane[2] * plane[0];\r\n\t\treflectionMat.m21 = -2F * plane[2] * plane[1];\r\n\t\treflectionMat.m22 = 1F - 2F * plane[2] * plane[2];\r\n\t\treflectionMat.m23 = -2F * plane[3] * plane[2];\r\n \r\n\t\treflectionMat.m30 = 0F;\r\n\t\treflectionMat.m31 = 0F;\r\n\t\treflectionMat.m32 = 0F;\r\n\t\treflectionMat.m33 = 1F;\r\n\t}\r\n}"
  },
  {
    "path": "Water/Assets/Water/Scripts/Water.cs.meta",
    "content": "fileFormatVersion: 2\nguid: cf6badaa217364968a525ba8a44a3fe3\nMonoImporter:\n  externalObjects: {}\n  serializedVersion: 2\n  defaultReferences: []\n  executionOrder: 0\n  icon: {instanceID: 0}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Scripts/WaterSettings.cs",
    "content": "using System;\nusing UnityEngine;\n\n[Serializable]\npublic class WaterSettings\n{\n\tpublic static WaterSettings Default => new WaterSettings\n\t{\n\t\tnormalTexture = null,\n\t\twindDirection = new Vector2(-.5f, -.8f),\n\t\twindSpeed = .6f,\n\t\tvisibility = 28f,\n\t\twaveScale = 1f,\n\t\tscatterAmount = 3.5f,\n\t\tscatterColor = new Color(0, 1f, .95f, 1),\n\t\treflectionDistortionAmount = .03f,\n\t\trefractionDistortionAmount = .04f,\n\t\taberrationAmount = .002f,\n\t\tmudExtinction = new Color(1f, .7f, .5f),\n\t\twaterExtinction = new Color(.6f, .8f, 1f),\n\t\tsunExtinction = new Color(.45f, .55f, .7f)\n\t};\n\t\t\n\tpublic Texture2D normalTexture;\n\tpublic Vector2 windDirection;\n\tpublic float windSpeed;\n\tpublic float visibility;\n\tpublic float waveScale;\n\tpublic float scatterAmount;\n\tpublic Color scatterColor;\n\tpublic float reflectionDistortionAmount;\n\tpublic float refractionDistortionAmount;\n\tpublic float aberrationAmount;\n\tpublic Color mudExtinction;\n\tpublic Color waterExtinction;\n\tpublic Color sunExtinction;\n}"
  },
  {
    "path": "Water/Assets/Water/Scripts/WaterSettings.cs.meta",
    "content": "﻿fileFormatVersion: 2\r\nguid: 4a75d34a0ae34f259cb9e252b7454714\r\ntimeCreated: 1539418983"
  },
  {
    "path": "Water/Assets/Water/Scripts/WaterUtility.cs",
    "content": "using UnityEngine;\r\n\r\npublic static class WaterUtility\r\n{\r\n\tpublic static Vector3 ToVector3(this Color c) => new Vector3(c.r, c.g, c.b);\r\n\t\r\n\tpublic static Vector3 GetTransmittance(Vector3 lightDir, Vector3 lightExtinction)\r\n\t{\r\n\t\tfloat y = lightDir.y;\r\n\t\t\r\n\t\treturn new Vector3\r\n\t\t{\r\n\t\t\tx = Mathf.Max(1 - Mathf.Exp(y * lightExtinction.x), 0),\r\n\t\t\ty = Mathf.Max(1 - Mathf.Exp(y * lightExtinction.y), 0),\r\n\t\t\tz = Mathf.Max(1 - Mathf.Exp(y * lightExtinction.z), 0)\r\n\t\t};\r\n\t}\r\n}"
  },
  {
    "path": "Water/Assets/Water/Scripts/WaterUtility.cs.meta",
    "content": "﻿fileFormatVersion: 2\r\nguid: 0cccd72dcdad4428bfc2bb16b1d1f5b4\r\ntimeCreated: 1540008067"
  },
  {
    "path": "Water/Assets/Water/Scripts.meta",
    "content": "fileFormatVersion: 2\nguid: 3a4dc27fd14f94831a20bd62dc2cd11d\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Shaders/WaterSurface.shader",
    "content": "﻿Shader \"Water/WaterSurface\"\r\n{\r\n\tSubShader\r\n\t{\r\n\t\tTags { \"RenderType\"=\"Overlay\" \"Queue\"=\"Transparent\" }\r\n\t\tLOD 100\r\n\t\tZWrite Off\r\n\t\tCull Off\r\n\t\t\r\n\t\tGrabPass\r\n        {\r\n            \"_RefractionTex\"\r\n        }\r\n\r\n\t\tPass\r\n\t\t{\r\n\t\t    Tags { \"LightMode\" = \"ForwardBase\" }\r\n\t\t\r\n\t\t\tCGPROGRAM\r\n\t\t\t#pragma vertex vert\r\n\t\t\t#pragma fragment frag\r\n\t\t\t\r\n\t\t\t#include \"UnityCG.cginc\"\r\n\t\t\t#include \"Lighting.cginc\"\r\n\r\n\t\t\tstruct appdata\r\n\t\t\t{\r\n\t\t\t\tfloat4 vertex : POSITION;\r\n\t\t\t\tfloat3 normal : NORMAL;\r\n\t\t\t};\r\n\r\n\t\t\tstruct v2f\r\n\t\t\t{\r\n\t\t\t\tfloat4 vertex : SV_POSITION;\r\n\t\t\t\tfloat3 wPosition : TEXCOORD0;\r\n\t\t\t\tfloat4 sPosition : TEXCOORD1;\r\n\t\t\t\tfloat3 viewDir : TEXCOORD2;\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\tstatic const float2 bigWaves = float2(0.3, 0.3); // strength of big waves\r\n            static const float2 midWaves = float2(0.3, 0.15); // strength of middle sized waves\r\n            static const float2 smallWaves = float2(0.15, 0.1); // strength of small waves\r\n\r\n            sampler2D _NormalTex;\r\n            sampler2D _HeightTex;\r\n\t\t\tsampler2D _ReflectionTex;\r\n\t\t\tsampler2D _RefractionTex;\r\n\t\t\tsampler2D _CameraDepthTexture;\r\n\t\t\t\r\n\t\t\tfloat _Visibility;\r\n\t\t\tfloat2 _WindDirection;\r\n\t\t\tfloat _WindSpeed;\r\n\t\t\tfloat _WaveScale;\r\n\t\t\tfloat _ScatterAmount;\r\n\t\t\tfloat3 _ScatterColor;\r\n\t\t\tfloat _ReflDistortionAmount;\r\n\t\t\tfloat _RefrDistortionAmount;\r\n\t\t\tfloat _AberrationAmount;\r\n\t\t\tfloat3 _WaterExtinction;\r\n\t\t\tfloat3 _SunTransmittance;\r\n\t\t\tfloat _SunFade;\r\n\t\t\tfloat _ScatterFade;\r\n\t\t\t\t\t\t\r\n\t\t\tv2f vert(appdata v)\r\n\t\t\t{\r\n\t\t\t\tv2f o;\r\n\t\t\t\t\r\n\t\t\t\to.wPosition = mul(unity_ObjectToWorld, v.vertex).xyz;\r\n\t\t\t\to.vertex = UnityObjectToClipPos(v.vertex);\r\n\t\t\t\to.sPosition = ComputeScreenPos(o.vertex);\r\n\t\t\t\to.viewDir = _WorldSpaceCameraPos - o.wPosition;\r\n\t\t\t\t\r\n\t\t\t\treturn o;\r\n\t\t\t}\r\n            \r\n            float fresnel_dielectric(float3 Incoming, float3 Normal, float eta)\r\n            {\r\n                // compute fresnel reflectance without explicitly computing\r\n                // the refracted direction\r\n                float c = abs(dot(Incoming, Normal));\r\n                float g = eta * eta - 1.0 + c * c;\r\n            \r\n                if(g > 0.0)\r\n                {\r\n                    g = sqrt(g);\r\n                    float A = (g - c) / (g + c);\r\n                    float B = (c * (g + c) - 1.0) / (c * (g - c) + 1.0);\r\n                    \r\n                    return 0.5 * A * A * (1.0 + B * B);\r\n                }\r\n                \r\n                return 1.0; // TIR (no refracted component)\r\n            }\r\n\t\t\t\r\n\t\t\tfixed4 frag(v2f i) : SV_Target\r\n\t\t\t{\r\n\t\t\t    float2 fragCoord = i.sPosition.xy / i.sPosition.w;\r\n\t\t\t    fragCoord = clamp(fragCoord, 0.002, 0.998);\r\n\t\t\t    \r\n\t\t\t    bool aboveWater = _WorldSpaceCameraPos.y > 0.0;\r\n                                                \r\n                float normalFade = 1 - min(exp(-i.sPosition.w / 40), 1);           \r\n\t\t\t\r\n\t\t\t    float2 nCoord = i.wPosition.xz * _WaveScale * 0.04 + _WindDirection * _Time.y * _WindSpeed * 0.04;\r\n                float3 normal0 = 2.0 * tex2D(_NormalTex, nCoord + float2(-_Time.y * 0.015, -_Time.y * 0.005)).xyz - 1.0;\r\n                nCoord = i.wPosition.xz * _WaveScale * 0.1 + _WindDirection * _Time.y * _WindSpeed * 0.08;\r\n                float3 normal1 = 2.0 * tex2D(_NormalTex, nCoord + float2(_Time.y * 0.020, _Time.y * 0.015)).xyz - 1.0;\r\n             \r\n                nCoord = i.wPosition.xz * _WaveScale * 0.25 + _WindDirection * _Time.y * _WindSpeed * 0.07;\r\n                float3 normal2 = 2.0 * tex2D(_NormalTex, nCoord + float2(-_Time.y * 0.04, -_Time.y * 0.03)).xyz - 1.0;\r\n                nCoord = i.wPosition.xz * _WaveScale * 0.5 + _WindDirection * _Time.y * _WindSpeed * 0.09;\r\n                float3 normal3 = 2.0 * tex2D(_NormalTex, nCoord + float2(_Time.y * 0.03, _Time.y * 0.04)).xyz - 1.0;\r\n              \r\n                nCoord = i.wPosition.xz * _WaveScale * 1.0 + _WindDirection * _Time.y * _WindSpeed * 0.4;\r\n                float3 normal4 = 2.0 * tex2D(_NormalTex, nCoord + float2(-_Time.y * 0.02, _Time.y * 0.1)).xyz - 1.0;  \r\n                nCoord = i.wPosition.xz * _WaveScale * 2.0 + _WindDirection * _Time.y * _WindSpeed * 0.7;\r\n                float3 normal5 = 2.0 * tex2D(_NormalTex, nCoord + float2(_Time.y * 0.1, -_Time.y * 0.06)).xyz - 1.0;\r\n                \r\n                float3 normal = normalize(normal0 * bigWaves.x + normal1 * bigWaves.y +\r\n                                        normal2 * midWaves.x + normal3 * midWaves.y +\r\n                                        normal4 * smallWaves.x + normal5 * smallWaves.y);\r\n               \r\n                float3 nVec = lerp(normal.xzy, float3(0, 1, 0), normalFade); // converting normals to tangent space \r\n                float3 vVec = normalize(i.viewDir);\r\n                float3 lVec = _WorldSpaceLightPos0.xyz;\r\n\t\t\t    \r\n\t\t\t    // normal for light scattering\r\n                float3 lNormal = normalize(normal0 * bigWaves.x * 0.5 + normal1 * bigWaves.y * 0.5 +\r\n                                        normal2 * midWaves.x * 0.1 + normal3 * midWaves.y * 0.1 +\r\n                                        normal4 * smallWaves.x * 0.1 + normal5 * smallWaves.y * 0.1);\r\n                lNormal = lerp(lNormal.xzy, float3(0, 1, 0), normalFade);\r\n                                \r\n                float3 lR = reflect(-lVec, lNormal);\r\n                \r\n                float s = max(dot(lR, vVec) * 2.0 - 1.2, 0);\r\n                float lightScatter = saturate((saturate(dot(-lVec, lNormal) * 0.7 + 0.3) * s) * _ScatterAmount) * _SunFade * saturate(1.0 - exp(-_WorldSpaceLightPos0.y));\r\n                float3 scatterColor = lerp(_ScatterColor * float3(1.0, 0.4, 0.0), _ScatterColor, _SunTransmittance);\r\n            \r\n                // fresnel term\r\n                float ior = aboveWater ? (1.333 / 1.0) : (1.0 / 1.333); // air to water; water to air\r\n                float fresnel = fresnel_dielectric(-vVec, nVec, ior);\r\n\t\t\t    \r\n\t\t\t    // texture edge bleed removal is handled by clip plane offset\r\n                float3 reflection = tex2D(_ReflectionTex, fragCoord + nVec.xz * float2(_ReflDistortionAmount, _ReflDistortionAmount * 6)).rgb;\r\n                \r\n                float3 luminosity = float3(0.30, 0.59, 0.11);\r\n                float reflectivity = pow(dot(luminosity, reflection.rgb * 2.0), 3.0);\r\n                    \r\n                float3 R = reflect(vVec, nVec);\r\n            \r\n                float specular = min(pow(atan(max(dot(R, -lVec), 0.0) * 1.55), 1000.0) * reflectivity * 8.0, 50);\r\n            \r\n                float2 rcoord = reflect(vVec, nVec).xz;\r\n                float2 refrOffset = nVec.xz * _RefrDistortionAmount;\r\n                \r\n                // depth of potential refracted fragment\r\n                float refractedDepth = LinearEyeDepth(UNITY_SAMPLE_DEPTH(tex2D(_CameraDepthTexture, fragCoord - refrOffset * 2)));\r\n                float surfaceDepth = i.sPosition.w;\r\n                \r\n                float distortFade = saturate((refractedDepth - surfaceDepth) * 4);\r\n                \r\n                float3 refraction;\r\n                refraction.r = tex2D(_RefractionTex, fragCoord - (refrOffset - rcoord * -_AberrationAmount) * distortFade).r;\r\n                refraction.g = tex2D(_RefractionTex, fragCoord - refrOffset * distortFade).g;\r\n                refraction.b = tex2D(_RefractionTex, fragCoord - (refrOffset - rcoord * _AberrationAmount) * distortFade).b;\r\n                                  \r\n                float waterSunGradient = dot(vVec, -_WorldSpaceLightPos0.xyz);\r\n                waterSunGradient = saturate(pow(waterSunGradient * 0.7 + 0.3, 2.0));  \r\n                float3 waterSunColor = float3(0.0, 1.0, 0.85) * waterSunGradient;\r\n                waterSunColor *= aboveWater ? 0.25 : 0.5;\r\n               \r\n                float waterGradient = dot(vVec, float3(0.0, -1.0, 0.0));\r\n                waterGradient = clamp((waterGradient * 0.5 + 0.5), 0.2, 1.0);\r\n                float3 watercolor = (float3(0.0078, 0.5176, 0.700) + waterSunColor) * waterGradient * 1.5;\r\n                \r\n                watercolor = lerp(watercolor * 0.3 * _SunFade, watercolor, _SunTransmittance);\r\n                \r\n                float fog = aboveWater ? 1.0 : surfaceDepth / _Visibility;\r\n                \r\n                float darkness = _Visibility * 2.0;\r\n                darkness = saturate((_WorldSpaceCameraPos.y + darkness) / darkness);\r\n                                \r\n                refraction = lerp(refraction, scatterColor, lightScatter);\r\n                                    \r\n                float3 color;\r\n                   \r\n                if(aboveWater)\r\n                {\r\n                    color = lerp(refraction, reflection, fresnel * .6);\r\n                }\r\n                // scatter and extinction between surface and camera\r\n                else\r\n                {\r\n                    color = lerp(min(refraction * 1.2, 1), reflection, fresnel);\r\n                    color = lerp(color, watercolor * darkness * _ScatterFade, saturate(fog / _WaterExtinction));\r\n                }\r\n                \r\n                return float4(float3(color + (_LightColor0 * specular)), 1.0);\r\n\t\t\t}\r\n\t\t\tENDCG\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// original GLSL shader source\r\n/*\r\nvarying vec4 fragPos; //fragment coordinates\r\nvarying vec3 T, B, N; //tangent binormal normal\r\nvarying vec3 viewPos;\r\nvarying vec3 worldPos;\r\nuniform float _Time.yr;\r\nuniform sampler2D reflectionSampler,refractionSampler, depthSampler, normalSampler;\r\nuniform vec3 cameraPos;\r\n\r\n//----------------\r\n//tweakables\r\n\r\nvec2 windDir = vec2(0.5, -0.8); //wind direction XY\r\nfloat windSpeed = 0.2; //wind speed\r\n\r\nfloat visibility = 28.0;\r\n\r\nfloat _WaveScale = 1.0; //overall wave _WaveScale\r\n\r\nvec2 bigWaves = vec2(0.3, 0.3); //strength of big waves\r\nvec2 midWaves = vec2(0.3, 0.15); //strength of middle sized waves\r\nvec2 smallWaves = vec2(0.15, 0.1); //strength of small waves\r\n\r\nvec3 waterColor = vec3(0.2,0.4,0.5); //color of the water\r\nfloat waterDensity = 0.0; //water density (0.0-1.0)\r\n    \r\nfloat choppy = 0.15; //wave choppyness\r\nfloat aberration = 0.002; //chromatic aberration amount\r\nfloat bump = 2.6; //overall water surface bumpyness\r\nfloat reflBump = 0.04; //reflection distortion amount\r\nfloat refrBump = 0.03; //refraction distortion amount\r\n\r\nvec3 sunPos = vec3(gl_ModelViewMatrixInverse*gl_LightSource[0].position);\r\nfloat sunSpec = 1000.0; //Sun specular hardness\r\n\r\nfloat scatterAmount = 3.5; //amount of sunlight scattering of waves\r\nvec3 scatterColor = vec3(0.0,1.0,0.95);// color of the sunlight scattering\r\n//----------------\r\n\r\nvec3 tangentSpace(vec3 v)\r\n{\r\n\tvec3 vec;\r\n\tvec.xy=v.xy;\r\n\tvec.z=sqrt(1.0-dot(vec.xy,vec.xy));\r\n\tvec.xyz= normalize(vec.x*T+vec.y*B+vec.z*N);\r\n\treturn vec;\r\n}\r\n\r\nfloat fresnel_dielectric(vec3 Incoming, vec3 Normal, float eta)\r\n{\r\n    /* compute fresnel reflectance without explicitly computing\r\n       the refracted direction */\r\n    float c = abs(dot(Incoming, Normal));\r\n    float g = eta * eta - 1.0 + c * c;\r\n    float result;\r\n\r\n    if(g > 0.0) {\r\n        g = sqrt(g);\r\n        float A =(g - c)/(g + c);\r\n        float B =(c *(g + c)- 1.0)/(c *(g - c)+ 1.0);\r\n        result = 0.5 * A * A *(1.0 + B * B);\r\n    }\r\n    else\r\n        result = 1.0;  /* TIR (no refracted component) */\r\n\r\n    return result;\r\n}\r\n\r\n\r\nvoid main() {\r\n    vec2 fragCoord = (fragPos.xy/fragPos.w)*0.5+0.5;\r\n    fragCoord = clamp(fragCoord,0.002,0.998);\r\n\r\n\t//normal map\r\n\tvec2 nCoord = vec2(0.0); //normal coords\r\n    vec2 coo = ((gl_TexCoord[0].st)/1106.208)-0.5;\r\n    float depth = texture2D(depthSampler,coo).r;\r\n    float coast = smoothstep(0.3,0.7,depth);\r\n    float coast1 = smoothstep(0.49,0.5,depth);\r\n     \r\n    choppy = choppy * (coast)+0.05;\r\n    bump = -bump*clamp(1.0-coast+0.0,0.0,1.0);\r\n    bump = bump*clamp(1.0-coast1+0.0,0.0,1.0);\r\n    \r\n    //_WaveScale = _WaveScale - (coast*0.1);\r\n    //_WaveScale = _WaveScale * (coast*0.1+0.9);\r\n    float _Time.y = _Time.yr - (coast)*80.0; //hmmm\r\n    //_Time.yr = _Time.yr * (coast*0.5+0.5)*1.5;\r\n    //smallWaves.x = smallWaves.x + (0.1*coast);\r\n    //smallWaves.y = smallWaves.y + (0.1*coast);\r\n    //bigWaves.x = bigWaves.x - (0.1*(1.0-coast));\r\n    //bigWaves.y = bigWaves.y + (0.1*(1.0-coast));\r\n    \r\n    vec3 mudext = vec3(1.0, 0.7, 0.5);//mud extinction\r\n    float atmosphere = length(cameraPos-worldPos)/200.0;\r\n    \r\n    vec3 atmopherefog = clamp(1.0-exp(-atmosphere/mudext),0.0,1.0);\r\n    \r\n  \tnCoord = worldPos.xy * (_WaveScale * 0.04) + windDir * _Time.y * (windSpeed*0.04);\r\n\tvec3 normal0 = 2.0 * texture2D(normalSampler, nCoord + vec2(-_Time.y*0.015,-_Time.y*0.005)).rgb - 1.0;\r\n\tnCoord = worldPos.xy * (_WaveScale * 0.1) + windDir * _Time.y * (windSpeed*0.08)-(normal0.xy/normal0.zz)*choppy;\r\n\tvec3 normal1 = 2.0 * texture2D(normalSampler, nCoord + vec2(+_Time.y*0.020,+_Time.y*0.015)).rgb - 1.0;\r\n \r\n \tnCoord = worldPos.xy * (_WaveScale * 0.25) + windDir * _Time.y * (windSpeed*0.07)-(normal1.xy/normal1.zz)*choppy;\r\n\tvec3 normal2 = 2.0 * texture2D(normalSampler, nCoord + vec2(-_Time.y*0.04,-_Time.y*0.03)).rgb - 1.0;\r\n\tnCoord = worldPos.xy * (_WaveScale * 0.5) + windDir * _Time.y * (windSpeed*0.09)-(normal2.xy/normal2.z)*choppy;\r\n\tvec3 normal3 = 2.0 * texture2D(normalSampler, nCoord + vec2(+_Time.y*0.03,+_Time.y*0.04)).rgb - 1.0;\r\n  \r\n  \tnCoord = worldPos.xy * (_WaveScale* 1.0) + windDir * _Time.y * (windSpeed*0.4)-(normal3.xy/normal3.zz)*choppy;\r\n\tvec3 normal4 = 2.0 * texture2D(normalSampler, nCoord + vec2(-_Time.y*0.02,+_Time.y*0.1)).rgb - 1.0;  \r\n    nCoord = worldPos.xy * (_WaveScale * 2.0) + windDir * _Time.y * (windSpeed*0.7)-(normal4.xy/normal4.zz)*choppy;\r\n    vec3 normal5 = 2.0 * texture2D(normalSampler, nCoord + vec2(+_Time.y*0.1,-_Time.y*0.06)).rgb - 1.0;\r\n\r\n\t\r\n\t\r\n\tvec3 normal = normalize(normal0 * bigWaves.x + normal1 * bigWaves.y +\r\n                            normal2 * midWaves.x + normal3 * midWaves.y +\r\n\t\t\t\t\t\t    normal4 * smallWaves.x + normal5 * smallWaves.y);\r\n\r\n    //normal.x = -normal.x; //in case you need to invert Red channel\r\n    //normal.y = -normal.y; //in case you need to invert Green channel\r\n   \r\n    vec3 nVec = tangentSpace(normal*bump); //converting normals to tangent space    \r\n    vec3 vVec = normalize(viewPos);\r\n    vec3 lVec = normalize(sunPos);\r\n    \r\n    //normal for light scattering\r\n\tvec3 lNormal = normalize(normal0 * bigWaves.x*0.5 + normal1 * bigWaves.y*0.5 +\r\n                            normal2 * midWaves.x*0.1 + normal3 * midWaves.y*0.1 +\r\n\t\t\t\t\t\t    normal4 * smallWaves.x*0.1 + normal5 * smallWaves.y*0.1);\r\n    lNormal = tangentSpace(lNormal*bump);\r\n    vec3 pNormal = tangentSpace(vec3(0.0));\r\n    \r\n\tvec3 lR = reflect(lVec, lNormal);\r\n    vec3 llR = reflect(lVec, pNormal);\r\n    \r\n    float sunFade = clamp((sunPos.z+10.0)/20.0,0.0,1.0);\r\n    float scatterFade = clamp((sunPos.z+50.0)/200.0,0.0,1.0);\r\n    vec3 sunext = vec3(0.45, 0.55, 0.68);//sunlight extinction\r\n    \r\n\tfloat s = clamp((dot(lR, vVec)*2.0-1.2), 0.0,1.0);\r\n    float lightScatter = clamp((clamp(dot(-lVec,lNormal)*0.7+0.3,0.0,1.0)*s)*scatterAmount,0.0,1.0)*sunFade *clamp(1.0-exp(-(sunPos.z/500.0)),0.0,1.0);\r\n    scatterColor = mix(vec3(scatterColor)*vec3(1.0,0.4,0.0), scatterColor, clamp(1.0-exp(-(sunPos.z/500.0)*sunext),0.0,1.0));\r\n\r\n    //fresnel term\r\n    float ior = 1.33;\r\n    ior = (cameraPos.z>0.0)?(1.333/1.0):(1.0/1.333); //air to water; water to air\r\n    float eta = max(ior, 0.00001);\r\n    float fresnel = fresnel_dielectric(-vVec,nVec,eta);\r\n    \r\n    //texture edge bleed removal\r\n    float fade = 12.0;\r\n    vec2 distortFade = vec2(0.0);\r\n    distortFade.s = clamp(fragCoord.s*fade,0.0,1.0);\r\n    distortFade.s -= clamp(1.0-(1.0-fragCoord.s)*fade,0.0,1.0);\r\n    distortFade.t = clamp(fragCoord.t*fade,0.0,1.0);\r\n    distortFade.t -= clamp(1.0-(1.0-fragCoord.t)*fade,0.0,1.0); \r\n    \r\n    vec3 reflection = texture2D(reflectionSampler, fragCoord+(nVec.st*vec2(reflBump,reflBump*(6.0))*distortFade)).rgb;\r\n    \r\n    vec3 luminosity = vec3(0.30, 0.59, 0.11);\r\n\tfloat reflectivity = pow(dot(luminosity, reflection.rgb*2.0),3.0);\r\n\r\n\tfloat reflectivity1 = pow(dot(luminosity, reflection.rgb),3.0);\r\n        \r\n    vec3 R = reflect(vVec, nVec);\r\n\r\n    float specular = clamp(pow(atan(max(dot(R, lVec),0.0)*1.55),1000.0)*reflectivity*8.0,0.0,1.0);\r\n    \r\n    vec3 specColor = mix(vec3(1.0,0.5,0.2), vec3(1.0,1.0,1.0), clamp(1.0-exp(-(sunPos.z/500.0)*sunext),0.0,1.0));\r\n\r\n    vec2 rcoord = reflect(vVec,nVec).st;\r\n    vec3 refraction = vec3(0.0);\r\n    \r\n    refraction.r = texture2D(refractionSampler, (fragCoord-(nVec.st*refrBump*distortFade))*1.0).r;\r\n    refraction.g = texture2D(refractionSampler, (fragCoord-(nVec.st*refrBump*distortFade))*1.0-(rcoord*aberration)).g;\r\n    refraction.b = texture2D(refractionSampler, (fragCoord-(nVec.st*refrBump*distortFade))*1.0-(rcoord*aberration*2.0)).b;\r\n    \r\n      \r\n    float waterSunGradient = dot(normalize(cameraPos-worldPos), -normalize(sunPos));\r\n    waterSunGradient = clamp(pow(waterSunGradient*0.7+0.3,2.0),0.0,1.0);  \r\n    vec3 waterSunColor = vec3(0.0,1.0,0.85)*waterSunGradient;\r\n    waterSunColor = (cameraPos.z<0.0)?waterSunColor*0.5:waterSunColor*0.25;//below or above water?\r\n   \r\n    float waterGradient = dot(normalize(cameraPos-worldPos), vec3(0.0,0.0,-1.0));\r\n    waterGradient = clamp((waterGradient*0.5+0.5),0.2,1.0);\r\n    vec3 watercolor = (vec3(0.0078, 0.5176, 0.700)+waterSunColor)*waterGradient*1.5;\r\n    vec3 waterext = vec3(0.6, 0.8, 1.0);//water extinction\r\n    \r\n    watercolor = mix(watercolor*0.3*sunFade, watercolor, clamp(1.0-exp(-(sunPos.z/500.0)*sunext),0.0,1.0));\r\n    \r\n    float fog = length(cameraPos-worldPos)/visibility; \r\n    fog = (cameraPos.z<0.0)?fog:1.0;\r\n    fog = clamp(pow(fog,1.0),0.0,1.0);\r\n    \r\n    float darkness = visibility*2.0;\r\n    darkness = clamp((cameraPos.z+darkness)/darkness,0.0,1.0);\r\n    \r\n    fresnel = clamp(fresnel,0.0,1.0);\r\n        \r\n    vec3 color = mix(mix(refraction,scatterColor,lightScatter),reflection,fresnel*0.6);\r\n    color = (cameraPos.z<0.0)?mix(clamp(refraction*1.2,0.0,1.0),reflection,fresnel):color;   \r\n    color = (cameraPos.z<0.0)?mix(color, watercolor*darkness*scatterFade, clamp(fog/ waterext,0.0,1.0)):color;\r\n    \r\n    //color = mix(color,atmopherefog*0.8,atmopherefog.b);\r\n    \r\n    //gl_FragColor = vec4(vec3(color*0.001+(specColor*specular)),1.0);\r\n    gl_FragColor = vec4(vec3(color+(specColor*specular)),1.0);\r\n}\r\n*/"
  },
  {
    "path": "Water/Assets/Water/Shaders/WaterSurface.shader.meta",
    "content": "fileFormatVersion: 2\nguid: 6cdea64d237bb4dfa80eddee7ad81c28\nShaderImporter:\n  externalObjects: {}\n  defaultTextures: []\n  nonModifiableTextures: []\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Shaders/WaterUnder.shader",
    "content": "﻿Shader \"Water/WaterUnder\"\r\n{\r\n\tProperties\r\n\t{\r\n\t\t_MainTex(\"Texture\", 2D) = \"white\" {}\r\n\t}\r\n\tSubShader\r\n\t{\r\n\t\tTags { \"RenderType\"=\"Opaque\" \"Queue\"=\"Geometry\" }\r\n\t\tLOD 100\r\n\r\n\t\tPass\r\n\t\t{\r\n\t\t    Tags { \"LightMode\" = \"ForwardBase\" }\r\n\t\t\r\n\t\t\tCGPROGRAM\r\n\t\t\t#pragma vertex vert\r\n\t\t\t#pragma fragment frag\r\n\t\t\t\r\n\t\t\t#include \"UnityCG.cginc\"\r\n\t\t\t#include \"Lighting.cginc\"\r\n\r\n\t\t\tstruct appdata\r\n\t\t\t{\r\n\t\t\t\tfloat4 vertex : POSITION;\r\n\t\t\t\tfloat3 normal : NORMAL;\r\n\t\t\t\tfloat2 uv : TEXCOORD0;\r\n\t\t\t};\r\n\r\n\t\t\tstruct v2f\r\n\t\t\t{\r\n\t\t\t\tfloat4 vertex : SV_POSITION;\r\n\t\t\t\tfloat3 wNormal : NORMAL;\r\n\t\t\t\tfloat2 uv : TEXCOORD0;\r\n\t\t\t\tfloat3 wPosition : TEXCOORD1;\r\n\t\t\t\tfloat3 viewDir : TEXCOORD2;\r\n\t\t\t};\r\n\r\n\t\t\tsampler2D _MainTex;\r\n\t\t\tfloat4 _MainTex_ST;\r\n\t\t\tsampler2D _NormalTex;\r\n\t\t\t\r\n\t\t\tfloat _WaterLevel;\r\n\t\t\tfloat _Visibility;\r\n\t\t\tfloat2 _WindDirection;\r\n\t\t\tfloat _WindSpeed;\r\n\t\t\tfloat _WaveScale;\r\n\t\t\tfloat3 _MudExtinction;\r\n\t\t\tfloat3 _WaterExtinction;\r\n\t\t\tfloat3 _SunTransmittance;\r\n\t\t\tfloat3 _WorldSpaceCameraPos2;\r\n\t\t\tfloat _SunFade;\r\n\t\t\tfloat _ScatterFade;\r\n\t\t\t\r\n\t\t\tv2f vert(appdata v)\r\n\t\t\t{\r\n\t\t\t\tv2f o;\r\n\t\t\t\to.vertex = UnityObjectToClipPos(v.vertex);\r\n\t\t\t\to.wPosition = mul(unity_ObjectToWorld, v.vertex).xyz;\r\n\t\t\t\to.wNormal = UnityObjectToWorldNormal(v.normal);\r\n\t\t\t\to.uv = TRANSFORM_TEX(v.uv, _MainTex);\r\n\t\t\t\to.viewDir = _WorldSpaceCameraPos - o.wPosition;\r\n\t\t\t\t\r\n\t\t\t\treturn o;\r\n\t\t\t}\r\n            \r\n            float3 intercept(float3 lineP, float3 lineN, float3 planeN, float planeD)\r\n            {\r\n                float distance = (planeD - dot(planeN, lineP)) / dot(lineN, planeN);\r\n                return lineP + lineN * distance;\r\n            }\r\n            \r\n            float3 perturb(sampler2D tex, float2 coords, float bend)\r\n            {\r\n                float3 col = 0;\r\n                \r\n                float timer = _Time.y;\r\n                float2 windDir = _WindDirection;\r\n                float windSpeed = _WindSpeed;\r\n                float scale = _WaveScale;\r\n                \r\n                // might need to swizzle, not sure\r\n                float2 nCoord = coords * (scale * 0.04) + windDir * timer * (windSpeed * 0.03);\r\n                col += tex2D(tex, nCoord + float2(-timer * 0.005, -timer * 0.01)).rgb * 0.20;\r\n                \r\n                nCoord = coords * (scale * 0.1) + windDir * timer * (windSpeed * 0.05) - (col.xy / col.z) * bend;\r\n                col += tex2D(tex, nCoord + float2(+timer * 0.01, +timer * 0.005)).rgb * 0.20;\r\n                \r\n                nCoord = coords * (scale * 0.25) + windDir * timer * (windSpeed * 0.1) - (col.xy / col.z) * bend;\r\n                col += tex2D(tex, nCoord + float2(-timer * 0.02, -timer * 0.03)).rgb * 0.20;\r\n                \r\n                nCoord = coords * (scale * 0.5) + windDir * timer * (windSpeed * 0.2) - (col.xy / col.z) * bend;\r\n                col += tex2D(tex, nCoord + float2(+timer * 0.03, +timer * 0.02)).rgb * 0.15;\r\n                \r\n                nCoord = coords * (scale * 1.0) + windDir * timer * (windSpeed * 1.0) - (col.xy / col.z) * bend;\r\n                col += tex2D(tex, nCoord + float2(+timer * 0.03, +timer * 0.02)).rgb * 0.15;\r\n                \r\n                nCoord = coords * (scale * 2.0) + windDir * timer * (windSpeed * 1.3) - (col.xy / col.z) * bend;\r\n                col += tex2D(tex, nCoord + float2(+timer * 0.03, +timer * 0.02)).rgb * 0.15;\r\n                \r\n                return col;\r\n            }\r\n\t\t\t\r\n\t\t\tfixed4 frag(v2f i) : SV_Target\r\n\t\t\t{\r\n\t\t\t    float3 vVec = normalize(i.viewDir);\r\n\t\t\t\r\n\t\t\t    float waterSunGradient = dot(vVec, -_WorldSpaceLightPos0.xyz);\r\n                waterSunGradient = max(pow(waterSunGradient * 0.7 + 0.3, 2.0), 0.0);\r\n                \r\n                float waterGradient = dot(vVec, float3(0.0, -1.0, 0.0));\r\n                waterGradient = clamp((waterGradient * 0.5 + 0.5), 0.2, 1.0);\r\n                                \r\n                float3 waterSunColor = float3(0.0, 1.0, 0.85) * waterSunGradient;\r\n                \r\n                bool aboveWater = _WorldSpaceCameraPos2.y > _WaterLevel;\r\n                                \r\n                waterSunColor = aboveWater ? waterSunColor * 0.25 : waterSunColor * 0.5;\r\n                \r\n                float3 waterColor = (float3(0.0078, 0.5176, 0.700) + waterSunColor) * waterGradient * 1.5;\r\n\t\t\t    float3 fragCoord = float3(i.vertex.xyz);\r\n                float2 TexCoord = i.uv;\r\n                float3 normal = i.wNormal;\r\n                float3 waterEyePos = intercept(i.wPosition, vVec, float3(0.0, 1.0, 0.0), _WaterLevel);\r\n                float3 diffuse = tex2D(_MainTex, i.uv);     \r\n                float NdotL = max(dot(normal, _WorldSpaceLightPos0.xyz), 0.0);\r\n                float3 sunLight = _LightColor0 * NdotL * _SunFade;\r\n                \r\n                // sky illumination\r\n                float skyBright = max(dot(normal, float3(0.0, 1.0, 0.0)) * 0.5 + 0.5, 0.0);\r\n                float3 skyLight = lerp(float3(1.0, 0.5, 0.0) * 0.05, float3(0.2, 0.5, 1.0) * 1.5, _SunTransmittance);\r\n                skyLight *= skyBright;\r\n            \r\n                // ground illumination\r\n                float groundBright = max(dot(normal, float3(0.0, -1.0, 0.0)) * 0.5 + 0.5, 0.0);   \r\n                float sunLerp = saturate(1.0 - exp(-_WorldSpaceLightPos0.y));\r\n                float3 groundLight = .3 * sunLerp;\r\n                groundLight *= groundBright;\r\n                \r\n                float3 EV = vVec;\r\n                float underwaterFresnel = pow(saturate(1.0 - dot(normal, EV)), 2.0) * sunLerp;\r\n                \r\n                // water color\r\n                float topfog = length(waterEyePos - i.wPosition) / _Visibility;\r\n                topfog = saturate(topfog);\r\n                \r\n                float viewDepth = length(i.viewDir);\r\n                \r\n                float underfog = viewDepth / _Visibility;\r\n                underfog = saturate(underfog);\r\n            \r\n                float depth = waterEyePos.y - i.wPosition.y; // water depth\r\n            \r\n                float far = viewDepth / 1000.0;\r\n                float shorecut = aboveWater ? smoothstep(-0.001, 0.001, depth) : smoothstep(-5.0 * max(far, 0.0001), -4.0 * max(far, 0.0001), depth);\r\n                float shorewetcut = smoothstep(-0.18, -0.000, depth + 0.01);\r\n                \r\n                depth /= _Visibility;\r\n                depth = saturate(depth);\r\n            \r\n                float fog = aboveWater ? topfog : underfog;\r\n                fog *= shorecut;\r\n                \r\n                float darkness = _Visibility * 1.5;\r\n                darkness = lerp(1.0, saturate((_WorldSpaceCameraPos.y + darkness) / darkness), shorecut);\r\n                \r\n                float fogdarkness = _Visibility * 2.0;\r\n                fogdarkness = lerp(1.0, saturate((_WorldSpaceCameraPos.y + fogdarkness) / fogdarkness), shorecut) * _ScatterFade;\r\n                \r\n                // caustics\r\n                float3 causticPos = intercept(i.wPosition, _WorldSpaceLightPos0.xyz, float3(0.0, 1.0, 0.0), _WaterLevel);\r\n                float causticdepth = length(causticPos - i.wPosition); // caustic depth\r\n                causticdepth = 1.0 - saturate(causticdepth / _Visibility);\r\n                causticdepth = saturate(causticdepth);\r\n                \r\n                float3 normalMap = perturb(_NormalTex, causticPos.xz, causticdepth) * 2 - 1;\r\n                normalMap = normalMap.xzy;\r\n                normalMap.xz *= -1;\r\n                float3 causticnorm = normalMap;\r\n                \r\n                float fresnel = pow(saturate(dot(_WorldSpaceLightPos0.xyz, causticnorm)), 2.0); \r\n             \r\n                float causticR = 1.0 - perturb(_NormalTex, causticPos.xz, causticdepth).z;\r\n                    \r\n                float3 caustics = saturate(pow(causticR * 5.5, 5.5 * causticdepth)) * NdotL * _SunFade * causticdepth;\r\n                \r\n                // not yet implemented\r\n                //if(causticFringe)\r\n                //{\r\n                //    float causticG = 1.0-perturb(NormalSampler,causticPos.st+(1.0-causticdepth)*aberration,causticdepth).z;\r\n                //    float causticB = 1.0-perturb(NormalSampler,causticPos.st+(1.0-causticdepth)*aberration*2.0,causticdepth).z;\r\n                //    caustics = clamp(pow(vec3(causticR,causticG,causticB)*5.5,vec3(5.5*causticdepth)),0.0,1.0)*NdotL*_SunFade*causticdepth;\r\n                //}\r\n                \r\n                float3 underwaterSunLight = saturate((sunLight + 0.9) - (1.0 - caustics)) * causticdepth + (sunLight * caustics);\r\n    \r\n                underwaterSunLight = lerp(underwaterSunLight, underwaterSunLight * waterColor, saturate((1.0 - causticdepth) / _WaterExtinction));\r\n                float3 waterPenetration = saturate(depth / _WaterExtinction);\r\n                skyLight = lerp(skyLight, skyLight * waterColor, waterPenetration);\r\n                groundLight = lerp(groundLight, groundLight * waterColor, waterPenetration);\r\n                \r\n                sunLight = lerp(sunLight, lerp(underwaterSunLight , (waterColor * 0.8 + 0.4) * _SunFade, underwaterFresnel), shorecut);\r\n                \r\n                float3 color = float3(sunLight + skyLight * 0.7 + groundLight * 0.8) * darkness;\r\n                \r\n                waterColor = lerp(waterColor * 0.3 * _SunFade, waterColor, _SunTransmittance);\r\n                                \r\n                float3 fogging = lerp((diffuse * 0.2 + 0.8) * lerp(float3(1.2, 0.95, 0.58) * 0.8, float3(1.1, 0.85, 0.5) * 0.8, shorewetcut) * color, waterColor * fogdarkness, saturate(fog / _WaterExtinction)); // adding water color fog\r\n\r\n\t\t\t\treturn float4(fogging, 1);\r\n\t\t\t}\r\n\t\t\tENDCG\r\n\t\t}\r\n\t\t\r\n\t\tPass \r\n         {\r\n             Name \"ShadowCaster\"\r\n             Tags { \"LightMode\" = \"ShadowCaster\" }\r\n             \r\n             Fog { Mode Off }\r\n             ZWrite On ZTest LEqual Cull Off\r\n             Offset 1, 1\r\n \r\n             CGPROGRAM\r\n             #pragma vertex vert\r\n             #pragma fragment frag\r\n             #pragma multi_compile_shadowcaster\r\n             #include \"UnityCG.cginc\"\r\n \r\n             struct v2f \r\n             { \r\n                 V2F_SHADOW_CASTER;\r\n             };\r\n \r\n             v2f vert(appdata_base v)\r\n             {\r\n                 v2f o;\r\n                 TRANSFER_SHADOW_CASTER(o)\r\n                 return o;\r\n             }\r\n \r\n             float4 frag( v2f i ) : SV_Target\r\n             {\r\n                 SHADOW_CASTER_FRAGMENT(i)\r\n             }\r\n             \r\n             ENDCG\r\n         }\r\n\t}\r\n}\r\n\r\n// original GLSL shader source\r\n/*\r\nvarying vec3 WorldNormal, WorldTangent, WorldBinormal;\r\nvarying vec3 WorldSpacePos, eyePos;\r\nvarying vec3 LightVec;\r\nvarying vec4 fragPos;\r\nvarying mat3 WorldToTangent;\r\nuniform sampler2D NormalSampler, TextureSampler,foamSampler;\r\n//varying vec3 Pos;\r\nuniform float timer;\r\n\r\nbool causticFringe = false;\r\n\r\nfloat choppy = 0.8;\r\nfloat refractAmount = 0.4;\r\nfloat aberration = 0.04;\r\nfloat visibility = 28.0; //water visibility\r\n\r\nfloat waterLevel = 0.0;\r\n\r\nvec2 windDir = vec2(0.5, -0.8); //wind direction XY\r\nfloat windSpeed = 0.2; //wind speed\r\n\r\nfloat scale = 1.0; //overall wave scale\r\n\r\nvec2 bigWaves = vec2(0.3, 0.3); //strength of big waves\r\nvec2 midWaves = vec2(0.3, 0.15); //strength of middle sized waves\r\nvec2 smallWaves = vec2(0.15, 0.1); //strength of small waves\r\n\r\nvec3 tangentSpace(vec3 v)\r\n{\r\n\tvec3 vec;\r\n\tvec.xy=v.xy;\r\n\tvec.z=sqrt(1.0-dot(vec.xy,vec.xy));\r\n\tvec.xyz= normalize(vec.x*WorldTangent+vec.y*WorldBinormal+vec.z*WorldNormal);\r\n\treturn vec;\r\n}\r\n\r\nvec3 intercept(vec3 lineP,\r\n               vec3 lineN,\r\n               vec3 planeN,\r\n               float  planeD)\r\n{\r\n  \r\n\tfloat distance = (planeD - dot(planeN, lineP)) /dot(lineN, planeN);\r\n\treturn lineP + lineN * distance;\r\n}\r\n\r\nvec3 perturb1(sampler2D tex, vec2 coords, float bend)\r\n{\r\n\t//normal map\r\n\tvec2 nCoord = vec2(0.0); //normal coords\r\n    bend *= choppy;\r\n  \tnCoord = coords * (scale * 0.05) + windDir * timer * (windSpeed*0.04);\r\n\tvec3 normal0 = 2.0 * texture2D(tex, nCoord + vec2(-timer*0.015,-timer*0.05)).rgb - 1.0;\r\n\tnCoord = coords * (scale * 0.1) + windDir * timer * (windSpeed*0.08)-normal0.xy*bend;\r\n\tvec3 normal1 = 2.0 * texture2D(tex, nCoord + vec2(+timer*0.020,+timer*0.015)).rgb - 1.0;\r\n \r\n \tnCoord = coords * (scale * 0.25) + windDir * timer * (windSpeed*0.07)-normal1.xy*bend;\r\n\tvec3 normal2 = 2.0 * texture2D(tex, nCoord + vec2(-timer*0.04,-timer*0.03)).rgb - 1.0;\r\n\tnCoord = coords * (scale * 0.5) + windDir * timer * (windSpeed*0.09)-normal2.xy*bend;\r\n\tvec3 normal3 = 2.0 * texture2D(tex, nCoord + vec2(+timer*0.03,+timer*0.04)).rgb - 1.0;\r\n  \r\n  \tnCoord = coords * (scale* 1.0) + windDir * timer * (windSpeed*0.4)-normal3.xy*bend;\r\n\tvec3 normal4 = 2.0 * texture2D(tex, nCoord + vec2(-timer*0.2,+timer*0.1)).rgb - 1.0;  \r\n    nCoord = coords * (scale * 2.0) + windDir * timer * (windSpeed*0.7)-normal4.xy*bend;\r\n    vec3 normal5 = 2.0 * texture2D(tex, nCoord + vec2(+timer*0.1,-timer*0.06)).rgb - 1.0;\r\n\r\n\r\n\tvec3 normal = normalize(normal0 * bigWaves.x + normal1 * bigWaves.y +\r\n                            normal2 * midWaves.x + normal3 * midWaves.y +\r\n\t\t\t\t\t\t    normal4 * smallWaves.x + normal5 * smallWaves.y);\r\n    return normal;\r\n}\r\n\r\nvec3 perturb(sampler2D tex, vec2 coords, float bend)\r\n{\r\nbend *= choppy;\r\nvec3 col = vec3(0.0);\r\nvec2 nCoord = vec2(0.0); //normal coords\r\n\r\nnCoord = coords * (scale * 0.04) + windDir * timer * (windSpeed*0.03);\r\ncol += texture2D(tex,nCoord + vec2(-timer*0.005,-timer*0.01)).rgb*0.20;\r\nnCoord = coords * (scale * 0.1) + windDir * timer * (windSpeed*0.05)-(col.xy/col.zz)*bend;\r\ncol += texture2D(tex,nCoord + vec2(+timer*0.01,+timer*0.005)).rgb*0.20;\r\n\r\nnCoord = coords * (scale * 0.25) + windDir * timer * (windSpeed*0.1)-(col.xy/col.zz)*bend;\r\ncol += texture2D(tex,nCoord + vec2(-timer*0.02,-timer*0.03)).rgb*0.20;\r\nnCoord = coords * (scale * 0.5) + windDir * timer * (windSpeed*0.2)-(col.xy/col.zz)*bend;\r\ncol += texture2D(tex,nCoord + vec2(+timer*0.03,+timer*0.02)).rgb*0.15;\r\n\r\nnCoord = coords * (scale* 1.0) + windDir * timer * (windSpeed*1.0)-(col.xy/col.zz)*bend;\r\ncol += texture2D(tex, nCoord + vec2(-timer*0.06,+timer*0.08)).rgb*0.15;\r\nnCoord = coords * (scale * 2.0) + windDir * timer * (windSpeed*1.3)-(col.xy/col.zz)*bend;\r\ncol += texture2D(tex,nCoord + vec2(+timer*0.08,-timer*0.06)).rgb*0.10;\r\n\r\nreturn col;\r\n}\r\n\r\nvoid main() {\r\n\r\n\r\n    float waterSunGradient = dot(normalize(eyePos-WorldSpacePos), -normalize(LightVec));\r\n    waterSunGradient = clamp(pow(waterSunGradient*0.7+0.3,2.0),0.0,1.0);\r\n    \r\n    float waterGradient = dot(normalize(eyePos-WorldSpacePos), vec3(0.0,0.0,-1.0));\r\n    waterGradient = clamp((waterGradient*0.5+0.5),0.2,1.0);\r\n    \r\n    vec3 waterSunColor = vec3(0.0,1.0,0.85)*waterSunGradient;\r\n    waterSunColor = (eyePos.z-waterLevel<0.0)?waterSunColor*0.5:waterSunColor*0.25;//below or above water?\r\n    \r\n    vec3 waterColor = (vec3(0.0078, 0.5176, 0.700)+waterSunColor)*waterGradient*1.5;\r\n    \r\n    vec3 mudext = vec3(1.0, 0.7, 0.5);//mud extinction\r\n    vec3 waterext = vec3(0.6, 0.8, 1.0);//water extinction\r\n    vec3 sunext = vec3(0.45, 0.55, 0.7);//sunlight extinction\r\n    \r\n    vec3 fragCoord = vec3(fragPos.xyz);\r\n\r\n\tvec2 TexCoord = gl_TexCoord[0].st;\r\n\tvec3 normal = tangentSpace(vec3(0.0,0.0,0.0));\r\n\t\r\n\tvec3 EV = normalize(eyePos-WorldSpacePos);\r\n\tvec3 LV\t= normalize(LightVec-WorldSpacePos);\r\n\t\r\n\tvec3 waterEyePos = intercept(WorldSpacePos, eyePos-WorldSpacePos, vec3(0.0,0.0,1.0),waterLevel);\r\n    \r\n    vec3 diffuse = texture2D(TextureSampler,gl_TexCoord[0].st*0.05).rgb;      \r\n\r\n\tfloat NdotL = max(dot(normal,LV),0.0);\r\n\r\n\r\n    float sunFade = clamp((LightVec.z+10.0)/20.0,0.0,1.0);\r\n    float scatterFade = clamp((LightVec.z+50.0)/200.0,0.0,1.0);\r\n    vec3 sunLight = mix(vec3(1.0,0.5,0.2), vec3(1.0,1.0,1.0), clamp(1.0-exp(-(LightVec.z/500.0)*sunext),0.0,1.0));\r\n    sunLight *= NdotL*sunFade;\r\n    \r\n    \r\n    //sky illumination\r\n    float skyBright = max(dot(normal,vec3(0.0,0.0,1.0))*0.5+0.5,0.0);   \r\n    vec3 skyLight = mix(vec3(1.0,0.5,0.0)*0.05, vec3(0.2,0.5,1.0)*1.5, clamp(1.0-exp(-(LightVec.z/500.0)*sunext),0.0,1.0));\r\n    skyLight *= skyBright;\r\n\r\n    //ground illumination\r\n    float groundBright = max(dot(normal,vec3(0.0,0.0,-1.0))*0.5+0.5,0.0);   \r\n    vec3 groundLight = vec3(0.3,0.3,0.3)*1.0*clamp(1.0-exp(-(LightVec.z/500.0)),0.0,1.0);\r\n    groundLight *= groundBright;\r\n \r\n    float underwaterFresnel = pow(clamp(1.0-dot(normal,EV),0.0,1.0),2.0)*clamp(1.0-exp(-(LightVec.z/500.0)),0.0,1.0);\r\n \r\n    //water fogging\r\n       \r\n\tfloat topfog = length(waterEyePos-WorldSpacePos)/visibility;\r\n    topfog = clamp(topfog,0.0,1.0);\r\n    \r\n    float underfog = length(eyePos-WorldSpacePos)/visibility;\r\n    underfog = clamp(underfog,0.0,1.0);\r\n\r\n\tfloat depth = waterEyePos.z-WorldSpacePos.z;//water depth\r\n\r\n    float far = length(eyePos-WorldSpacePos)/1000.0;\r\n    float shorecut = ((eyePos.z)-waterLevel<0.0)?smoothstep(-5.0*max(far,0.0001),-4.0*max(far,0.0001),depth):smoothstep(-0.001,0.001,depth);\r\n    \r\n    float shorewetcut = smoothstep(-0.18,-0.000,depth+0.01);\r\n    \r\n    \r\n    \r\n    depth /= visibility;  \r\n    depth = clamp(depth,0.0,1.0);\r\n    \r\n\r\n    \r\n    float fog = (eyePos.z-waterLevel<0.0)?underfog:topfog;//below or above water?\r\n    fog = pow(fog,1.0);\r\n    fog = fog*shorecut;\r\n    \r\n    float darkness = visibility*1.5;\r\n    darkness = mix(1.0,clamp((eyePos.z+darkness)/darkness,0.0,1.0),shorecut);\r\n    float fogdarkness = visibility*2.0;\r\n    fogdarkness = mix(1.0,clamp((eyePos.z+fogdarkness)/fogdarkness,0.0,1.0),shorecut)*scatterFade;\r\n    \r\n\r\n    //caustics\r\n    vec3 causticPos = intercept(WorldSpacePos, LightVec-WorldSpacePos, vec3(0.0,0.0,1.0),waterLevel);\r\n    float causticdepth = length(causticPos-WorldSpacePos); //caustic depth\r\n    causticdepth = 1.0-clamp(causticdepth/visibility,0.0,1.0);\r\n    causticdepth = clamp(causticdepth,0.0,1.0);\r\n    \r\n    vec3 normalMap = perturb(NormalSampler,causticPos.st,causticdepth);\r\n    vec3 causticnorm = tangentSpace(normalMap*2.0-1.0);\r\n    \r\n    float fresnel = pow(clamp(dot(LV,causticnorm),0.0,1.0),2.0); \r\n \r\n    float causticR = 1.0-perturb(NormalSampler,causticPos.st,causticdepth).z;\r\n        \r\n    vec3 caustics = clamp(pow(vec3(causticR)*5.5,vec3(5.5*causticdepth)),0.0,1.0)*NdotL*sunFade*causticdepth;\r\n    \r\n    if(causticFringe)\r\n    {\r\n    float causticG = 1.0-perturb(NormalSampler,causticPos.st+(1.0-causticdepth)*aberration,causticdepth).z;\r\n    float causticB = 1.0-perturb(NormalSampler,causticPos.st+(1.0-causticdepth)*aberration*2.0,causticdepth).z;\r\n    caustics = clamp(pow(vec3(causticR,causticG,causticB)*5.5,vec3(5.5*causticdepth)),0.0,1.0)*NdotL*sunFade*causticdepth;\r\n    }\r\n    \r\n    \r\n    vec3 underwaterSunLight = clamp((sunLight+0.9)-(1.0-caustics),0.0,1.0)*causticdepth+(sunLight*caustics);\r\n    \r\n    underwaterSunLight = mix(underwaterSunLight, underwaterSunLight*waterColor, clamp((1.0-causticdepth)/waterext,0.0,1.0));\r\n    skyLight = mix(skyLight, skyLight*waterColor, clamp((depth)/waterext,0.0,1.0));\r\n    groundLight = mix(groundLight, groundLight*waterColor, clamp((depth)/waterext,0.0,1.0));\r\n\r\n    sunLight = mix(sunLight,mix(underwaterSunLight,(waterColor*0.8+0.4)*sunFade,underwaterFresnel),shorecut);\r\n\r\n    vec3 color = vec3(sunLight+skyLight*0.7+groundLight*0.8)*darkness;\r\n\r\n    waterColor = mix(waterColor*0.3*sunFade, waterColor, clamp(1.0-exp(-(LightVec.z/500.0)*sunext),0.0,1.0));\r\n\r\n    vec3 fogging = mix((diffuse*0.2+0.8)*mix(vec3(1.2,0.95,0.58)*0.8,vec3(1.1,0.85,0.5)*0.8,shorewetcut)*color, waterColor*fogdarkness, clamp(fog/waterext,0.0,1.0));//adding water color fog\r\n    \r\n    //vec3 light = ((diffuse*0.2+0.8)*vec3(1.0,0.85,0.55)*(NdotL+skyLight+groundLight));\r\n    \r\n    gl_FragColor =  vec4(vec3(fogging),1.0) ;\r\n\t\r\n}\r\n*/"
  },
  {
    "path": "Water/Assets/Water/Shaders/WaterUnder.shader.meta",
    "content": "fileFormatVersion: 2\nguid: 891ac3ba7a1754646afff4b89a5a8a80\nShaderImporter:\n  externalObjects: {}\n  defaultTextures: []\n  nonModifiableTextures: []\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Shaders.meta",
    "content": "fileFormatVersion: 2\nguid: 733aac3ad35d543d1a150a975b03c3f9\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Textures/grid.png.meta",
    "content": "fileFormatVersion: 2\nguid: 65b81ca5f830e4f1f87398de1eedbad9\nTextureImporter:\n  fileIDToRecycleName: {}\n  externalObjects: {}\n  serializedVersion: 5\n  mipmaps:\n    mipMapMode: 0\n    enableMipMap: 1\n    sRGBTexture: 1\n    linearTexture: 0\n    fadeOut: 0\n    borderMipMap: 0\n    mipMapsPreserveCoverage: 0\n    alphaTestReferenceValue: 0.5\n    mipMapFadeDistanceStart: 1\n    mipMapFadeDistanceEnd: 3\n  bumpmap:\n    convertToNormalMap: 0\n    externalNormalMap: 0\n    heightScale: 0.25\n    normalMapFilter: 0\n  isReadable: 0\n  grayScaleToAlpha: 0\n  generateCubemap: 6\n  cubemapConvolution: 0\n  seamlessCubemap: 0\n  textureFormat: 1\n  maxTextureSize: 2048\n  textureSettings:\n    serializedVersion: 2\n    filterMode: 2\n    aniso: 16\n    mipBias: -1\n    wrapU: -1\n    wrapV: -1\n    wrapW: -1\n  nPOTScale: 1\n  lightmap: 0\n  compressionQuality: 50\n  spriteMode: 0\n  spriteExtrude: 1\n  spriteMeshType: 1\n  alignment: 0\n  spritePivot: {x: 0.5, y: 0.5}\n  spritePixelsToUnits: 100\n  spriteBorder: {x: 0, y: 0, z: 0, w: 0}\n  spriteGenerateFallbackPhysicsShape: 1\n  alphaUsage: 0\n  alphaIsTransparency: 0\n  spriteTessellationDetail: -1\n  textureType: 0\n  textureShape: 1\n  singleChannelComponent: 0\n  maxTextureSizeSet: 0\n  compressionQualitySet: 0\n  textureFormatSet: 0\n  platformSettings:\n  - serializedVersion: 2\n    buildTarget: DefaultTexturePlatform\n    maxTextureSize: 2048\n    resizeAlgorithm: 0\n    textureFormat: -1\n    textureCompression: 1\n    compressionQuality: 50\n    crunchedCompression: 0\n    allowsAlphaSplitting: 0\n    overridden: 0\n    androidETC2FallbackOverride: 0\n  - serializedVersion: 2\n    buildTarget: Standalone\n    maxTextureSize: 2048\n    resizeAlgorithm: 0\n    textureFormat: -1\n    textureCompression: 1\n    compressionQuality: 50\n    crunchedCompression: 0\n    allowsAlphaSplitting: 0\n    overridden: 0\n    androidETC2FallbackOverride: 0\n  - serializedVersion: 2\n    buildTarget: WebGL\n    maxTextureSize: 2048\n    resizeAlgorithm: 0\n    textureFormat: -1\n    textureCompression: 1\n    compressionQuality: 50\n    crunchedCompression: 0\n    allowsAlphaSplitting: 0\n    overridden: 0\n    androidETC2FallbackOverride: 0\n  spriteSheet:\n    serializedVersion: 2\n    sprites: []\n    outline: []\n    physicsShape: []\n    bones: []\n    spriteID: \n    vertices: []\n    indices: \n    edges: []\n    weights: []\n  spritePackingTag: \n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Textures/water-normal.png.meta",
    "content": "fileFormatVersion: 2\nguid: eca2a7fa5744c453b8a3dd4d9549b767\nTextureImporter:\n  fileIDToRecycleName: {}\n  externalObjects: {}\n  serializedVersion: 5\n  mipmaps:\n    mipMapMode: 0\n    enableMipMap: 1\n    sRGBTexture: 0\n    linearTexture: 0\n    fadeOut: 0\n    borderMipMap: 0\n    mipMapsPreserveCoverage: 0\n    alphaTestReferenceValue: 0.5\n    mipMapFadeDistanceStart: 1\n    mipMapFadeDistanceEnd: 3\n  bumpmap:\n    convertToNormalMap: 0\n    externalNormalMap: 0\n    heightScale: 0.25\n    normalMapFilter: 0\n  isReadable: 0\n  grayScaleToAlpha: 0\n  generateCubemap: 6\n  cubemapConvolution: 0\n  seamlessCubemap: 0\n  textureFormat: 1\n  maxTextureSize: 2048\n  textureSettings:\n    serializedVersion: 2\n    filterMode: 2\n    aniso: 16\n    mipBias: -1\n    wrapU: -1\n    wrapV: -1\n    wrapW: -1\n  nPOTScale: 1\n  lightmap: 0\n  compressionQuality: 50\n  spriteMode: 0\n  spriteExtrude: 1\n  spriteMeshType: 1\n  alignment: 0\n  spritePivot: {x: 0.5, y: 0.5}\n  spritePixelsToUnits: 100\n  spriteBorder: {x: 0, y: 0, z: 0, w: 0}\n  spriteGenerateFallbackPhysicsShape: 1\n  alphaUsage: 1\n  alphaIsTransparency: 0\n  spriteTessellationDetail: -1\n  textureType: 0\n  textureShape: 1\n  singleChannelComponent: 0\n  maxTextureSizeSet: 0\n  compressionQualitySet: 0\n  textureFormatSet: 0\n  platformSettings:\n  - serializedVersion: 2\n    buildTarget: DefaultTexturePlatform\n    maxTextureSize: 2048\n    resizeAlgorithm: 0\n    textureFormat: -1\n    textureCompression: 0\n    compressionQuality: 50\n    crunchedCompression: 0\n    allowsAlphaSplitting: 0\n    overridden: 0\n    androidETC2FallbackOverride: 0\n  - serializedVersion: 2\n    buildTarget: Standalone\n    maxTextureSize: 2048\n    resizeAlgorithm: 0\n    textureFormat: -1\n    textureCompression: 0\n    compressionQuality: 50\n    crunchedCompression: 0\n    allowsAlphaSplitting: 0\n    overridden: 0\n    androidETC2FallbackOverride: 0\n  - serializedVersion: 2\n    buildTarget: WebGL\n    maxTextureSize: 2048\n    resizeAlgorithm: 0\n    textureFormat: -1\n    textureCompression: 0\n    compressionQuality: 50\n    crunchedCompression: 0\n    allowsAlphaSplitting: 0\n    overridden: 0\n    androidETC2FallbackOverride: 0\n  spriteSheet:\n    serializedVersion: 2\n    sprites: []\n    outline: []\n    physicsShape: []\n    bones: []\n    spriteID: \n    vertices: []\n    indices: \n    edges: []\n    weights: []\n  spritePackingTag: \n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water/Textures.meta",
    "content": "fileFormatVersion: 2\nguid: 1e8901ab0328c441da00bc2a5d374b09\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Assets/Water.meta",
    "content": "fileFormatVersion: 2\nguid: 446a5f9c4c14e4052b0dcda9fb25a2a0\nfolderAsset: yes\nDefaultImporter:\n  externalObjects: {}\n  userData: \n  assetBundleName: \n  assetBundleVariant: \n"
  },
  {
    "path": "Water/Packages/manifest.json",
    "content": "{\n  \"dependencies\": {\n    \"com.unity.package-manager-ui\": \"1.9.11\",\n    \"com.unity.postprocessing\": \"2.0.12-preview\",\n    \"com.unity.textmeshpro\": \"1.2.4\",\n    \"com.unity.modules.ai\": \"1.0.0\",\n    \"com.unity.modules.animation\": \"1.0.0\",\n    \"com.unity.modules.assetbundle\": \"1.0.0\",\n    \"com.unity.modules.audio\": \"1.0.0\",\n    \"com.unity.modules.cloth\": \"1.0.0\",\n    \"com.unity.modules.director\": \"1.0.0\",\n    \"com.unity.modules.imageconversion\": \"1.0.0\",\n    \"com.unity.modules.imgui\": \"1.0.0\",\n    \"com.unity.modules.jsonserialize\": \"1.0.0\",\n    \"com.unity.modules.particlesystem\": \"1.0.0\",\n    \"com.unity.modules.physics\": \"1.0.0\",\n    \"com.unity.modules.physics2d\": \"1.0.0\",\n    \"com.unity.modules.screencapture\": \"1.0.0\",\n    \"com.unity.modules.terrain\": \"1.0.0\",\n    \"com.unity.modules.terrainphysics\": \"1.0.0\",\n    \"com.unity.modules.tilemap\": \"1.0.0\",\n    \"com.unity.modules.ui\": \"1.0.0\",\n    \"com.unity.modules.uielements\": \"1.0.0\",\n    \"com.unity.modules.umbra\": \"1.0.0\",\n    \"com.unity.modules.unityanalytics\": \"1.0.0\",\n    \"com.unity.modules.unitywebrequest\": \"1.0.0\",\n    \"com.unity.modules.unitywebrequestassetbundle\": \"1.0.0\",\n    \"com.unity.modules.unitywebrequestaudio\": \"1.0.0\",\n    \"com.unity.modules.unitywebrequesttexture\": \"1.0.0\",\n    \"com.unity.modules.unitywebrequestwww\": \"1.0.0\",\n    \"com.unity.modules.vehicles\": \"1.0.0\",\n    \"com.unity.modules.video\": \"1.0.0\",\n    \"com.unity.modules.vr\": \"1.0.0\",\n    \"com.unity.modules.wind\": \"1.0.0\",\n    \"com.unity.modules.xr\": \"1.0.0\"\n  }\n}\n"
  },
  {
    "path": "Water/ProjectSettings/AudioManager.asset",
    "content": "%YAML 1.1\r\n%TAG !u! tag:unity3d.com,2011:\r\n--- !u!11 &1\r\nAudioManager:\r\n  m_ObjectHideFlags: 0\r\n  m_Volume: 1\r\n  Rolloff Scale: 1\r\n  Doppler Factor: 1\r\n  Default Speaker Mode: 2\r\n  m_SampleRate: 0\r\n  m_DSPBufferSize: 1024\r\n  m_VirtualVoiceCount: 512\r\n  m_RealVoiceCount: 32\r\n  m_SpatializerPlugin: \r\n  m_AmbisonicDecoderPlugin: \r\n  m_DisableAudio: 0\r\n  m_VirtualizeEffects: 1\r\n"
  },
  {
    "path": "Water/ProjectSettings/ClusterInputManager.asset",
    "content": "%YAML 1.1\r\n%TAG !u! tag:unity3d.com,2011:\r\n--- !u!236 &1\r\nClusterInputManager:\r\n  m_ObjectHideFlags: 0\r\n  m_Inputs: []\r\n"
  },
  {
    "path": "Water/ProjectSettings/DynamicsManager.asset",
    "content": "%YAML 1.1\r\n%TAG !u! tag:unity3d.com,2011:\r\n--- !u!55 &1\r\nPhysicsManager:\r\n  m_ObjectHideFlags: 0\r\n  serializedVersion: 7\r\n  m_Gravity: {x: 0, y: -9.81, z: 0}\r\n  m_DefaultMaterial: {fileID: 0}\r\n  m_BounceThreshold: 2\r\n  m_SleepThreshold: 0.005\r\n  m_DefaultContactOffset: 0.01\r\n  m_DefaultSolverIterations: 6\r\n  m_DefaultSolverVelocityIterations: 1\r\n  m_QueriesHitBackfaces: 0\r\n  m_QueriesHitTriggers: 1\r\n  m_EnableAdaptiveForce: 0\r\n  m_ClothInterCollisionDistance: 0\r\n  m_ClothInterCollisionStiffness: 0\r\n  m_ContactsGeneration: 1\r\n  m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r\n  m_AutoSimulation: 1\r\n  m_AutoSyncTransforms: 1\r\n  m_ClothInterCollisionSettingsToggle: 0\r\n  m_ContactPairsMode: 0\r\n  m_BroadphaseType: 0\r\n  m_WorldBounds:\r\n    m_Center: {x: 0, y: 0, z: 0}\r\n    m_Extent: {x: 250, y: 250, z: 250}\r\n  m_WorldSubdivisions: 8\r\n"
  },
  {
    "path": "Water/ProjectSettings/EditorBuildSettings.asset",
    "content": "%YAML 1.1\r\n%TAG !u! tag:unity3d.com,2011:\r\n--- !u!1045 &1\r\nEditorBuildSettings:\r\n  m_ObjectHideFlags: 0\r\n  serializedVersion: 2\r\n  m_Scenes:\r\n  - enabled: 1\r\n    path: Assets/Scenes/SampleScene.unity\r\n    guid: 99c9720ab356a0642a771bea13969a05\r\n  m_configObjects: {}\r\n"
  },
  {
    "path": "Water/ProjectSettings/EditorSettings.asset",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!159 &1\nEditorSettings:\n  m_ObjectHideFlags: 0\n  serializedVersion: 7\n  m_ExternalVersionControlSupport: Visible Meta Files\n  m_SerializationMode: 2\n  m_LineEndingsForNewScripts: 2\n  m_DefaultBehaviorMode: 0\n  m_SpritePackerMode: 0\n  m_SpritePackerPaddingPower: 1\n  m_EtcTextureCompressorBehavior: 1\n  m_EtcTextureFastCompressor: 1\n  m_EtcTextureNormalCompressor: 2\n  m_EtcTextureBestCompressor: 4\n  m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef\n  m_ProjectGenerationRootNamespace: \n  m_UserGeneratedProjectSuffix: \n  m_CollabEditorSettings:\n    inProgressEnabled: 1\n"
  },
  {
    "path": "Water/ProjectSettings/GraphicsSettings.asset",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!30 &1\nGraphicsSettings:\n  m_ObjectHideFlags: 0\n  serializedVersion: 12\n  m_Deferred:\n    m_Mode: 1\n    m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}\n  m_DeferredReflections:\n    m_Mode: 1\n    m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}\n  m_ScreenSpaceShadows:\n    m_Mode: 1\n    m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}\n  m_LegacyDeferred:\n    m_Mode: 1\n    m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}\n  m_DepthNormals:\n    m_Mode: 1\n    m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}\n  m_MotionVectors:\n    m_Mode: 1\n    m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}\n  m_LightHalo:\n    m_Mode: 1\n    m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}\n  m_LensFlare:\n    m_Mode: 1\n    m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}\n  m_AlwaysIncludedShaders:\n  - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}\n  - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}\n  - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}\n  - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}\n  - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}\n  - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}\n  - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}\n  - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}\n  - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0}\n  m_PreloadedShaders: []\n  m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,\n    type: 0}\n  m_CustomRenderPipeline: {fileID: 0}\n  m_TransparencySortMode: 0\n  m_TransparencySortAxis: {x: 0, y: 0, z: 1}\n  m_DefaultRenderingPath: 1\n  m_DefaultMobileRenderingPath: 1\n  m_TierSettings:\n  - serializedVersion: 5\n    m_BuildTarget: 1\n    m_Tier: 0\n    m_Settings:\n      standardShaderQuality: 2\n      renderingPath: 1\n      hdrMode: 1\n      realtimeGICPUUsage: 25\n      useReflectionProbeBoxProjection: 1\n      useReflectionProbeBlending: 1\n      useHDR: 1\n      useDetailNormalMap: 1\n      useCascadedShadowMaps: 1\n      prefer32BitShadowMaps: 0\n      enableLPPV: 1\n      useDitherMaskForAlphaBlendedShadows: 1\n    m_Automatic: 0\n  - serializedVersion: 5\n    m_BuildTarget: 1\n    m_Tier: 1\n    m_Settings:\n      standardShaderQuality: 2\n      renderingPath: 1\n      hdrMode: 1\n      realtimeGICPUUsage: 25\n      useReflectionProbeBoxProjection: 1\n      useReflectionProbeBlending: 1\n      useHDR: 1\n      useDetailNormalMap: 1\n      useCascadedShadowMaps: 1\n      prefer32BitShadowMaps: 0\n      enableLPPV: 1\n      useDitherMaskForAlphaBlendedShadows: 1\n    m_Automatic: 0\n  - serializedVersion: 5\n    m_BuildTarget: 1\n    m_Tier: 2\n    m_Settings:\n      standardShaderQuality: 2\n      renderingPath: 1\n      hdrMode: 1\n      realtimeGICPUUsage: 50\n      useReflectionProbeBoxProjection: 1\n      useReflectionProbeBlending: 1\n      useHDR: 1\n      useDetailNormalMap: 1\n      useCascadedShadowMaps: 1\n      prefer32BitShadowMaps: 0\n      enableLPPV: 1\n      useDitherMaskForAlphaBlendedShadows: 1\n    m_Automatic: 0\n  m_LightmapStripping: 0\n  m_FogStripping: 0\n  m_InstancingStripping: 0\n  m_LightmapKeepPlain: 1\n  m_LightmapKeepDirCombined: 1\n  m_LightmapKeepDynamicPlain: 1\n  m_LightmapKeepDynamicDirCombined: 1\n  m_LightmapKeepShadowMask: 1\n  m_LightmapKeepSubtractive: 1\n  m_FogKeepLinear: 1\n  m_FogKeepExp: 1\n  m_FogKeepExp2: 1\n  m_AlbedoSwatchInfos: []\n  m_LightsUseLinearIntensity: 0\n  m_LightsUseColorTemperature: 0\n"
  },
  {
    "path": "Water/ProjectSettings/InputManager.asset",
    "content": "%YAML 1.1\r\n%TAG !u! tag:unity3d.com,2011:\r\n--- !u!13 &1\r\nInputManager:\r\n  m_ObjectHideFlags: 0\r\n  serializedVersion: 2\r\n  m_Axes:\r\n  - serializedVersion: 3\r\n    m_Name: Horizontal\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: left\r\n    positiveButton: right\r\n    altNegativeButton: a\r\n    altPositiveButton: d\r\n    gravity: 3\r\n    dead: 0.001\r\n    sensitivity: 3\r\n    snap: 1\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Vertical\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: down\r\n    positiveButton: up\r\n    altNegativeButton: s\r\n    altPositiveButton: w\r\n    gravity: 3\r\n    dead: 0.001\r\n    sensitivity: 3\r\n    snap: 1\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Fire1\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: left ctrl\r\n    altNegativeButton: \r\n    altPositiveButton: mouse 0\r\n    gravity: 1000\r\n    dead: 0.001\r\n    sensitivity: 1000\r\n    snap: 0\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Fire2\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: left alt\r\n    altNegativeButton: \r\n    altPositiveButton: mouse 1\r\n    gravity: 1000\r\n    dead: 0.001\r\n    sensitivity: 1000\r\n    snap: 0\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Fire3\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: left shift\r\n    altNegativeButton: \r\n    altPositiveButton: mouse 2\r\n    gravity: 1000\r\n    dead: 0.001\r\n    sensitivity: 1000\r\n    snap: 0\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Jump\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: space\r\n    altNegativeButton: \r\n    altPositiveButton: \r\n    gravity: 1000\r\n    dead: 0.001\r\n    sensitivity: 1000\r\n    snap: 0\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Mouse X\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: \r\n    altNegativeButton: \r\n    altPositiveButton: \r\n    gravity: 0\r\n    dead: 0\r\n    sensitivity: 0.1\r\n    snap: 0\r\n    invert: 0\r\n    type: 1\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Mouse Y\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: \r\n    altNegativeButton: \r\n    altPositiveButton: \r\n    gravity: 0\r\n    dead: 0\r\n    sensitivity: 0.1\r\n    snap: 0\r\n    invert: 0\r\n    type: 1\r\n    axis: 1\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Mouse ScrollWheel\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: \r\n    altNegativeButton: \r\n    altPositiveButton: \r\n    gravity: 0\r\n    dead: 0\r\n    sensitivity: 0.1\r\n    snap: 0\r\n    invert: 0\r\n    type: 1\r\n    axis: 2\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Horizontal\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: \r\n    altNegativeButton: \r\n    altPositiveButton: \r\n    gravity: 0\r\n    dead: 0.19\r\n    sensitivity: 1\r\n    snap: 0\r\n    invert: 0\r\n    type: 2\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Vertical\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: \r\n    altNegativeButton: \r\n    altPositiveButton: \r\n    gravity: 0\r\n    dead: 0.19\r\n    sensitivity: 1\r\n    snap: 0\r\n    invert: 1\r\n    type: 2\r\n    axis: 1\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Fire1\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: joystick button 0\r\n    altNegativeButton: \r\n    altPositiveButton: \r\n    gravity: 1000\r\n    dead: 0.001\r\n    sensitivity: 1000\r\n    snap: 0\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Fire2\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: joystick button 1\r\n    altNegativeButton: \r\n    altPositiveButton: \r\n    gravity: 1000\r\n    dead: 0.001\r\n    sensitivity: 1000\r\n    snap: 0\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Fire3\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: joystick button 2\r\n    altNegativeButton: \r\n    altPositiveButton: \r\n    gravity: 1000\r\n    dead: 0.001\r\n    sensitivity: 1000\r\n    snap: 0\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Jump\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: joystick button 3\r\n    altNegativeButton: \r\n    altPositiveButton: \r\n    gravity: 1000\r\n    dead: 0.001\r\n    sensitivity: 1000\r\n    snap: 0\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Submit\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: return\r\n    altNegativeButton: \r\n    altPositiveButton: joystick button 0\r\n    gravity: 1000\r\n    dead: 0.001\r\n    sensitivity: 1000\r\n    snap: 0\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Submit\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: enter\r\n    altNegativeButton: \r\n    altPositiveButton: space\r\n    gravity: 1000\r\n    dead: 0.001\r\n    sensitivity: 1000\r\n    snap: 0\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n  - serializedVersion: 3\r\n    m_Name: Cancel\r\n    descriptiveName: \r\n    descriptiveNegativeName: \r\n    negativeButton: \r\n    positiveButton: escape\r\n    altNegativeButton: \r\n    altPositiveButton: joystick button 1\r\n    gravity: 1000\r\n    dead: 0.001\r\n    sensitivity: 1000\r\n    snap: 0\r\n    invert: 0\r\n    type: 0\r\n    axis: 0\r\n    joyNum: 0\r\n"
  },
  {
    "path": "Water/ProjectSettings/NavMeshAreas.asset",
    "content": "%YAML 1.1\r\n%TAG !u! tag:unity3d.com,2011:\r\n--- !u!126 &1\r\nNavMeshProjectSettings:\r\n  m_ObjectHideFlags: 0\r\n  serializedVersion: 2\r\n  areas:\r\n  - name: Walkable\r\n    cost: 1\r\n  - name: Not Walkable\r\n    cost: 1\r\n  - name: Jump\r\n    cost: 2\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  - name: \r\n    cost: 1\r\n  m_LastAgentTypeID: -887442657\r\n  m_Settings:\r\n  - serializedVersion: 2\r\n    agentTypeID: 0\r\n    agentRadius: 0.5\r\n    agentHeight: 2\r\n    agentSlope: 45\r\n    agentClimb: 0.75\r\n    ledgeDropHeight: 0\r\n    maxJumpAcrossDistance: 0\r\n    minRegionArea: 2\r\n    manualCellSize: 0\r\n    cellSize: 0.16666667\r\n    manualTileSize: 0\r\n    tileSize: 256\r\n    accuratePlacement: 0\r\n    debug:\r\n      m_Flags: 0\r\n  m_SettingNames:\r\n  - Humanoid\r\n"
  },
  {
    "path": "Water/ProjectSettings/NetworkManager.asset",
    "content": "%YAML 1.1\r\n%TAG !u! tag:unity3d.com,2011:\r\n--- !u!149 &1\r\nNetworkManager:\r\n  m_ObjectHideFlags: 0\r\n  m_DebugLevel: 0\r\n  m_Sendrate: 15\r\n  m_AssetToPrefab: {}\r\n"
  },
  {
    "path": "Water/ProjectSettings/Physics2DSettings.asset",
    "content": "%YAML 1.1\r\n%TAG !u! tag:unity3d.com,2011:\r\n--- !u!19 &1\r\nPhysics2DSettings:\r\n  m_ObjectHideFlags: 0\r\n  serializedVersion: 3\r\n  m_Gravity: {x: 0, y: -9.81}\r\n  m_DefaultMaterial: {fileID: 0}\r\n  m_VelocityIterations: 8\r\n  m_PositionIterations: 3\r\n  m_VelocityThreshold: 1\r\n  m_MaxLinearCorrection: 0.2\r\n  m_MaxAngularCorrection: 8\r\n  m_MaxTranslationSpeed: 100\r\n  m_MaxRotationSpeed: 360\r\n  m_BaumgarteScale: 0.2\r\n  m_BaumgarteTimeOfImpactScale: 0.75\r\n  m_TimeToSleep: 0.5\r\n  m_LinearSleepTolerance: 0.01\r\n  m_AngularSleepTolerance: 2\r\n  m_DefaultContactOffset: 0.01\r\n  m_AutoSimulation: 1\r\n  m_QueriesHitTriggers: 1\r\n  m_QueriesStartInColliders: 1\r\n  m_ChangeStopsCallbacks: 0\r\n  m_CallbacksOnDisable: 1\r\n  m_AutoSyncTransforms: 1\r\n  m_AlwaysShowColliders: 0\r\n  m_ShowColliderSleep: 1\r\n  m_ShowColliderContacts: 0\r\n  m_ShowColliderAABB: 0\r\n  m_ContactArrowScale: 0.2\r\n  m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}\r\n  m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}\r\n  m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}\r\n  m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}\r\n  m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\r\n"
  },
  {
    "path": "Water/ProjectSettings/PresetManager.asset",
    "content": "%YAML 1.1\r\n%TAG !u! tag:unity3d.com,2011:\r\n--- !u!1386491679 &1\r\nPresetManager:\r\n  m_ObjectHideFlags: 0\r\n  m_DefaultList:\r\n  - type:\r\n      m_NativeTypeID: 108\r\n      m_ManagedTypePPtr: {fileID: 0}\r\n      m_ManagedTypeFallback: \r\n    defaultPresets:\r\n    - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea,\r\n        type: 2}\r\n  - type:\r\n      m_NativeTypeID: 1020\r\n      m_ManagedTypePPtr: {fileID: 0}\r\n      m_ManagedTypeFallback: \r\n    defaultPresets:\r\n    - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6,\r\n        type: 2}\r\n  - type:\r\n      m_NativeTypeID: 1006\r\n      m_ManagedTypePPtr: {fileID: 0}\r\n      m_ManagedTypeFallback: \r\n    defaultPresets:\r\n    - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9,\r\n        type: 2}\r\n"
  },
  {
    "path": "Water/ProjectSettings/ProjectSettings.asset",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!129 &1\nPlayerSettings:\n  m_ObjectHideFlags: 0\n  serializedVersion: 15\n  productGUID: b04bf724ce5c14d10ad24a7ba3de8c44\n  AndroidProfiler: 0\n  AndroidFilterTouchesWhenObscured: 0\n  AndroidEnableSustainedPerformanceMode: 0\n  defaultScreenOrientation: 4\n  targetDevice: 2\n  useOnDemandResources: 0\n  accelerometerFrequency: 60\n  companyName: DefaultCompany\n  productName: Water\n  defaultCursor: {fileID: 0}\n  cursorHotspot: {x: 0, y: 0}\n  m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}\n  m_ShowUnitySplashScreen: 1\n  m_ShowUnitySplashLogo: 1\n  m_SplashScreenOverlayOpacity: 1\n  m_SplashScreenAnimation: 1\n  m_SplashScreenLogoStyle: 1\n  m_SplashScreenDrawMode: 0\n  m_SplashScreenBackgroundAnimationZoom: 1\n  m_SplashScreenLogoAnimationZoom: 1\n  m_SplashScreenBackgroundLandscapeAspect: 1\n  m_SplashScreenBackgroundPortraitAspect: 1\n  m_SplashScreenBackgroundLandscapeUvs:\n    serializedVersion: 2\n    x: 0\n    y: 0\n    width: 1\n    height: 1\n  m_SplashScreenBackgroundPortraitUvs:\n    serializedVersion: 2\n    x: 0\n    y: 0\n    width: 1\n    height: 1\n  m_SplashScreenLogos: []\n  m_VirtualRealitySplashScreen: {fileID: 0}\n  m_HolographicTrackingLossScreen: {fileID: 0}\n  defaultScreenWidth: 1024\n  defaultScreenHeight: 768\n  defaultScreenWidthWeb: 960\n  defaultScreenHeightWeb: 600\n  m_StereoRenderingPath: 0\n  m_ActiveColorSpace: 1\n  m_MTRendering: 1\n  m_StackTraceTypes: 010000000100000001000000010000000100000001000000\n  iosShowActivityIndicatorOnLoading: -1\n  androidShowActivityIndicatorOnLoading: -1\n  iosAppInBackgroundBehavior: 0\n  displayResolutionDialog: 1\n  iosAllowHTTPDownload: 1\n  allowedAutorotateToPortrait: 1\n  allowedAutorotateToPortraitUpsideDown: 1\n  allowedAutorotateToLandscapeRight: 1\n  allowedAutorotateToLandscapeLeft: 1\n  useOSAutorotation: 1\n  use32BitDisplayBuffer: 1\n  preserveFramebufferAlpha: 0\n  disableDepthAndStencilBuffers: 0\n  androidBlitType: 0\n  defaultIsNativeResolution: 1\n  macRetinaSupport: 1\n  runInBackground: 1\n  captureSingleScreen: 0\n  muteOtherAudioSources: 0\n  Prepare IOS For Recording: 0\n  Force IOS Speakers When Recording: 0\n  deferSystemGesturesMode: 0\n  hideHomeButton: 0\n  submitAnalytics: 1\n  usePlayerLog: 1\n  bakeCollisionMeshes: 0\n  forceSingleInstance: 0\n  resizableWindow: 0\n  useMacAppStoreValidation: 0\n  macAppStoreCategory: public.app-category.games\n  gpuSkinning: 1\n  graphicsJobs: 0\n  xboxPIXTextureCapture: 0\n  xboxEnableAvatar: 0\n  xboxEnableKinect: 0\n  xboxEnableKinectAutoTracking: 0\n  xboxEnableFitness: 0\n  visibleInBackground: 1\n  allowFullscreenSwitch: 1\n  graphicsJobMode: 0\n  fullscreenMode: 1\n  xboxSpeechDB: 0\n  xboxEnableHeadOrientation: 0\n  xboxEnableGuest: 0\n  xboxEnablePIXSampling: 0\n  metalFramebufferOnly: 0\n  n3dsDisableStereoscopicView: 0\n  n3dsEnableSharedListOpt: 1\n  n3dsEnableVSync: 0\n  xboxOneResolution: 0\n  xboxOneSResolution: 0\n  xboxOneXResolution: 3\n  xboxOneMonoLoggingLevel: 0\n  xboxOneLoggingLevel: 1\n  xboxOneDisableEsram: 0\n  xboxOnePresentImmediateThreshold: 0\n  switchQueueCommandMemory: 0\n  videoMemoryForVertexBuffers: 0\n  psp2PowerMode: 0\n  psp2AcquireBGM: 1\n  vulkanEnableSetSRGBWrite: 0\n  vulkanUseSWCommandBuffers: 0\n  m_SupportedAspectRatios:\n    4:3: 1\n    5:4: 1\n    16:10: 1\n    16:9: 1\n    Others: 1\n  bundleVersion: 0.1\n  preloadedAssets: []\n  metroInputSource: 0\n  wsaTransparentSwapchain: 0\n  m_HolographicPauseOnTrackingLoss: 1\n  xboxOneDisableKinectGpuReservation: 0\n  xboxOneEnable7thCore: 0\n  isWsaHolographicRemotingEnabled: 0\n  vrSettings:\n    cardboard:\n      depthFormat: 0\n      enableTransitionView: 0\n    daydream:\n      depthFormat: 0\n      useSustainedPerformanceMode: 0\n      enableVideoLayer: 0\n      useProtectedVideoMemory: 0\n      minimumSupportedHeadTracking: 0\n      maximumSupportedHeadTracking: 1\n    hololens:\n      depthFormat: 1\n      depthBufferSharingEnabled: 0\n    oculus:\n      sharedDepthBuffer: 0\n      dashSupport: 0\n    enable360StereoCapture: 0\n  protectGraphicsMemory: 0\n  useHDRDisplay: 0\n  m_ColorGamuts: 00000000\n  targetPixelDensity: 30\n  resolutionScalingMode: 0\n  androidSupportedAspectRatio: 1\n  androidMaxAspectRatio: 2.1\n  applicationIdentifier: {}\n  buildNumber: {}\n  AndroidBundleVersionCode: 1\n  AndroidMinSdkVersion: 16\n  AndroidTargetSdkVersion: 0\n  AndroidPreferredInstallLocation: 1\n  aotOptions: \n  stripEngineCode: 1\n  iPhoneStrippingLevel: 0\n  iPhoneScriptCallOptimization: 0\n  ForceInternetPermission: 0\n  ForceSDCardPermission: 0\n  CreateWallpaper: 0\n  APKExpansionFiles: 0\n  keepLoadedShadersAlive: 0\n  StripUnusedMeshComponents: 1\n  VertexChannelCompressionMask: 4054\n  iPhoneSdkVersion: 988\n  iOSTargetOSVersionString: 8.0\n  tvOSSdkVersion: 0\n  tvOSRequireExtendedGameController: 0\n  tvOSTargetOSVersionString: 9.0\n  uIPrerenderedIcon: 0\n  uIRequiresPersistentWiFi: 0\n  uIRequiresFullScreen: 1\n  uIStatusBarHidden: 1\n  uIExitOnSuspend: 0\n  uIStatusBarStyle: 0\n  iPhoneSplashScreen: {fileID: 0}\n  iPhoneHighResSplashScreen: {fileID: 0}\n  iPhoneTallHighResSplashScreen: {fileID: 0}\n  iPhone47inSplashScreen: {fileID: 0}\n  iPhone55inPortraitSplashScreen: {fileID: 0}\n  iPhone55inLandscapeSplashScreen: {fileID: 0}\n  iPhone58inPortraitSplashScreen: {fileID: 0}\n  iPhone58inLandscapeSplashScreen: {fileID: 0}\n  iPadPortraitSplashScreen: {fileID: 0}\n  iPadHighResPortraitSplashScreen: {fileID: 0}\n  iPadLandscapeSplashScreen: {fileID: 0}\n  iPadHighResLandscapeSplashScreen: {fileID: 0}\n  appleTVSplashScreen: {fileID: 0}\n  appleTVSplashScreen2x: {fileID: 0}\n  tvOSSmallIconLayers: []\n  tvOSSmallIconLayers2x: []\n  tvOSLargeIconLayers: []\n  tvOSLargeIconLayers2x: []\n  tvOSTopShelfImageLayers: []\n  tvOSTopShelfImageLayers2x: []\n  tvOSTopShelfImageWideLayers: []\n  tvOSTopShelfImageWideLayers2x: []\n  iOSLaunchScreenType: 0\n  iOSLaunchScreenPortrait: {fileID: 0}\n  iOSLaunchScreenLandscape: {fileID: 0}\n  iOSLaunchScreenBackgroundColor:\n    serializedVersion: 2\n    rgba: 0\n  iOSLaunchScreenFillPct: 100\n  iOSLaunchScreenSize: 100\n  iOSLaunchScreenCustomXibPath: \n  iOSLaunchScreeniPadType: 0\n  iOSLaunchScreeniPadImage: {fileID: 0}\n  iOSLaunchScreeniPadBackgroundColor:\n    serializedVersion: 2\n    rgba: 0\n  iOSLaunchScreeniPadFillPct: 100\n  iOSLaunchScreeniPadSize: 100\n  iOSLaunchScreeniPadCustomXibPath: \n  iOSUseLaunchScreenStoryboard: 0\n  iOSLaunchScreenCustomStoryboardPath: \n  iOSDeviceRequirements: []\n  iOSURLSchemes: []\n  iOSBackgroundModes: 0\n  iOSMetalForceHardShadows: 0\n  metalEditorSupport: 1\n  metalAPIValidation: 1\n  iOSRenderExtraFrameOnPause: 0\n  appleDeveloperTeamID: \n  iOSManualSigningProvisioningProfileID: \n  tvOSManualSigningProvisioningProfileID: \n  iOSManualSigningProvisioningProfileType: 0\n  tvOSManualSigningProvisioningProfileType: 0\n  appleEnableAutomaticSigning: 0\n  iOSRequireARKit: 0\n  appleEnableProMotion: 0\n  vulkanEditorSupport: 0\n  clonedFromGUID: 56e7a2d3a00f33d44bdd161b773c35b5\n  templatePackageId: com.unity.template.3d@1.0.0\n  templateDefaultScene: Assets/Scenes/SampleScene.unity\n  AndroidTargetArchitectures: 5\n  AndroidSplashScreenScale: 0\n  androidSplashScreen: {fileID: 0}\n  AndroidKeystoreName: \n  AndroidKeyaliasName: \n  AndroidBuildApkPerCpuArchitecture: 0\n  AndroidTVCompatibility: 1\n  AndroidIsGame: 1\n  AndroidEnableTango: 0\n  androidEnableBanner: 1\n  androidUseLowAccuracyLocation: 0\n  m_AndroidBanners:\n  - width: 320\n    height: 180\n    banner: {fileID: 0}\n  androidGamepadSupportLevel: 0\n  resolutionDialogBanner: {fileID: 0}\n  m_BuildTargetIcons: []\n  m_BuildTargetPlatformIcons: []\n  m_BuildTargetBatching:\n  - m_BuildTarget: Standalone\n    m_StaticBatching: 1\n    m_DynamicBatching: 0\n  - m_BuildTarget: tvOS\n    m_StaticBatching: 1\n    m_DynamicBatching: 0\n  - m_BuildTarget: Android\n    m_StaticBatching: 1\n    m_DynamicBatching: 0\n  - m_BuildTarget: iPhone\n    m_StaticBatching: 1\n    m_DynamicBatching: 0\n  - m_BuildTarget: WebGL\n    m_StaticBatching: 0\n    m_DynamicBatching: 0\n  m_BuildTargetGraphicsAPIs:\n  - m_BuildTarget: AndroidPlayer\n    m_APIs: 0b00000015000000\n    m_Automatic: 1\n  - m_BuildTarget: iOSSupport\n    m_APIs: 10000000\n    m_Automatic: 1\n  - m_BuildTarget: AppleTVSupport\n    m_APIs: 10000000\n    m_Automatic: 0\n  - m_BuildTarget: WebGLSupport\n    m_APIs: 0b000000\n    m_Automatic: 1\n  m_BuildTargetVRSettings:\n  - m_BuildTarget: Standalone\n    m_Enabled: 0\n    m_Devices:\n    - Oculus\n    - OpenVR\n  m_BuildTargetEnableVuforiaSettings: []\n  openGLRequireES31: 0\n  openGLRequireES31AEP: 0\n  m_TemplateCustomTags: {}\n  mobileMTRendering:\n    Android: 1\n    iPhone: 1\n    tvOS: 1\n  m_BuildTargetGroupLightmapEncodingQuality: []\n  m_BuildTargetGroupLightmapSettings: []\n  playModeTestRunnerEnabled: 0\n  runPlayModeTestAsEditModeTest: 0\n  actionOnDotNetUnhandledException: 1\n  enableInternalProfiler: 0\n  logObjCUncaughtExceptions: 1\n  enableCrashReportAPI: 0\n  cameraUsageDescription: \n  locationUsageDescription: \n  microphoneUsageDescription: \n  switchNetLibKey: \n  switchSocketMemoryPoolSize: 6144\n  switchSocketAllocatorPoolSize: 128\n  switchSocketConcurrencyLimit: 14\n  switchScreenResolutionBehavior: 2\n  switchUseCPUProfiler: 0\n  switchApplicationID: 0x01004b9000490000\n  switchNSODependencies: \n  switchTitleNames_0: \n  switchTitleNames_1: \n  switchTitleNames_2: \n  switchTitleNames_3: \n  switchTitleNames_4: \n  switchTitleNames_5: \n  switchTitleNames_6: \n  switchTitleNames_7: \n  switchTitleNames_8: \n  switchTitleNames_9: \n  switchTitleNames_10: \n  switchTitleNames_11: \n  switchTitleNames_12: \n  switchTitleNames_13: \n  switchTitleNames_14: \n  switchPublisherNames_0: \n  switchPublisherNames_1: \n  switchPublisherNames_2: \n  switchPublisherNames_3: \n  switchPublisherNames_4: \n  switchPublisherNames_5: \n  switchPublisherNames_6: \n  switchPublisherNames_7: \n  switchPublisherNames_8: \n  switchPublisherNames_9: \n  switchPublisherNames_10: \n  switchPublisherNames_11: \n  switchPublisherNames_12: \n  switchPublisherNames_13: \n  switchPublisherNames_14: \n  switchIcons_0: {fileID: 0}\n  switchIcons_1: {fileID: 0}\n  switchIcons_2: {fileID: 0}\n  switchIcons_3: {fileID: 0}\n  switchIcons_4: {fileID: 0}\n  switchIcons_5: {fileID: 0}\n  switchIcons_6: {fileID: 0}\n  switchIcons_7: {fileID: 0}\n  switchIcons_8: {fileID: 0}\n  switchIcons_9: {fileID: 0}\n  switchIcons_10: {fileID: 0}\n  switchIcons_11: {fileID: 0}\n  switchIcons_12: {fileID: 0}\n  switchIcons_13: {fileID: 0}\n  switchIcons_14: {fileID: 0}\n  switchSmallIcons_0: {fileID: 0}\n  switchSmallIcons_1: {fileID: 0}\n  switchSmallIcons_2: {fileID: 0}\n  switchSmallIcons_3: {fileID: 0}\n  switchSmallIcons_4: {fileID: 0}\n  switchSmallIcons_5: {fileID: 0}\n  switchSmallIcons_6: {fileID: 0}\n  switchSmallIcons_7: {fileID: 0}\n  switchSmallIcons_8: {fileID: 0}\n  switchSmallIcons_9: {fileID: 0}\n  switchSmallIcons_10: {fileID: 0}\n  switchSmallIcons_11: {fileID: 0}\n  switchSmallIcons_12: {fileID: 0}\n  switchSmallIcons_13: {fileID: 0}\n  switchSmallIcons_14: {fileID: 0}\n  switchManualHTML: \n  switchAccessibleURLs: \n  switchLegalInformation: \n  switchMainThreadStackSize: 1048576\n  switchPresenceGroupId: \n  switchLogoHandling: 0\n  switchReleaseVersion: 0\n  switchDisplayVersion: 1.0.0\n  switchStartupUserAccount: 0\n  switchTouchScreenUsage: 0\n  switchSupportedLanguagesMask: 0\n  switchLogoType: 0\n  switchApplicationErrorCodeCategory: \n  switchUserAccountSaveDataSize: 0\n  switchUserAccountSaveDataJournalSize: 0\n  switchApplicationAttribute: 0\n  switchCardSpecSize: -1\n  switchCardSpecClock: -1\n  switchRatingsMask: 0\n  switchRatingsInt_0: 0\n  switchRatingsInt_1: 0\n  switchRatingsInt_2: 0\n  switchRatingsInt_3: 0\n  switchRatingsInt_4: 0\n  switchRatingsInt_5: 0\n  switchRatingsInt_6: 0\n  switchRatingsInt_7: 0\n  switchRatingsInt_8: 0\n  switchRatingsInt_9: 0\n  switchRatingsInt_10: 0\n  switchRatingsInt_11: 0\n  switchLocalCommunicationIds_0: \n  switchLocalCommunicationIds_1: \n  switchLocalCommunicationIds_2: \n  switchLocalCommunicationIds_3: \n  switchLocalCommunicationIds_4: \n  switchLocalCommunicationIds_5: \n  switchLocalCommunicationIds_6: \n  switchLocalCommunicationIds_7: \n  switchParentalControl: 0\n  switchAllowsScreenshot: 1\n  switchAllowsVideoCapturing: 1\n  switchAllowsRuntimeAddOnContentInstall: 0\n  switchDataLossConfirmation: 0\n  switchUserAccountLockEnabled: 0\n  switchSupportedNpadStyles: 3\n  switchNativeFsCacheSize: 32\n  switchIsHoldTypeHorizontal: 0\n  switchSupportedNpadCount: 8\n  switchSocketConfigEnabled: 0\n  switchTcpInitialSendBufferSize: 32\n  switchTcpInitialReceiveBufferSize: 64\n  switchTcpAutoSendBufferSizeMax: 256\n  switchTcpAutoReceiveBufferSizeMax: 256\n  switchUdpSendBufferSize: 9\n  switchUdpReceiveBufferSize: 42\n  switchSocketBufferEfficiency: 4\n  switchSocketInitializeEnabled: 1\n  switchNetworkInterfaceManagerInitializeEnabled: 1\n  switchPlayerConnectionEnabled: 1\n  ps4NPAgeRating: 12\n  ps4NPTitleSecret: \n  ps4NPTrophyPackPath: \n  ps4ParentalLevel: 11\n  ps4ContentID: ED1633-NPXX51362_00-0000000000000000\n  ps4Category: 0\n  ps4MasterVersion: 01.00\n  ps4AppVersion: 01.00\n  ps4AppType: 0\n  ps4ParamSfxPath: \n  ps4VideoOutPixelFormat: 0\n  ps4VideoOutInitialWidth: 1920\n  ps4VideoOutBaseModeInitialWidth: 1920\n  ps4VideoOutReprojectionRate: 60\n  ps4PronunciationXMLPath: \n  ps4PronunciationSIGPath: \n  ps4BackgroundImagePath: \n  ps4StartupImagePath: \n  ps4StartupImagesFolder: \n  ps4IconImagesFolder: \n  ps4SaveDataImagePath: \n  ps4SdkOverride: \n  ps4BGMPath: \n  ps4ShareFilePath: \n  ps4ShareOverlayImagePath: \n  ps4PrivacyGuardImagePath: \n  ps4NPtitleDatPath: \n  ps4RemotePlayKeyAssignment: -1\n  ps4RemotePlayKeyMappingDir: \n  ps4PlayTogetherPlayerCount: 0\n  ps4EnterButtonAssignment: 1\n  ps4ApplicationParam1: 0\n  ps4ApplicationParam2: 0\n  ps4ApplicationParam3: 0\n  ps4ApplicationParam4: 0\n  ps4DownloadDataSize: 0\n  ps4GarlicHeapSize: 2048\n  ps4ProGarlicHeapSize: 2560\n  ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ\n  ps4pnSessions: 1\n  ps4pnPresence: 1\n  ps4pnFriends: 1\n  ps4pnGameCustomData: 1\n  playerPrefsSupport: 0\n  enableApplicationExit: 0\n  restrictedAudioUsageRights: 0\n  ps4UseResolutionFallback: 0\n  ps4ReprojectionSupport: 0\n  ps4UseAudio3dBackend: 0\n  ps4SocialScreenEnabled: 0\n  ps4ScriptOptimizationLevel: 0\n  ps4Audio3dVirtualSpeakerCount: 14\n  ps4attribCpuUsage: 0\n  ps4PatchPkgPath: \n  ps4PatchLatestPkgPath: \n  ps4PatchChangeinfoPath: \n  ps4PatchDayOne: 0\n  ps4attribUserManagement: 0\n  ps4attribMoveSupport: 0\n  ps4attrib3DSupport: 0\n  ps4attribShareSupport: 0\n  ps4attribExclusiveVR: 0\n  ps4disableAutoHideSplash: 0\n  ps4videoRecordingFeaturesUsed: 0\n  ps4contentSearchFeaturesUsed: 0\n  ps4attribEyeToEyeDistanceSettingVR: 0\n  ps4IncludedModules: []\n  monoEnv: \n  psp2Splashimage: {fileID: 0}\n  psp2NPTrophyPackPath: \n  psp2NPSupportGBMorGJP: 0\n  psp2NPAgeRating: 12\n  psp2NPTitleDatPath: \n  psp2NPCommsID: \n  psp2NPCommunicationsID: \n  psp2NPCommsPassphrase: \n  psp2NPCommsSig: \n  psp2ParamSfxPath: \n  psp2ManualPath: \n  psp2LiveAreaGatePath: \n  psp2LiveAreaBackroundPath: \n  psp2LiveAreaPath: \n  psp2LiveAreaTrialPath: \n  psp2PatchChangeInfoPath: \n  psp2PatchOriginalPackage: \n  psp2PackagePassword: F69AzBlax3CF3EDNhm3soLBPh71Yexui\n  psp2KeystoneFile: \n  psp2MemoryExpansionMode: 0\n  psp2DRMType: 0\n  psp2StorageType: 0\n  psp2MediaCapacity: 0\n  psp2DLCConfigPath: \n  psp2ThumbnailPath: \n  psp2BackgroundPath: \n  psp2SoundPath: \n  psp2TrophyCommId: \n  psp2TrophyPackagePath: \n  psp2PackagedResourcesPath: \n  psp2SaveDataQuota: 10240\n  psp2ParentalLevel: 1\n  psp2ShortTitle: Not Set\n  psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF\n  psp2Category: 0\n  psp2MasterVersion: 01.00\n  psp2AppVersion: 01.00\n  psp2TVBootMode: 0\n  psp2EnterButtonAssignment: 2\n  psp2TVDisableEmu: 0\n  psp2AllowTwitterDialog: 1\n  psp2Upgradable: 0\n  psp2HealthWarning: 0\n  psp2UseLibLocation: 0\n  psp2InfoBarOnStartup: 0\n  psp2InfoBarColor: 0\n  psp2ScriptOptimizationLevel: 0\n  splashScreenBackgroundSourceLandscape: {fileID: 0}\n  splashScreenBackgroundSourcePortrait: {fileID: 0}\n  spritePackerPolicy: \n  webGLMemorySize: 256\n  webGLExceptionSupport: 1\n  webGLNameFilesAsHashes: 0\n  webGLDataCaching: 0\n  webGLDebugSymbols: 0\n  webGLEmscriptenArgs: \n  webGLModulesDirectory: \n  webGLTemplate: APPLICATION:Default\n  webGLAnalyzeBuildSize: 0\n  webGLUseEmbeddedResources: 0\n  webGLCompressionFormat: 1\n  webGLLinkerTarget: 0\n  scriptingDefineSymbols:\n    1: UNITY_POST_PROCESSING_STACK_V2\n    4: UNITY_POST_PROCESSING_STACK_V2\n    7: UNITY_POST_PROCESSING_STACK_V2\n    13: UNITY_POST_PROCESSING_STACK_V2\n    14: UNITY_POST_PROCESSING_STACK_V2\n    17: UNITY_POST_PROCESSING_STACK_V2\n    18: UNITY_POST_PROCESSING_STACK_V2\n    19: UNITY_POST_PROCESSING_STACK_V2\n    21: UNITY_POST_PROCESSING_STACK_V2\n    23: UNITY_POST_PROCESSING_STACK_V2\n    24: UNITY_POST_PROCESSING_STACK_V2\n    25: UNITY_POST_PROCESSING_STACK_V2\n    26: UNITY_POST_PROCESSING_STACK_V2\n    27: UNITY_POST_PROCESSING_STACK_V2\n  platformArchitecture: {}\n  scriptingBackend: {}\n  il2cppCompilerConfiguration: {}\n  incrementalIl2cppBuild: {}\n  allowUnsafeCode: 0\n  additionalIl2CppArgs: \n  scriptingRuntimeVersion: 1\n  apiCompatibilityLevelPerPlatform: {}\n  m_RenderingPath: 1\n  m_MobileRenderingPath: 1\n  metroPackageName: Template_3D\n  metroPackageVersion: \n  metroCertificatePath: \n  metroCertificatePassword: \n  metroCertificateSubject: \n  metroCertificateIssuer: \n  metroCertificateNotAfter: 0000000000000000\n  metroApplicationDescription: Template_3D\n  wsaImages: {}\n  metroTileShortName: \n  metroTileShowName: 0\n  metroMediumTileShowName: 0\n  metroLargeTileShowName: 0\n  metroWideTileShowName: 0\n  metroDefaultTileSize: 1\n  metroTileForegroundText: 2\n  metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}\n  metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628,\n    a: 1}\n  metroSplashScreenUseBackgroundColor: 0\n  platformCapabilities: {}\n  metroFTAName: \n  metroFTAFileTypes: []\n  metroProtocolName: \n  metroCompilationOverrides: 1\n  n3dsUseExtSaveData: 0\n  n3dsCompressStaticMem: 1\n  n3dsExtSaveDataNumber: 0x12345\n  n3dsStackSize: 131072\n  n3dsTargetPlatform: 2\n  n3dsRegion: 7\n  n3dsMediaSize: 0\n  n3dsLogoStyle: 3\n  n3dsTitle: GameName\n  n3dsProductCode: \n  n3dsApplicationId: 0xFF3FF\n  XboxOneProductId: \n  XboxOneUpdateKey: \n  XboxOneSandboxId: \n  XboxOneContentId: \n  XboxOneTitleId: \n  XboxOneSCId: \n  XboxOneGameOsOverridePath: \n  XboxOnePackagingOverridePath: \n  XboxOneAppManifestOverridePath: \n  XboxOneVersion: 1.0.0.0\n  XboxOnePackageEncryption: 0\n  XboxOnePackageUpdateGranularity: 2\n  XboxOneDescription: \n  XboxOneLanguage:\n  - enus\n  XboxOneCapability: []\n  XboxOneGameRating: {}\n  XboxOneIsContentPackage: 0\n  XboxOneEnableGPUVariability: 0\n  XboxOneSockets: {}\n  XboxOneSplashScreen: {fileID: 0}\n  XboxOneAllowedProductIds: []\n  XboxOnePersistentLocalStorageSize: 0\n  XboxOneXTitleMemory: 8\n  xboxOneScriptCompiler: 0\n  vrEditorSettings:\n    daydream:\n      daydreamIconForeground: {fileID: 0}\n      daydreamIconBackground: {fileID: 0}\n  cloudServicesEnabled:\n    UNet: 1\n  facebookSdkVersion: 7.9.4\n  apiCompatibilityLevel: 3\n  cloudProjectId: \n  projectName: Template_3D\n  organizationId: \n  cloudEnabled: 0\n  enableNativePlatformBackendsForNewInputSystem: 0\n  disableOldInputManagerSupport: 0\n"
  },
  {
    "path": "Water/ProjectSettings/ProjectVersion.txt",
    "content": "m_EditorVersion: 2018.2.11f1\n"
  },
  {
    "path": "Water/ProjectSettings/QualitySettings.asset",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!47 &1\nQualitySettings:\n  m_ObjectHideFlags: 0\n  serializedVersion: 5\n  m_CurrentQuality: 4\n  m_QualitySettings:\n  - serializedVersion: 2\n    name: Very Low\n    pixelLightCount: 0\n    shadows: 0\n    shadowResolution: 0\n    shadowProjection: 1\n    shadowCascades: 1\n    shadowDistance: 15\n    shadowNearPlaneOffset: 3\n    shadowCascade2Split: 0.33333334\n    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}\n    shadowmaskMode: 0\n    blendWeights: 1\n    textureQuality: 1\n    anisotropicTextures: 0\n    antiAliasing: 0\n    softParticles: 0\n    softVegetation: 0\n    realtimeReflectionProbes: 0\n    billboardsFaceCameraPosition: 0\n    vSyncCount: 0\n    lodBias: 0.3\n    maximumLODLevel: 0\n    particleRaycastBudget: 4\n    asyncUploadTimeSlice: 2\n    asyncUploadBufferSize: 4\n    resolutionScalingFixedDPIFactor: 1\n    excludedTargetPlatforms: []\n  - serializedVersion: 2\n    name: Low\n    pixelLightCount: 0\n    shadows: 0\n    shadowResolution: 0\n    shadowProjection: 1\n    shadowCascades: 1\n    shadowDistance: 20\n    shadowNearPlaneOffset: 3\n    shadowCascade2Split: 0.33333334\n    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}\n    shadowmaskMode: 0\n    blendWeights: 2\n    textureQuality: 0\n    anisotropicTextures: 0\n    antiAliasing: 0\n    softParticles: 0\n    softVegetation: 0\n    realtimeReflectionProbes: 0\n    billboardsFaceCameraPosition: 0\n    vSyncCount: 0\n    lodBias: 0.4\n    maximumLODLevel: 0\n    particleRaycastBudget: 16\n    asyncUploadTimeSlice: 2\n    asyncUploadBufferSize: 4\n    resolutionScalingFixedDPIFactor: 1\n    excludedTargetPlatforms: []\n  - serializedVersion: 2\n    name: Medium\n    pixelLightCount: 1\n    shadows: 1\n    shadowResolution: 0\n    shadowProjection: 1\n    shadowCascades: 1\n    shadowDistance: 20\n    shadowNearPlaneOffset: 3\n    shadowCascade2Split: 0.33333334\n    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}\n    shadowmaskMode: 0\n    blendWeights: 2\n    textureQuality: 0\n    anisotropicTextures: 1\n    antiAliasing: 0\n    softParticles: 0\n    softVegetation: 0\n    realtimeReflectionProbes: 0\n    billboardsFaceCameraPosition: 0\n    vSyncCount: 1\n    lodBias: 0.7\n    maximumLODLevel: 0\n    particleRaycastBudget: 64\n    asyncUploadTimeSlice: 2\n    asyncUploadBufferSize: 4\n    resolutionScalingFixedDPIFactor: 1\n    excludedTargetPlatforms: []\n  - serializedVersion: 2\n    name: High\n    pixelLightCount: 2\n    shadows: 2\n    shadowResolution: 1\n    shadowProjection: 1\n    shadowCascades: 2\n    shadowDistance: 40\n    shadowNearPlaneOffset: 3\n    shadowCascade2Split: 0.33333334\n    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}\n    shadowmaskMode: 1\n    blendWeights: 2\n    textureQuality: 0\n    anisotropicTextures: 1\n    antiAliasing: 2\n    softParticles: 0\n    softVegetation: 1\n    realtimeReflectionProbes: 1\n    billboardsFaceCameraPosition: 1\n    vSyncCount: 1\n    lodBias: 1\n    maximumLODLevel: 0\n    particleRaycastBudget: 256\n    asyncUploadTimeSlice: 2\n    asyncUploadBufferSize: 4\n    resolutionScalingFixedDPIFactor: 1\n    excludedTargetPlatforms: []\n  - serializedVersion: 2\n    name: Very High\n    pixelLightCount: 3\n    shadows: 2\n    shadowResolution: 2\n    shadowProjection: 1\n    shadowCascades: 2\n    shadowDistance: 40\n    shadowNearPlaneOffset: 3\n    shadowCascade2Split: 0.33333334\n    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}\n    shadowmaskMode: 1\n    blendWeights: 4\n    textureQuality: 0\n    anisotropicTextures: 1\n    antiAliasing: 4\n    softParticles: 1\n    softVegetation: 1\n    realtimeReflectionProbes: 1\n    billboardsFaceCameraPosition: 1\n    vSyncCount: 1\n    lodBias: 1.5\n    maximumLODLevel: 0\n    particleRaycastBudget: 1024\n    asyncUploadTimeSlice: 2\n    asyncUploadBufferSize: 4\n    resolutionScalingFixedDPIFactor: 1\n    excludedTargetPlatforms: []\n  - serializedVersion: 2\n    name: Ultra\n    pixelLightCount: 4\n    shadows: 2\n    shadowResolution: 2\n    shadowProjection: 1\n    shadowCascades: 4\n    shadowDistance: 150\n    shadowNearPlaneOffset: 3\n    shadowCascade2Split: 0.33333334\n    shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}\n    shadowmaskMode: 1\n    blendWeights: 4\n    textureQuality: 0\n    anisotropicTextures: 1\n    antiAliasing: 4\n    softParticles: 1\n    softVegetation: 1\n    realtimeReflectionProbes: 1\n    billboardsFaceCameraPosition: 1\n    vSyncCount: 1\n    lodBias: 2\n    maximumLODLevel: 0\n    particleRaycastBudget: 4096\n    asyncUploadTimeSlice: 2\n    asyncUploadBufferSize: 4\n    resolutionScalingFixedDPIFactor: 1\n    excludedTargetPlatforms: []\n  m_PerPlatformDefaultQuality:\n    Android: 2\n    Nintendo 3DS: 5\n    Nintendo Switch: 5\n    PS4: 5\n    PSP2: 2\n    Standalone: 5\n    Tizen: 2\n    WebGL: 3\n    WiiU: 5\n    Windows Store Apps: 5\n    XboxOne: 5\n    iPhone: 2\n    tvOS: 2\n"
  },
  {
    "path": "Water/ProjectSettings/TagManager.asset",
    "content": "%YAML 1.1\r\n%TAG !u! tag:unity3d.com,2011:\r\n--- !u!78 &1\r\nTagManager:\r\n  serializedVersion: 2\r\n  tags: []\r\n  layers:\r\n  - Default\r\n  - TransparentFX\r\n  - Ignore Raycast\r\n  - \r\n  - Water\r\n  - UI\r\n  - \r\n  - \r\n  - PostProcessing\r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  - \r\n  m_SortingLayers:\r\n  - name: Default\r\n    uniqueID: 0\r\n    locked: 0\r\n"
  },
  {
    "path": "Water/ProjectSettings/TimeManager.asset",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!5 &1\nTimeManager:\n  m_ObjectHideFlags: 0\n  Fixed Timestep: 0.0167\n  Maximum Allowed Timestep: 0.1\n  m_TimeScale: 1\n  Maximum Particle Timestep: 0.03\n"
  },
  {
    "path": "Water/ProjectSettings/UnityConnectSettings.asset",
    "content": "%YAML 1.1\n%TAG !u! tag:unity3d.com,2011:\n--- !u!310 &1\nUnityConnectSettings:\n  m_ObjectHideFlags: 0\n  m_Enabled: 1\n  m_TestMode: 0\n  m_TestEventUrl: \n  m_TestConfigUrl: \n  m_TestInitMode: 0\n  CrashReportingSettings:\n    m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes\n    m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate\n    m_Enabled: 0\n    m_CaptureEditorExceptions: 1\n  UnityPurchasingSettings:\n    m_Enabled: 0\n    m_TestMode: 0\n  UnityAnalyticsSettings:\n    m_Enabled: 1\n    m_InitializeOnStartup: 1\n    m_TestMode: 0\n    m_TestEventUrl: \n    m_TestConfigUrl: \n  UnityAdsSettings:\n    m_Enabled: 0\n    m_InitializeOnStartup: 1\n    m_TestMode: 0\n    m_IosGameId: \n    m_AndroidGameId: \n    m_GameIds: {}\n    m_GameId: \n  PerformanceReportingSettings:\n    m_Enabled: 0\n"
  }
]