比较提交

...
此合并请求有变更与目标分支冲突。
/Packages/com.verasl.water-system/Materials/Sea.mat
/Packages/com.verasl.water-system/Shaders/WaterInput.hlsl
/Packages/com.verasl.water-system/Shaders/GerstnerWaves.hlsl
/Packages/com.verasl.water-system/Shaders/WaterCommon.hlsl
/Packages/com.verasl.water-system/Shaders/WaterLighting.hlsl
/Packages/com.verasl.water-system/Scripts/Rendering/WaterSystemFeature.cs.meta
/Packages/com.verasl.water-system/Scripts/Rendering/WaterSystemFeature.cs
/Packages/com.verasl.water-system/Scripts/Water.cs
/Packages/manifest.json
/Assets/Materials/BlackoutBackface.mat
/Assets/Materials/Blocker.mat
/Assets/Materials/BushTest.mat
/Assets/Materials/Seaweed.mat
/Assets/Materials/Splash.mat
/Assets/Materials/StudioLight.mat
/Assets/Materials/StudioLight_Bright.mat
/Assets/Materials/Terrain.mat
/Assets/Data/UniversalRP/PipelineAsset_High.asset
/Assets/Data/UniversalRP/BoatDemoRenderer.asset
/Assets/Objects/Levels/Island/Terrain_0_0.asset
/Assets/Objects/Levels/Island/Terrain_1_0.asset
/Assets/Objects/environment/Cliffs/Materials/Env_Cliff_Full_01.mat
/Assets/Objects/environment/Cliffs/Materials/Env_Cliffs.mat
/Assets/Objects/environment/Cliffs/Materials/Env_HeroCave.mat
/Assets/Objects/environment/Cliffs/Materials/Env_HeroLarge.mat
/Assets/Objects/environment/Cliffs/Materials/Env_Rocks.mat
/Assets/Objects/props/props/Materials/Matr_Props.mat
/Assets/Resources/AppManager.prefab
/Assets/scenes/demo_Island.unity
/ProjectSettings/QualitySettings.asset
/ProjectSettings/ProjectVersion.txt
/ProjectSettings/URPProjectSettings.asset
/ProjectSettings/VersionControlSettings.asset
/UserSettings
/Assets/Shaders/Imposters/Shader Graphs_ImposterTest.mat

5 次代码提交

共有 83 个文件被更改,包括 1691 次插入110 次删除
  1. 12
      Assets/Resources/AppManager.prefab
  2. 59
      Assets/scenes/demo_Island.unity
  3. 24
      Assets/Data/UniversalRP/BoatDemoRenderer.asset
  4. 2
      Assets/Data/UniversalRP/PipelineAsset_High.asset
  5. 5
      Assets/Materials/BlackoutBackface.mat
  6. 5
      Assets/Materials/Blocker.mat
  7. 5
      Assets/Materials/BushTest.mat
  8. 5
      Assets/Materials/Seaweed.mat
  9. 3
      Assets/Materials/Splash.mat
  10. 5
      Assets/Materials/StudioLight.mat
  11. 5
      Assets/Materials/StudioLight_Bright.mat
  12. 3
      Assets/Materials/Terrain.mat
  13. 11
      Assets/Objects/Levels/Island/Terrain_0_0.asset
  14. 8
      Assets/Objects/Levels/Island/Terrain_1_0.asset
  15. 5
      Assets/Objects/environment/Cliffs/Materials/Env_Cliff_Full_01.mat
  16. 5
      Assets/Objects/environment/Cliffs/Materials/Env_Cliffs.mat
  17. 5
      Assets/Objects/environment/Cliffs/Materials/Env_HeroCave.mat
  18. 5
      Assets/Objects/environment/Cliffs/Materials/Env_HeroLarge.mat
  19. 5
      Assets/Objects/environment/Cliffs/Materials/Env_Rocks.mat
  20. 2
      Assets/Objects/misc/checkpoint.prefab
  21. 5
      Assets/Objects/props/props/Materials/Matr_Props.mat
  22. 5
      Assets/Shaders/Imposters/Shader Graphs_ImposterTest.mat
  23. 13
      Packages/com.verasl.water-system/Scripts/Rendering/WaterSystemFeature.cs
  24. 2
      Packages/com.verasl.water-system/Scripts/Rendering/WaterSystemFeature.cs.meta
  25. 58
      Packages/com.verasl.water-system/Scripts/Water.cs
  26. 2
      Packages/com.verasl.water-system/Shaders/GerstnerWaves.hlsl
  27. 29
      Packages/com.verasl.water-system/Shaders/WaterCommon.hlsl
  28. 2
      Packages/com.verasl.water-system/Shaders/WaterInput.hlsl
  29. 4
      Packages/com.verasl.water-system/Shaders/WaterLighting.hlsl
  30. 1
      Packages/com.verasl.water-system/Materials/Caustics.mat
  31. 1
      Packages/com.verasl.water-system/Materials/Sea.mat
  32. 10
      Packages/manifest.json
  33. 4
      ProjectSettings/ProjectVersion.txt
  34. 2
      ProjectSettings/QualitySettings.asset
  35. 8
      Assets/ScriptableRenderFeatures.meta
  36. 8
      Assets/Data/UniversalRP/BoatRetroRenderer.asset.meta
  37. 111
      Assets/Data/UniversalRP/BoatRetroRenderer.asset
  38. 15
      ProjectSettings/URPProjectSettings.asset
  39. 8
      ProjectSettings/VersionControlSettings.asset
  40. 8
      Assets/ScriptableRenderFeatures/RenderPasses.meta
  41. 53
      Assets/ScriptableRenderFeatures/RenderPasses/Blit.cs
  42. 11
      Assets/ScriptableRenderFeatures/RenderPasses/Blit.cs.meta
  43. 85
      Assets/ScriptableRenderFeatures/RenderPasses/BlitPass.cs
  44. 11
      Assets/ScriptableRenderFeatures/RenderPasses/BlitPass.cs.meta
  45. 28
      Assets/ScriptableRenderFeatures/RenderPasses/FullScreenQuad.cs
  46. 11
      Assets/ScriptableRenderFeatures/RenderPasses/FullScreenQuad.cs.meta
  47. 30
      Assets/ScriptableRenderFeatures/RenderPasses/FullScreenQuadPass.cs
  48. 11
      Assets/ScriptableRenderFeatures/RenderPasses/FullScreenQuadPass.cs.meta
  49. 8
      Assets/ScriptableRenderFeatures/RetroPass.meta
  50. 8
      Assets/ScriptableRenderFeatures/SobelOutlinePass.meta
  51. 8
      Assets/ScriptableRenderFeatures/ToonOutline.meta
  52. 119
      Assets/ScriptableRenderFeatures/ToonOutline/OutlineToon_SobelBlit.mat
  53. 8
      Assets/ScriptableRenderFeatures/ToonOutline/OutlineToon_SobelBlit.mat.meta
  54. 120
      Assets/ScriptableRenderFeatures/ToonOutline/SobelFilter.shader
  55. 9
      Assets/ScriptableRenderFeatures/ToonOutline/SobelFilter.shader.meta
  56. 8
      Assets/ScriptableRenderFeatures/ToonPass.meta
  57. 8
      Assets/ScriptableRenderFeatures/DitherPass.meta
  58. 97
      Assets/ScriptableRenderFeatures/DitherPass/Dither.mat
  59. 8
      Assets/ScriptableRenderFeatures/DitherPass/Dither.mat.meta
  60. 152
      Assets/ScriptableRenderFeatures/DitherPass/ScreenDitherShader.shadergraph
  61. 10
      Assets/ScriptableRenderFeatures/DitherPass/ScreenDitherShader.shadergraph.meta
  62. 8
      Assets/ScriptableRenderFeatures/RetroPass/Mat_Pass_Retro.mat.meta
  63. 140
      Assets/ScriptableRenderFeatures/RetroPass/ShaderGraph_Retro.shadergraph
  64. 10
      Assets/ScriptableRenderFeatures/RetroPass/ShaderGraph_Retro.shadergraph.meta
  65. 33
      Assets/ScriptableRenderFeatures/RetroPass/Mat_Pass_Retro.mat
  66. 8
      Assets/ScriptableRenderFeatures/SobelOutlinePass/Mat_Pass_OutlineSobel.mat.meta
  67. 112
      Assets/ScriptableRenderFeatures/SobelOutlinePass/Shader_OutlineSobel.shader
  68. 9
      Assets/ScriptableRenderFeatures/SobelOutlinePass/Shader_OutlineSobel.shader.meta
  69. 32
      Assets/ScriptableRenderFeatures/SobelOutlinePass/Mat_Pass_OutlineSobel.mat
  70. 8
      Assets/ScriptableRenderFeatures/ToonPass/Mat_Pass_ToonPosterize.mat.meta
  71. 86
      Assets/ScriptableRenderFeatures/ToonPass/ShaderGraph_ToonPosterize.shadergraph
  72. 10
      Assets/ScriptableRenderFeatures/ToonPass/ShaderGraph_ToonPosterize.shadergraph.meta
  73. 34
      Assets/ScriptableRenderFeatures/ToonPass/Mat_Pass_ToonPosterize.mat
  74. 25
      UserSettings/EditorUserSettings.asset
  75. 8
      Assets/scenes/_levels/level_Island/Terrain.meta

12
Assets/Resources/AppManager.prefab


speedFormat: 0
loadingScreen:
m_AssetGUID: 179a2376fe443449d9046bc913164c8b
m_SubObjectName:
m_SubObjectName:
--- !u!114 &8490184438857729681
MonoBehaviour:
m_ObjectHideFlags: 0

- boatName: Player 1
boatPrefab:
m_AssetGUID: 405c4bc591de844a3a100e1538790229
m_SubObjectName:
human: 0
human: 1
m_SubObjectName:
livery:
primaryColor: {r: 0.11053756, g: 0.8679245, b: 0.17524286, a: 0}
trimColor: {r: 0.7354654, g: 0.122774996, b: 0.8396226, a: 0}

m_AssetGUID: 405c4bc591de844a3a100e1538790229
m_SubObjectName:
livery:
primaryColor: {r: 0.098039225, g: 0.8980392, b: 0.8708881, a: 0}
trimColor: {r: 0.14150941, g: 0.14150941, b: 0.14150941, a: 0}

m_AssetGUID: 70d78230a0527e74dabc4f14906eef98
m_SubObjectName:
livery:
primaryColor: {r: 0.1481844, g: 0.2092964, b: 0.8490566, a: 0}
trimColor: {r: 0.9339623, g: 0.7163166, b: 0.074893214, a: 0}

m_SubObjectName:
m_SubObjectName:
m_SubObjectName:
m_SubObjectName:
--- !u!114 &7312333174115242941
MonoBehaviour:
m_ObjectHideFlags: 0

59
Assets/scenes/demo_Island.unity


propertyPath: m_LocalPosition.z
value: 49.590775
objectReference: {fileID: 0}
- target: {fileID: 3374119446944087244, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.3409949
objectReference: {fileID: 0}
- target: {fileID: 3374119446944087244, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.94006515
objectReference: {fileID: 0}
- target: {fileID: 6589000189934312487, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalPosition.x

propertyPath: m_Name
value: Island Level
objectReference: {fileID: 0}
- target: {fileID: 6589000190219289651, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.33798867
objectReference: {fileID: 0}
- target: {fileID: 6589000190219289651, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.9290833
objectReference: {fileID: 0}
- target: {fileID: 7096263784801332180, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Color.r
value: 0.9716981
objectReference: {fileID: 0}
- target: {fileID: 7096263784801332180, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Color.g
value: 0.89161044
objectReference: {fileID: 0}
- target: {fileID: 7096263784801332180, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_Color.b
value: 0.7287736
objectReference: {fileID: 0}
value: 0.011147385
value: 0.011147388
objectReference: {fileID: 0}
- target: {fileID: 7532958370797222331, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}

- target: {fileID: 7532958370797222331, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.z
value: -0.073744975
value: -0.073745
objectReference: {fileID: 0}
- target: {fileID: 8115735017685696522, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.x
value: -0.53654194
objectReference: {fileID: 0}
- target: {fileID: 8115735017685696522, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.y
value: -0.66060746
objectReference: {fileID: 0}
- target: {fileID: 8115735017685696522, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.z
value: 0.27422032
objectReference: {fileID: 0}
- target: {fileID: 8115735017685696522, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}
propertyPath: m_LocalRotation.w
value: -0.44779894
objectReference: {fileID: 0}
- target: {fileID: 8367957410019747705, guid: e70416e3bc35d4004a9981d0ac102ba5,
type: 3}

24
Assets/Data/UniversalRP/BoatDemoRenderer.asset


m_Name: BoatDemoRenderer
m_EditorClassIdentifier:
m_RendererFeatures:
- {fileID: 770174969183694509}
- {fileID: 4860357971611268930, guid: 74177b577927ace4798a79666640ab41, type: 2}
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
shaders:
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}

passOperation: 2
failOperation: 0
zFailOperation: 0
--- !u!114 &770174969183694509
m_ShadowTransparentReceive: 1
--- !u!114 &684880503429451503
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}

m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adbe377f4f72c497faee64bc3f0580b9, type: 3}
m_Name: WaterSystemPass
m_Script: {fileID: 11500000, guid: f62c9c65cf3354c93be831c8bc075510, type: 3}
m_Name: NewScreenSpaceAmbientOcclusion
settings:
causticScale: 0.25
debug: 0
causticShader: {fileID: 4800000, guid: 90939d2e4b62841d29c136c866715501, type: 3}
m_Active: 1
settings: {Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3},
Quality: 2, Params:
Downsample: 1
NormalSamples: 1
Intensity: 1
Radius: 0.1
SampleCount: 7
BlurPasses: 3
}
m_Material: {fileID: 0}

2
Assets/Data/UniversalRP/PipelineAsset_High.asset


m_RendererData: {fileID: 11400000, guid: fa301df1a78cf4a9ebe2a3139dc8be8f, type: 2}
m_RendererDataList:
- {fileID: 11400000, guid: fa301df1a78cf4a9ebe2a3139dc8be8f, type: 2}
- {fileID: 11400000, guid: da5d03fd77333493b9b9d22f90c457ef, type: 2}
- {fileID: 11400000, guid: 74177b577927ace4798a79666640ab41, type: 2}
m_DefaultRendererIndex: 0
m_RequireDepthTexture: 1
m_RequireOpaqueTexture: 1

5
Assets/Materials/BlackoutBackface.mat


m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2050
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []

- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
--- !u!114 &4290816286168958820
MonoBehaviour:
m_ObjectHideFlags: 11

m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
version: 2

5
Assets/Materials/Blocker.mat


m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2050
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []

- _Color: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.1999999, g: 0.1999999, b: 0.1999999, a: 1}
m_BuildTextureStacks: []
--- !u!114 &2540273213146068490
MonoBehaviour:
m_ObjectHideFlags: 11

m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
version: 2

5
Assets/Materials/BushTest.mat


m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1
m_CustomRenderQueue: 2500
m_CustomRenderQueue: 2450
stringTagMap:
RenderType: TransparentCutout
disabledShaderPasses: []

- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.11320739, g: 0.11320739, b: 0.11320739, a: 0.5}
m_BuildTextureStacks: []
--- !u!114 &7331025373869863914
MonoBehaviour:
m_ObjectHideFlags: 11

m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
version: 2

5
Assets/Materials/Seaweed.mat


m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1
m_CustomRenderQueue: 2500
m_CustomRenderQueue: 2450
stringTagMap:
RenderType: TransparentCutout
disabledShaderPasses: []

- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999993, g: 0.19999993, b: 0.19999993, a: 0.5}
m_BuildTextureStacks: []
--- !u!114 &743226389367642094
MonoBehaviour:
m_ObjectHideFlags: 11

m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
version: 2

3
Assets/Materials/Splash.mat


m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
version: 2
--- !u!21 &2100000
Material:
serializedVersion: 6

- _SoftParticleFadeParams: {r: 0, g: 10, b: 0, a: 0}
- _SpecColor: {r: 0.19998494, g: 0.19998494, b: 0.19998494, a: 0.2}
- _TintColor: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []

5
Assets/Materials/StudioLight.mat


m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
version: 2
--- !u!21 &2100000
Material:
serializedVersion: 6

m_LightmapFlags: 2
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2050
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []

- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _EmissionColor: {r: 1.1791481, g: 1.3087661, b: 1.4618678, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

5
Assets/Materials/StudioLight_Bright.mat


m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
version: 2
--- !u!21 &2100000
Material:
serializedVersion: 6

m_LightmapFlags: 2
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2050
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []

- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _EmissionColor: {r: 2.9960785, g: 2.9960785, b: 2.9960785, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

3
Assets/Materials/Terrain.mat


m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
version: 2
--- !u!21 &2100000
Material:
serializedVersion: 6

- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

11
Assets/Objects/Levels/Island/Terrain_0_0.asset
文件差异内容过多而无法显示
查看文件

8
Assets/Objects/Levels/Island/Terrain_1_0.asset
文件差异内容过多而无法显示
查看文件

5
Assets/Objects/environment/Cliffs/Materials/Env_Cliff_Full_01.mat


m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_c7c57f0cd682471d8da8de631f1fc93b_Texture_1:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- Vector1_6E11FCEA: 0.8
- Vector1_8B35DE98: 65

m_BuildTextureStacks: []

5
Assets/Objects/environment/Cliffs/Materials/Env_Cliffs.mat


m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_c7c57f0cd682471d8da8de631f1fc93b_Texture_1:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- Vector1_6E11FCEA: 0.8
- Vector1_8B35DE98: 65

m_BuildTextureStacks: []

5
Assets/Objects/environment/Cliffs/Materials/Env_HeroCave.mat


m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_c7c57f0cd682471d8da8de631f1fc93b_Texture_1:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- Vector1_6E11FCEA: 0.8
- Vector1_8B35DE98: 65

m_BuildTextureStacks: []

5
Assets/Objects/environment/Cliffs/Materials/Env_HeroLarge.mat


m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_c7c57f0cd682471d8da8de631f1fc93b_Texture_1:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- Vector1_6E11FCEA: 0.8
- Vector1_8B35DE98: 65

m_BuildTextureStacks: []

5
Assets/Objects/environment/Cliffs/Materials/Env_Rocks.mat


m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_c7c57f0cd682471d8da8de631f1fc93b_Texture_1:
m_Texture: {fileID: 2800000, guid: 0732d346e038a499bacca628b5dc8f4a, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- Vector1_6E11FCEA: 0.8
- Vector1_8B35DE98: 65

m_BuildTextureStacks: []

2
Assets/Objects/misc/checkpoint.prefab


m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:

m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}

5
Assets/Objects/props/props/Materials/Matr_Props.mat


m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
version: 2
--- !u!21 &2100000
Material:
serializedVersion: 6

m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2050
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []

- _Color: {r: 0.9811321, g: 0.9811321, b: 0.9811321, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

5
Assets/Shaders/Imposters/Shader Graphs_ImposterTest.mat


m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _SampleTexture2D_2702d63aa52f45918807b8915a93722a_Texture_1:
m_Texture: {fileID: 2800000, guid: cb246c1b0d2c9447bb704796fb9275b2, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_CE122E4_Texture_1:
m_Texture: {fileID: 2800000, guid: cb246c1b0d2c9447bb704796fb9275b2, type: 3}
m_Scale: {x: 1, y: 1}

m_BuildTextureStacks: []

13
Packages/com.verasl.water-system/Scripts/Rendering/WaterSystemFeature.cs


class WaterFxPass : ScriptableRenderPass
{
private const string k_RenderWaterFXTag = "Render Water FX";
private ProfilingSampler m_WaterFX_Profile = new ProfilingSampler(k_RenderWaterFXTag);
private readonly ShaderTagId m_WaterFXShaderTag = new ShaderTagId("WaterFX");
private readonly Color m_ClearColor = new Color(0.0f, 0.5f, 0.5f, 0.5f); //r = foam mask, g = normal.x, b = normal.z, a = displacement
private FilteringSettings m_FilteringSettings;

public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
{
CommandBuffer cmd = CommandBufferPool.Get(k_RenderWaterFXTag);
using (new ProfilingScope(cmd, m_WaterFX_Profile)) // makes sure we have profiling ability
using (new ProfilingSample(cmd, k_RenderWaterFXTag)) // makes sure we have profiling ability
{
context.ExecuteCommandBuffer(cmd);
cmd.Clear();

class WaterCausticsPass : ScriptableRenderPass
{
private const string k_RenderWaterCausticsTag = "Render Water Caustics";
private ProfilingSampler m_WaterCaustics_Profile = new ProfilingSampler(k_RenderWaterCausticsTag);
public Material WaterCausticMaterial;
private static Mesh m_mesh;

return;
CommandBuffer cmd = CommandBufferPool.Get(k_RenderWaterCausticsTag);
using (new ProfilingScope(cmd, m_WaterCaustics_Profile))
using (new ProfilingSample(cmd, k_RenderWaterCausticsTag))
{
// Create mesh if needed
if (!m_mesh)

WaterCausticsPass m_CausticsPass;
public WaterSystemSettings settings = new WaterSystemSettings();
[SerializeField] private Shader causticShader;
[SerializeField]
private Shader causticShader;
private Material _causticMaterial;

m_CausticsPass = new WaterCausticsPass();
causticShader = causticShader ? causticShader : Shader.Find("Hidden/BoatAttack/Caustics");
if (causticShader == null) return;
_causticMaterial = _causticMaterial ? _causticMaterial : new Material(causticShader);
switch (settings.debug)

public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
{
renderer.EnqueuePass(m_WaterFxPass);
if(_causticMaterial == null)
renderer.EnqueuePass(m_CausticsPass);
renderer.EnqueuePass(m_CausticsPass);
}
/// <summary>

2
Packages/com.verasl.water-system/Scripts/Rendering/WaterSystemFeature.cs.meta


externalObjects: {}
serializedVersion: 2
defaultReferences:
- causticShader: {fileID: 4800000, guid: 90939d2e4b62841d29c136c866715501, type: 3}
- causticsMaterial: {fileID: 2100000, guid: 7e6ea000873112847bd146ddb78ac67d, type: 2}
executionOrder: 0
icon: {instanceID: 0}
userData:

58
Packages/com.verasl.water-system/Scripts/Water.cs


private static readonly int WaveDataBuffer = Shader.PropertyToID("_WaveDataBuffer");
private static readonly int WaveData = Shader.PropertyToID("waveData");
private static readonly int AbsorptionScatteringRamp = Shader.PropertyToID("_AbsorptionScatteringRamp");
private static readonly int DepthCamZParams = Shader.PropertyToID("_VeraslWater_DepthCamParams");
private static readonly int DepthCamZParams = Shader.PropertyToID("_depthCamZParams");
private void OnValidate() { Init(); }
private void OnEnable()
{

const float quantizeValue = 6.25f;
const float forwards = 10f;
const float yOffset = -0.25f;
gameObject.layer,
cam,
0,
null,
ShadowCastingMode.Off,
true,
gameObject.layer,
cam,
0,
null,
ShadowCastingMode.Off,
true,
null,
LightProbeUsage.Off,
null);

{
resources = Resources.Load("WaterResources") as WaterResources;
}
Invoke(nameof(CaptureDepthMap), 1.0f);
//CaptureDepthMap();
}
private void LateUpdate()

//Generate the camera
if(_depthCam == null)
{
var go =
GameObject go =
var additionalCamData = _depthCam.GetUniversalAdditionalCameraData();
if (!_depthCam.TryGetComponent<UniversalAdditionalCameraData>(out var additionalCamData))
{
additionalCamData = _depthCam.gameObject.AddComponent(typeof(UniversalAdditionalCameraData)) as UniversalAdditionalCameraData;
}
var depthExtra = 4.0f;
t.position = Vector3.up * (transform.position.y + depthExtra);//center the camera on this water plane height
t.up = Vector3.forward;//face the camera down
t.position = Vector3.up * 4f;//center the camera on this water plane
t.up = Vector3.forward;//face teh camera down
_depthCam.nearClipPlane =0.01f;
_depthCam.farClipPlane = surfaceData._waterMaxVisibility + depthExtra;
//_depthCam.depthTextureMode = DepthTextureMode.Depth;
_depthCam.nearClipPlane =0.1f;
_depthCam.farClipPlane = surfaceData._waterMaxVisibility;
_depthCam.allowHDR = false;
_depthCam.allowMSAA = false;
_depthCam.cullingMask = (1 << 10);

if (SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLES2 || SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLES3)
{
_depthTex.filterMode = FilterMode.Point;
_depthTex.wrapMode = TextureWrapMode.Clamp;
_depthTex.wrapMode = TextureWrapMode.Clamp;
_depthTex.name = "WaterDepthMap";
//do depth capture
_depthCam.targetTexture = _depthTex;

var _params = new Vector4(t.position.y, 250, 0, 0);
var n = _depthCam.nearClipPlane;
var f = _depthCam.farClipPlane;
var zParams = new Vector4(n, f, f / (f-n), f * n / (n-f));
Shader.SetGlobalVector(DepthCamZParams, _params);
Shader.SetGlobalVector(DepthCamZParams, zParams);
/* #if UNITY_EDITOR
Texture2D tex2D = new Texture2D(1024, 1024, TextureFormat.Alpha8, false);
Graphics.CopyTexture(_depthTex, tex2D);

_depthCam.enabled = false;
_depthCam.targetTexture = null;
}

2
Packages/com.verasl.water-system/Shaders/GerstnerWaves.hlsl


half3 wave = 0; // wave vector
half w = 6.28318 / wavelength; // 2pi over wavelength(hardcoded)
half wSpeed = sqrt(9.8 * w); // frequency of the wave based off wavelength
half peak = 1.2; // peak value, 1 is the sharpest peaks
half peak = 1; // peak value, 1 is the sharpest peaks
half qi = peak / (amplitude * w * _WaveCount);
direction = radians(direction); // convert the incoming degrees to radians, for directional waves

29
Packages/com.verasl.water-system/Shaders/WaterCommon.hlsl


return float2(d * additionalData.x - additionalData.y, (rawD * -_ProjectionParams.x) + (1-UNITY_REVERSED_Z));
}
float WaterTextureDepth(float3 posWS)
{
return (1 - SAMPLE_TEXTURE2D_LOD(_WaterDepthMap, sampler_WaterDepthMap_linear_clamp, posWS.xz * 0.002 + 0.5, 1).r) * (_MaxDepth + _VeraslWater_DepthCamParams.x) - _VeraslWater_DepthCamParams.x;
}
float3 WaterDepth(float3 posWS, half4 additionalData, half2 screenUVs)// x = seafloor depth, y = water depth
float3 WaterDepth(float3 posWS, half2 texcoords, half4 additionalData, half2 screenUVs)// x = seafloor depth, y = water depth
float wd = WaterTextureDepth(posWS);
outDepth.y = wd + posWS.y;
float wd = (1 - SAMPLE_TEXTURE2D_LOD(_WaterDepthMap, sampler_WaterDepthMap_linear_clamp, texcoords, 1).r) * 19.1;
outDepth.y = (wd - 3.5) + posWS.y;
return outDepth;
}

screenUV.xyz /= screenUV.w;
// shallows mask
half waterDepth = WaterTextureDepth(input.posWS);
input.posWS.y += pow(saturate((-waterDepth + 1.5) * 0.4), 2);
half waterDepth = (1 - SAMPLE_TEXTURE2D_LOD(_WaterDepthMap, sampler_WaterDepthMap_linear_clamp, (input.posWS.xz * 0.002) + 0.5, 1).r) * 19.1;
waterDepth = waterDepth - 4.1;
input.posWS.y += saturate((1-waterDepth) * 0.6 - 0.5);
SampleWaves(input.posWS, saturate((waterDepth * 0.1 + 0.05)), wave);
SampleWaves(input.posWS, saturate((waterDepth * 0.25)) + 0.05, wave);
input.normal = wave.normal.xzy;
input.posWS += wave.position;

half4 waterFX = SAMPLE_TEXTURE2D(_WaterFXMap, sampler_ScreenTextures_linear_clamp, IN.preWaveSP.xy);
// Depth
float3 depth = WaterDepth(IN.posWS, IN.additionalData, screenUV.xy);// TODO - hardcoded shore depth UVs
half depthEdge = saturate(depth.y * 20 + 1);
//return half4(0, frac(ceil(depth.y) / _MaxDepth), frac(IN.posWS.y), 1);
float3 depth = WaterDepth(IN.posWS, (IN.posWS.xz * 0.002) + 0.5, IN.additionalData, screenUV.xy);// TODO - hardcoded shore depth UVs
half depthMulti = 1 / _MaxDepth;
// Lighting

// Foam
half3 foamMap = SAMPLE_TEXTURE2D(_FoamMap, sampler_FoamMap, IN.uv.zw).rgb; //r=thick, g=medium, b=light
half waveFoam = 0;// saturate(IN.posWS.y + 0.5);
half edgeFoam = saturate(1 - depth.x * 0.5 - 0.25) * depthEdge;
half waveFoam = saturate(IN.posWS.y + 0.5);
half edgeFoam = saturate(1 - depth.x * 0.5 - 0.25);
half foamBlendMask = max(max(waveFoam, edgeFoam), waterFX.r * 2);// + IN.fogFactorNoise.y * 0.1; //max(max((foamMask + shoreMask) - IN.fogFactorNoise.y * 0.25, waterFX.r * 2), shoreWave);
half3 foamBlend = SAMPLE_TEXTURE2D(_AbsorptionScatteringRamp, sampler_AbsorptionScatteringRamp, half2(foamBlendMask, 0.66)).rgb;
half foamMask = saturate(length(foamMap * foamBlend) * 1.5 - 0.1 + saturate(1 - depth.x * 4) * 0.5);

// Fresnel
half fresnelTerm = CalculateFresnelTerm(IN.normal, IN.viewDir.xyz);
//return fresnelTerm.xxxx;
BRDFData brdfData;
InitializeBRDFData(half3(0, 0, 0), 0, half3(1, 1, 1), 0.9, 1, brdfData);

// Reflections
half3 reflection = SampleReflections(IN.normal, IN.viewDir.xyz, screenUV.xy, fresnelTerm, 0.0);
reflection = clamp(reflection + spec, 0, 1024) * depthEdge;
reflection = clamp(reflection + spec, 0, 1024);
// Refraction
half3 refraction = Refraction(distortion, depth.x, depthMulti);

2
Packages/com.verasl.water-system/Shaders/WaterInput.hlsl


half _MaxDepth;
half _MaxWaveHeight;
int _DebugPass;
half4 _VeraslWater_DepthCamParams;
half4 _depthCamZParams;
float4x4 _InvViewProjection;
// Screen Effects textures

4
Packages/com.verasl.water-system/Shaders/WaterLighting.hlsl


half CalculateFresnelTerm(half3 normalWS, half3 viewDirectionWS)
{
return pow(1.0 - saturate(dot(normalWS, viewDirectionWS)), 10);//fresnel TODO - find a better place
return pow(1.0 - saturate(dot(normalWS, viewDirectionWS)), 5);//fresnel TODO - find a better place
}
///////////////////////////////////////////////////////////////////////////////

half3 viewNormal = mul(normalWS, (float3x3)GetWorldToViewMatrix()).xyz;
half3 reflectVector = reflect(-viewDir, viewNormal);
half2 reflectionUV = screenUV + normalWS.zx * half2(0.02, 0.15);
reflection += SAMPLE_TEXTURE2D_LOD(_PlanarReflectionTexture, sampler_ScreenTextures_linear_clamp, reflectionUV, 6 * roughness).rgb;//planar reflection
#endif

1
Packages/com.verasl.water-system/Materials/Caustics.mat


- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []

1
Packages/com.verasl.water-system/Materials/Sea.mat


- _Color: {r: 0.43867922, g: 0.80530274, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_BuildTextureStacks: []

10
Packages/manifest.json


{
"dependencies": {
"com.unity.2d.sprite": "1.0.0",
"com.unity.addressables": "1.6.0",
"com.unity.addressables": "1.6.2",
"com.unity.ide.visualstudio": "2.0.0",
"com.unity.ide.vscode": "1.1.4",
"com.unity.ide.visualstudio": "2.0.1",
"com.unity.ide.vscode": "1.2.0",
"com.unity.render-pipelines.universal": "7.2.1",
"com.unity.render-pipelines.universal": "8.0.1",
"com.unity.textmeshpro": "2.1.0-preview.4",
"com.unity.textmeshpro": "3.0.0-preview.1",
"com.unity.timeline": "1.2.11",
"com.unity.ugui": "1.0.0",
"net.peeweek.gameplay-ingredients": "https://github.com/peeweek/net.peeweek.gameplay-ingredients.git#2019.3.0",

4
ProjectSettings/ProjectVersion.txt


m_EditorVersion: 2019.3.0f6
m_EditorVersionWithRevision: 2019.3.0f6 (27ab2135bccf)
m_EditorVersion: 2020.1.0b8
m_EditorVersionWithRevision: 2020.1.0b8 (726fc0bca2bc)

2
ProjectSettings/QualitySettings.asset


QualitySettings:
m_ObjectHideFlags: 0
serializedVersion: 5
m_CurrentQuality: 1
m_CurrentQuality: 2
m_QualitySettings:
- serializedVersion: 2
name: Low

8
Assets/ScriptableRenderFeatures.meta


fileFormatVersion: 2
guid: fc9533d82a31c2b40a5194bddc4ed95b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/Data/UniversalRP/BoatRetroRenderer.asset.meta


fileFormatVersion: 2
guid: 74177b577927ace4798a79666640ab41
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

111
Assets/Data/UniversalRP/BoatRetroRenderer.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-4878736563600351927
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 804bf49869d3b4315a850958d8530433, type: 3}
m_Name: NewBlit
m_EditorClassIdentifier:
settings:
Event: 500
blitMaterial: {fileID: 2100000, guid: 03d7b241c3fee9946a8c70aa8ffc18f1, type: 2}
blitMaterialPassIndex: -1
destination: 0
textureId: _BlitPassTexture
--- !u!114 &-3189639346213710365
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 804bf49869d3b4315a850958d8530433, type: 3}
m_Name: Toon Pass
m_EditorClassIdentifier:
settings:
Event: 500
blitMaterial: {fileID: 2100000, guid: bb822321860d6af44a4abeb570b648d1, type: 2}
blitMaterialPassIndex: -1
destination: 0
textureId: _BlitPassTexture
--- !u!114 &-1317020491931952740
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 804bf49869d3b4315a850958d8530433, type: 3}
m_Name: Outline Pass
m_EditorClassIdentifier:
settings:
Event: 500
blitMaterial: {fileID: 2100000, guid: 40085b480ff98a944af12796f052956e, type: 2}
blitMaterialPassIndex: -1
destination: 0
textureId: _BlitPassTexture
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
m_Name: BoatRetroRenderer
m_EditorClassIdentifier:
m_RendererFeatures:
- {fileID: 4860357971611268930}
- {fileID: -3189639346213710365}
- {fileID: -1317020491931952740}
- {fileID: -4878736563600351927}
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
shaders:
blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd,
type: 3}
samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
m_OpaqueLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_TransparentLayerMask:
serializedVersion: 2
m_Bits: 4294967295
m_DefaultStencilState:
overrideStencilState: 0
stencilReference: 0
stencilCompareFunction: 8
passOperation: 0
failOperation: 0
zFailOperation: 0
m_ShadowTransparentReceive: 1
--- !u!114 &4860357971611268930
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: adbe377f4f72c497faee64bc3f0580b9, type: 3}
m_Name: NewWaterSystemFeature
m_EditorClassIdentifier:
settings:
causticScale: 0.25
debug: 0
causticShader: {fileID: 4800000, guid: 90939d2e4b62841d29c136c866715501, type: 3}

15
ProjectSettings/URPProjectSettings.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 61
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 247994e1f5a72c2419c26a37e9334c01, type: 3}
m_Name:
m_EditorClassIdentifier:
m_LastMaterialVersion: 2

8
ProjectSettings/VersionControlSettings.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!890905787 &1
VersionControlSettings:
m_ObjectHideFlags: 0
m_Mode: Visible Meta Files
m_CollabEditorSettings:
inProgressEnabled: 1

8
Assets/ScriptableRenderFeatures/RenderPasses.meta


fileFormatVersion: 2
guid: d6b13c8753a0f944782a4bca7d89da38
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

53
Assets/ScriptableRenderFeatures/RenderPasses/Blit.cs


using UnityEngine.Rendering.Universal;
namespace UnityEngine.Experiemntal.Rendering.Universal
{
public class Blit : ScriptableRendererFeature
{
[System.Serializable]
public class BlitSettings
{
public RenderPassEvent Event = RenderPassEvent.AfterRenderingOpaques;
public Material blitMaterial = null;
public int blitMaterialPassIndex = -1;
public Target destination = Target.Color;
public string textureId = "_BlitPassTexture";
}
public enum Target
{
Color,
Texture
}
public BlitSettings settings = new BlitSettings();
RenderTargetHandle m_RenderTextureHandle;
BlitPass blitPass;
public override void Create()
{
var passIndex = settings.blitMaterial != null ? settings.blitMaterial.passCount - 1 : 1;
settings.blitMaterialPassIndex = Mathf.Clamp(settings.blitMaterialPassIndex, -1, passIndex);
blitPass = new BlitPass(settings.Event, settings.blitMaterial, settings.blitMaterialPassIndex, name);
m_RenderTextureHandle.Init(settings.textureId);
}
public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
{
var src = renderer.cameraColorTarget;
var dest = (settings.destination == Target.Color) ? RenderTargetHandle.CameraTarget : m_RenderTextureHandle;
if (settings.blitMaterial == null)
{
Debug.LogWarningFormat("Missing Blit Material. {0} blit pass will not execute. Check for missing reference in the assigned renderer.", GetType().Name);
return;
}
blitPass.Setup(src, dest);
renderer.EnqueuePass(blitPass);
}
}
}

11
Assets/ScriptableRenderFeatures/RenderPasses/Blit.cs.meta


fileFormatVersion: 2
guid: 804bf49869d3b4315a850958d8530433
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

85
Assets/ScriptableRenderFeatures/RenderPasses/BlitPass.cs


using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
namespace UnityEngine.Experiemntal.Rendering.Universal
{
/// <summary>
/// Copy the given color buffer to the given destination color buffer.
///
/// You can use this pass to copy a color buffer to the destination,
/// so you can use it later in rendering. For example, you can copy
/// the opaque texture to use it for distortion effects.
/// </summary>
internal class BlitPass : ScriptableRenderPass
{
public enum RenderTarget
{
Color,
RenderTexture,
}
public Material blitMaterial = null;
public int blitShaderPassIndex = 0;
public FilterMode filterMode { get; set; }
private RenderTargetIdentifier source { get; set; }
private RenderTargetHandle destination { get; set; }
RenderTargetHandle m_TemporaryColorTexture;
string m_ProfilerTag;
/// <summary>
/// Create the CopyColorPass
/// </summary>
public BlitPass(RenderPassEvent renderPassEvent, Material blitMaterial, int blitShaderPassIndex, string tag)
{
this.renderPassEvent = renderPassEvent;
this.blitMaterial = blitMaterial;
this.blitShaderPassIndex = blitShaderPassIndex;
m_ProfilerTag = tag;
m_TemporaryColorTexture.Init("_TemporaryColorTexture");
}
/// <summary>
/// Configure the pass with the source and destination to execute on.
/// </summary>
/// <param name="source">Source Render Target</param>
/// <param name="destination">Destination Render Target</param>
public void Setup(RenderTargetIdentifier source, RenderTargetHandle destination)
{
this.source = source;
this.destination = destination;
}
/// <inheritdoc/>
public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
{
CommandBuffer cmd = CommandBufferPool.Get(m_ProfilerTag);
RenderTextureDescriptor opaqueDesc = renderingData.cameraData.cameraTargetDescriptor;
opaqueDesc.depthBufferBits = 0;
// Can't read and write to same color target, create a temp render target to blit.
if (destination == RenderTargetHandle.CameraTarget)
{
cmd.GetTemporaryRT(m_TemporaryColorTexture.id, opaqueDesc, filterMode);
Blit(cmd, source, m_TemporaryColorTexture.Identifier(), blitMaterial, blitShaderPassIndex);
Blit(cmd, m_TemporaryColorTexture.Identifier(), source);
}
else
{
Blit(cmd, source, destination.Identifier(), blitMaterial, blitShaderPassIndex);
}
context.ExecuteCommandBuffer(cmd);
CommandBufferPool.Release(cmd);
}
/// <inheritdoc/>
public override void FrameCleanup(CommandBuffer cmd)
{
if (destination == RenderTargetHandle.CameraTarget)
cmd.ReleaseTemporaryRT(m_TemporaryColorTexture.id);
}
}
}

11
Assets/ScriptableRenderFeatures/RenderPasses/BlitPass.cs.meta


fileFormatVersion: 2
guid: f5466d99e64664028b9acbe302e32b1b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

28
Assets/ScriptableRenderFeatures/RenderPasses/FullScreenQuad.cs


using UnityEngine.Rendering.Universal;
namespace UnityEngine.Experimental.Rendering.Universal
{
public class FullScreenQuad : ScriptableRendererFeature
{
[System.Serializable]
public struct FullScreenQuadSettings
{
public RenderPassEvent renderPassEvent;
public Material material;
}
public FullScreenQuadSettings m_Settings;
FullScreenQuadPass m_RenderQuadPass;
public override void Create()
{
m_RenderQuadPass = new FullScreenQuadPass(m_Settings);
}
public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
{
if (m_Settings.material != null)
renderer.EnqueuePass(m_RenderQuadPass);
}
}
}

11
Assets/ScriptableRenderFeatures/RenderPasses/FullScreenQuad.cs.meta


fileFormatVersion: 2
guid: ddc79beea900b6041a3c2e9c24c13d18
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

30
Assets/ScriptableRenderFeatures/RenderPasses/FullScreenQuadPass.cs


using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
namespace UnityEngine.Experimental.Rendering.Universal
{
public class FullScreenQuadPass : ScriptableRenderPass
{
string m_ProfilerTag = "DrawFullScreenPass";
FullScreenQuad.FullScreenQuadSettings m_Settings;
public FullScreenQuadPass(FullScreenQuad.FullScreenQuadSettings settings)
{
renderPassEvent = settings.renderPassEvent;
m_Settings = settings;
}
public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
{
Camera camera = renderingData.cameraData.camera;
var cmd = CommandBufferPool.Get(m_ProfilerTag);
cmd.SetViewProjectionMatrices(Matrix4x4.identity, Matrix4x4.identity);
cmd.DrawMesh(RenderingUtils.fullscreenMesh, Matrix4x4.identity, m_Settings.material);
cmd.SetViewProjectionMatrices(camera.worldToCameraMatrix, camera.projectionMatrix);
context.ExecuteCommandBuffer(cmd);
CommandBufferPool.Release(cmd);
}
}
}

11
Assets/ScriptableRenderFeatures/RenderPasses/FullScreenQuadPass.cs.meta


fileFormatVersion: 2
guid: 8c6581e7199381246ae219fed54d52b6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/ScriptableRenderFeatures/RetroPass.meta


fileFormatVersion: 2
guid: 418d31e41b368c349bcb83b175fa84e5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/ScriptableRenderFeatures/SobelOutlinePass.meta


fileFormatVersion: 2
guid: 010eeaddff0a37742ac0e1ea841bf74a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/ScriptableRenderFeatures/ToonOutline.meta


fileFormatVersion: 2
guid: 849dcedce04cf5044867b19237d5bbbb
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

119
Assets/ScriptableRenderFeatures/ToonOutline/OutlineToon_SobelBlit.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-6001270351578964239
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: OutlineToon_SobelBlit
m_Shader: {fileID: 4800000, guid: e50497c3f16cae044b3bfdac3bf84bf0, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_212D1414:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_6D2CA402:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_3DCE9C57_Texture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_867AC6D7_Texture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SampleTexture2D_E7F984EC_Texture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- Vector1_1D56E6ED: 2.8
- Vector1_5F062B86: 0.066
- Vector1_8C73B3EF: 1
- Vector1_EE2BE012: 0.91
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _Cull: 2
- _Cutoff: 0.5
- _Delta: 0.0025
- _DeltaX: 0.002
- _DeltaY: 0.002
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Poseterize: 0
- _PosterizationCount: 2
- _QueueOffset: 0
- _Raw: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}

8
Assets/ScriptableRenderFeatures/ToonOutline/OutlineToon_SobelBlit.mat.meta


fileFormatVersion: 2
guid: d9f63687e350297488a9f892379c1106
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

120
Assets/ScriptableRenderFeatures/ToonOutline/SobelFilter.shader


Shader "Unlit/SobelFilter"
{
Properties
{
[HideInInspector]_MainTex ("Base (RGB)", 2D) = "white" {}
_Delta ("Line Thickness", Range(0.0005, 0.0025)) = 0.001
[Toggle(RAW_OUTLINE)]_Raw ("Outline Only", Float) = 0
[Toggle(POSTERIZE)]_Poseterize ("Posterize", Float) = 0
_PosterizationCount ("Count", float) = 8
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 200
Pass
{
HLSLPROGRAM
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceInput.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#pragma shader_feature RAW_OUTLINE
#pragma shader_feature POSTERIZE
TEXTURE2D(_CameraDepthTexture);
SAMPLER(sampler_CameraDepthTexture);
#ifndef RAW_OUTLINE
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
#endif
float _Delta;
int _PosterizationCount;
struct Attributes
{
float4 positionOS : POSITION;
float2 uv : TEXCOORD0;
};
struct Varyings
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
UNITY_VERTEX_OUTPUT_STEREO
};
float SampleDepth(float2 uv)
{
#if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED)
return SAMPLE_TEXTURE2D_ARRAY(_CameraDepthTexture, sampler_CameraDepthTexture, uv, unity_StereoEyeIndex).r;
#else
return SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, sampler_CameraDepthTexture, uv);
#endif
}
float sobel (float2 uv)
{
float2 delta = float2(_Delta, _Delta);
float hr = 0;
float vt = 0;
hr += SampleDepth(uv + float2(-1.0, -1.0) * delta) * 1.0;
hr += SampleDepth(uv + float2( 1.0, -1.0) * delta) * -1.0;
hr += SampleDepth(uv + float2(-1.0, 0.0) * delta) * 2.0;
hr += SampleDepth(uv + float2( 1.0, 0.0) * delta) * -2.0;
hr += SampleDepth(uv + float2(-1.0, 1.0) * delta) * 1.0;
hr += SampleDepth(uv + float2( 1.0, 1.0) * delta) * -1.0;
vt += SampleDepth(uv + float2(-1.0, -1.0) * delta) * 1.0;
vt += SampleDepth(uv + float2( 0.0, -1.0) * delta) * 2.0;
vt += SampleDepth(uv + float2( 1.0, -1.0) * delta) * 1.0;
vt += SampleDepth(uv + float2(-1.0, 1.0) * delta) * -1.0;
vt += SampleDepth(uv + float2( 0.0, 1.0) * delta) * -2.0;
vt += SampleDepth(uv + float2( 1.0, 1.0) * delta) * -1.0;
return sqrt(hr * hr + vt * vt);
}
Varyings vert(Attributes input)
{
Varyings output = (Varyings)0;
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
VertexPositionInputs vertexInput = GetVertexPositionInputs(input.positionOS.xyz);
output.vertex = vertexInput.positionCS;
output.uv = input.uv;
return output;
}
half4 frag (Varyings input) : SV_Target
{
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input);
float s = pow(1 - saturate(sobel(input.uv)), 50);
#ifdef RAW_OUTLINE
return half4(s.xxx, 1);
#else
half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);
#ifdef POSTERIZE
col = pow(col, 0.4545);
float3 c = RgbToHsv(col);
c.z = round(c.z * _PosterizationCount) / _PosterizationCount;
col = float4(HsvToRgb(c), col.a);
col = pow(col, 2.2);
#endif
return col * s;
#endif
}
#pragma vertex vert
#pragma fragment frag
ENDHLSL
}
}
FallBack "Diffuse"
}

9
Assets/ScriptableRenderFeatures/ToonOutline/SobelFilter.shader.meta


fileFormatVersion: 2
guid: e50497c3f16cae044b3bfdac3bf84bf0
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

8
Assets/ScriptableRenderFeatures/ToonPass.meta


fileFormatVersion: 2
guid: 23d76463cbdd6d24291e4ddd1b2ea8b1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
Assets/ScriptableRenderFeatures/DitherPass.meta


fileFormatVersion: 2
guid: f408f669171964041b051a8fd88d3efe
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

97
Assets/ScriptableRenderFeatures/DitherPass/Dither.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-2480406745214698791
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Dither
m_Shader: {fileID: -6465566751694194690, guid: 64ba0e3339da2724cafd2e3f093a3449,
type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- Vector1_2233C9E: 0.7
- Vector1_4D822FC9: 0.14
- Vector1_FFFD6FCD: 0.79
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _Cull: 2
- _Cutoff: 0.5
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- Color_17F8DB71: {r: 1, g: 0.5641353, b: 0, a: 1}
- Color_3362C457: {r: 1, g: 0, b: 0.00931406, a: 1}
- Color_542EBF78: {r: 0.21224067, g: 0.5283019, b: 0, a: 0}
- _BaseColor: {r: 0, g: 0.0802474, b: 1, a: 1}
- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}

8
Assets/ScriptableRenderFeatures/DitherPass/Dither.mat.meta


fileFormatVersion: 2
guid: 1dd942a1fb1319643b43f9f141ba026c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

152
Assets/ScriptableRenderFeatures/DitherPass/ScreenDitherShader.shadergraph
文件差异内容过多而无法显示
查看文件

10
Assets/ScriptableRenderFeatures/DitherPass/ScreenDitherShader.shadergraph.meta


fileFormatVersion: 2
guid: 64ba0e3339da2724cafd2e3f093a3449
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

8
Assets/ScriptableRenderFeatures/RetroPass/Mat_Pass_Retro.mat.meta


fileFormatVersion: 2
guid: 03d7b241c3fee9946a8c70aa8ffc18f1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

140
Assets/ScriptableRenderFeatures/RetroPass/ShaderGraph_Retro.shadergraph
文件差异内容过多而无法显示
查看文件

10
Assets/ScriptableRenderFeatures/RetroPass/ShaderGraph_Retro.shadergraph.meta


fileFormatVersion: 2
guid: 25d24a1ca2aabec4296aa0b381bdbbb9
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

33
Assets/ScriptableRenderFeatures/RetroPass/Mat_Pass_Retro.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Mat_Pass_Retro
m_Shader: {fileID: -6465566751694194690, guid: 25d24a1ca2aabec4296aa0b381bdbbb9,
type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- Vector1_A02E52BC: 443.8
m_Colors: []

8
Assets/ScriptableRenderFeatures/SobelOutlinePass/Mat_Pass_OutlineSobel.mat.meta


fileFormatVersion: 2
guid: 40085b480ff98a944af12796f052956e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

112
Assets/ScriptableRenderFeatures/SobelOutlinePass/Shader_OutlineSobel.shader


Shader "Passes/Outline Sobel"
{
Properties
{
[HideInInspector]_MainTex ("Base (RGB)", 2D) = "white" {}
_Delta ("Line Thickness", Range(0.0005, 0.0025)) = 0.001
_DepthIntensity("Line Depth Intensity", Range(0, 1000)) = 50
[Toggle(RAW_OUTLINE)]_Raw ("Outline Only", Float) = 0
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 200
Pass
{
HLSLPROGRAM
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceInput.hlsl"
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#pragma shader_feature RAW_OUTLINE
TEXTURE2D(_CameraDepthTexture);
SAMPLER(sampler_CameraDepthTexture);
#ifndef RAW_OUTLINE
TEXTURE2D(_MainTex);
SAMPLER(sampler_MainTex);
#endif
float _Delta;
float _DepthIntensity;
struct Attributes
{
float4 positionOS : POSITION;
float2 uv : TEXCOORD0;
};
struct Varyings
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
UNITY_VERTEX_OUTPUT_STEREO
};
float SampleDepth(float2 uv)
{
#if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED)
return SAMPLE_TEXTURE2D_ARRAY(_CameraDepthTexture, sampler_CameraDepthTexture, uv, unity_StereoEyeIndex).r;
#else
return SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, sampler_CameraDepthTexture, uv);
#endif
}
float sobel (float2 uv)
{
float2 delta = float2(_Delta, _Delta);
float hr = 0;
float vt = 0;
hr += SampleDepth(uv + float2(-1.0, -1.0) * delta) * 1.0;
hr += SampleDepth(uv + float2( 1.0, -1.0) * delta) * -1.0;
hr += SampleDepth(uv + float2(-1.0, 0.0) * delta) * 2.0;
hr += SampleDepth(uv + float2( 1.0, 0.0) * delta) * -2.0;
hr += SampleDepth(uv + float2(-1.0, 1.0) * delta) * 1.0;
hr += SampleDepth(uv + float2( 1.0, 1.0) * delta) * -1.0;
vt += SampleDepth(uv + float2(-1.0, -1.0) * delta) * 1.0;
vt += SampleDepth(uv + float2( 0.0, -1.0) * delta) * 2.0;
vt += SampleDepth(uv + float2( 1.0, -1.0) * delta) * 1.0;
vt += SampleDepth(uv + float2(-1.0, 1.0) * delta) * -1.0;
vt += SampleDepth(uv + float2( 0.0, 1.0) * delta) * -2.0;
vt += SampleDepth(uv + float2( 1.0, 1.0) * delta) * -1.0;
return sqrt(hr * hr + vt * vt);
}
Varyings vert(Attributes input)
{
Varyings output = (Varyings)0;
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);
VertexPositionInputs vertexInput = GetVertexPositionInputs(input.positionOS.xyz);
output.vertex = vertexInput.positionCS;
output.uv = input.uv;
return output;
}
half4 frag (Varyings input) : SV_Target
{
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input);
float s = pow(1 - saturate(sobel(input.uv)), _DepthIntensity);
#ifdef RAW_OUTLINE
return half4(s.xxx, 1);
#else
half4 col = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, input.uv);
return col * s;
#endif
}
#pragma vertex vert
#pragma fragment frag
ENDHLSL
}
}
FallBack "Diffuse"
}

9
Assets/ScriptableRenderFeatures/SobelOutlinePass/Shader_OutlineSobel.shader.meta


fileFormatVersion: 2
guid: 229f626996f73b743a938a40bf5712d6
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

32
Assets/ScriptableRenderFeatures/SobelOutlinePass/Mat_Pass_OutlineSobel.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Mat_Pass_OutlineSobel
m_Shader: {fileID: 4800000, guid: 229f626996f73b743a938a40bf5712d6, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _Delta: 0.000824
- _DepthIntensity: 59
- _Raw: 0
- _Value: 0.4
m_Colors:
- _LineColor: {r: 0, g: 1, b: 0.07609868, a: 1}

8
Assets/ScriptableRenderFeatures/ToonPass/Mat_Pass_ToonPosterize.mat.meta


fileFormatVersion: 2
guid: bb822321860d6af44a4abeb570b648d1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

86
Assets/ScriptableRenderFeatures/ToonPass/ShaderGraph_ToonPosterize.shadergraph
文件差异内容过多而无法显示
查看文件

10
Assets/ScriptableRenderFeatures/ToonPass/ShaderGraph_ToonPosterize.shadergraph.meta


fileFormatVersion: 2
guid: 87fd395707a305549865cd85ad48a3f1
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

34
Assets/ScriptableRenderFeatures/ToonPass/Mat_Pass_ToonPosterize.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Mat_Pass_ToonPosterize
m_Shader: {fileID: -6465566751694194690, guid: 87fd395707a305549865cd85ad48a3f1,
type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- Boolean_CB5D490A: 0
- Vector1_4104473D: 1
- Vector1_AEC01A83: 1.58
- Vector1_D762F4FB: 1.25
- Vector1_F9C37264: 1.88
m_Colors:
- Color_F070CA84: {r: 1, g: 0.6776521, b: 0, a: 0}

25
UserSettings/EditorUserSettings.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!162 &1
EditorUserSettings:
m_ObjectHideFlags: 0
serializedVersion: 4
m_ConfigSettings:
UnityEditor.ShaderGraph.FloatingWindowsLayout2:
value: 181344140043005e1a220d3b1f364b524c0c5a27130c293326201334cee5322ca0bd30e8eb293a707b0fd0180b3d0a36fc0d3d04e649501f031bf84253f22f2514d70ccc19c91333cd1f0fcbd95f8bb39b8698a8d5d4cfd7ccd6bafdfae4eff4daf7a3e8afbcbe9afae1aefdedcff8f7c8d0b28696dd8bdff8888583ec9d829f9bcfc78c8dd48e958990bdc1e092aba590aaa69994b79d879c8793a774f1f57b246a579eb3bbbd89b3be41867464c6d26665937c3bc882b3ad9d7c879d8096bb4d8adbc1409a968864d20f935e796571755c6b546677696a486c781c073d6f23696429450074652134203e56454c514e4352305f78621f00746f0243326d645d4b5f450e471441155071747340736e6130644f777d42667b34007c5f3fe12420e62304f4e023e03efadde518f54165ebb4efba505858565e5d45bf0a809a4048928946d4da
flags: 0
UnityEditor.ShaderGraph.ToggleSettings:
value: 18135d1527590858060c032302276919051e1a26296a7c362c250e36aea23d2bd2f533ffee3f280a3011e63e083b4365f40b0518f34748081e02f21c21ed1f0518c11dd758925d40e51612cb935fcc
flags: 0
vcSharedLogLevel:
value: 0d5e400f0650
flags: 0
m_VCAutomaticAdd: 1
m_VCDebugCom: 0
m_VCDebugCmd: 0
m_VCDebugOut: 0
m_SemanticMergeMode: 2
m_VCShowFailedCheckout: 1
m_VCOverwriteFailedCheckoutAssets: 1
m_VCOverlayIcons: 1
m_VCAllowAsyncUpdate: 0

8
Assets/scenes/_levels/level_Island/Terrain.meta


fileFormatVersion: 2
guid: f843f542f9d13484b98e281985ec0d7d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
正在加载...
取消
保存