feat(ScreenGlitch): 完成基础的故障屏幕闪烁效果,并在重启时启用

This commit is contained in:
2025-10-24 16:08:37 +08:00
parent bfb5072da0
commit 72921fe173
19 changed files with 5666 additions and 213 deletions

8
Assets/Art/Material.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 91b14af01c8720c4d91669a1b25125f4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,142 @@
%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: ScreenGlitchMaterial
m_Shader: {fileID: -6465566751694194690, guid: b5a56b24760eb5540a723af1bef52248,
type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ENUM_GRADIENT
m_InvalidKeywords:
- _ENUM_A
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
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}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
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}
- _ParallaxMap:
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}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _ENUM: 0
- _EnvironmentReflections: 1
- _Frequency: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _IsOpen: 1
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 0
- _Range: 0.53
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Strength: 0.51
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _Speed: {r: 0.5, g: 0.5, b: 0, a: 0}
- _Tiling: {r: 16, g: 16, b: 0, a: 0}
m_BuildTextureStacks: []
--- !u!114 &8600939450997121394
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: 7

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ecd69e121245bfb4dbf62fa570923e7e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,49 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &3963564801859128168
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4221136162904276318}
- component: {fileID: 9080026706464259533}
m_Layer: 0
m_Name: ScreenGlitchManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4221136162904276318
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3963564801859128168}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &9080026706464259533
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3963564801859128168}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 8ded342e0c632c44790b442a0305c440, type: 3}
m_Name:
m_EditorClassIdentifier:
rendererData: {fileID: 11400000, guid: c40be3174f62c4acf8c1216858c64956, type: 2}
featureName: ScreenGlitchFeature
glitchDuration: 1

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: ad835ac5dceb04d439d7480bd8843d31
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -122,6 +122,74 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1001 &472728359
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 3918776012077598679, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_Name
value: GameCountDownManager
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalPosition.x
value: 829.4015
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalPosition.y
value: 383.09033
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalPosition.z
value: 3.2512481
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 9e2e93bf07726014bac5a458c32e697f, type: 3}
--- !u!1001 &6277645971226662819
PrefabInstance:
m_ObjectHideFlags: 0
@@ -264,3 +332,4 @@ SceneRoots:
m_Roots:
- {fileID: 6429745761262824323}
- {fileID: 6277645971226662819}
- {fileID: 472728359}

View File

@@ -385,143 +385,6 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
layer: 0
--- !u!1 &856240147
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 856240150}
- component: {fileID: 856240149}
- component: {fileID: 856240148}
- component: {fileID: 856240151}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &856240148
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 856240147}
m_Enabled: 1
--- !u!20 &856240149
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 856240147}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &856240150
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 856240147}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &856240151
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 856240147}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_AllowHDROutput: 1
m_UseScreenCoordOverride: 0
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
m_TaaSettings:
m_Quality: 3
m_FrameInfluence: 0.1
m_JitterScale: 1
m_MipBias: 0
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
--- !u!1 &1094495085
GameObject:
m_ObjectHideFlags: 0
@@ -1060,6 +923,143 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1558051557}
m_CullTransparentMesh: 1
--- !u!1 &2005838551
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2005838555}
- component: {fileID: 2005838554}
- component: {fileID: 2005838553}
- component: {fileID: 2005838552}
m_Layer: 0
m_Name: Camera
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &2005838552
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2005838551}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_VolumeFrameworkUpdateModeOption: 2
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_AllowXRRendering: 1
m_AllowHDROutput: 1
m_UseScreenCoordOverride: 0
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
m_TaaSettings:
m_Quality: 3
m_FrameInfluence: 0.1
m_JitterScale: 1
m_MipBias: 0
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
--- !u!81 &2005838553
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2005838551}
m_Enabled: 1
--- !u!20 &2005838554
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2005838551}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 2
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 1}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_Iso: 200
m_ShutterSpeed: 0.005
m_Aperture: 16
m_FocusDistance: 10
m_FocalLength: 50
m_BladeCount: 5
m_Curvature: {x: 2, y: 11}
m_BarrelClipping: 0.25
m_Anamorphism: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &2005838555
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2005838551}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 908.49036, y: 371.109, z: 132.00572}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2116337628
GameObject:
m_ObjectHideFlags: 0
@@ -1269,7 +1269,7 @@ MonoBehaviour:
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 856240150}
- {fileID: 2005838555}
- {fileID: 464114341}
- {fileID: 1182808914}
- {fileID: 1444341149}

View File

@@ -402,74 +402,6 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: ddd89e93db279184daa80d86bd4e770f, type: 3}
--- !u!1001 &769057572
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 3918776012077598679, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_Name
value: GameCountDownManager
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalPosition.x
value: 829.4015
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalPosition.y
value: 383.09033
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalPosition.z
value: 3.2512481
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4952453861214115371, guid: 9e2e93bf07726014bac5a458c32e697f,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 9e2e93bf07726014bac5a458c32e697f, type: 3}
--- !u!1001 &865274353
PrefabInstance:
m_ObjectHideFlags: 0
@@ -1064,6 +996,55 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b3e24e2df98d14e4ebc08cc68c071afa, type: 3}
--- !u!1 &1859676917
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1859676919}
- component: {fileID: 1859676918}
m_Layer: 0
m_Name: Global Volume
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1859676918
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1859676917}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IsGlobal: 1
priority: 0
blendDistance: 0
weight: 1
sharedProfile: {fileID: 0}
--- !u!4 &1859676919
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1859676917}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 908.49036, y: 371.109, z: 132.00572}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1948851238
PrefabInstance:
m_ObjectHideFlags: 0
@@ -2075,6 +2056,11 @@ PrefabInstance:
propertyPath: m_Name
value: Player
objectReference: {fileID: 0}
- target: {fileID: 3748514579879403869, guid: 667aedb0d3f8c9d469819c9ff2b4472b,
type: 3}
propertyPath: m_RendererIndex
value: -1
objectReference: {fileID: 0}
- target: {fileID: 7437893023972897012, guid: 667aedb0d3f8c9d469819c9ff2b4472b,
type: 3}
propertyPath: m_LocalPosition.x
@@ -2213,6 +2199,74 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: e6007da0e1121fd4ab3b932c054f6256, type: 3}
--- !u!1001 &7495445272264823913
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 3963564801859128168, guid: ad835ac5dceb04d439d7480bd8843d31,
type: 3}
propertyPath: m_Name
value: ScreenGlitchManager
objectReference: {fileID: 0}
- target: {fileID: 4221136162904276318, guid: ad835ac5dceb04d439d7480bd8843d31,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4221136162904276318, guid: ad835ac5dceb04d439d7480bd8843d31,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4221136162904276318, guid: ad835ac5dceb04d439d7480bd8843d31,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4221136162904276318, guid: ad835ac5dceb04d439d7480bd8843d31,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4221136162904276318, guid: ad835ac5dceb04d439d7480bd8843d31,
type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4221136162904276318, guid: ad835ac5dceb04d439d7480bd8843d31,
type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4221136162904276318, guid: ad835ac5dceb04d439d7480bd8843d31,
type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 4221136162904276318, guid: ad835ac5dceb04d439d7480bd8843d31,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4221136162904276318, guid: ad835ac5dceb04d439d7480bd8843d31,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4221136162904276318, guid: ad835ac5dceb04d439d7480bd8843d31,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: ad835ac5dceb04d439d7480bd8843d31, type: 3}
--- !u!1001 &7779342506646282638
PrefabInstance:
m_ObjectHideFlags: 0
@@ -2368,8 +2422,9 @@ SceneRoots:
- {fileID: 31717449}
- {fileID: 1532480746}
- {fileID: 1279118200}
- {fileID: 769057572}
- {fileID: 7233731901126413131}
- {fileID: 7495445272264823913}
- {fileID: 1859676919}
- {fileID: 410087041}
- {fileID: 1274249804}
- {fileID: 7020889523296792185}

View File

@@ -893,6 +893,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1aa400ea9061498897f3c03b0336cfda, type: 3}
m_Name:
m_EditorClassIdentifier:
IsOpenOnFirstLoad: 1
countdownText: {fileID: 1349586410}
--- !u!114 &1349586410
MonoBehaviour:

View File

@@ -5,7 +5,8 @@
"GUID:fd0e97c21c15497f9406b8ee23c1f67e",
"GUID:75469ad4d38634e559750d17036d5f7c",
"GUID:f51ebe6a0ceec4240a699833d6309b23",
"GUID:6055be8ebefd69e48b49212b09b47b2f"
"GUID:6055be8ebefd69e48b49212b09b47b2f",
"GUID:15fc0a57446b3144c949da3e2b9737a9"
],
"includePlatforms": [],
"excludePlatforms": [],

View File

@@ -1,4 +1,5 @@
using System;
using System.Collections;
using Core;
using Script.Gameplay.Input;
using UnityEngine;
@@ -24,13 +25,16 @@ namespace Script.Gameplay.Global
GameCountdownManager.Instance.StartLevelTimer();
GameCountdownManager.Instance.OnFinish.AddListener(() =>
{
if (IsOpenRestartGameOnCountdownFinish) RestartGame();
if (IsOpenRestartGameOnCountdownFinish)
StartCoroutine(RestartGame());
}
);
}
public void RestartGame()
public IEnumerator RestartGame()
{
StartCoroutine(ScreenGlitchManager.Instance.TriggerGlitchEffect());
yield return new WaitForSeconds(1.0f);
GameManager.Instance.ReStartGame();
}
}

View File

@@ -0,0 +1,49 @@
using System;
using System.Collections;
using Core;
using Cysharp.Threading.Tasks;
using Script.Gameplay.Input;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
namespace Script.Gameplay.Global
{
public class ScreenGlitchManager : MonoSingleton<ScreenGlitchManager>
{
[Tooltip("在 Project 中拖入 UniversalRendererData 资源")]
public UniversalRendererData rendererData;
[Tooltip("要控制的 RendererFeature 名称")] public string featureName = "ScreenGlitchFeature";
[SerializeField] private float glitchDuration = 1f;
public void SetFeatureActive(bool active)
{
if (rendererData == null)
{
Debug.LogError("rendererData 未赋值");
return;
}
foreach (var feature in rendererData.rendererFeatures)
{
if (feature != null && feature.name == featureName)
{
feature.SetActive(active);
Debug.Log($"{featureName} 已{(active ? "" : "")}");
return;
}
}
Debug.LogWarning($"未找到名为 {featureName} 的 RendererFeature");
}
// 使用协程,开启一段时间的故障效果,然后自动关闭
public IEnumerator TriggerGlitchEffect()
{
SetFeatureActive(true);
yield return new WaitForSeconds(glitchDuration);
SetFeatureActive(false);
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8ded342e0c632c44790b442a0305c440
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -41,7 +41,7 @@ namespace Script.Gameplay.Player
private void Start()
{
OnDeath += GameFlowManager.Instance.RestartGame;
OnDeath += () => StartCoroutine(GameFlowManager.Instance.RestartGame());
}
public void TakeDamage(int damage)

View File

@@ -1,4 +1,5 @@
using System;
using Core;
using UnityEngine;
using UnityEngine.UI;
using Script.Gameplay.Global;
@@ -6,7 +7,7 @@ using TMPro;
namespace UI
{
public class GameCountDownViewer : MonoBehaviour
public class GameCountDownViewer : UIBase
{
public TMP_Text countdownText;
private GameCountdownManager _countdownManager;

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2748a161d151d2a48825a694346cad26
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: b5a56b24760eb5540a723af1bef52248
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3}

View File

@@ -1,5 +1,25 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-3191206280106483194
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: 6d613f08f173d4dd895bb07b3230baa9, type: 3}
m_Name: ScreenGlitchFeature
m_EditorClassIdentifier:
m_Active: 0
injectionPoint: 600
fetchColorBuffer: 1
requirements: 4
passMaterial: {fileID: 2100000, guid: ecd69e121245bfb4dbf62fa570923e7e, type: 2}
passIndex: 0
bindDepthStencilAttachment: 0
m_Version: 1
--- !u!114 &-1878332245247344467
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -53,7 +73,8 @@ MonoBehaviour:
hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
m_RendererFeatures:
- {fileID: -1878332245247344467}
m_RendererFeatureMap: adc0de57c6d2eee5
- {fileID: -3191206280106483194}
m_RendererFeatureMap: adc0de57c6d2eee506e241c5cb8eb6d3
m_UseNativeRenderPass: 0
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}