diff options
author | chai <chaifix@163.com> | 2021-09-17 00:13:31 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-09-17 00:13:31 +0800 |
commit | b7a445554e3f57b5fe4b1f1c619d0bed022893b6 (patch) | |
tree | 8794db6dadd464f922e76902a6441087c255d84b | |
parent | cec37ddb003304a224b804a78479ae46dae58fed (diff) |
+ unit image effect handle
53 files changed, 387 insertions, 507 deletions
diff --git a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts.meta b/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts.meta deleted file mode 100644 index b76e98a5..00000000 --- a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 20381b3eecfbfe34a9d9222868969d29 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Art/Vfx/GrabSquaresEffect/Scripts.meta b/Assets/Art/Vfx/GrabSquaresEffect/Scripts.meta deleted file mode 100644 index 41200932..00000000 --- a/Assets/Art/Vfx/GrabSquaresEffect/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: abff7cb61c760094f8ab9437379e0f2c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Art/Vfx/GrabSquaresEffect/Shaders.meta b/Assets/Art/Vfx/GrabSquaresEffect/Shaders.meta deleted file mode 100644 index fa9e76cd..00000000 --- a/Assets/Art/Vfx/GrabSquaresEffect/Shaders.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e38cb65072bb4a64cbe162792de9bec2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Materials/Unit/Effect.meta b/Assets/Bundle/Materials/Unit/Effect.meta deleted file mode 100644 index fdf8c1db..00000000 --- a/Assets/Bundle/Materials/Unit/Effect.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0525fec1eb7cc94458170e9e106955d5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Materials/Unit/ImageEffect/unit_img_motionBlur.mat b/Assets/Bundle/Materials/Unit/ImageEffect/unit_img_motionBlur.mat index 3f655bb6..48d884ad 100644 --- a/Assets/Bundle/Materials/Unit/ImageEffect/unit_img_motionBlur.mat +++ b/Assets/Bundle/Materials/Unit/ImageEffect/unit_img_motionBlur.mat @@ -8,7 +8,7 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: unit_img_motionBlur - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_Shader: {fileID: 4800000, guid: f0e5d0965cb119045abf4f057a692835, type: 3} m_ShaderKeywords: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 @@ -19,6 +19,10 @@ Material: m_SavedProperties: serializedVersion: 3 m_TexEnvs: + - _BlurTex: + m_Texture: {fileID: 2800000, guid: 575782d99e3434a4ca6c0dbedcd32bd7, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _BumpMap: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} @@ -40,7 +44,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 8600000, guid: 183fd8602e9304d46ae2ce82856d08c7, type: 2} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: @@ -56,6 +60,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: + - _Angle: 0 - _BumpScale: 1 - _Cutoff: 0.5 - _DetailNormalMapScale: 1 @@ -75,3 +80,4 @@ Material: m_Colors: - _Color: {r: 1, g: 1, b: 1, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _MaskColor: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/Bundle/Materials/Unit/ImageEffect/unit_img_motionBlur.mat.meta b/Assets/Bundle/Materials/Unit/ImageEffect/unit_img_motionBlur.mat.meta index 8322b5dd..f5ce25ff 100644 --- a/Assets/Bundle/Materials/Unit/ImageEffect/unit_img_motionBlur.mat.meta +++ b/Assets/Bundle/Materials/Unit/ImageEffect/unit_img_motionBlur.mat.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 91c7bc1a7ec9d5b428fa8b647cae5e6b +guid: 7d12c743f5aba364e94208408cb71ffb NativeFormatImporter: externalObjects: {} mainObjectFileID: 2100000 diff --git a/Assets/Bundle/Models.meta b/Assets/Bundle/Models.meta deleted file mode 100644 index c9b5bf44..00000000 --- a/Assets/Bundle/Models.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: adab1ca5f61452c4c90f19e7c11adf0e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Prefabs.meta b/Assets/Bundle/Prefabs.meta deleted file mode 100644 index 82588fb1..00000000 --- a/Assets/Bundle/Prefabs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: dac6442cad7539149a7527510665d510 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Scenes/Demo/AnimationEditScene.unity b/Assets/Bundle/Scenes/Demo/AnimationEditScene.unity index c728de00..11eec290 100644 --- a/Assets/Bundle/Scenes/Demo/AnimationEditScene.unity +++ b/Assets/Bundle/Scenes/Demo/AnimationEditScene.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} + m_IndirectSpecularColor: {r: 0.18028334, g: 0.22571328, b: 0.3069217, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -19263,83 +19263,6 @@ ParticleSystem: m_PostInfinity: 2 m_RotationOrder: 4 vectorLabel1_3: W ---- !u!1 &160840154 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 160840158} - - component: {fileID: 160840157} - - component: {fileID: 160840156} - m_Layer: 0 - m_Name: UnitEffect - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!23 &160840156 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 160840154} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 0 - m_MotionVectors: 2 - m_LightProbeUsage: 0 - m_ReflectionProbeUsage: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 7d12c743f5aba364e94208408cb71ffb, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!33 &160840157 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 160840154} - m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!4 &160840158 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 160840154} - m_LocalRotation: {x: 0, y: 0.7071068, z: -0.7071068, w: 0} - m_LocalPosition: {x: -3.5, y: 3.94, z: -0.12} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 11 - m_LocalEulerAnglesHint: {x: 90, y: 180, z: 0} --- !u!1 &278122006 GameObject: m_ObjectHideFlags: 0 @@ -62419,6 +62342,7 @@ GameObject: - component: {fileID: 687023028} - component: {fileID: 687023030} - component: {fileID: 687023029} + - component: {fileID: 687023031} m_Layer: 0 m_Name: Unit Camera m_TagString: Untagged @@ -62490,10 +62414,70 @@ Camera: m_HDR: 1 m_AllowMSAA: 1 m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 + m_ForceIntoRT: 1 m_OcclusionCulling: 1 m_StereoConvergence: 10 m_StereoSeparation: 0.022 +--- !u!114 &687023031 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 687023027} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 948f4100a11a5c24981795d21301da5c, type: 3} + m_Name: + m_EditorClassIdentifier: + volumeTrigger: {fileID: 687023028} + volumeLayer: + serializedVersion: 2 + m_Bits: 512 + stopNaNPropagation: 1 + finalBlitToCameraTarget: 0 + antialiasingMode: 0 + temporalAntialiasing: + jitterSpread: 0.75 + sharpness: 0.25 + stationaryBlending: 0.95 + motionBlending: 0.85 + subpixelMorphologicalAntialiasing: + quality: 2 + fastApproximateAntialiasing: + fastMode: 0 + keepAlpha: 0 + fog: + enabled: 1 + excludeSkybox: 1 + debugLayer: + lightMeter: + width: 512 + height: 256 + showCurves: 1 + histogram: + width: 512 + height: 256 + channel: 3 + waveform: + exposure: 0.12 + height: 256 + vectorscope: + size: 256 + exposure: 0.12 + overlaySettings: + linearDepth: 0 + motionColorIntensity: 4 + motionGridSize: 64 + colorBlindnessType: 0 + colorBlindnessStrength: 1 + m_Resources: {fileID: 11400000, guid: d82512f9c8e5d4a4d938b575d47f88d4, type: 2} + m_ShowToolkit: 1 + m_ShowCustomSorter: 1 + breakBeforeColorGrading: 0 + m_BeforeTransparentBundles: [] + m_BeforeStackBundles: [] + m_AfterStackBundles: [] --- !u!1 &729227977 GameObject: m_ObjectHideFlags: 0 @@ -67526,8 +67510,8 @@ MonoBehaviour: colorBlindnessType: 0 colorBlindnessStrength: 1 m_Resources: {fileID: 11400000, guid: d82512f9c8e5d4a4d938b575d47f88d4, type: 2} - m_ShowToolkit: 0 - m_ShowCustomSorter: 0 + m_ShowToolkit: 1 + m_ShowCustomSorter: 1 breakBeforeColorGrading: 0 m_BeforeTransparentBundles: [] m_BeforeStackBundles: [] @@ -81971,7 +81955,7 @@ MonoBehaviour: unit: {fileID: 0} unitController: {fileID: 0} owner: {fileID: 0} - unitEffect: {fileID: 160840154} + unitEffect: {fileID: 0} --- !u!4 &1141527492 Transform: m_ObjectHideFlags: 0 diff --git a/Assets/Bundle/Shaders/Unit/Effect.meta b/Assets/Bundle/Shaders/Unit/Effect.meta deleted file mode 100644 index 7df9a033..00000000 --- a/Assets/Bundle/Shaders/Unit/Effect.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9cc4684b9f432f149b16a51f148c9490 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader index c4802a07..e3308547 100644 --- a/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader +++ b/Assets/Bundle/Shaders/Unit/ImageEffect/unit_img_motionBlur.shader @@ -1,18 +1,22 @@ // 1:09 https://www.youtube.com/watch?v=LhqI_yj3zO0 -Shader "Erika/Unit/Effect/unit_effect_blur" +Shader "Erika/Unit/ImageEffect/unit_img_motionBlur" { Properties { _MainTex("Texture", 2D) = "white" {} _BlurTex("Texture", 2D) = "black" {} _MaskColor ("Mask Color", Color) = (1,1,1,1) - _Angle("Angle", float) = 0 + _Angle("Angle", float) = 0 + _Distance("Distance", float) = 0 } SubShader { - Tags { "RenderType"="Opaque" "Queue" = "Transparent"} + Tags { "RenderType"="Opaque" "Queue" = "Geometry"} LOD 100 + ZWrite Off + ZTest LEqual + Blend SrcAlpha OneMinusSrcAlpha Pass @@ -45,6 +49,8 @@ Shader "Erika/Unit/Effect/unit_effect_blur" float _Angle; + fixed _Distance; + v2f vert (appdata v) { v2f o; @@ -57,15 +63,17 @@ Shader "Erika/Unit/Effect/unit_effect_blur" { fixed2 uv = i.uv; fixed2 offset = fixed2(0.05, 0.05);
- float sampleCount = 30;
+ const float sampleCount = 20;
fixed4 color = fixed4(0,0,0,0);
float radian = radians(_Angle);
- float distance = 0.3f;
- for(int i = 0; i < sampleCount; i++){
+ float distance = _Distance;
+ for(int i = 0; i < sampleCount; i++)
+ {
float dx = distance * cos(radian) / sampleCount * i;
float dy = distance * sin(radian) / sampleCount * i;
color += tex2D(_MainTex,float2(uv.x + dx,uv.y + dy)) * (1 / sampleCount);
}
+ //color.rgb *= 0.5f;
return color; } ENDCG diff --git a/Assets/Bundle/UI.meta b/Assets/Bundle/UI.meta deleted file mode 100644 index 0914914c..00000000 --- a/Assets/Bundle/UI.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4392471259b05a74a82a4bc72b510eb1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/Monster/Robots_Prowler/ActionData.meta b/Assets/Bundle/Unit/Monster/Robots_Prowler/ActionData.meta deleted file mode 100644 index ca7266b0..00000000 --- a/Assets/Bundle/Unit/Monster/Robots_Prowler/ActionData.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a1d7b6e0d8fb1a642a65011fb6cd7d89 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/Monster/Robots_Prowler/UnitData.meta b/Assets/Bundle/Unit/Monster/Robots_Prowler/UnitData.meta deleted file mode 100644 index 142f5872..00000000 --- a/Assets/Bundle/Unit/Monster/Robots_Prowler/UnitData.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6ad7401709700f34db2b795830937d76 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/NPC.meta b/Assets/Bundle/Unit/NPC.meta deleted file mode 100644 index eeea13e1..00000000 --- a/Assets/Bundle/Unit/NPC.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8ced034d375cdfa488814663ea17a79b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Combo03_Z0_2.asset b/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Combo03_Z0_2.asset index 38e6e111..a19dff45 100644 --- a/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Combo03_Z0_2.asset +++ b/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Combo03_Z0_2.asset @@ -165,6 +165,50 @@ MonoBehaviour: m_keys: 01000000 m_values: - 0.12 +--- !u!114 &114157186485495952 +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: a4957372b8a4fd946b86016c20f83750, type: 3} + m_Name: EventMesh_VisibilityInMainCamera + m_EditorClassIdentifier: + startFrame: 10 + isVisible: 0 +--- !u!114 &114245143437386504 +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: a4957372b8a4fd946b86016c20f83750, type: 3} + m_Name: EventMesh_VisibilityInMainCamera + m_EditorClassIdentifier: + startFrame: 16 + isVisible: 1 +--- !u!114 &114277723789736382 +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: a75401f0015aa1e4f856979c8aa1dae2, type: 3} + m_Name: EventMesh_ImageEffect_MotionBlur + m_EditorClassIdentifier: + startFrame: 10 + lifeTime: 0.1 + angle: 0 + distance: 0 --- !u!114 &114311271947421858 MonoBehaviour: m_ObjectHideFlags: 0 @@ -180,8 +224,10 @@ MonoBehaviour: startFrame: 17 effectPath: Assets/Art/Vfx/Sword slash VFX/Prefabs/Sword Slash 9.prefab attached: 1 - attachNode: 0 - bone: + parentNode: 0 + bonePath: + bone: 0 + referencePoint: 0 position: {x: 0, y: 0.8, z: 0} rotation: {x: 16.405, y: -122.817, z: 27.753} scale: {x: 0.7, y: 0.7, z: 0.7} diff --git a/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Dash.asset b/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Dash.asset index 965fe6ab..fca27ca9 100644 --- a/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Dash.asset +++ b/Assets/Bundle/Unit/PC/Erika/AnimationData/Air_Dash.asset @@ -10,18 +10,17 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: cab6406109041434e890f22d6455172f, type: 3} - m_Name: Air_Dash(Clone)(Clone) + m_Name: Air_Dash m_EditorClassIdentifier: animationName: Air_Dash animationPath: Assets/Art/Animations/Erika/Air_Dash.anim note: animationEvents: - - {fileID: 114365720091602376} - - {fileID: 114701209950120328} - {fileID: 0} - {fileID: 0} - {fileID: 114895186165284124} - - {fileID: 114163276615738028} + - {fileID: 114829983908477250} + - {fileID: 114461861979665892} hurtBoxes: - collider: type: 0 @@ -183,7 +182,7 @@ MonoBehaviour: startFrame: 14 lifeTime: 0.1 angle: 0 - amount: 0 + distance: 0 --- !u!114 &114365720091602376 MonoBehaviour: m_ObjectHideFlags: 0 @@ -230,6 +229,20 @@ MonoBehaviour: lifeTime: 0.3 angle: 0 amount: 0 +--- !u!114 &114461861979665892 +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: a4957372b8a4fd946b86016c20f83750, type: 3} + m_Name: EventMesh_VisibilityInMainCamera + m_EditorClassIdentifier: + startFrame: 21 + isVisible: 1 --- !u!114 &114677701672343994 MonoBehaviour: m_ObjectHideFlags: 0 @@ -260,6 +273,20 @@ MonoBehaviour: m_EditorClassIdentifier: startFrame: 16 isVisible: 1 +--- !u!114 &114829983908477250 +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: a4957372b8a4fd946b86016c20f83750, type: 3} + m_Name: EventMesh_VisibilityInMainCamera + m_EditorClassIdentifier: + startFrame: 4 + isVisible: 0 --- !u!114 &114895186165284124 MonoBehaviour: m_ObjectHideFlags: 0 @@ -274,5 +301,5 @@ MonoBehaviour: m_EditorClassIdentifier: startFrame: 4 lifeTime: 0.1 - angle: 0 - amount: 0 + angle: 10 + distance: 0.4 diff --git a/Assets/Bundle/Unit/PC/Erika/Materials/Effect/unit_effect_blur.mat b/Assets/Bundle/Unit/PC/Erika/Materials/Effect/unit_effect_blur.mat deleted file mode 100644 index 56f408b5..00000000 --- a/Assets/Bundle/Unit/PC/Erika/Materials/Effect/unit_effect_blur.mat +++ /dev/null @@ -1,83 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: unit_effect_blur - m_Shader: {fileID: 4800000, guid: f0e5d0965cb119045abf4f057a692835, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BlurTex: - m_Texture: {fileID: 2800000, guid: 575782d99e3434a4ca6c0dbedcd32bd7, type: 3} - 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: 8600000, guid: 183fd8602e9304d46ae2ce82856d08c7, type: 2} - 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} - m_Floats: - - _Angle: 14.9 - - _BumpScale: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _MaskColor: {r: 0, g: 0, b: 0, a: 0} diff --git a/Assets/Bundle/Unit/PC/Erika/Materials/Effect/unit_effect_blur.mat.meta b/Assets/Bundle/Unit/PC/Erika/Materials/Effect/unit_effect_blur.mat.meta deleted file mode 100644 index f5ce25ff..00000000 --- a/Assets/Bundle/Unit/PC/Erika/Materials/Effect/unit_effect_blur.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7d12c743f5aba364e94208408cb71ffb -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/Erika/Materials/Normal.meta b/Assets/Bundle/Unit/PC/Erika/Materials/Normal.meta deleted file mode 100644 index 8c41a6b2..00000000 --- a/Assets/Bundle/Unit/PC/Erika/Materials/Normal.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5dc1b71affc68b54594096a1b96a5c00 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/Erika/Models.meta b/Assets/Bundle/Unit/PC/Erika/Models.meta deleted file mode 100644 index 11148d17..00000000 --- a/Assets/Bundle/Unit/PC/Erika/Models.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0d712421d808a43438a43d8a5d34effe -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/Erika/UnitData.meta b/Assets/Bundle/Unit/PC/Erika/UnitData.meta deleted file mode 100644 index 7d4b13eb..00000000 --- a/Assets/Bundle/Unit/PC/Erika/UnitData.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 922befa8a94692845b88500a23229d7f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Art/Models/Characters/Default.meta b/Assets/Bundle/Unit/PC/Erika/Weapons/Materials.meta index 43499fc7..be6badd6 100644 --- a/Assets/Art/Models/Characters/Default.meta +++ b/Assets/Bundle/Unit/PC/Erika/Weapons/Materials.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: e8a40298dd4efd14c9f90a63734ca39b +guid: 2c46a5a23283c7d428ae8bb13663ab6a folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Bundle/Unit/PC/ErikaCyborg/ActionData.meta b/Assets/Bundle/Unit/PC/ErikaCyborg/ActionData.meta deleted file mode 100644 index f5434a00..00000000 --- a/Assets/Bundle/Unit/PC/ErikaCyborg/ActionData.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 07c3b2bf6cb8cc2498422bbb105cbad8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/ErikaCyborg/AnimationClip.meta b/Assets/Bundle/Unit/PC/ErikaCyborg/AnimationClip.meta deleted file mode 100644 index 4ed2c938..00000000 --- a/Assets/Bundle/Unit/PC/ErikaCyborg/AnimationClip.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 827d77abe87680a47ae2d71a9e953a18 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/ErikaCyborg/AnimationData.meta b/Assets/Bundle/Unit/PC/ErikaCyborg/AnimationData.meta deleted file mode 100644 index 43a52cd1..00000000 --- a/Assets/Bundle/Unit/PC/ErikaCyborg/AnimationData.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7a2b72fbb41383047ac45e6c22ea9663 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/ErikaCyborg/Materials/AfterImage.meta b/Assets/Bundle/Unit/PC/ErikaCyborg/Materials/AfterImage.meta deleted file mode 100644 index 85d58a8c..00000000 --- a/Assets/Bundle/Unit/PC/ErikaCyborg/Materials/AfterImage.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b2b0838fb0603964e99904eefe81ad7f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/ErikaCyborg/Materials/Normal.meta b/Assets/Bundle/Unit/PC/ErikaCyborg/Materials/Normal.meta deleted file mode 100644 index dd867045..00000000 --- a/Assets/Bundle/Unit/PC/ErikaCyborg/Materials/Normal.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1c8a678ea9e801f439a1003d04f33cf5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/ErikaCyborg/Models.meta b/Assets/Bundle/Unit/PC/ErikaCyborg/Models.meta deleted file mode 100644 index dc530723..00000000 --- a/Assets/Bundle/Unit/PC/ErikaCyborg/Models.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ebf636c7cf7b1934b885298ce1f5f42e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/ErikaCyborg/RootMotion.meta b/Assets/Bundle/Unit/PC/ErikaCyborg/RootMotion.meta deleted file mode 100644 index b28b6f04..00000000 --- a/Assets/Bundle/Unit/PC/ErikaCyborg/RootMotion.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2022e8298d3a8624992143eb57c0f8ac -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/ErikaCyborg/UnitData.meta b/Assets/Bundle/Unit/PC/ErikaCyborg/UnitData.meta deleted file mode 100644 index eeca0d3b..00000000 --- a/Assets/Bundle/Unit/PC/ErikaCyborg/UnitData.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f6aa859c834c51f498ef0b3c3b83a0f5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/ErikaCyborg/Weapons.meta b/Assets/Bundle/Unit/PC/ErikaCyborg/Weapons.meta deleted file mode 100644 index 7f91da28..00000000 --- a/Assets/Bundle/Unit/PC/ErikaCyborg/Weapons.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: df69962f5b01e444a8bea87e31c7d0a4 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/Prop.meta b/Assets/Bundle/Unit/Prop.meta deleted file mode 100644 index affd6eed..00000000 --- a/Assets/Bundle/Unit/Prop.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: dafc173db1ebeab4c80641cc3d4fa528 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Art/Models/Characters/Erika2.meta b/Assets/Data/RootMotionData.meta index fd7369d9..14abf402 100644 --- a/Assets/Art/Models/Characters/Erika2.meta +++ b/Assets/Data/RootMotionData.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 077f81003f9fc564791cce182048c2b0 +guid: 5cfee9bde9754254f83510f88dd2a19b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Scripts/Curve3D.meta b/Assets/Scripts/Curve3D.meta deleted file mode 100644 index fef1c5e7..00000000 --- a/Assets/Scripts/Curve3D.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ad8b718b6b700d8419838dad07158567 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Drone.meta b/Assets/Scripts/Drone.meta deleted file mode 100644 index 694cff70..00000000 --- a/Assets/Scripts/Drone.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ec3412151f8a72a41b2ed21316763399 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Managers/ResourceManager.cs b/Assets/Scripts/Managers/ResourceManager.cs index c0a4275d..974eb53a 100644 --- a/Assets/Scripts/Managers/ResourceManager.cs +++ b/Assets/Scripts/Managers/ResourceManager.cs @@ -5,11 +5,10 @@ using UnityEngine; using UnityEditor;
#endif
-public class ResourceManager : Singleton<ResourceManager>
+public partial class ResourceManager : Singleton<ResourceManager>
{
Dictionary<string, Object> m_CachedObject = new Dictionary<string, Object>();
-
public T LoadAsset<T>(string path) where T : UnityEngine.Object
{
if(m_CachedObject.ContainsKey(path))
diff --git a/Assets/Scripts/Managers/ResourceManager_Materials.cs b/Assets/Scripts/Managers/ResourceManager_Materials.cs new file mode 100644 index 00000000..410fb844 --- /dev/null +++ b/Assets/Scripts/Managers/ResourceManager_Materials.cs @@ -0,0 +1,17 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public partial class ResourceManager : Singleton<ResourceManager> +{ + public enum EImageEffectMaterails + { + MotionBlur, + Glitch, + } + + public readonly Dictionary<EImageEffectMaterails, string/*path*/> imageEffectMaterails = new Dictionary<EImageEffectMaterails, string>() { + { EImageEffectMaterails.MotionBlur, "Assets/Bundle/Materials/Unit/ImageEffect/unit_img_motionBlur.mat"}, + }; + +}
\ No newline at end of file diff --git a/Assets/Scripts/Unit/Components/UnitEffect.cs.meta b/Assets/Scripts/Managers/ResourceManager_Materials.cs.meta index f71585b2..72214ba3 100644 --- a/Assets/Scripts/Unit/Components/UnitEffect.cs.meta +++ b/Assets/Scripts/Managers/ResourceManager_Materials.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 62163ab86151f004294a831544bb3c39 +guid: 690fd5d9536ed074da03cf8b16bef2a5 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Scripts/Props.meta b/Assets/Scripts/Props.meta deleted file mode 100644 index bb96602e..00000000 --- a/Assets/Scripts/Props.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f299520ed9fcf4a45858ad4ef5a8d5d1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Robot.meta b/Assets/Scripts/Robot.meta deleted file mode 100644 index 0b5a087e..00000000 --- a/Assets/Scripts/Robot.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7c09ca1609552d24bbe697d1516f8aa9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Scene.meta b/Assets/Scripts/Scene.meta deleted file mode 100644 index eb7a8716..00000000 --- a/Assets/Scripts/Scene.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: eaee2d0f48cff9b40baf0686a8105600 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Test 1/TestErika.cs b/Assets/Scripts/Test 1/TestErika.cs index 9f889934..4ae41d78 100644 --- a/Assets/Scripts/Test 1/TestErika.cs +++ b/Assets/Scripts/Test 1/TestErika.cs @@ -37,7 +37,7 @@ public class TestErika : SingletonMB<TestErika> base.Awake(); SetupErika(); SetupMonster(); - UnitEffect.effectPlane = unitEffect; + UnitImageEffect.effectPlane = unitEffect; } private void Update()
diff --git a/Assets/Scripts/Unit/AI/Actions.meta b/Assets/Scripts/Unit/AI/Actions.meta deleted file mode 100644 index 9b4ad463..00000000 --- a/Assets/Scripts/Unit/AI/Actions.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 971e9d55b8bc0894eb6a110fb962000b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Unit/AI/Conditionals.meta b/Assets/Scripts/Unit/AI/Conditionals.meta deleted file mode 100644 index 70a86da5..00000000 --- a/Assets/Scripts/Unit/AI/Conditionals.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 85b7e0c7ed1d12f42a5178bfbf3d934c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Unit/Components/UnitEffect.cs b/Assets/Scripts/Unit/Components/UnitEffect.cs deleted file mode 100644 index 9add6513..00000000 --- a/Assets/Scripts/Unit/Components/UnitEffect.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class EffectHandle
-{
- public float lifeTime;
- public float curTime;
- public bool markDead;
-}
-
-//Unit后处理效果
-public class UnitEffect : UnitComponent
-{
- public List<EffectHandle> effects = new List<EffectHandle>();
- public static GameObject effectPlane;
-
- public void ShowMotionBlur(float lifetime)
- {
- EffectHandle eff = new EffectHandle();
- eff.lifeTime = lifetime;
- eff.curTime = 0;
- eff.markDead = false;
- effects.Add(eff);
- effectPlane.gameObject.SetActive(true);
- }
-
- public override void OnUpdate()
- {
- base.OnUpdate();
-
- effectPlane.transform.position = UnitManager.Instance.pc.center;
-
- for(int i = 0; i < effects.Count; ++i)
- {
- if (effects[i].markDead)
- continue;
- effects[i].curTime += Time.deltaTime;
- if(effects[i].curTime > effects[i].lifeTime)
- {
- effects[i].markDead = true;
- effectPlane.gameObject.SetActive(false);
- }
- }
- }
-
-}
diff --git a/Assets/Scripts/Unit/Components/UnitImageEffect.cs b/Assets/Scripts/Unit/Components/UnitImageEffect.cs new file mode 100644 index 00000000..999740f3 --- /dev/null +++ b/Assets/Scripts/Unit/Components/UnitImageEffect.cs @@ -0,0 +1,155 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class UnitImageEffectHolder +{ + public float size; + public GameObject gameObject; + public MeshRenderer renderer + { + get + { + if (gameObject == null) + return null; + return gameObject.GetComponent<MeshRenderer>(); + } + } +} + +public delegate void UnitImageEffectStepCallback(float normalizedTime); + +public class UnitImageEffectHandle +{ + public float lifeTime; + public float curTime; + public UnitImageEffectHolder holder; + public UnitImageEffectStepCallback stepFunc; +} + +//Unit后处理效果 +public class UnitImageEffect : UnitComponent +{ + public List<UnitImageEffectHandle> effects = new List<UnitImageEffectHandle>(); + public static GameObject effectPlane; + + private Dictionary<float/*size*/, List<UnitImageEffectHolder>/*pool*/> m_HolderPool = new Dictionary<float, List<UnitImageEffectHolder>>(); + + public override void OnUpdate() + { + base.OnUpdate(); + List<UnitImageEffectHandle> temp = ListPool<UnitImageEffectHandle>.Get(); + for(int i = 0; i < effects.Count; ++i) + { + var handle = effects[i]; + handle.curTime += Time.deltaTime; + if(handle.curTime > handle.lifeTime) + { + temp.Add(handle); + continue; + } + handle.stepFunc?.Invoke(handle.curTime / handle.lifeTime); + } + for(int j = 0; j < temp.Count; j++) + { + temp[j].holder.gameObject.SetActive(false); + ReleaseHolder(ref temp[j].holder); + effects.Remove(temp[j]); + } + ListPool<UnitImageEffectHandle>.Release(temp); + } + + UnitImageEffectHolder ClaimHolder(float size) + { + List<UnitImageEffectHolder> holders; + if (m_HolderPool.TryGetValue(size, out holders)) + { + if (holders.Count > 0) + { + var holder = holders[holders.Count - 1]; + holders.RemoveAt(holders.Count - 1); + return holder; + } + } + UnitImageEffectHolder newHolder = new UnitImageEffectHolder(); + newHolder.size = size; + Mesh mesh = new Mesh(); + mesh.vertices = new Vector3[4] { + new Vector3(-size/2, size/2, 0), + new Vector3(size/2, size/2, 0), + new Vector3(size/2, -size/2, 0), + new Vector3(-size/2, -size/2, 0) + }; + mesh.uv = new Vector2[4] { + new Vector2(0, 1), + new Vector2(1, 1), + new Vector2(1, 0), + new Vector2(0, 0), + }; + mesh.triangles = new int[6] { + 0, 1, 3, + 1, 2, 3, + }; + mesh.UploadMeshData(true); + newHolder.gameObject = new GameObject("Image Effect Holder(" + size + "m)"); + MeshFilter filter = newHolder.gameObject.AddComponent<MeshFilter>(); + filter.sharedMesh = mesh; + MeshRenderer renderer = newHolder.gameObject.AddComponent<MeshRenderer>(); + renderer.lightProbeUsage = UnityEngine.Rendering.LightProbeUsage.Off; + renderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; + renderer.receiveShadows = false; + renderer.reflectionProbeUsage = UnityEngine.Rendering.ReflectionProbeUsage.Off; + renderer.motionVectorGenerationMode = MotionVectorGenerationMode.ForceNoMotion; + renderer.allowOcclusionWhenDynamic = false; + return newHolder; + } + + void ReleaseHolder(ref UnitImageEffectHolder holder) + { + float size = holder.size; + List<UnitImageEffectHolder> holders; + if (!m_HolderPool.TryGetValue(size, out holders)) + { + holders = new List<UnitImageEffectHolder>(); + m_HolderPool.Add(size, holders); + } + holder.gameObject.SetActive(false); + holder.gameObject.transform.position = Vector3.zero; + holders.Add(holder); + holder = null; + } + + #region effects + + public void ShowMotionBlur(float lifeTime, float angle, float distance) + { + UnitImageEffectHandle handle = new UnitImageEffectHandle(); + handle.lifeTime = lifeTime; + handle.curTime = 0; + float size = UnitManager.Instance.pc.unitDetail.snapshotBound; + handle.holder = ClaimHolder(size); + handle.holder.gameObject.SetActive(true); + string matPath = ResourceManager.Instance.imageEffectMaterails[ResourceManager.EImageEffectMaterails.MotionBlur]; + handle.holder.renderer.sharedMaterial = ResourceManager.Instance.LoadAsset<Material>(matPath); + + MaterialPropertyBlock block = new MaterialPropertyBlock(); + handle.holder.renderer.GetPropertyBlock(block); + block.SetFloat("_Angle", angle); + block.SetFloat("_Distance", distance); + handle.holder.renderer.SetPropertyBlock(block); + + handle.stepFunc = (float normalTime) => + { + handle.holder.gameObject.transform.position = UnitManager.Instance.pc.center; + + handle.holder.renderer.GetPropertyBlock(block); + block.SetFloat("_Distance", (normalTime) * distance); + handle.holder.renderer.SetPropertyBlock(block); + }; + + effects.Add(handle); + } + + #endregion + +}
\ No newline at end of file diff --git a/Assets/Scripts/Unit/Components/UnitImageEffect.cs.meta b/Assets/Scripts/Unit/Components/UnitImageEffect.cs.meta new file mode 100644 index 00000000..32f7eebc --- /dev/null +++ b/Assets/Scripts/Unit/Components/UnitImageEffect.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: af35b46f81aa698408be0540784f808d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState.cs b/Assets/Scripts/Unit/Components/UnitState/PCState.cs index c7cab21c..eae1b370 100644 --- a/Assets/Scripts/Unit/Components/UnitState/PCState.cs +++ b/Assets/Scripts/Unit/Components/UnitState/PCState.cs @@ -78,9 +78,14 @@ public partial class PCState : UnitState LogHelper.LogError("缺少 " + methodFunc); }
m_PrevState = m_State; - m_State = nextState; - - StartCoroutine(m_State.ToString(), param); + m_State = nextState;
+
+ if(m_PrevState != m_State && owner.unitRender != null)
+ {
+ owner.unitRender.SetVisibilityInMainCamera(true);
+ }
+
+ StartCoroutine(m_State.ToString(), param); } bool IsChange(EUnitState newState, bool bForce) diff --git a/Assets/Scripts/Unit/Controller/PCController.cs b/Assets/Scripts/Unit/Controller/PCController.cs index f3defbd7..ea07fc56 100644 --- a/Assets/Scripts/Unit/Controller/PCController.cs +++ b/Assets/Scripts/Unit/Controller/PCController.cs @@ -10,7 +10,7 @@ public class PCController : UnitController public UnitAfterImage unitAfterImage;
- public UnitEffect unitEffect;
+ public UnitImageEffect unitImageEffect;
public override UnitType type { get { return UnitType.PC; } }
@@ -32,8 +32,8 @@ public class PCController : UnitController unitAfterImage = gameObject.GetOrAddComponent<UnitAfterImage>();
unitAfterImage.Initialize();
- unitEffect = gameObject.GetOrAddComponent<UnitEffect>();
- unitEffect.Initialize();
+ unitImageEffect = gameObject.GetOrAddComponent<UnitImageEffect>();
+ unitImageEffect.Initialize();
}
@@ -41,7 +41,7 @@ public class PCController : UnitController {
base.Update();
unitAfterImage.OnUpdate();
- unitEffect.OnUpdate();
+ unitImageEffect.OnUpdate();
}
public override void OnHit(CollisionInfo info)
diff --git a/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs b/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs index 714d65e5..dd1b4759 100644 --- a/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs +++ b/Assets/Scripts/Unit/Events/EventMesh_ImageEffect_MotionBlur.cs @@ -12,6 +12,6 @@ public class EventMesh_ImageEffect_MotionBlur : AnimationEventBase public float angle;
- public float amount;
+ public float distance;
}
diff --git a/Assets/Scripts/Unit/TimelineEventProxy_Handlers.cs b/Assets/Scripts/Unit/TimelineEventProxy_Handlers.cs index a15d262e..a55ba99b 100644 --- a/Assets/Scripts/Unit/TimelineEventProxy_Handlers.cs +++ b/Assets/Scripts/Unit/TimelineEventProxy_Handlers.cs @@ -168,13 +168,21 @@ public partial class TimelineEventProxy if (owner == null || owner.unitRender == null)
return;
owner.unitRender.SetVisibilityInMainCamera(visible.isVisible);
- } - - void EventMesh_ImageEffect_MotionBlur(AnimationEventBase animEvent)
+ }
+
+ #region Unit Image Effects + void EventMesh_ImageEffect_MotionBlur(AnimationEventBase animEvent)
{
EventMesh_ImageEffect_MotionBlur motionBlur = animEvent as EventMesh_ImageEffect_MotionBlur;
if (motionBlur == null)
return ;
- ((PCController)owner).unitEffect.ShowMotionBlur(motionBlur.lifeTime);
- } + if (owner == null || !(owner is PCController))
+ return;
+ float angle = motionBlur.angle;
+ angle = owner.isTowardRight ? angle : 180 - angle;
+ ((PCController)owner).unitImageEffect.ShowMotionBlur(motionBlur.lifeTime, angle, motionBlur.distance);
+ }
+
+ #endregion +
}
\ No newline at end of file diff --git a/Assets/Tools/Editor/ErikaScenes.cs b/Assets/Tools/Editor/ErikaScenes.cs index 58065fb1..a976fbba 100644 --- a/Assets/Tools/Editor/ErikaScenes.cs +++ b/Assets/Tools/Editor/ErikaScenes.cs @@ -10,7 +10,7 @@ public static class ErikaScenes [MenuItem("Erika/Scene/打开特效场景")]
static void OpenFxScene()
{
- string animScene = "Assets/Scenes/Demo/VfxScene.unity";
+ string animScene = "Assets/Bundle/Scenes/Demo/VfxScene.unity";
var scene = EditorSceneManager.GetActiveScene();
if (scene == null || scene.path != animScene)
{
@@ -21,7 +21,7 @@ public static class ErikaScenes [MenuItem("Erika/Scene/打开动画场景")]
static void OpenAnimationScene()
{
- string animScene = "Assets/Scenes/Demo/AnimationEditScene.unity";
+ string animScene = "Assets/Bundle/Scenes/Demo/AnimationEditScene.unity";
var scene = EditorSceneManager.GetActiveScene();
if (scene == null || scene.path != animScene)
{
|