update water shader
This commit is contained in:
@@ -64,7 +64,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -64,7 +64,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -65,7 +65,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -64,7 +64,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -97,7 +97,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -96,7 +96,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -96,7 +96,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -96,7 +96,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -64,7 +64,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -96,7 +96,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -96,7 +96,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -64,7 +64,7 @@ MeshRenderer:
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 1ac436974d9a3a14ab8d8ec85fc8f2df, type: 2}
|
||||
- {fileID: 2100000, guid: 1b9823b5bf0301f4581c148b6a2645f4, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
|
||||
@@ -230,6 +230,59 @@ Shader "BrewMonster/UnlitVertexColorUnlit"
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Name "DepthNormals"
|
||||
Tags { "LightMode" = "DepthNormals" }
|
||||
|
||||
ZWrite On
|
||||
Cull Back
|
||||
|
||||
HLSLPROGRAM
|
||||
#pragma vertex DepthNormalsVertex
|
||||
#pragma fragment DepthNormalsFragment
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||
|
||||
struct Attributes
|
||||
{
|
||||
float4 position : POSITION;
|
||||
float3 normal : NORMAL;
|
||||
};
|
||||
|
||||
struct Varyings
|
||||
{
|
||||
float4 positionCS : SV_POSITION;
|
||||
float3 normalWS : TEXCOORD0;
|
||||
};
|
||||
|
||||
CBUFFER_START(UnityPerMaterial)
|
||||
float4 _Texture_1_ST;
|
||||
float4 _Texture_2_ST;
|
||||
float4 _Texture_3_ST;
|
||||
float4 _MaskTexture_ST;
|
||||
half _Brightness;
|
||||
CBUFFER_END
|
||||
|
||||
Varyings DepthNormalsVertex(Attributes input)
|
||||
{
|
||||
Varyings output;
|
||||
VertexPositionInputs positionInputs = GetVertexPositionInputs(input.position.xyz);
|
||||
VertexNormalInputs normalInputs = GetVertexNormalInputs(input.normal);
|
||||
|
||||
output.positionCS = positionInputs.positionCS;
|
||||
output.normalWS = normalInputs.normalWS;
|
||||
return output;
|
||||
}
|
||||
|
||||
half4 DepthNormalsFragment(Varyings input) : SV_TARGET
|
||||
{
|
||||
float3 normalWS = normalize(input.normalWS);
|
||||
return half4(normalWS * 0.5 + 0.5, 0);
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
}
|
||||
|
||||
FallBack "Universal Render Pipeline/Unlit"
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7fa8f3034a9b2e34dbb43ab302864e9f
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,252 @@
|
||||
Shader "Custom/ClearWaterShaderV3"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
[Header(Water Colors)]
|
||||
_ShallowColor ("Shallow Water Color", Color) = (0.325, 0.807, 0.971, 0.8)
|
||||
_DeepColor ("Deep Water Color", Color) = (0.086, 0.407, 1, 0.95)
|
||||
_DepthMaxDistance ("Depth Max Distance", Float) = 1
|
||||
|
||||
[Header(Shore Visibility)]
|
||||
_ShoreDistance ("Shore Visibility Distance", Range(0, 5)) = 1.0
|
||||
_ShoreFade ("Shore Fade Smoothness", Range(0.01, 2)) = 0.5
|
||||
|
||||
[Header(Foam)]
|
||||
_FoamColor ("Foam Color", Color) = (1, 1, 1, 1)
|
||||
_FoamDistance ("Foam Distance", Range(0, 2)) = 0.4
|
||||
_FoamIntensity ("Foam Intensity", Range(0, 2)) = 1
|
||||
_EdgeFoamWidth ("Edge Foam Width", Range(0.001, 0.5)) = 0.1
|
||||
_VertexColorFoamWidth ("Vertex Color Foam Width", Range(0, 1)) = 0.3
|
||||
|
||||
[Header(Wave Animation)]
|
||||
_WaveHeight ("Wave Height", Range(0, 0.5)) = 0.05
|
||||
_WaveFrequency ("Wave Frequency", Range(0, 10)) = 2
|
||||
_WaveSpeed ("Wave Speed", Range(0, 5)) = 1
|
||||
_WaveDirection ("Wave Direction", Vector) = (1, 0, 0, 0)
|
||||
|
||||
[Header(Textures)]
|
||||
_SurfaceNoise ("Surface Noise", 2D) = "white" {}
|
||||
_SurfaceNoiseCutoff ("Surface Noise Cutoff", Range(0, 1)) = 0.6
|
||||
_SurfaceNoiseScale ("Surface Noise Scale", Float) = 1
|
||||
|
||||
_NormalMap ("Normal Map", 2D) = "bump" {}
|
||||
_NormalStrength ("Normal Strength", Range(0, 2)) = 0.5
|
||||
_NormalScale ("Normal Scale", Float) = 1
|
||||
|
||||
[Header(Reflection)]
|
||||
_Smoothness ("Smoothness", Range(0, 1)) = 0.9
|
||||
_FresnelPower ("Fresnel Power", Range(0, 10)) = 5
|
||||
_ReflectionStrength ("Reflection Strength", Range(0, 1)) = 0.3
|
||||
|
||||
[Header(Movement)]
|
||||
_TextureSpeed ("Texture Speed", Float) = 0.1
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
Tags
|
||||
{
|
||||
"Queue" = "Transparent"
|
||||
"RenderType" = "Transparent"
|
||||
"RenderPipeline" = "UniversalRenderPipeline"
|
||||
}
|
||||
|
||||
Pass
|
||||
{
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
ZWrite Off
|
||||
|
||||
HLSLPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DeclareDepthTexture.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
|
||||
|
||||
struct Attributes
|
||||
{
|
||||
float4 positionOS : POSITION;
|
||||
float3 normalOS : NORMAL;
|
||||
float4 tangentOS : TANGENT;
|
||||
float2 uv : TEXCOORD0;
|
||||
float4 color : COLOR;
|
||||
};
|
||||
|
||||
struct Varyings
|
||||
{
|
||||
float4 positionCS : SV_POSITION;
|
||||
float2 uv : TEXCOORD0;
|
||||
float4 screenPos : TEXCOORD1;
|
||||
float3 normalWS : TEXCOORD2;
|
||||
float3 tangentWS : TEXCOORD3;
|
||||
float3 bitangentWS : TEXCOORD4;
|
||||
float3 viewDirWS : TEXCOORD5;
|
||||
float3 positionWS : TEXCOORD6;
|
||||
float waveValue : TEXCOORD7;
|
||||
float4 vertexColor : COLOR;
|
||||
};
|
||||
|
||||
sampler2D _SurfaceNoise;
|
||||
sampler2D _NormalMap;
|
||||
|
||||
CBUFFER_START(UnityPerMaterial)
|
||||
float _SurfaceNoiseCutoff;
|
||||
float _SurfaceNoiseScale;
|
||||
float _FoamDistance;
|
||||
float _FoamIntensity;
|
||||
float _EdgeFoamWidth;
|
||||
float _VertexColorFoamWidth;
|
||||
float _DepthMaxDistance;
|
||||
float _NormalStrength;
|
||||
float _NormalScale;
|
||||
float _Smoothness;
|
||||
float _FresnelPower;
|
||||
float _ReflectionStrength;
|
||||
float _TextureSpeed;
|
||||
float _ShoreDistance;
|
||||
float _ShoreFade;
|
||||
float _WaveHeight;
|
||||
float _WaveFrequency;
|
||||
float _WaveSpeed;
|
||||
float4 _WaveDirection;
|
||||
float4 _ShallowColor;
|
||||
float4 _DeepColor;
|
||||
float4 _FoamColor;
|
||||
CBUFFER_END
|
||||
|
||||
float3 TriplanarSample(sampler2D tex, float3 worldPos, float3 worldNormal, float scale, float2 offset)
|
||||
{
|
||||
float3 blendWeights = abs(worldNormal);
|
||||
blendWeights = blendWeights / (blendWeights.x + blendWeights.y + blendWeights.z);
|
||||
|
||||
float3 xSample = tex2D(tex, worldPos.zy * scale + offset).rgb;
|
||||
float3 ySample = tex2D(tex, worldPos.xz * scale + offset).rgb;
|
||||
float3 zSample = tex2D(tex, worldPos.xy * scale + offset).rgb;
|
||||
|
||||
return xSample * blendWeights.x + ySample * blendWeights.y + zSample * blendWeights.z;
|
||||
}
|
||||
|
||||
float3 TriplanarNormal(sampler2D tex, float3 worldPos, float3 worldNormal, float scale, float2 offset)
|
||||
{
|
||||
float3 blendWeights = abs(worldNormal);
|
||||
blendWeights = blendWeights / (blendWeights.x + blendWeights.y + blendWeights.z);
|
||||
|
||||
float3 xNormal = UnpackNormal(tex2D(tex, worldPos.zy * scale + offset));
|
||||
float3 yNormal = UnpackNormal(tex2D(tex, worldPos.xz * scale + offset));
|
||||
float3 zNormal = UnpackNormal(tex2D(tex, worldPos.xy * scale + offset));
|
||||
|
||||
return xNormal * blendWeights.x + yNormal * blendWeights.y + zNormal * blendWeights.z;
|
||||
}
|
||||
|
||||
Varyings vert(Attributes input)
|
||||
{
|
||||
Varyings output;
|
||||
|
||||
VertexPositionInputs positionInputs = GetVertexPositionInputs(input.positionOS.xyz);
|
||||
VertexNormalInputs normalInputs = GetVertexNormalInputs(input.normalOS, input.tangentOS);
|
||||
|
||||
float3 worldPos = positionInputs.positionWS;
|
||||
|
||||
float2 waveDir = normalize(_WaveDirection.xy);
|
||||
float waveDist = dot(worldPos.xz, waveDir);
|
||||
float wavePhase = waveDist * _WaveFrequency - _Time.y * _WaveSpeed;
|
||||
float wave = sin(wavePhase);
|
||||
|
||||
worldPos.y += wave * _WaveHeight;
|
||||
|
||||
output.positionCS = TransformWorldToHClip(worldPos);
|
||||
output.positionWS = worldPos;
|
||||
output.screenPos = ComputeScreenPos(output.positionCS);
|
||||
output.uv = input.uv;
|
||||
output.normalWS = normalInputs.normalWS;
|
||||
output.tangentWS = normalInputs.tangentWS;
|
||||
output.bitangentWS = normalInputs.bitangentWS;
|
||||
output.viewDirWS = GetWorldSpaceViewDir(worldPos);
|
||||
output.waveValue = wave * 0.5 + 0.5;
|
||||
output.vertexColor = input.color;
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
float4 frag(Varyings input) : SV_Target
|
||||
{
|
||||
float3 worldNormal = normalize(input.normalWS);
|
||||
|
||||
float2 timeOffset1 = _Time.y * _TextureSpeed * float2(1, 0.5);
|
||||
float2 timeOffset2 = _Time.y * _TextureSpeed * float2(-0.7, -0.3);
|
||||
|
||||
float3 normalMap1 = TriplanarNormal(_NormalMap, input.positionWS, worldNormal, _NormalScale, timeOffset1);
|
||||
float3 normalMap2 = TriplanarNormal(_NormalMap, input.positionWS, worldNormal, _NormalScale * 1.3, timeOffset2);
|
||||
|
||||
float3 normalTS = normalize(normalMap1 + normalMap2);
|
||||
normalTS.xy *= _NormalStrength;
|
||||
|
||||
float3x3 tangentToWorld = float3x3(input.tangentWS, input.bitangentWS, input.normalWS);
|
||||
float3 normalWS = normalize(mul(normalTS, tangentToWorld));
|
||||
|
||||
float2 screenUV = input.screenPos.xy / input.screenPos.w;
|
||||
|
||||
float existingDepth01 = SampleSceneDepth(screenUV);
|
||||
float existingDepthLinear = LinearEyeDepth(existingDepth01, _ZBufferParams);
|
||||
float surfaceDepthLinear = LinearEyeDepth(input.positionCS.z, _ZBufferParams);
|
||||
float depthDifference = existingDepthLinear - surfaceDepthLinear;
|
||||
|
||||
float waterDepthDifference01 = saturate(depthDifference / _DepthMaxDistance);
|
||||
float3 waterColor = lerp(_ShallowColor.rgb, _DeepColor.rgb, waterDepthDifference01);
|
||||
|
||||
float shoreVisibility = saturate(depthDifference / _ShoreDistance);
|
||||
shoreVisibility = smoothstep(0, _ShoreFade, shoreVisibility);
|
||||
|
||||
// VERTEX COLOR EDGE DETECTION
|
||||
float vertexEdge = input.vertexColor.r;
|
||||
float vertexEdgeFoam = smoothstep(_VertexColorFoamWidth, 0, vertexEdge);
|
||||
|
||||
// Depth-based edge detection (for objects like cylinder)
|
||||
float depthEdge = saturate(depthDifference / _EdgeFoamWidth);
|
||||
depthEdge = 1.0 - depthEdge;
|
||||
depthEdge = pow(depthEdge, 2);
|
||||
|
||||
// Combine both methods
|
||||
float edgeDetection = max(vertexEdgeFoam, depthEdge);
|
||||
|
||||
float wave = pow(input.waveValue, 2);
|
||||
float foamArea = 1.0 - saturate(depthDifference / _FoamDistance);
|
||||
float waveContribution = wave * max(foamArea, vertexEdgeFoam);
|
||||
|
||||
float foamNoise1 = TriplanarSample(_SurfaceNoise, input.positionWS, worldNormal, _SurfaceNoiseScale, timeOffset1).r;
|
||||
float foamNoise2 = TriplanarSample(_SurfaceNoise, input.positionWS, worldNormal, _SurfaceNoiseScale * 1.5, timeOffset2).r;
|
||||
float combinedNoise = foamNoise1 * foamNoise2;
|
||||
|
||||
float foamMask = smoothstep(_SurfaceNoiseCutoff - 0.1, _SurfaceNoiseCutoff + 0.1, combinedNoise);
|
||||
|
||||
float edgeFoam = edgeDetection * foamMask;
|
||||
float waveFoam = waveContribution * foamMask;
|
||||
|
||||
float totalFoam = max(edgeFoam, waveFoam * 0.7) * _FoamIntensity;
|
||||
totalFoam = saturate(totalFoam);
|
||||
|
||||
float3 viewDir = normalize(input.viewDirWS);
|
||||
float fresnel = pow(1.0 - saturate(dot(normalWS, viewDir)), _FresnelPower);
|
||||
|
||||
Light mainLight = GetMainLight();
|
||||
float3 halfVector = normalize(mainLight.direction + viewDir);
|
||||
float specular = pow(saturate(dot(normalWS, halfVector)), _Smoothness * 128.0);
|
||||
|
||||
float3 reflection = fresnel * _ReflectionStrength;
|
||||
|
||||
float3 finalColor = waterColor;
|
||||
finalColor += specular * mainLight.color * 0.5;
|
||||
finalColor = lerp(finalColor, float3(0.7, 0.85, 1), reflection);
|
||||
finalColor = lerp(finalColor, _FoamColor.rgb, totalFoam * 0.9);
|
||||
|
||||
float baseAlpha = lerp(_ShallowColor.a, _DeepColor.a, waterDepthDifference01);
|
||||
float shoreAlpha = lerp(0.8, baseAlpha, shoreVisibility);
|
||||
float finalAlpha = saturate(shoreAlpha + totalFoam * 0.5);
|
||||
|
||||
return float4(finalColor, finalAlpha);
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9fdb6082ddd77d0409ffb438e5471a8c
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,71 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Water
|
||||
m_Shader: {fileID: 4800000, guid: 9fdb6082ddd77d0409ffb438e5471a8c, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords:
|
||||
- _DEBUGDEPTH_ON
|
||||
m_LightmapFlags: 4
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _NormalMap:
|
||||
m_Texture: {fileID: 2800000, guid: 93c0aa606876cb04384552a948f281df, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SurfaceDistortion:
|
||||
m_Texture: {fileID: 2800000, guid: dddb9fd8d06274742916ff92e905ae48, type: 3}
|
||||
m_Scale: {x: 10, y: 10}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _SurfaceNoise:
|
||||
m_Texture: {fileID: 2800000, guid: b6f4fa4253519934f96d918d7c34bc8d, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _DeepAlpha: 0.9
|
||||
- _DepthMaxDistance: 0.5
|
||||
- _EdgeFoamWidth: 0.5
|
||||
- _FoamDistance: 1
|
||||
- _FoamIntensity: 1
|
||||
- _FoamMaxDistance: 1.2
|
||||
- _FoamMinDistance: 0.1
|
||||
- _FresnelPower: 5
|
||||
- _NormalScale: 0.4
|
||||
- _NormalSpeed: 0.1
|
||||
- _NormalStrength: 1
|
||||
- _ReflectionStrength: 1
|
||||
- _ShallowAlpha: 0.5
|
||||
- _ShoreDistance: 1
|
||||
- _ShoreFade: 1
|
||||
- _Smoothness: 0.493
|
||||
- _SurfaceDistortionAmount: 0.257
|
||||
- _SurfaceNoiseCutoff: 0
|
||||
- _SurfaceNoiseScale: 1.7
|
||||
- _TextureSpeed: 0.3
|
||||
- _WaveFrequency: 5
|
||||
- _WaveHeight: 0.1
|
||||
- _WaveSpeed: 1
|
||||
m_Colors:
|
||||
- _DeepColor: {r: 0, g: 0.7264151, b: 0.67566013, a: 0.749}
|
||||
- _FoamColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _NormalTiling: {r: 40, g: 40, b: 0, a: 0}
|
||||
- _ShallowColor: {r: 0.086908154, g: 0.8773585, b: 0.8218133, a: 1}
|
||||
- _WaveDirection: {r: 1, g: 1, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b9823b5bf0301f4581c148b6a2645f4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
@@ -0,0 +1,117 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b6f4fa4253519934f96d918d7c34bc8d
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 256 KiB |
@@ -0,0 +1,117 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 93c0aa606876cb04384552a948f281df
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 0
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 1
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -13,7 +13,7 @@ PlayerSettings:
|
||||
useOnDemandResources: 0
|
||||
accelerometerFrequency: 60
|
||||
companyName: BrewMonster
|
||||
productName: perfect-world-unity
|
||||
productName: "Th\u1EBF Gi\u1EDBi Ho\xE0n H\u1EA3o"
|
||||
defaultCursor: {fileID: 0}
|
||||
cursorHotspot: {x: 0, y: 0}
|
||||
m_SplashScreenBackgroundColor: {r: 0.12156863, g: 0.12156863, b: 0.1254902, a: 1}
|
||||
@@ -70,6 +70,7 @@ PlayerSettings:
|
||||
androidStartInFullscreen: 1
|
||||
androidRenderOutsideSafeArea: 1
|
||||
androidUseSwappy: 1
|
||||
androidDisplayOptions: 1
|
||||
androidBlitType: 0
|
||||
androidResizeableActivity: 1
|
||||
androidDefaultWindowWidth: 1920
|
||||
@@ -141,7 +142,7 @@ PlayerSettings:
|
||||
loadStoreDebugModeEnabled: 0
|
||||
visionOSBundleVersion: 1.0
|
||||
tvOSBundleVersion: 1.0
|
||||
bundleVersion: 1.0
|
||||
bundleVersion: 0.1.3
|
||||
preloadedAssets: []
|
||||
metroInputSource: 0
|
||||
wsaTransparentSwapchain: 0
|
||||
@@ -291,7 +292,14 @@ PlayerSettings:
|
||||
AndroidAppBundleSizeToValidate: 200
|
||||
AndroidReportGooglePlayAppDependencies: 1
|
||||
androidSymbolsSizeThreshold: 800
|
||||
m_BuildTargetIcons: []
|
||||
m_BuildTargetIcons:
|
||||
- m_BuildTarget:
|
||||
m_Icons:
|
||||
- serializedVersion: 2
|
||||
m_Icon: {fileID: 2800000, guid: 868c09cc52a77aa479da9c226c9cbd50, type: 3}
|
||||
m_Width: 128
|
||||
m_Height: 128
|
||||
m_Kind: 0
|
||||
m_BuildTargetPlatformIcons:
|
||||
- m_BuildTarget: iPhone
|
||||
m_Icons:
|
||||
|
||||
@@ -60,4 +60,7 @@ QualitySettings:
|
||||
excludedTargetPlatforms:
|
||||
- Standalone
|
||||
m_TextureMipmapLimitGroupNames: []
|
||||
m_PerPlatformDefaultQuality: {}
|
||||
m_PerPlatformDefaultQuality:
|
||||
Android: 0
|
||||
Standalone: 0
|
||||
iPhone: 0
|
||||
|
||||
Reference in New Issue
Block a user