浏览代码

Some more water shader refinements, warning:requires latest github SRP

/main
Andre McGrail 6 年前
当前提交
6a066278
共有 8 个文件被更改,包括 300 次插入174 次删除
  1. 4
      Assets/WaterSystem/Sea.mat
  2. 6
      Assets/WaterSystem/SeaVisual.prefab
  3. 2
      Assets/WaterSystem/Shaders/Water.shader
  4. 36
      Assets/WaterSystem/Shaders/WaterCommon.hlsl
  5. 4
      Assets/WaterSystem/Shaders/WaterInput.hlsl
  6. 1
      Assets/WaterSystem/Shaders/WaterTessellation.hlsl
  7. 16
      Assets/WaterSystem/Water.cs
  8. 405
      Assets/scenes/Testing/WaterPerf.unity

4
Assets/WaterSystem/Sea.mat


m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _FoamBlend:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _FoamMap:
m_Texture: {fileID: 2800000, guid: ca439406e806ecf44a9586510be9477d, type: 3}
m_Scale: {x: 1, y: 1}

6
Assets/WaterSystem/SeaVisual.prefab


m_Script: {fileID: 11500000, guid: 301a6cf3893eb4e2b9a5de3e341ac44b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_TextureSize: 1024
m_TextureSize: 256
m_ClipPlaneOffset: 0
m_ReflectLayers:
serializedVersion: 2

m_Mode: 0
m_NumColorKeys: 3
m_NumAlphaKeys: 2
_peakRamp: {fileID: 0}
_peakRampRaw:
_foamRamp: {fileID: 0}
_foamRampRaw:
serializedVersion: 2
key0: {r: 1, g: 1, b: 1, a: 1}
key1: {r: 1, g: 1, b: 1, a: 1}

2
Assets/WaterSystem/Shaders/Water.shader


_Perf_Gerstner ("Perf Gerstner Waves", float) = 0
[Toggle(_PERF_FOAM)]
_Perf_Foam ("Perf Foam", float) = 0
//[NoScaleOffset]
//_PeakMap("Peakmap", 2D) = "white" {}
}
SubShader
{

36
Assets/WaterSystem/Shaders/WaterCommon.hlsl


#define _SHADOWS_SOFT
#define _SHADOWS_ENABLED
#include "LWRP/ShaderLibrary/Core.hlsl"
#include "WaterInput.hlsl"
#include "CommonUtilities.hlsl"
#include "GerstnerWaves.cginc"

half4 additionalData : TEXCOORD6; // x = distance to surface, y = distance to surface??
half4 vertColor : TEXCOORD7;
half4 shadowCoord : TEXCOORD8; // for ssshadows
float4 clipPos : SV_POSITION;
};

half3 Scattering(half depth)
{
return _AbsorptionScatteringRamp.Sample(sampler_AbsorptionScatteringRamp, float2(saturate(depth * 0.01), 0.75));
return _AbsorptionScatteringRamp.Sample(sampler_AbsorptionScatteringRamp, half2(saturate(depth * 0.01), 1));
return _AbsorptionScatteringRamp.Sample(sampler_AbsorptionScatteringRamp, float2(saturate(depth * 0.01), 0.25));
return _AbsorptionScatteringRamp.Sample(sampler_AbsorptionScatteringRamp, half2(saturate(depth * 0.01), 0));
}
half2 WaterDepth(half3 posWS, half3 viewDir, half2 texcoords, half4 additionalData, half2 screenUVs)// x = seafloor depth, y = water depth

outDepth.x = LinearEyeDepth(d, _ZBufferParams) * additionalData.x - additionalData.y;
half wd = 1-_WaterDepthMap.Sample(sampler_WaterDepthMap, texcoords).r;
outDepth.y = ((wd * _depthCamZParams.y) - 4 - _depthCamZParams.x) + posWS.y;
//outDepth.y += posWS.y;
return outDepth;
}

//after waves
o.clipPos = TransformWorldToHClip(o.posWS);
o.shadowCoord = ComputeScreenPos(o.clipPos);
o.viewDir = SafeNormalize(_WorldSpaceCameraPos - o.posWS);
// We either sample GI from lightmap or SH. lightmap UV and vertex SH coefficients

half4 WaterFragment(WaterVertexOutput IN) : SV_Target
{
#if defined (_PERF_VERT) // PERF
half2 screenUV = ComputeNormalizedDeviceCoordinates(IN.clipPos);//screen UVs
screenUV /= half2(_ScreenParams.x * 0.5, -_ScreenParams.y * 0.5);// TODO - might be a SRP fix
half4 screenUV = IN.shadowCoord;//screen UVs
screenUV.xyz /= screenUV.w;
half4 waterFX = _WaterFXMap.Sample(sampler_WaterFXMap, float2(screenUV.x, screenUV.y));
half4 waterFX = _WaterFXMap.Sample(sampler_WaterFXMap, screenUV.xy);
#if !_TESSELLATION // additionalData.y needs more acuracy when not tessellated
float3 viewPos = TransformWorldToView(IN.posWS);
#if !_TESSELLATION // additionalData.x needs more acuracy when not tessellated
half3 viewPos = TransformWorldToView(IN.posWS);
IN.additionalData.x = length(viewPos / viewPos.z);// distance to surface
#endif

// Depth
#if defined (_PERF_DEPTH) // PERF
half2 depth = WaterDepth(IN.posWS, IN.viewDir, (IN.posWS.xz * 0.001) + 0.5, IN.additionalData, half2(screenUV.x, screenUV.y));// TODO - hardcoded shore depth UVs
half2 depth = WaterDepth(IN.posWS, IN.viewDir, (IN.posWS.xz * 0.001) + 0.5, IN.additionalData, screenUV.xy);// TODO - hardcoded shore depth UVs
#else
half2 depth = 100;
#endif

#endif
// Shadows
//float4 shadowCoord = ComputeShadowCoord(prePosWS);
half shadow = RealtimeShadowAttenuation(prePosWS); //SampleShadowmap(shadowCoord);
half shadow = SampleShadowmap(ComputeScreenSpaceShadowCoords(IN.posWS));
half3 indirectDiffuse = SampleGI(IN.lightmapUVOrVertexSH, normalWS);
//half3 indirectDiffuse = SampleGI(IN.lightmapUVOrVertexSH, normalWS);
float fogFactor = IN.fogFactorAndVertexLight.x;
// Do specular

half shoreMask = saturate((1-depth.y + 1.25) * 0.35);//shore foam
half foamMask = IN.posWS.y - 0.5;
half3 foamBlend = _FoamBlend.Sample(sampler_FoamBlend, half2(foamMask, 0.5));
half foamA = lerp(0, foamMap.b, saturate(foamMask * 4 - 1));
half foamB = lerp(foamMap.g, foamMap.r, saturate(foamMask * 4 - 3));
half foam = lerp(foamA, foamB, saturate(foamMask * 4 - 2)) * (shadow + 0.5);
half foam = length(foamMap * foamBlend);
#else
half foam = 0;
#endif

#if defined (_PERF_COL) // PERF
color *= Absorption(depth.x);// TODO - absoption
color += Scattering(depth.x);// TODO - scattering
color *= saturate(min(shadow + 0.1, 1-fresnelTerm));
color *= saturate(min(shadow + 0.2, 1-fresnelTerm));
#else
color = 0.5;
#endif

}
else if(_DebugPass == 8) // Temp debug
{
return half4(frac(IN.additionalData.y), 0, 0, 1);
return half4(frac(IN.clipPos.xy), 0, 1);
}
else // fallback to output
{

4
Assets/WaterSystem/Shaders/WaterInput.hlsl


TEXTURE2D(_CameraDepthTexture); SAMPLER(sampler_CameraDepthTexture);
TEXTURE2D(_WaterDepthMap); SAMPLER(sampler_WaterDepthMap);
//TEXTURE2D(_CameraColorTexture); SAMPLER(sampler_CameraColorTexture); // TODO - Grabpass temp replacement
TEXTURE2D(_PeakMap); SAMPLER(sampler_PeakMap);
TEXTURE2D(_FoamBlend); SAMPLER(sampler_FoamBlend);
// Must match Lightweigth ShaderGraph master node
struct SurfaceData

1
Assets/WaterSystem/Shaders/WaterTessellation.hlsl


//o.uv.zw -= wave.position.xz;
o.clipPos = TransformWorldToHClip(o.posWS);
o.shadowCoord = ComputeScreenPos(o.clipPos);
o.viewDir = SafeNormalize(_WorldSpaceCameraPos - o.posWS);
// We either sample GI from lightmap or SH. lightmap UV and vertex SH coefficients

16
Assets/WaterSystem/Water.cs


public Gradient _absorptionRampRaw;
public Gradient _scatterRampRaw;
[SerializeField]
private Texture2D _peakRamp;
public Gradient _peakRampRaw;
private Texture2D _foamRamp;
public Gradient _foamRampRaw;
[SerializeField]
public List<Wave> _waves = new List<Wave>();
[SerializeField]

public void GeneratePeakRamp()
{
_peakRamp = new Texture2D(128, 1, TextureFormat.ARGB32, false, false);
_peakRamp.wrapMode = TextureWrapMode.Clamp;
_foamRamp = new Texture2D(128, 1, TextureFormat.ARGB32, false, false);
_foamRamp.wrapMode = TextureWrapMode.Clamp;
cols[i] = _peakRampRaw.Evaluate((float)i / 128f);
cols[i] = _foamRampRaw.Evaluate((float)i / 128f);
_peakRamp.SetPixels(cols);
_peakRamp.Apply();
Shader.SetGlobalTexture("_PeakMap", _peakRamp);
_foamRamp.SetPixels(cols);
_foamRamp.Apply();
Shader.SetGlobalTexture("_FoamBlend", _foamRamp);
}
GerstnerWaves.WaveStruct tempWave = new GerstnerWaves.WaveStruct();

405
Assets/scenes/Testing/WaterPerf.unity


type: 2}
propertyPath: _colorRamp
value:
objectReference: {fileID: 760964619}
objectReference: {fileID: 1072417441}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _waves.Array.data[0].amplitude

type: 2}
propertyPath: _peakRamp
value:
objectReference: {fileID: 892564098}
objectReference: {fileID: 376470978}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _peakRampRaw.ctime0

- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _peakRampRaw.key1.r
value: 0.17416246
value: 1
value: 0.17416246
value: 1
value: 0.17416246
value: 1
value: 0.37956253
value: 1
value: 0.37956253
value: 1
value: 0.37956253
value: 1
value: 8388
value: 65535
value: 30680
value: 65535
value: 7
value: 2
value: 0.49117646
value: 1
value: 0.49117646
value: 1
value: 0.49117646
value: 1
value: 43550
value: 65535
value: 0.7643311
value: 1
value: 0.7643311
value: 1
value: 0.7643311
value: 1
value: 58789
value: 65535
value: 0.88626397
value: 1
value: 0.88626397
value: 1
value: 0.88626397
value: 1
value: 64769
value: 65535
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}

propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRamp
value:
objectReference: {fileID: 1355209100}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key0.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key0.g
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key0.b
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key1.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key1.g
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key1.b
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key2.r
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key2.g
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key2.b
value: 0.524
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.ctime1
value: 15998
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.ctime2
value: 39707
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.m_NumColorKeys
value: 4
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key3.r
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key3.g
value: 0.727
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.key3.b
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114943683913522278, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: _foamRampRaw.ctime3
value: 65535
objectReference: {fileID: 0}
- target: {fileID: 114084614423911968, guid: 2cac2e60f3f6f2447ad9b550450f60ed,
type: 2}
propertyPath: m_TextureSize
value: 256
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 2cac2e60f3f6f2447ad9b550450f60ed, type: 2}
m_IsPrefabParent: 0

m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 99250043}
--- !u!28 &141216465
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 1
m_CompleteImageSize: 512
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 512
_typelessdata: ff000000ff000008ff000010ff000018ff000021ff000029ff000031ff000039ff000041ff000049ff000052ff00005aff000062ff00006aff000072ff00007aff000083ff00008bff000093ff00009bff0000a3ff0000abff0000b4ff0000bcff0000c4ff0000ccff0000d4ff0000dcff0000e5ff0000edff0000f5ff0000fdff0004fdff000afaff000ff8ff0015f5ff001af3ff0020f0ff0025edff002bebff0030e8ff0036e5ff003be3ff0041e0ff0046deff004cdbff0051d8ff0057d6ff005cd3ff0062d0ff0067ceff006dcbff0072c9ff0078c6ff007dc3ff0083c1ff0088beff008ebbff0093b9ff0099b6ff009eb4ff00a4b1ff00a9aeff00afacff00b4a9ff00baa7ff00bfa4ff00c5a1ff00ca9fff00d09cff00d599ff00db97ff00e094ff00e692ff00eb8fff00f18cff00f68aff00fc87ff02fe84ff07fd82ff0cfc7fff11fa7cff16f97aff1cf777ff21f675ff26f572ff2bf36fff30f26dff35f16aff3aef67ff3fee65ff44ec62ff49eb5fff4eea5dff53e85aff58e757ff5de655ff62e452ff67e34fff6ce14dff71e04aff77df48ff7cdd45ff81dc42ff86db40ff8bd93dff90d83aff95d638ff9ad535ff9fd432ffa4d230ffa9d12dffaecf2affb3ce28ffb8cd25ffbdcb22ffc2ca20ffc7c91dffccc71affd2c618ffd7c415ffdcc313ffe1c210ffe6c00dffebbf0bfff0be08fff5bc05fffabb03
m_StreamData:
offset: 0
size: 0
path:
--- !u!1001 &152547609
Prefab:
m_ObjectHideFlags: 0

m_PrefabParentObject: {fileID: 4036952117179152, guid: b92151ed482ed45ef84412410142f938,
type: 2}
m_PrefabInternal: {fileID: 370194925}
--- !u!28 &376470978
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 1
m_CompleteImageSize: 512
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 512
_typelessdata: ff000000ff030303ff050505ff080808ff0b0b0bff0e0e0eff101010ff131313ff161616ff181818ff1b1b1bff1e1e1eff212121ff232323ff262626ff292929ff2b2b2bff2d2d2dff2e2e2eff303030ff313131ff323232ff333333ff343434ff363636ff373737ff383838ff393939ff3a3a3aff3c3c3cff3d3d3dff3e3e3eff3f3f3fff404040ff424242ff434343ff444444ff454545ff464646ff484848ff494949ff4a4a4aff4b4b4bff4c4c4cff4e4e4eff4f4f4fff505050ff515151ff525252ff545454ff555555ff565656ff575757ff585858ff5a5a5aff5b5b5bff5c5c5cff5d5d5dff5e5e5eff606060ff616161ff626262ff636363ff646464ff656565ff676767ff686868ff696969ff6a6a6aff6b6b6bff6c6c6cff6d6d6dff6e6e6eff707070ff717171ff727272ff737373ff747474ff757575ff767676ff787878ff797979ff7a7a7aff7b7b7bff7c7c7cff7d7d7dff7f7f7fff828282ff848484ff868686ff898989ff8b8b8bff8d8d8dff909090ff929292ff959595ff979797ff999999ff9c9c9cff9e9e9effa0a0a0ffa3a3a3ffa5a5a5ffa7a7a7ffaaaaaaffacacacffaeaeaeffb1b1b1ffb3b3b3ffb5b5b5ffb8b8b8ffbababaffbcbcbcffbfbfbfffc1c1c1ffc3c3c3ffc6c6c6ffc9c9c9ffcbcbcbffcececeffd1d1d1ffd3d3d3ffd6d6d6ffd9d9d9ffdbdbdbffdededeffe1e1e1ffececec
m_StreamData:
offset: 0
size: 0
path:
--- !u!1001 &379255457
Prefab:
m_ObjectHideFlags: 0

m_PrefabParentObject: {fileID: 4036952117179152, guid: b92151ed482ed45ef84412410142f938,
type: 2}
m_PrefabInternal: {fileID: 749028913}
--- !u!28 &760964619
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 2
m_CompleteImageSize: 1024
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 1024
_typelessdata: ff94caa1ff90c39cff8dbd96ff89b691ff86af8cff82a886ff7da686ff78a587ff72a489ff6ca38bff67a38dff61a28eff5ba190ff56a092ff50a094ff4a9f95ff459e97ff3f9e99ff399d9bff359c9cff349b9bff339b9aff329a9aff319999ff2f9898ff2e9898ff2d9797ff2c9697ff2b9596ff2a9495ff289495ff279394ff269294ff259193ff249192ff229092ff218f91ff208e91ff1f8e90ff1e8d8fff1c8c8fff1b8b8eff1a8b8dff198a8dff18898cff17888cff15888bff14878aff13868aff128589ff118489ff0f8488ff0e8387ff0d8287ff0c8186ff0b8186ff098085ff087f84ff077e84ff067e83ff057d82ff047c82ff027b81ff017b81ff007a80ff00797fff00787eff00767eff00757dff00747cff00737bff00727aff00717aff006f79ff006e78ff006d77ff006c76ff006b76ff006a75ff006974ff006773ff006672ff006572ff006471ff006370ff00626fff00616eff005f6eff005e6dff005d6cff005c6bff005b6aff005a6aff005969ff005768ff005667ff005567ff005466ff005365ff005264ff005163ff004f63ff004e62ff004d61ff004c60ff004b5fff004a5fff00495eff00475dff00465cff00455bff00445bff00435aff004259ff004058ff003f57ff003e57ff003d56ff003c55ff003b54ff003a53ff003853ff003752ff003651ff003550ff00344fff00334fff00324eff000000ff010201ff030302ff040503ff060604ff070805ff090906ff0a0b07ff0c0c08ff0d0e09ff0f0f0aff10110bff12130cff13140dff15160eff16170fff181910ff191a10ff1b1c11ff1c1d12ff1e1f13ff1f2014ff212215ff222416ff232517ff252718ff262819ff282a1aff292b1bff2b2d1cff2c2e1dff2e301eff2e311fff2e3220ff2e3221ff2e3322ff2e3423ff2e3424ff2e3525ff2e3626ff2e3727ff2e3728ff2e3829ff2e392aff2e3a2bff2e3a2cff2e3b2eff2e3c2fff2e3d30ff2e3d31ff2e3e32ff2e3f33ff2e4034ff2e4035ff2e4136ff2e4237ff2e4338ff2e4339ff2e443aff2e453bff2e453cff2e463dff2e473eff2e483fff2e4840ff2e4941ff2e4a42ff2e4b43ff2e4b44ff2d4c45ff2d4d46ff2d4e47ff2d4e48ff2d4f49ff2d504aff2d514bff2d514cff2d524dff2d534eff2d544fff2d5451ff2d5552ff2d5653ff2d5654ff2d5755ff2d5856ff2d5957ff2d5958ff2d5a59ff2d5b5aff2d5c5bff2d5c5cff2d5d5dff2d5e5eff2d5f5fff2d5f60ff2d6061ff2d6162ff2d6263ff2d6264ff2d6365ff2d6466ff2d6567ff2d6568ff2d6669ff2d676aff2d676bff2d686cff2d696dff2d6a6eff2d6a6fff2d6b70ff2d6c71ff2d6d72ff2d6d73ff2d6e75ff2d6f76ff2d7077ff2d7078ff2d7179ff2d727aff2d737bff2d737cff2d747dff2d757eff2d767fff2d7680ff2d7781
m_StreamData:
offset: 0
size: 0
path:
--- !u!1 &776596994
GameObject:
m_ObjectHideFlags: 0

m_PrefabParentObject: {fileID: 4036952117179152, guid: b92151ed482ed45ef84412410142f938,
type: 2}
m_PrefabInternal: {fileID: 794072088}
--- !u!28 &803634746
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 2
m_CompleteImageSize: 1024
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 1024
_typelessdata: ff94caa1ff90c39cff8dbd96ff89b691ff86af8cff82a886ff7da686ff78a587ff72a489ff6ca38bff67a38dff61a28eff5ba190ff56a092ff50a094ff4a9f95ff459e97ff3f9e99ff399d9bff359c9cff349b9bff339b9aff329a9aff319999ff2f9898ff2e9898ff2d9797ff2c9697ff2b9596ff2a9495ff289495ff279394ff269294ff259193ff249192ff229092ff218f91ff208e91ff1f8e90ff1e8d8fff1c8c8fff1b8b8eff1a8b8dff198a8dff18898cff17888cff15888bff14878aff13868aff128589ff118489ff0f8488ff0e8387ff0d8287ff0c8186ff0b8186ff098085ff087f84ff077e84ff067e83ff057d82ff047c82ff027b81ff017b81ff007a80ff00797fff00787eff00767eff00757dff00747cff00737bff00727aff00717aff006f79ff006e78ff006d77ff006c76ff006b76ff006a75ff006974ff006773ff006672ff006572ff006471ff006370ff00626fff00616eff005f6eff005e6dff005d6cff005c6bff005b6aff005a6aff005969ff005768ff005667ff005567ff005466ff005365ff005264ff005163ff004f63ff004e62ff004d61ff004c60ff004b5fff004a5fff00495eff00475dff00465cff00455bff00445bff00435aff004259ff004058ff003f57ff003e57ff003d56ff003c55ff003b54ff003a53ff003853ff003752ff003651ff003550ff00344fff00334fff00324eff000000ff010201ff030302ff040503ff060604ff070805ff090906ff0a0b07ff0c0c08ff0d0e09ff0f0f0aff10110bff12130cff13140dff15160eff16170fff181910ff191a10ff1b1c11ff1c1d12ff1e1f13ff1f2014ff212215ff222416ff232517ff252718ff262819ff282a1aff292b1bff2b2d1cff2c2e1dff2e301eff2e311fff2e3220ff2e3221ff2e3322ff2e3423ff2e3424ff2e3525ff2e3626ff2e3727ff2e3728ff2e3829ff2e392aff2e3a2bff2e3a2cff2e3b2eff2e3c2fff2e3d30ff2e3d31ff2e3e32ff2e3f33ff2e4034ff2e4035ff2e4136ff2e4237ff2e4338ff2e4339ff2e443aff2e453bff2e453cff2e463dff2e473eff2e483fff2e4840ff2e4941ff2e4a42ff2e4b43ff2e4b44ff2d4c45ff2d4d46ff2d4e47ff2d4e48ff2d4f49ff2d504aff2d514bff2d514cff2d524dff2d534eff2d544fff2d5451ff2d5552ff2d5653ff2d5654ff2d5755ff2d5856ff2d5957ff2d5958ff2d5a59ff2d5b5aff2d5c5bff2d5c5cff2d5d5dff2d5e5eff2d5f5fff2d5f60ff2d6061ff2d6162ff2d6263ff2d6264ff2d6365ff2d6466ff2d6567ff2d6568ff2d6669ff2d676aff2d676bff2d686cff2d696dff2d6a6eff2d6a6fff2d6b70ff2d6c71ff2d6d72ff2d6d73ff2d6e75ff2d6f76ff2d7077ff2d7078ff2d7179ff2d727aff2d737bff2d737cff2d747dff2d757eff2d767fff2d7680ff2d7781
m_StreamData:
offset: 0
size: 0
path:
--- !u!1 &822528066
GameObject:
m_ObjectHideFlags: 0

m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 892503907}
--- !u!28 &892564098
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 1
m_CompleteImageSize: 512
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 512
_typelessdata: ff000000ff030303ff050505ff080808ff0b0b0bff0e0e0eff101010ff131313ff161616ff181818ff1b1b1bff1e1e1eff212121ff232323ff262626ff292929ff2b2b2bff2d2d2dff2e2e2eff303030ff313131ff323232ff333333ff343434ff363636ff373737ff383838ff393939ff3a3a3aff3c3c3cff3d3d3dff3e3e3eff3f3f3fff404040ff424242ff434343ff444444ff454545ff464646ff484848ff494949ff4a4a4aff4b4b4bff4c4c4cff4e4e4eff4f4f4fff505050ff515151ff525252ff545454ff555555ff565656ff575757ff585858ff5a5a5aff5b5b5bff5c5c5cff5d5d5dff5e5e5eff606060ff616161ff626262ff636363ff646464ff656565ff676767ff686868ff696969ff6a6a6aff6b6b6bff6c6c6cff6d6d6dff6e6e6eff707070ff717171ff727272ff737373ff747474ff757575ff767676ff787878ff797979ff7a7a7aff7b7b7bff7c7c7cff7d7d7dff7f7f7fff828282ff848484ff868686ff898989ff8b8b8bff8d8d8dff909090ff929292ff959595ff979797ff999999ff9c9c9cff9e9e9effa0a0a0ffa3a3a3ffa5a5a5ffa7a7a7ffaaaaaaffacacacffaeaeaeffb1b1b1ffb3b3b3ffb5b5b5ffb8b8b8ffbababaffbcbcbcffbfbfbfffc1c1c1ffc3c3c3ffc6c6c6ffc9c9c9ffcbcbcbffcececeffd1d1d1ffd3d3d3ffd6d6d6ffd9d9d9ffdbdbdbffdededeffe1e1e1ffececec
m_StreamData:
offset: 0
size: 0
path:
--- !u!1001 &896105485
Prefab:
m_ObjectHideFlags: 0

m_PrefabParentObject: {fileID: 4036952117179152, guid: b92151ed482ed45ef84412410142f938,
type: 2}
m_PrefabInternal: {fileID: 1049934471}
--- !u!28 &1072417441
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 2
m_CompleteImageSize: 1024
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 1024
_typelessdata: ff94caa1ff90c39cff8dbd96ff89b691ff86af8cff82a886ff7da686ff78a587ff72a489ff6ca38bff67a38dff61a28eff5ba190ff56a092ff50a094ff4a9f95ff459e97ff3f9e99ff399d9bff359c9cff349b9bff339b9aff329a9aff319999ff2f9898ff2e9898ff2d9797ff2c9697ff2b9596ff2a9495ff289495ff279394ff269294ff259193ff249192ff229092ff218f91ff208e91ff1f8e90ff1e8d8fff1c8c8fff1b8b8eff1a8b8dff198a8dff18898cff17888cff15888bff14878aff13868aff128589ff118489ff0f8488ff0e8387ff0d8287ff0c8186ff0b8186ff098085ff087f84ff077e84ff067e83ff057d82ff047c82ff027b81ff017b81ff007a80ff00797fff00787eff00767eff00757dff00747cff00737bff00727aff00717aff006f79ff006e78ff006d77ff006c76ff006b76ff006a75ff006974ff006773ff006672ff006572ff006471ff006370ff00626fff00616eff005f6eff005e6dff005d6cff005c6bff005b6aff005a6aff005969ff005768ff005667ff005567ff005466ff005365ff005264ff005163ff004f63ff004e62ff004d61ff004c60ff004b5fff004a5fff00495eff00475dff00465cff00455bff00445bff00435aff004259ff004058ff003f57ff003e57ff003d56ff003c55ff003b54ff003a53ff003853ff003752ff003651ff003550ff00344fff00334fff00324eff000000ff010201ff030302ff040503ff060604ff070805ff090906ff0a0b07ff0c0c08ff0d0e09ff0f0f0aff10110bff12130cff13140dff15160eff16170fff181910ff191a10ff1b1c11ff1c1d12ff1e1f13ff1f2014ff212215ff222416ff232517ff252718ff262819ff282a1aff292b1bff2b2d1cff2c2e1dff2e301eff2e311fff2e3220ff2e3221ff2e3322ff2e3423ff2e3424ff2e3525ff2e3626ff2e3727ff2e3728ff2e3829ff2e392aff2e3a2bff2e3a2cff2e3b2eff2e3c2fff2e3d30ff2e3d31ff2e3e32ff2e3f33ff2e4034ff2e4035ff2e4136ff2e4237ff2e4338ff2e4339ff2e443aff2e453bff2e453cff2e463dff2e473eff2e483fff2e4840ff2e4941ff2e4a42ff2e4b43ff2e4b44ff2d4c45ff2d4d46ff2d4e47ff2d4e48ff2d4f49ff2d504aff2d514bff2d514cff2d524dff2d534eff2d544fff2d5451ff2d5552ff2d5653ff2d5654ff2d5755ff2d5856ff2d5957ff2d5958ff2d5a59ff2d5b5aff2d5c5bff2d5c5cff2d5d5dff2d5e5eff2d5f5fff2d5f60ff2d6061ff2d6162ff2d6263ff2d6264ff2d6365ff2d6466ff2d6567ff2d6568ff2d6669ff2d676aff2d676bff2d686cff2d696dff2d6a6eff2d6a6fff2d6b70ff2d6c71ff2d6d72ff2d6d73ff2d6e75ff2d6f76ff2d7077ff2d7078ff2d7179ff2d727aff2d737bff2d737cff2d747dff2d757eff2d767fff2d7680ff2d7781
m_StreamData:
offset: 0
size: 0
path:
--- !u!1001 &1083927029
Prefab:
m_ObjectHideFlags: 0

m_PrefabParentObject: {fileID: 4036952117179152, guid: b92151ed482ed45ef84412410142f938,
type: 2}
m_PrefabInternal: {fileID: 1340804949}
--- !u!28 &1345839174
--- !u!28 &1355209100
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}

m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 2
m_CompleteImageSize: 1024
m_Height: 1
m_CompleteImageSize: 512
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1

m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 1024
_typelessdata: ff94caa1ff90c39cff8dbd96ff89b691ff86af8cff82a886ff7da686ff78a587ff72a489ff6ca38bff67a38dff61a28eff5ba190ff56a092ff50a094ff4a9f95ff459e97ff3f9e99ff399d9bff359c9cff349b9bff339b9aff329a9aff319999ff2f9898ff2e9898ff2d9797ff2c9697ff2b9596ff2a9495ff289495ff279394ff269294ff259193ff249192ff229092ff218f91ff208e91ff1f8e90ff1e8d8fff1c8c8fff1b8b8eff1a8b8dff198a8dff18898cff17888cff15888bff14878aff13868aff128589ff118489ff0f8488ff0e8387ff0d8287ff0c8186ff0b8186ff098085ff087f84ff077e84ff067e83ff057d82ff047c82ff027b81ff017b81ff007a80ff00797fff00787eff00767eff00757dff00747cff00737bff00727aff00717aff006f79ff006e78ff006d77ff006c76ff006b76ff006a75ff006974ff006773ff006672ff006572ff006471ff006370ff00626fff00616eff005f6eff005e6dff005d6cff005c6bff005b6aff005a6aff005969ff005768ff005667ff005567ff005466ff005365ff005264ff005163ff004f63ff004e62ff004d61ff004c60ff004b5fff004a5fff00495eff00475dff00465cff00455bff00445bff00435aff004259ff004058ff003f57ff003e57ff003d56ff003c55ff003b54ff003a53ff003853ff003752ff003651ff003550ff00344fff00334fff00324eff000000ff010201ff030302ff040503ff060604ff070805ff090906ff0a0b07ff0c0c08ff0d0e09ff0f0f0aff10110bff12130cff13140dff15160eff16170fff181910ff191a10ff1b1c11ff1c1d12ff1e1f13ff1f2014ff212215ff222416ff232517ff252718ff262819ff282a1aff292b1bff2b2d1cff2c2e1dff2e301eff2e311fff2e3220ff2e3221ff2e3322ff2e3423ff2e3424ff2e3525ff2e3626ff2e3727ff2e3728ff2e3829ff2e392aff2e3a2bff2e3a2cff2e3b2eff2e3c2fff2e3d30ff2e3d31ff2e3e32ff2e3f33ff2e4034ff2e4035ff2e4136ff2e4237ff2e4338ff2e4339ff2e443aff2e453bff2e453cff2e463dff2e473eff2e483fff2e4840ff2e4941ff2e4a42ff2e4b43ff2e4b44ff2d4c45ff2d4d46ff2d4e47ff2d4e48ff2d4f49ff2d504aff2d514bff2d514cff2d524dff2d534eff2d544fff2d5451ff2d5552ff2d5653ff2d5654ff2d5755ff2d5856ff2d5957ff2d5958ff2d5a59ff2d5b5aff2d5c5bff2d5c5cff2d5d5dff2d5e5eff2d5f5fff2d5f60ff2d6061ff2d6162ff2d6263ff2d6264ff2d6365ff2d6466ff2d6567ff2d6568ff2d6669ff2d676aff2d676bff2d686cff2d696dff2d6a6eff2d6a6fff2d6b70ff2d6c71ff2d6d72ff2d6d73ff2d6e75ff2d6f76ff2d7077ff2d7078ff2d7179ff2d727aff2d737bff2d737cff2d747dff2d757eff2d767fff2d7680ff2d7781
image data: 512
_typelessdata: ff000000ff000008ff000010ff000018ff000021ff000029ff000031ff000039ff000041ff000049ff000052ff00005aff000062ff00006aff000072ff00007aff000083ff00008bff000093ff00009bff0000a3ff0000abff0000b4ff0000bcff0000c4ff0000ccff0000d4ff0000dcff0000e5ff0000edff0000f5ff0000fdff0004fdff000afaff000ff8ff0015f5ff001af3ff0020f0ff0025edff002bebff0030e8ff0036e5ff003be3ff0041e0ff0046deff004cdbff0051d8ff0057d6ff005cd3ff0062d0ff0067ceff006dcbff0072c9ff0078c6ff007dc3ff0083c1ff0088beff008ebbff0093b9ff0099b6ff009eb4ff00a4b1ff00a9aeff00afacff00b4a9ff00baa7ff00bfa4ff00c5a1ff00ca9fff00d09cff00d599ff00db97ff00e094ff00e692ff00eb8fff00f18cff00f68aff00fc87ff02fe84ff07fd82ff0cfc7fff11fa7cff16f97aff1cf777ff21f675ff26f572ff2bf36fff30f26dff35f16aff3aef67ff3fee65ff44ec62ff49eb5fff4eea5dff53e85aff58e757ff5de655ff62e452ff67e34fff6ce14dff71e04aff77df48ff7cdd45ff81dc42ff86db40ff8bd93dff90d83aff95d638ff9ad535ff9fd432ffa4d230ffa9d12dffaecf2affb3ce28ffb8cd25ffbdcb22ffc2ca20ffc7c91dffccc71affd2c618ffd7c415ffdcc313ffe1c210ffe6c00dffebbf0bfff0be08fff5bc05fffabb03
m_StreamData:
offset: 0
size: 0

m_PrefabParentObject: {fileID: 4036952117179152, guid: b92151ed482ed45ef84412410142f938,
type: 2}
m_PrefabInternal: {fileID: 1518474503}
--- !u!28 &1532886125
Texture2D:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 2
m_Width: 128
m_Height: 1
m_CompleteImageSize: 512
m_TextureFormat: 5
m_MipCount: 1
m_IsReadable: 1
m_AlphaIsTransparency: 0
m_ImageCount: 1
m_TextureDimension: 2
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_LightmapFormat: 0
m_ColorSpace: 1
image data: 512
_typelessdata: ff000000ff030303ff050505ff080808ff0b0b0bff0e0e0eff101010ff131313ff161616ff181818ff1b1b1bff1e1e1eff212121ff232323ff262626ff292929ff2b2b2bff2d2d2dff2e2e2eff303030ff313131ff323232ff333333ff343434ff363636ff373737ff383838ff393939ff3a3a3aff3c3c3cff3d3d3dff3e3e3eff3f3f3fff404040ff424242ff434343ff444444ff454545ff464646ff484848ff494949ff4a4a4aff4b4b4bff4c4c4cff4e4e4eff4f4f4fff505050ff515151ff525252ff545454ff555555ff565656ff575757ff585858ff5a5a5aff5b5b5bff5c5c5cff5d5d5dff5e5e5eff606060ff616161ff626262ff636363ff646464ff656565ff676767ff686868ff696969ff6a6a6aff6b6b6bff6c6c6cff6d6d6dff6e6e6eff707070ff717171ff727272ff737373ff747474ff757575ff767676ff787878ff797979ff7a7a7aff7b7b7bff7c7c7cff7d7d7dff7f7f7fff828282ff848484ff868686ff898989ff8b8b8bff8d8d8dff909090ff929292ff959595ff979797ff999999ff9c9c9cff9e9e9effa0a0a0ffa3a3a3ffa5a5a5ffa7a7a7ffaaaaaaffacacacffaeaeaeffb1b1b1ffb3b3b3ffb5b5b5ffb8b8b8ffbababaffbcbcbcffbfbfbfffc1c1c1ffc3c3c3ffc6c6c6ffc9c9c9ffcbcbcbffcececeffd1d1d1ffd3d3d3ffd6d6d6ffd9d9d9ffdbdbdbffdededeffe1e1e1ffececec
m_StreamData:
offset: 0
size: 0
path:
--- !u!1001 &1537226111
Prefab:
m_ObjectHideFlags: 0

正在加载...
取消
保存