From 3fcefae065972b13971f0d85676306a716c22e8b Mon Sep 17 00:00:00 2001 From: bottlefish <781230111@qq.com> Date: Mon, 2 Sep 2024 22:12:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A4=AA=E8=89=B2=EF=BC=8C?= =?UTF-8?q?=E9=9C=87=E5=8A=A8=E7=AD=89=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 处理各种屏幕效果 --- Assets/Prototype/佩佩/佩佩视觉模块.unity | 228 +++++++++- .../佩佩/佩佩视觉模块/Eye Profile.asset | 44 ++ .../佩佩/佩佩视觉模块/Eye Profile.asset.meta | 8 + Assets/Resources/Yarn/ScreenEffect.meta | 8 + .../ScreenEffect/ScreenEffect.yarnproject | 12 + .../ScreenEffect.yarnproject.meta | 13 + .../Yarn/ScreenEffect/ScreenEffect1.yarn | 32 ++ .../Yarn/ScreenEffect/ScreenEffect1.yarn.meta | 10 + Assets/Scenes/Persistence.meta | 8 + Assets/Scenes/Persistence.unity | 4 +- .../Persistence/Global Volume Profile.asset | 400 ++++++++++++++++++ .../Global Volume Profile.asset.meta | 8 + .../FixSystem/Effect/ScreenEffectManager.cs | 69 ++- ProjectSettings/TagManager.asset | 4 +- 14 files changed, 821 insertions(+), 27 deletions(-) create mode 100644 Assets/Prototype/佩佩/佩佩视觉模块/Eye Profile.asset create mode 100644 Assets/Prototype/佩佩/佩佩视觉模块/Eye Profile.asset.meta create mode 100644 Assets/Resources/Yarn/ScreenEffect.meta create mode 100644 Assets/Resources/Yarn/ScreenEffect/ScreenEffect.yarnproject create mode 100644 Assets/Resources/Yarn/ScreenEffect/ScreenEffect.yarnproject.meta create mode 100644 Assets/Resources/Yarn/ScreenEffect/ScreenEffect1.yarn create mode 100644 Assets/Resources/Yarn/ScreenEffect/ScreenEffect1.yarn.meta create mode 100644 Assets/Scenes/Persistence.meta create mode 100644 Assets/Scenes/Persistence/Global Volume Profile.asset create mode 100644 Assets/Scenes/Persistence/Global Volume Profile.asset.meta diff --git a/Assets/Prototype/佩佩/佩佩视觉模块.unity b/Assets/Prototype/佩佩/佩佩视觉模块.unity index 1c7f6ba65..cd8b121f3 100644 --- a/Assets/Prototype/佩佩/佩佩视觉模块.unity +++ b/Assets/Prototype/佩佩/佩佩视觉模块.unity @@ -2174,10 +2174,10 @@ MonoBehaviour: m_RendererIndex: -1 m_VolumeLayerMask: serializedVersion: 2 - m_Bits: 1 + m_Bits: 128 m_VolumeTrigger: {fileID: 0} m_VolumeFrameworkUpdateModeOption: 2 - m_RenderPostProcessing: 0 + m_RenderPostProcessing: 1 m_Antialiasing: 0 m_AntialiasingQuality: 2 m_StopNaN: 0 @@ -7306,6 +7306,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 783911287} + - {fileID: 1613208941} - {fileID: 1649538715} - {fileID: 180053801} - {fileID: 1349190325} @@ -12198,6 +12199,55 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 22443772, guid: fe9bfb5044c0cc646baba1ad7d354100, type: 3} m_PrefabInstance: {fileID: 996104068} m_PrefabAsset: {fileID: 0} +--- !u!1 &1015707783 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1015707784} + - component: {fileID: 1015707785} + m_Layer: 7 + m_Name: Eye + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1015707784 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1015707783} + 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: 1450136610} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1015707785 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1015707783} + 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: 11400000, guid: ad0f3efe82f2af84bb755dca3a016309, type: 2} --- !u!1 &1036987161 GameObject: m_ObjectHideFlags: 0 @@ -18480,6 +18530,55 @@ MonoBehaviour: m_OnValueChanged: m_PersistentCalls: m_Calls: [] +--- !u!1 &1450136609 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1450136610} + - component: {fileID: 1450136611} + m_Layer: 0 + m_Name: ScreenEffect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1450136610 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1450136609} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1825866675} + - {fileID: 1015707784} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1450136611 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1450136609} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ca4bf19c2266a604d87f4050b78b7d05, type: 3} + m_Name: + m_EditorClassIdentifier: + blackoutPanel: {fileID: 783911289} + redFlashPanel: {fileID: 1613208939} + saturation: {fileID: 1825866676} --- !u!1 &1451543706 GameObject: m_ObjectHideFlags: 0 @@ -19618,6 +19717,81 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1611855636} m_CullTransparentMesh: 1 +--- !u!1 &1613208938 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1613208941} + - component: {fileID: 1613208940} + - component: {fileID: 1613208939} + m_Layer: 5 + m_Name: Redpanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1613208939 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613208938} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 0, b: 0, a: 0} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1613208940 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613208938} + m_CullTransparentMesh: 1 +--- !u!224 &1613208941 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1613208938} + 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: 594466392} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1614854968 GameObject: m_ObjectHideFlags: 0 @@ -23403,6 +23577,55 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1816976207} m_CullTransparentMesh: 1 +--- !u!1 &1825866674 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1825866675} + - component: {fileID: 1825866676} + m_Layer: 6 + m_Name: NoColor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1825866675 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1825866674} + 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: 1450136610} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1825866676 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1825866674} + 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: 11400000, guid: 08e9088a964a64345b7ab8b06ae055ad, type: 2} --- !u!1 &1838403775 GameObject: m_ObjectHideFlags: 0 @@ -28556,3 +28779,4 @@ SceneRoots: - {fileID: 886733272} - {fileID: 1654679524} - {fileID: 1278583898} + - {fileID: 1450136610} diff --git a/Assets/Prototype/佩佩/佩佩视觉模块/Eye Profile.asset b/Assets/Prototype/佩佩/佩佩视觉模块/Eye Profile.asset new file mode 100644 index 000000000..d5ef3665b --- /dev/null +++ b/Assets/Prototype/佩佩/佩佩视觉模块/Eye Profile.asset @@ -0,0 +1,44 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-8943642860849902053 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 899c54efeace73346a0a16faa3afe726, type: 3} + m_Name: Vignette + m_EditorClassIdentifier: + active: 1 + color: + m_OverrideState: 0 + m_Value: {r: 0, g: 0, b: 0, a: 1} + center: + m_OverrideState: 0 + m_Value: {x: 0.5, y: 0.5} + intensity: + m_OverrideState: 1 + m_Value: 0.613 + smoothness: + m_OverrideState: 0 + m_Value: 0.2 + rounded: + m_OverrideState: 1 + m_Value: 0 +--- !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: d7fd9488000d3734a9e00ee676215985, type: 3} + m_Name: Eye Profile + m_EditorClassIdentifier: + components: + - {fileID: -8943642860849902053} diff --git a/Assets/Prototype/佩佩/佩佩视觉模块/Eye Profile.asset.meta b/Assets/Prototype/佩佩/佩佩视觉模块/Eye Profile.asset.meta new file mode 100644 index 000000000..84d8c46ce --- /dev/null +++ b/Assets/Prototype/佩佩/佩佩视觉模块/Eye Profile.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ad0f3efe82f2af84bb755dca3a016309 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Yarn/ScreenEffect.meta b/Assets/Resources/Yarn/ScreenEffect.meta new file mode 100644 index 000000000..39887f331 --- /dev/null +++ b/Assets/Resources/Yarn/ScreenEffect.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 242f5c3c30c7fe54e836685cc86d7dcc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Yarn/ScreenEffect/ScreenEffect.yarnproject b/Assets/Resources/Yarn/ScreenEffect/ScreenEffect.yarnproject new file mode 100644 index 000000000..016b7ab29 --- /dev/null +++ b/Assets/Resources/Yarn/ScreenEffect/ScreenEffect.yarnproject @@ -0,0 +1,12 @@ +{ + "projectFileVersion": 2, + "sourceFiles": [ + "*.yarn" + ], + "excludeFiles": [ + "**/*~/*" + ], + "localisation": {}, + "baseLanguage": "zh-CHS", + "compilerOptions": {} +} \ No newline at end of file diff --git a/Assets/Resources/Yarn/ScreenEffect/ScreenEffect.yarnproject.meta b/Assets/Resources/Yarn/ScreenEffect/ScreenEffect.yarnproject.meta new file mode 100644 index 000000000..d26301794 --- /dev/null +++ b/Assets/Resources/Yarn/ScreenEffect/ScreenEffect.yarnproject.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: df968fdf85926494d9ca524520cd698a +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 053561912b1654d80a424bb0696a74ae, type: 3} + useAddressableAssets: 0 + UseUnityLocalisationSystem: 0 + unityLocalisationStringTableCollection: {instanceID: 0} diff --git a/Assets/Resources/Yarn/ScreenEffect/ScreenEffect1.yarn b/Assets/Resources/Yarn/ScreenEffect/ScreenEffect1.yarn new file mode 100644 index 000000000..66b049918 --- /dev/null +++ b/Assets/Resources/Yarn/ScreenEffect/ScreenEffect1.yarn @@ -0,0 +1,32 @@ +title: Start +tags: +--- +<> +<> +<> +=== + +title: ScreenEffect +tags: +--- +->设置无色 + <>//-100没眼色,0是正常,最后一个是过渡时间 + <> + <> +->设置有色 + <> + <> + <> +->黑屏过渡 + <> + <> + <> +->震动屏幕 + <> + <> + <> +->闪红 + <> + <> + <> +=== diff --git a/Assets/Resources/Yarn/ScreenEffect/ScreenEffect1.yarn.meta b/Assets/Resources/Yarn/ScreenEffect/ScreenEffect1.yarn.meta new file mode 100644 index 000000000..6d81aef48 --- /dev/null +++ b/Assets/Resources/Yarn/ScreenEffect/ScreenEffect1.yarn.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: cde37dc519091ba4997991aad1c5f041 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 94073015eacc34c1d8fc6786e43d60ca, type: 3} diff --git a/Assets/Scenes/Persistence.meta b/Assets/Scenes/Persistence.meta new file mode 100644 index 000000000..6811594d1 --- /dev/null +++ b/Assets/Scenes/Persistence.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5da670df45d8e724c8eef0e6eb118bdc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Persistence.unity b/Assets/Scenes/Persistence.unity index 8363549eb..ab735c89a 100644 --- a/Assets/Scenes/Persistence.unity +++ b/Assets/Scenes/Persistence.unity @@ -554,10 +554,10 @@ MonoBehaviour: m_RendererIndex: -1 m_VolumeLayerMask: serializedVersion: 2 - m_Bits: 1 + m_Bits: 64 m_VolumeTrigger: {fileID: 0} m_VolumeFrameworkUpdateModeOption: 2 - m_RenderPostProcessing: 0 + m_RenderPostProcessing: 1 m_Antialiasing: 0 m_AntialiasingQuality: 2 m_StopNaN: 0 diff --git a/Assets/Scenes/Persistence/Global Volume Profile.asset b/Assets/Scenes/Persistence/Global Volume Profile.asset new file mode 100644 index 000000000..69dd26235 --- /dev/null +++ b/Assets/Scenes/Persistence/Global Volume Profile.asset @@ -0,0 +1,400 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7709838858056538527 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 558a8e2b6826cf840aae193990ba9f2e, type: 3} + m_Name: ShadowsMidtonesHighlights + m_EditorClassIdentifier: + active: 0 + shadows: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + midtones: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + highlights: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + shadowsStart: + m_OverrideState: 0 + m_Value: 0 + shadowsEnd: + m_OverrideState: 0 + m_Value: 0.3 + highlightsStart: + m_OverrideState: 0 + m_Value: 0.55 + highlightsEnd: + m_OverrideState: 0 + m_Value: 1 +--- !u!114 &-5758452385109124482 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 0b2db86121404754db890f4c8dfe81b2, type: 3} + m_Name: Bloom + m_EditorClassIdentifier: + active: 0 + skipIterations: + m_OverrideState: 0 + m_Value: 1 + threshold: + m_OverrideState: 1 + m_Value: 0.9 + intensity: + m_OverrideState: 1 + m_Value: 0 + scatter: + m_OverrideState: 0 + m_Value: 0.7 + clamp: + m_OverrideState: 0 + m_Value: 65472 + tint: + m_OverrideState: 0 + m_Value: {r: 1, g: 1, b: 1, a: 1} + highQualityFiltering: + m_OverrideState: 0 + m_Value: 0 + downscale: + m_OverrideState: 0 + m_Value: 0 + maxIterations: + m_OverrideState: 0 + m_Value: 6 + dirtTexture: + m_OverrideState: 0 + m_Value: {fileID: 0} + dimension: 1 + dirtIntensity: + m_OverrideState: 0 + m_Value: 0 +--- !u!114 &-3166863134954808570 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: c5e1dc532bcb41949b58bc4f2abfbb7e, type: 3} + m_Name: LensDistortion + m_EditorClassIdentifier: + active: 0 + intensity: + m_OverrideState: 1 + m_Value: -0.415 + xMultiplier: + m_OverrideState: 1 + m_Value: 1 + yMultiplier: + m_OverrideState: 1 + m_Value: 1 + center: + m_OverrideState: 1 + m_Value: {x: 0.5, y: 0.5} + scale: + m_OverrideState: 1 + m_Value: 1 +--- !u!114 &-2969637542320348439 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 899c54efeace73346a0a16faa3afe726, type: 3} + m_Name: Vignette + m_EditorClassIdentifier: + active: 0 + color: + m_OverrideState: 0 + m_Value: {r: 0, g: 0, b: 0, a: 1} + center: + m_OverrideState: 0 + m_Value: {x: 0.5, y: 0.5} + intensity: + m_OverrideState: 1 + m_Value: 0.609 + smoothness: + m_OverrideState: 0 + m_Value: 0.2 + rounded: + m_OverrideState: 0 + m_Value: 0 +--- !u!114 &-73754926035993079 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 97c23e3b12dc18c42a140437e53d3951, type: 3} + m_Name: Tonemapping + m_EditorClassIdentifier: + active: 0 + mode: + m_OverrideState: 0 + m_Value: 2 + neutralHDRRangeReductionMode: + m_OverrideState: 0 + m_Value: 2 + acesPreset: + m_OverrideState: 0 + m_Value: 3 + hueShiftAmount: + m_OverrideState: 0 + m_Value: 0 + detectPaperWhite: + m_OverrideState: 0 + m_Value: 0 + paperWhite: + m_OverrideState: 0 + m_Value: 300 + detectBrightnessLimits: + m_OverrideState: 0 + m_Value: 1 + minNits: + m_OverrideState: 0 + m_Value: 0.005 + maxNits: + m_OverrideState: 0 + m_Value: 1000 +--- !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: d7fd9488000d3734a9e00ee676215985, type: 3} + m_Name: Global Volume Profile + m_EditorClassIdentifier: + components: + - {fileID: 2074001327344466869} + - {fileID: -5758452385109124482} + - {fileID: 5505720727534233259} + - {fileID: 8339047201095164072} + - {fileID: 6834703600254184527} + - {fileID: 1124031199169923345} + - {fileID: -7709838858056538527} + - {fileID: 3166733463912102505} + - {fileID: -73754926035993079} + - {fileID: 6306468544827063275} + - {fileID: -3166863134954808570} + - {fileID: -2969637542320348439} +--- !u!114 &1124031199169923345 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 29fa0085f50d5e54f8144f766051a691, type: 3} + m_Name: FilmGrain + m_EditorClassIdentifier: + active: 0 + type: + m_OverrideState: 1 + m_Value: 8 + intensity: + m_OverrideState: 1 + m_Value: 0 + response: + m_OverrideState: 1 + m_Value: 0.8 + texture: + m_OverrideState: 0 + m_Value: {fileID: 0} +--- !u!114 &2074001327344466869 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 66f335fb1ffd8684294ad653bf1c7564, type: 3} + m_Name: ColorAdjustments + m_EditorClassIdentifier: + active: 1 + postExposure: + m_OverrideState: 0 + m_Value: 0 + contrast: + m_OverrideState: 0 + m_Value: 0 + colorFilter: + m_OverrideState: 0 + m_Value: {r: 1, g: 1, b: 1, a: 1} + hueShift: + m_OverrideState: 0 + m_Value: 0 + saturation: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &3166733463912102505 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: c01700fd266d6914ababb731e09af2eb, type: 3} + m_Name: DepthOfField + m_EditorClassIdentifier: + active: 0 + mode: + m_OverrideState: 1 + m_Value: 1 + gaussianStart: + m_OverrideState: 0 + m_Value: 10 + gaussianEnd: + m_OverrideState: 0 + m_Value: 30 + gaussianMaxRadius: + m_OverrideState: 0 + m_Value: 1 + highQualitySampling: + m_OverrideState: 0 + m_Value: 0 + focusDistance: + m_OverrideState: 0 + m_Value: 10 + aperture: + m_OverrideState: 0 + m_Value: 5.6 + focalLength: + m_OverrideState: 0 + m_Value: 50 + bladeCount: + m_OverrideState: 0 + m_Value: 5 + bladeCurvature: + m_OverrideState: 0 + m_Value: 1 + bladeRotation: + m_OverrideState: 0 + m_Value: 0 +--- !u!114 &5505720727534233259 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 81180773991d8724ab7f2d216912b564, type: 3} + m_Name: ChromaticAberration + m_EditorClassIdentifier: + active: 0 + intensity: + m_OverrideState: 1 + m_Value: 0 +--- !u!114 &6306468544827063275 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: fb60a22f311433c4c962b888d1393f88, type: 3} + m_Name: PaniniProjection + m_EditorClassIdentifier: + active: 0 + distance: + m_OverrideState: 1 + m_Value: 0 + cropToFit: + m_OverrideState: 1 + m_Value: 0.139 +--- !u!114 &6834703600254184527 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: 5485954d14dfb9a4c8ead8edb0ded5b1, type: 3} + m_Name: LiftGammaGain + m_EditorClassIdentifier: + active: 0 + lift: + m_OverrideState: 1 + m_Value: {x: 1, y: 1, z: 1, w: 0} + gamma: + m_OverrideState: 0 + m_Value: {x: 1, y: 1, z: 1, w: 0} + gain: + m_OverrideState: 0 + m_Value: {x: 1, y: 1, z: 1, w: 0} +--- !u!114 &8339047201095164072 +MonoBehaviour: + m_ObjectHideFlags: 3 + 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: cdfbdbb87d3286943a057f7791b43141, type: 3} + m_Name: ChannelMixer + m_EditorClassIdentifier: + active: 0 + redOutRedIn: + m_OverrideState: 1 + m_Value: -200 + redOutGreenIn: + m_OverrideState: 1 + m_Value: -200 + redOutBlueIn: + m_OverrideState: 1 + m_Value: -200 + greenOutRedIn: + m_OverrideState: 0 + m_Value: 0 + greenOutGreenIn: + m_OverrideState: 0 + m_Value: 100 + greenOutBlueIn: + m_OverrideState: 0 + m_Value: 0 + blueOutRedIn: + m_OverrideState: 0 + m_Value: 0 + blueOutGreenIn: + m_OverrideState: 0 + m_Value: 0 + blueOutBlueIn: + m_OverrideState: 0 + m_Value: 100 diff --git a/Assets/Scenes/Persistence/Global Volume Profile.asset.meta b/Assets/Scenes/Persistence/Global Volume Profile.asset.meta new file mode 100644 index 000000000..147b9d18e --- /dev/null +++ b/Assets/Scenes/Persistence/Global Volume Profile.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 08e9088a964a64345b7ab8b06ae055ad +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/FixSystem/Effect/ScreenEffectManager.cs b/Assets/Scripts/FixSystem/Effect/ScreenEffectManager.cs index 7396ccf61..1425cffcd 100644 --- a/Assets/Scripts/FixSystem/Effect/ScreenEffectManager.cs +++ b/Assets/Scripts/FixSystem/Effect/ScreenEffectManager.cs @@ -2,15 +2,22 @@ using UnityEngine; using UnityEngine.UI; using DG.Tweening; using Yarn.Unity; +using UnityEngine.Rendering; +using UnityEngine.Rendering.Universal; +using System.Collections; public class ScreenEffectManager : MonoBehaviour { public static ScreenEffectManager Instance { get; private set; } public Image blackoutPanel; // 黑屏面板 - public Image redFlashPanel; // 红色闪烁面板 - public float shakeDuration = 1.0f; // 震屏持续时间 - public float shakeIntensity = 0.1f; // 震屏强度 + public Image redFlashPanel; // 红色闪烁面板 + private float shakeDuration = 0.5f; // 震屏持续时间 + private float shakeIntensity = 0.04f; // 震屏强度 + + public Volume saturation; + + private ColorAdjustments colorAdjustments; private Vector3 originalCameraPosition; @@ -32,41 +39,61 @@ public class ScreenEffectManager : MonoBehaviour { // 保存初始相机位置 originalCameraPosition = Camera.main.transform.localPosition; + // 获取 ColorAdjustments 设置 + if (saturation.profile.TryGet(out colorAdjustments)) + { + Debug.Log("ColorAdjustments is available."); + } + else + { + Debug.LogError("ColorAdjustments settings not found in PostProcessProfile."); + } } // 震屏效果 [YarnCommand("shakeScreen")] - public void ShakeScreen() + public IEnumerator ShakeScreen() { - Camera.main.transform.DOPunchPosition(Vector3.one * shakeIntensity, shakeDuration, 10, 1); + yield return Camera.main.transform.DOPunchPosition(new Vector3(1, 0, 0) * shakeIntensity, shakeDuration, 8, 1f).WaitForCompletion(); } // 黑屏淡入淡出效果 [YarnCommand("fadeIn")] - public void FadeBlackout(bool enable, float duration) + public IEnumerator FadeIn(float waitTime, float duration) { - if (enable) + blackoutPanel.gameObject.SetActive(true); + Sequence fadeInSequence = DOTween.Sequence(); + fadeInSequence.Append(blackoutPanel.DOFade(1f, duration)); + fadeInSequence.AppendInterval(waitTime); + fadeInSequence.Append(blackoutPanel.DOFade(0f, duration).OnComplete(() => { - blackoutPanel.gameObject.SetActive(true); - blackoutPanel.DOFade(1, duration).OnComplete(() => blackoutPanel.gameObject.SetActive(true)); - } - else - { - blackoutPanel.DOFade(0, duration).OnComplete(() => blackoutPanel.gameObject.SetActive(false)); - } + blackoutPanel.gameObject.SetActive(false); + })); + yield return fadeInSequence.WaitForCompletion(); } // 红色闪烁效果 [YarnCommand("flashRed")] - public void FlashRed(float duration) + public IEnumerator FlashRed(float duration) { redFlashPanel.gameObject.SetActive(true); - redFlashPanel.DOFade(1, duration / 2).OnComplete(() => + yield return redFlashPanel.DOFade(1, duration / 2).WaitForCompletion(); + yield return redFlashPanel.DOFade(0, duration / 2).OnComplete(() => { - redFlashPanel.DOFade(0, duration / 2).OnComplete(() => - { - redFlashPanel.gameObject.SetActive(false); - }); - }); + redFlashPanel.gameObject.SetActive(false); + }).WaitForCompletion(); + } + + // 动态调整饱和度 + [YarnCommand("Set_Saturation")] + public IEnumerator TweenSaturation(float targetSaturation, float duration) + { + if (colorAdjustments != null) + { + yield return DOTween.To(() => colorAdjustments.saturation.value, // 获取当前饱和度值 + x => colorAdjustments.saturation.value = x, // 设置新的饱和度值 + targetSaturation, // 目标饱和度值 + duration).WaitForCompletion(); // 过渡持续时间 + } } } diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 8b35e1a46..a2122f633 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -14,8 +14,8 @@ TagManager: - - Water - UI - - - - + - Post + - ViewPost - - -