From 07fd372981a16672af23e30816ade14fcb744804 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 30 Aug 2021 13:49:30 +0800 Subject: =?UTF-8?q?=E5=87=BB=E4=B8=AD=E5=8F=8D=E9=A6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/Characters/Erika2/Erika2.Avatar.meta | 8 -- .../Erika2/Erika2.AvatarDescription.meta | 8 -- .../Characters/Erika2/Erika2.BlendShapes.meta | 8 -- .../Models/Characters/Erika2/Erika2.Materials.meta | 8 -- .../Models/Characters/Erika2/Erika2.Meshes.meta | 8 -- .../Characters/Erika2/Erika2.MetaObject.meta | 8 -- .../Models/Characters/Erika2/Erika2.Textures.meta | 8 -- .../AbstractWiresEffect/Scripts.meta | 8 ++ Assets/Art/Vfx/GrabSquaresEffect/Scripts.meta | 8 ++ Assets/Art/Vfx/GrabSquaresEffect/Shaders.meta | 8 ++ Assets/Bundle/Material.meta | 8 ++ Assets/Bundle/Projectile.meta | 8 ++ Assets/Bundle/Shader.meta | 8 ++ Assets/Bundle/UI.meta | 8 ++ .../Unit/Monster/Robots_Prowler/ActionData.meta | 8 ++ .../AnimationData/hit_light_F_head.asset | 93 ++++++++++++++++ .../AnimationData/hit_light_F_head.asset.meta | 8 ++ .../Unit/Monster/Robots_Prowler/UnitData.meta | 8 ++ Assets/Bundle/Unit/NPC.meta | 8 ++ .../Frank_RPG_Assassin_Combo02_1.asset | 78 +++++++++++++- .../Frank_RPG_Assassin_Combo02_2.asset | 118 ++++++++++++++++++++- .../Bundle/Unit/PC/Erika/Materials/AfterImage.meta | 8 ++ Assets/Bundle/Unit/PC/Erika/Materials/Normal.meta | 8 ++ Assets/Bundle/Unit/PC/Erika/Models.meta | 8 ++ Assets/Bundle/Unit/PC/Erika/UnitData.meta | 8 ++ Assets/Bundle/Unit/PC/Erika/Weapons/Materials.meta | 8 -- Assets/Bundle/Unit/PC/ErikaCyborg/ActionData.meta | 8 ++ .../Bundle/Unit/PC/ErikaCyborg/AnimationClip.meta | 8 ++ .../Bundle/Unit/PC/ErikaCyborg/AnimationData.meta | 8 ++ .../Unit/PC/ErikaCyborg/Materials/AfterImage.meta | 8 ++ .../Unit/PC/ErikaCyborg/Materials/Normal.meta | 8 ++ Assets/Bundle/Unit/PC/ErikaCyborg/Models.meta | 8 ++ Assets/Bundle/Unit/PC/ErikaCyborg/RootMotion.meta | 8 ++ Assets/Bundle/Unit/PC/ErikaCyborg/UnitData.meta | 8 ++ Assets/Bundle/Unit/PC/ErikaCyborg/Weapons.meta | 8 ++ Assets/Bundle/Unit/Prop.meta | 8 ++ Assets/Data/ActionData.meta | 8 ++ Assets/Data/AnimationData/Erika.meta | 8 ++ Assets/Data/RootMotionData/Erika.meta | 8 ++ Assets/Data/UnitData.meta | 8 ++ Assets/Scenes/Demo/AnimationEditScene.unity | 2 +- Assets/Scripts/Props.meta | 8 ++ Assets/Scripts/Scene.meta | 8 ++ Assets/Scripts/Unit/Collider/ColliderBox_Hitbox.cs | 13 ++- Assets/Scripts/Unit/Collider/CollisionSystem.cs | 110 +++++++++++++++++-- Assets/Scripts/Unit/Component/MonsterAnimation.cs | 8 +- Assets/Scripts/Unit/Component/MonsterState.cs | 40 +++++-- Assets/Scripts/Unit/Component/PCAnimation.cs | 2 + Assets/Scripts/Unit/Component/UnitCollider.cs | 22 ++-- .../Scripts/Unit/Controller/MonsterController.cs | 41 ++++++- Assets/Scripts/Unit/Controller/PCController.cs | 21 +++- Assets/Scripts/Unit/Controller/UnitController.cs | 16 ++- .../Atmospheric Height Fog/Core/Editor.meta | 8 -- .../Atmospheric Height Fog/Core/Functions.meta | 8 -- .../Atmospheric Height Fog/Core/Includes.meta | 8 -- .../Atmospheric Height Fog/Core/Pipelines.meta | 8 -- .../Atmospheric Height Fog/Core/Resources.meta | 8 -- .../Atmospheric Height Fog/Core/Runtime.meta | 8 -- .../Atmospheric Height Fog/Core/Shaders.meta | 8 -- .../Atmospheric Height Fog/Demo/Animation.meta | 8 -- .../Atmospheric Height Fog/Demo/Materials.meta | 8 -- .../Atmospheric Height Fog/Demo/Shaders.meta | 8 -- Assets/ThirdParty/BOXOPHOBIC/User.meta | 8 -- .../BOXOPHOBIC/Utils/Editor/Constants.meta | 8 -- .../BOXOPHOBIC/Utils/Editor/SettingsUtils.meta | 8 -- .../BOXOPHOBIC/Utils/Editor/StyledGUI.meta | 8 -- .../BOXOPHOBIC/Utils/Editor/StyledInspector.meta | 8 -- .../BOXOPHOBIC/Utils/Editor/StyledMaterial.meta | 8 -- .../BOXOPHOBIC/Utils/Editor/StyledMono.meta | 8 -- Assets/ThirdParty/BOXOPHOBIC/Utils/Resources.meta | 8 -- .../BOXOPHOBIC/Utils/Scripts/SettingsUtils.meta | 8 -- .../BOXOPHOBIC/Utils/Scripts/StyledInspector.meta | 8 -- .../BOXOPHOBIC/Utils/Scripts/StyledMono.meta | 8 -- 73 files changed, 782 insertions(+), 262 deletions(-) delete mode 100644 Assets/Art/Models/Characters/Erika2/Erika2.Avatar.meta delete mode 100644 Assets/Art/Models/Characters/Erika2/Erika2.AvatarDescription.meta delete mode 100644 Assets/Art/Models/Characters/Erika2/Erika2.BlendShapes.meta delete mode 100644 Assets/Art/Models/Characters/Erika2/Erika2.Materials.meta delete mode 100644 Assets/Art/Models/Characters/Erika2/Erika2.Meshes.meta delete mode 100644 Assets/Art/Models/Characters/Erika2/Erika2.MetaObject.meta delete mode 100644 Assets/Art/Models/Characters/Erika2/Erika2.Textures.meta create mode 100644 Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts.meta create mode 100644 Assets/Art/Vfx/GrabSquaresEffect/Scripts.meta create mode 100644 Assets/Art/Vfx/GrabSquaresEffect/Shaders.meta create mode 100644 Assets/Bundle/Material.meta create mode 100644 Assets/Bundle/Projectile.meta create mode 100644 Assets/Bundle/Shader.meta create mode 100644 Assets/Bundle/UI.meta create mode 100644 Assets/Bundle/Unit/Monster/Robots_Prowler/ActionData.meta create mode 100644 Assets/Bundle/Unit/Monster/Robots_Prowler/AnimationData/hit_light_F_head.asset create mode 100644 Assets/Bundle/Unit/Monster/Robots_Prowler/AnimationData/hit_light_F_head.asset.meta create mode 100644 Assets/Bundle/Unit/Monster/Robots_Prowler/UnitData.meta create mode 100644 Assets/Bundle/Unit/NPC.meta create mode 100644 Assets/Bundle/Unit/PC/Erika/Materials/AfterImage.meta create mode 100644 Assets/Bundle/Unit/PC/Erika/Materials/Normal.meta create mode 100644 Assets/Bundle/Unit/PC/Erika/Models.meta create mode 100644 Assets/Bundle/Unit/PC/Erika/UnitData.meta delete mode 100644 Assets/Bundle/Unit/PC/Erika/Weapons/Materials.meta create mode 100644 Assets/Bundle/Unit/PC/ErikaCyborg/ActionData.meta create mode 100644 Assets/Bundle/Unit/PC/ErikaCyborg/AnimationClip.meta create mode 100644 Assets/Bundle/Unit/PC/ErikaCyborg/AnimationData.meta create mode 100644 Assets/Bundle/Unit/PC/ErikaCyborg/Materials/AfterImage.meta create mode 100644 Assets/Bundle/Unit/PC/ErikaCyborg/Materials/Normal.meta create mode 100644 Assets/Bundle/Unit/PC/ErikaCyborg/Models.meta create mode 100644 Assets/Bundle/Unit/PC/ErikaCyborg/RootMotion.meta create mode 100644 Assets/Bundle/Unit/PC/ErikaCyborg/UnitData.meta create mode 100644 Assets/Bundle/Unit/PC/ErikaCyborg/Weapons.meta create mode 100644 Assets/Bundle/Unit/Prop.meta create mode 100644 Assets/Data/ActionData.meta create mode 100644 Assets/Data/AnimationData/Erika.meta create mode 100644 Assets/Data/RootMotionData/Erika.meta create mode 100644 Assets/Data/UnitData.meta create mode 100644 Assets/Scripts/Props.meta create mode 100644 Assets/Scripts/Scene.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Editor.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Functions.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Includes.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Resources.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Runtime.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Shaders.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Animation.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Materials.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Shaders.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/User.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/Constants.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/SettingsUtils.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledGUI.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledInspector.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledMaterial.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledMono.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Utils/Resources.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/SettingsUtils.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/StyledInspector.meta delete mode 100644 Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/StyledMono.meta (limited to 'Assets') diff --git a/Assets/Art/Models/Characters/Erika2/Erika2.Avatar.meta b/Assets/Art/Models/Characters/Erika2/Erika2.Avatar.meta deleted file mode 100644 index 4627f5df..00000000 --- a/Assets/Art/Models/Characters/Erika2/Erika2.Avatar.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d467e546efed7054c934b1a97a116c5c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Art/Models/Characters/Erika2/Erika2.AvatarDescription.meta b/Assets/Art/Models/Characters/Erika2/Erika2.AvatarDescription.meta deleted file mode 100644 index ab214036..00000000 --- a/Assets/Art/Models/Characters/Erika2/Erika2.AvatarDescription.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 063d53dfefca4e3429f5788835b0b4ea -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Art/Models/Characters/Erika2/Erika2.BlendShapes.meta b/Assets/Art/Models/Characters/Erika2/Erika2.BlendShapes.meta deleted file mode 100644 index ee2ffc5f..00000000 --- a/Assets/Art/Models/Characters/Erika2/Erika2.BlendShapes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b82ae836c84f36049bdbdb08743b98e0 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Art/Models/Characters/Erika2/Erika2.Materials.meta b/Assets/Art/Models/Characters/Erika2/Erika2.Materials.meta deleted file mode 100644 index e0cb5de8..00000000 --- a/Assets/Art/Models/Characters/Erika2/Erika2.Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c219c63d9953ba84b8cbe80444bdbf22 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Art/Models/Characters/Erika2/Erika2.Meshes.meta b/Assets/Art/Models/Characters/Erika2/Erika2.Meshes.meta deleted file mode 100644 index 640ede12..00000000 --- a/Assets/Art/Models/Characters/Erika2/Erika2.Meshes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 32ad36f78e7f23f46a0ce64fce991723 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Art/Models/Characters/Erika2/Erika2.MetaObject.meta b/Assets/Art/Models/Characters/Erika2/Erika2.MetaObject.meta deleted file mode 100644 index 4d017390..00000000 --- a/Assets/Art/Models/Characters/Erika2/Erika2.MetaObject.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 93031cff7ea5a314ca110920f817635f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Art/Models/Characters/Erika2/Erika2.Textures.meta b/Assets/Art/Models/Characters/Erika2/Erika2.Textures.meta deleted file mode 100644 index 0d171fe4..00000000 --- a/Assets/Art/Models/Characters/Erika2/Erika2.Textures.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 69c2852d26b47fa44a688db1349ae258 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts.meta b/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts.meta new file mode 100644 index 00000000..b76e98a5 --- /dev/null +++ b/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..41200932 --- /dev/null +++ b/Assets/Art/Vfx/GrabSquaresEffect/Scripts.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..fa9e76cd --- /dev/null +++ b/Assets/Art/Vfx/GrabSquaresEffect/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e38cb65072bb4a64cbe162792de9bec2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Material.meta b/Assets/Bundle/Material.meta new file mode 100644 index 00000000..85215e86 --- /dev/null +++ b/Assets/Bundle/Material.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8641bb4d4eee8b1419a1c8316ff9aee5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Projectile.meta b/Assets/Bundle/Projectile.meta new file mode 100644 index 00000000..b01252f1 --- /dev/null +++ b/Assets/Bundle/Projectile.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 370f39b2edf043241a00acd3f6844aa6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Shader.meta b/Assets/Bundle/Shader.meta new file mode 100644 index 00000000..92ded933 --- /dev/null +++ b/Assets/Bundle/Shader.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5a8ba4f43d9a7b24d855cadccb986b60 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/UI.meta b/Assets/Bundle/UI.meta new file mode 100644 index 00000000..0914914c --- /dev/null +++ b/Assets/Bundle/UI.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..ca7266b0 --- /dev/null +++ b/Assets/Bundle/Unit/Monster/Robots_Prowler/ActionData.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1d7b6e0d8fb1a642a65011fb6cd7d89 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Unit/Monster/Robots_Prowler/AnimationData/hit_light_F_head.asset b/Assets/Bundle/Unit/Monster/Robots_Prowler/AnimationData/hit_light_F_head.asset new file mode 100644 index 00000000..6782788c --- /dev/null +++ b/Assets/Bundle/Unit/Monster/Robots_Prowler/AnimationData/hit_light_F_head.asset @@ -0,0 +1,93 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !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: cab6406109041434e890f22d6455172f, type: 3} + m_Name: hit_light_F_head + m_EditorClassIdentifier: + animationName: hit_light_F_head + animationPath: Assets/Bundle/Unit/Monster/Robots_Prowler/AnimationClip/hit_light_F_head.anim + animationEvents: [] + hurtBoxes: + - collider: + type: 1 + pivot: 0 + multiHit: 0 + hitResponse: 0 + hitBack: {x: 0, y: 0, z: 0} + freezeFramesSelf: 0 + freezeFramesOther: 0 + sparkPath: + sparkAnchor: 0 + sparkOffset: {x: 0, y: 0, z: 0} + multiSparks: 0 + spark2Path: + spark2Anchor: 0 + spark2Offset: {x: 0, y: 0, z: 0} + spark3Path: + spark3Anchor: 0 + spark3Offset: {x: 0, y: 0, z: 0} + selfEffect: 0 + otherEffect: 0 + zoomCamera: 0 + shakeScreen: 0 + shakeOffset: {x: 0, y: 0} + shakeStrength: 0 + colorDrift: 0 + blur: 0 + soundPath: + useGravity: 0 + multiple: 0 + frames: + - frame: 0 + active: 1 + position: {x: 0, y: 0, z: 0} + size: {x: 0.67, y: 1.75, z: 1} + - frame: 7 + active: 1 + position: {x: 0, y: 0, z: 0} + size: {x: 0.72, y: 1.85, z: 1} + hitBoxes: [] + throwBoxes: [] + blockBoxes: [] + defendBoxes: [] + speedCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curves: + m_keys: + m_values: [] + toggles: + m_keys: + m_values: [] + parameters: + m_keys: + m_values: [] diff --git a/Assets/Bundle/Unit/Monster/Robots_Prowler/AnimationData/hit_light_F_head.asset.meta b/Assets/Bundle/Unit/Monster/Robots_Prowler/AnimationData/hit_light_F_head.asset.meta new file mode 100644 index 00000000..ee9b8965 --- /dev/null +++ b/Assets/Bundle/Unit/Monster/Robots_Prowler/AnimationData/hit_light_F_head.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e804b4820d3ee4b4b8d52816e2e03557 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Unit/Monster/Robots_Prowler/UnitData.meta b/Assets/Bundle/Unit/Monster/Robots_Prowler/UnitData.meta new file mode 100644 index 00000000..142f5872 --- /dev/null +++ b/Assets/Bundle/Unit/Monster/Robots_Prowler/UnitData.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..eeea13e1 --- /dev/null +++ b/Assets/Bundle/Unit/NPC.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8ced034d375cdfa488814663ea17a79b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_1.asset b/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_1.asset index 6193a97c..f831dda6 100644 --- a/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_1.asset +++ b/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_1.asset @@ -16,7 +16,83 @@ MonoBehaviour: animationPath: Assets/Bundle/Unit/PC/Erika/AnimationClip/Frank_RPG_Assassin_Combo02_1.anim animationEvents: [] hurtBoxes: [] - hitBoxes: [] + hitBoxes: + - collider: + type: 0 + pivot: 1 + multiHit: 0 + hitResponse: 0 + hitBack: {x: 0, y: 0, z: 0} + freezeFramesSelf: 0 + freezeFramesOther: 0 + sparkPath: Assets/Art/Vfx/Hit & Slashes Vol.3/Prefabs/hit-white-3.prefab + sparkAnchor: 1 + sparkOffset: {x: 0, y: 0, z: 0} + multiSparks: 0 + spark2Path: + spark2Anchor: 0 + spark2Offset: {x: 0, y: 0, z: 0} + spark3Path: + spark3Anchor: 0 + spark3Offset: {x: 0, y: 0, z: 0} + selfEffect: 0 + otherEffect: 0 + zoomCamera: 0 + shakeScreen: 0 + shakeOffset: {x: 0, y: 0} + shakeStrength: 0 + colorDrift: 0 + blur: 0 + soundPath: + useGravity: 0 + multiple: 0 + frames: + - frame: 7 + active: 1 + position: {x: 0.89, y: 0.97, z: 0} + size: {x: 1.09, y: 1.69, z: 1} + - frame: 9 + active: 1 + position: {x: 1.02, y: 0.83, z: 0} + size: {x: 0.91, y: 1.4, z: 1} + - collider: + type: 0 + pivot: 1 + multiHit: 0 + hitResponse: 0 + hitBack: {x: 0, y: 0, z: 0} + freezeFramesSelf: 0 + freezeFramesOther: 0 + sparkPath: Assets/Art/Vfx/Hit & Slashes Vol.3/Prefabs/hit-blue-1.prefab + sparkAnchor: 1 + sparkOffset: {x: 0, y: 0, z: 0} + multiSparks: 0 + spark2Path: + spark2Anchor: 0 + spark2Offset: {x: 0, y: 0, z: 0} + spark3Path: + spark3Anchor: 0 + spark3Offset: {x: 0, y: 0, z: 0} + selfEffect: 0 + otherEffect: 0 + zoomCamera: 0 + shakeScreen: 0 + shakeOffset: {x: 0, y: 0} + shakeStrength: 0 + colorDrift: 0 + blur: 0 + soundPath: + useGravity: 0 + multiple: 0 + frames: + - frame: 10 + active: 1 + position: {x: 1.05, y: 0.82, z: 0} + size: {x: 0.9, y: 1.28, z: 1} + - frame: 13 + active: 1 + position: {x: 1.12, y: 0.78, z: 0} + size: {x: 0.91, y: 1.49, z: 1} throwBoxes: [] blockBoxes: [] defendBoxes: [] diff --git a/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_2.asset b/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_2.asset index 87ac1670..bfd97bd1 100644 --- a/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_2.asset +++ b/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_2.asset @@ -10,13 +10,127 @@ MonoBehaviour: m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: cab6406109041434e890f22d6455172f, type: 3} - m_Name: Frank_RPG_Assassin_Combo02_2 + m_Name: Frank_RPG_Assassin_Combo02_2(Clone) m_EditorClassIdentifier: animationName: Frank_RPG_Assassin_Combo02_2 animationPath: Assets/Bundle/Unit/PC/Erika/AnimationClip/Frank_RPG_Assassin_Combo02_2.anim animationEvents: [] hurtBoxes: [] - hitBoxes: [] + hitBoxes: + - collider: + type: 0 + pivot: 1 + multiHit: 0 + hitResponse: 0 + hitBack: {x: 0, y: 0, z: 0} + freezeFramesSelf: 0 + freezeFramesOther: 0 + sparkPath: Assets/Art/Vfx/Hit & Slashes Vol.3/Prefabs/hit-blue-1.prefab + sparkAnchor: 1 + sparkOffset: {x: 0, y: 0, z: 0} + multiSparks: 0 + spark2Path: + spark2Anchor: 0 + spark2Offset: {x: 0, y: 0, z: 0} + spark3Path: + spark3Anchor: 0 + spark3Offset: {x: 0, y: 0, z: 0} + selfEffect: 0 + otherEffect: 0 + zoomCamera: 0 + shakeScreen: 0 + shakeOffset: {x: 0, y: 0} + shakeStrength: 0 + colorDrift: 0 + blur: 0 + soundPath: + useGravity: 0 + multiple: 0 + frames: + - frame: 3 + active: 1 + position: {x: 1.08, y: 0.86, z: 0} + size: {x: 1.21, y: 1.55, z: 1} + - frame: 6 + active: 1 + position: {x: 0.84, y: 0.76, z: 0} + size: {x: 0.66, y: 1.36, z: 1} + - collider: + type: 0 + pivot: 1 + multiHit: 0 + hitResponse: 0 + hitBack: {x: 0, y: 0, z: 0} + freezeFramesSelf: 0 + freezeFramesOther: 0 + sparkPath: Assets/Art/Vfx/Hit & Slashes Vol.3/Prefabs/hit-blue-1.prefab + sparkAnchor: 1 + sparkOffset: {x: 0, y: 0, z: 0} + multiSparks: 0 + spark2Path: + spark2Anchor: 0 + spark2Offset: {x: 0, y: 0, z: 0} + spark3Path: + spark3Anchor: 0 + spark3Offset: {x: 0, y: 0, z: 0} + selfEffect: 0 + otherEffect: 0 + zoomCamera: 0 + shakeScreen: 0 + shakeOffset: {x: 0, y: 0} + shakeStrength: 0 + colorDrift: 0 + blur: 0 + soundPath: + useGravity: 0 + multiple: 0 + frames: + - frame: 7 + active: 1 + position: {x: 0.89, y: 0.6, z: 0} + size: {x: 1.68, y: 1.3, z: 1} + - frame: 10 + active: 1 + position: {x: 1.02, y: 0.73, z: 0} + size: {x: 1.01, y: 1.19, z: 1} + - collider: + type: 0 + pivot: 1 + multiHit: 0 + hitResponse: 0 + hitBack: {x: 0, y: 0, z: 0} + freezeFramesSelf: 0 + freezeFramesOther: 0 + sparkPath: Assets/Art/Vfx/Hit & Slashes Vol.3/Prefabs/hit-blue-1.prefab + sparkAnchor: 1 + sparkOffset: {x: 0, y: 0, z: 0} + multiSparks: 0 + spark2Path: + spark2Anchor: 0 + spark2Offset: {x: 0, y: 0, z: 0} + spark3Path: + spark3Anchor: 0 + spark3Offset: {x: 0, y: 0, z: 0} + selfEffect: 0 + otherEffect: 0 + zoomCamera: 0 + shakeScreen: 0 + shakeOffset: {x: 0, y: 0} + shakeStrength: 0 + colorDrift: 0 + blur: 0 + soundPath: + useGravity: 0 + multiple: 0 + frames: + - frame: 12 + active: 1 + position: {x: 1.07, y: 0.74, z: 0} + size: {x: 1, y: 1.41, z: 1} + - frame: 15 + active: 1 + position: {x: 0.77, y: 0.65, z: 0} + size: {x: 0.5, y: 1, z: 1} throwBoxes: [] blockBoxes: [] defendBoxes: [] diff --git a/Assets/Bundle/Unit/PC/Erika/Materials/AfterImage.meta b/Assets/Bundle/Unit/PC/Erika/Materials/AfterImage.meta new file mode 100644 index 00000000..1d22d5d2 --- /dev/null +++ b/Assets/Bundle/Unit/PC/Erika/Materials/AfterImage.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e777b7b5be18d4e4092e116011158c68 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/Erika/Materials/Normal.meta b/Assets/Bundle/Unit/PC/Erika/Materials/Normal.meta new file mode 100644 index 00000000..8c41a6b2 --- /dev/null +++ b/Assets/Bundle/Unit/PC/Erika/Materials/Normal.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..11148d17 --- /dev/null +++ b/Assets/Bundle/Unit/PC/Erika/Models.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..7d4b13eb --- /dev/null +++ b/Assets/Bundle/Unit/PC/Erika/UnitData.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 922befa8a94692845b88500a23229d7f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/Erika/Weapons/Materials.meta b/Assets/Bundle/Unit/PC/Erika/Weapons/Materials.meta deleted file mode 100644 index be6badd6..00000000 --- a/Assets/Bundle/Unit/PC/Erika/Weapons/Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2c46a5a23283c7d428ae8bb13663ab6a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Bundle/Unit/PC/ErikaCyborg/ActionData.meta b/Assets/Bundle/Unit/PC/ErikaCyborg/ActionData.meta new file mode 100644 index 00000000..f5434a00 --- /dev/null +++ b/Assets/Bundle/Unit/PC/ErikaCyborg/ActionData.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..4ed2c938 --- /dev/null +++ b/Assets/Bundle/Unit/PC/ErikaCyborg/AnimationClip.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..43a52cd1 --- /dev/null +++ b/Assets/Bundle/Unit/PC/ErikaCyborg/AnimationData.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..85d58a8c --- /dev/null +++ b/Assets/Bundle/Unit/PC/ErikaCyborg/Materials/AfterImage.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..dd867045 --- /dev/null +++ b/Assets/Bundle/Unit/PC/ErikaCyborg/Materials/Normal.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..dc530723 --- /dev/null +++ b/Assets/Bundle/Unit/PC/ErikaCyborg/Models.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..b28b6f04 --- /dev/null +++ b/Assets/Bundle/Unit/PC/ErikaCyborg/RootMotion.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..eeca0d3b --- /dev/null +++ b/Assets/Bundle/Unit/PC/ErikaCyborg/UnitData.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..7f91da28 --- /dev/null +++ b/Assets/Bundle/Unit/PC/ErikaCyborg/Weapons.meta @@ -0,0 +1,8 @@ +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 new file mode 100644 index 00000000..affd6eed --- /dev/null +++ b/Assets/Bundle/Unit/Prop.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dafc173db1ebeab4c80641cc3d4fa528 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Data/ActionData.meta b/Assets/Data/ActionData.meta new file mode 100644 index 00000000..48dd5af5 --- /dev/null +++ b/Assets/Data/ActionData.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4e712aac7b9add047ab7a8691dd1a17a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Data/AnimationData/Erika.meta b/Assets/Data/AnimationData/Erika.meta new file mode 100644 index 00000000..10bf1fb1 --- /dev/null +++ b/Assets/Data/AnimationData/Erika.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 02289cc4b0fe1c34988c293ff6dbca02 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Data/RootMotionData/Erika.meta b/Assets/Data/RootMotionData/Erika.meta new file mode 100644 index 00000000..57b03e09 --- /dev/null +++ b/Assets/Data/RootMotionData/Erika.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2c4e05f9eb0abc949a472e82070dfef1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Data/UnitData.meta b/Assets/Data/UnitData.meta new file mode 100644 index 00000000..d0809213 --- /dev/null +++ b/Assets/Data/UnitData.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5bdb120d934aa114ab2f20e111a3c4d2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Demo/AnimationEditScene.unity b/Assets/Scenes/Demo/AnimationEditScene.unity index 363684f0..98de09d6 100644 --- a/Assets/Scenes/Demo/AnimationEditScene.unity +++ b/Assets/Scenes/Demo/AnimationEditScene.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.18028334, g: 0.22571328, b: 0.3069217, a: 1} + m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: diff --git a/Assets/Scripts/Props.meta b/Assets/Scripts/Props.meta new file mode 100644 index 00000000..bb96602e --- /dev/null +++ b/Assets/Scripts/Props.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f299520ed9fcf4a45858ad4ef5a8d5d1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Scene.meta b/Assets/Scripts/Scene.meta new file mode 100644 index 00000000..eb7a8716 --- /dev/null +++ b/Assets/Scripts/Scene.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eaee2d0f48cff9b40baf0686a8105600 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Unit/Collider/ColliderBox_Hitbox.cs b/Assets/Scripts/Unit/Collider/ColliderBox_Hitbox.cs index be0749fd..2044ae7d 100644 --- a/Assets/Scripts/Unit/Collider/ColliderBox_Hitbox.cs +++ b/Assets/Scripts/Unit/Collider/ColliderBox_Hitbox.cs @@ -37,14 +37,25 @@ public partial class ColliderBox Red = 2, } + // 击中反馈 + public enum EHitResponse + { + Light = 0, + Heavy = 1, + HitAir = 2, + HitGround = 3 + } + [ColliderType(EColliderType.HitBox)] [Tooltip("允许多次击中")] public bool multiHit; + public EHitResponse hitResponse; + [Tooltip("击退距离")] public Vector3 hitBack; - + [Comment("[ 击中效果 ]", TextAnchor.MiddleCenter)] [Foldout("时间效果", 2)] diff --git a/Assets/Scripts/Unit/Collider/CollisionSystem.cs b/Assets/Scripts/Unit/Collider/CollisionSystem.cs index efbb2784..d5c96d0c 100644 --- a/Assets/Scripts/Unit/Collider/CollisionSystem.cs +++ b/Assets/Scripts/Unit/Collider/CollisionSystem.cs @@ -8,10 +8,18 @@ public struct ColliderDescriptor public UnitCollider unitCollider; } +public struct Box +{ + public Vector3 center; + public Vector3 size; +} + public struct CollisionInfo { - ColliderDescriptor collider; // 主动 - ColliderDescriptor collidee; // 从动 + public ColliderDescriptor collider; // 主动 + public ColliderDescriptor collidee; // 从动 + public Box intersection; + public bool isCollision; } public class CollisionSystem : SingletonMB @@ -77,10 +85,19 @@ public class CollisionSystem : SingletonMB for (int j = 0; j < hurtboxes.Count; ++j) { ColliderDescriptor hurtbox = hurtboxes[j]; - if (hitbox.unitCollider == hurtbox.unitCollider) // 同一个角色的hitbox和hurtbox不交互 - continue; - - } + if (hitbox.unitCollider == hurtbox.unitCollider) + continue; + if (hitbox.unitCollider.owner.type == hurtbox.unitCollider.owner.type) + continue; + CollisionInfo collision = ColliderUtility.GetCollision(hitbox, hurtbox); + if (!collision.isCollision) + continue; + if (!hitbox.unitCollider.CanCollide(hitbox.colliderInfo.colliderHash, hurtbox.unitCollider.owner.GetHashCode())) + continue; + hitbox.unitCollider.RecordCollision(hitbox.colliderInfo.colliderHash, hurtbox.unitCollider.owner.GetHashCode()); + hitbox.unitCollider.owner.OnHit(collision); + hurtbox.unitCollider.owner.OnGetHit(collision); + } } ListPool.Release(hitboxes); @@ -105,4 +122,85 @@ public class CollisionSystem : SingletonMB } + private void OnDrawGizmos() + { + } + } + +public static class ColliderUtility +{ + public static CollisionInfo GetCollision(ColliderDescriptor collider, ColliderDescriptor collidee) + { + CollisionInfo collision = new CollisionInfo(); + collision.collider = collider; + collision.collidee = collidee; + Box colliderBox = GetColliderInWorldSpace(collider); + Box collideeBox = GetColliderInWorldSpace(collidee); + Box intersection = GetIntersection(colliderBox, collideeBox); + collision.intersection = intersection; + collision.isCollision = intersection.size.magnitude != 0; + return collision; + } + + public static Box GetColliderInWorldSpace(ColliderDescriptor collider) + { + Box box = new Box(); + Vector3 fac = new Vector3(1, 1, collider.unitCollider.owner.transform.forward.normalized == Vector3.forward ? 1 : -1); + Vector3 unitPos = collider.unitCollider.owner.transform.position; + Vector3 pos = Vector3.zero; // gizmo位置 + Vector3 localPos = collider.colliderInfo.position; + Vector3 localSize = collider.colliderInfo.size; + var pivot = collider.colliderInfo.pivot; + switch (pivot) + { + case ColliderBox.Pivot.MiddleBottom: + localPos.y += localSize.y / 2; + break; + } + pos = unitPos + Vector3.Scale(localPos, fac); + box.center = pos; + box.size = localSize; + return box; + } + + public static Box GetIntersection(Box b1, Box b2) + { + bool isIntersection = true; + + float l1 = b1.center.x - b1.size.x / 2; + float r1 = b1.center.x + b1.size.x / 2; + float l2 = b2.center.x - b2.size.x / 2; + float r2 = b2.center.x + b2.size.x / 2; + isIntersection &= r1 >= l2 && l1 <= r2; + + float o1 = b1.center.y - b1.size.y / 2; + float t1 = b1.center.y + b1.size.y / 2; + float o2 = b2.center.y - b2.size.y / 2; + float t2 = b2.center.y + b2.size.y / 2; + isIntersection &= t1 >= o2 && o1 <= t2; + + float c1 = b1.center.z - b1.size.z / 2; + float f1 = b1.center.z + b1.size.z / 2; + float c2 = b2.center.z - b2.size.z / 2; + float f2 = b2.center.z + b2.size.z / 2; + isIntersection &= f1 >= c2 && c1 <= f2; + + if(!isIntersection) + { + return new Box(); + } + + Box box = new Box(); + float l = Mathf.Max(l1, l2); + float r = Mathf.Min(r1, r2); + float b = Mathf.Max(o1, o2); + float t = Mathf.Min(t1, t2); + float c = Mathf.Max(c1, c2); + float f = Mathf.Max(f1, f2); + box.center = new Vector3((l + r) / 2, (b + t) / 2, (c + f) / 2 ); + box.size = new Vector3(r - l, t - b, f - c); + return box; + } + +} \ No newline at end of file diff --git a/Assets/Scripts/Unit/Component/MonsterAnimation.cs b/Assets/Scripts/Unit/Component/MonsterAnimation.cs index f536c5ef..a59443e0 100644 --- a/Assets/Scripts/Unit/Component/MonsterAnimation.cs +++ b/Assets/Scripts/Unit/Component/MonsterAnimation.cs @@ -86,9 +86,15 @@ public class MonsterAnimation : UnitAnimation m_Owner.unitRootMotion.UpdateRootMotion(); } - public void AnimIdle() { m_Animator.CrossFade("Idle", 0.2f, 0); } + + public void AnimHitLight() + { + m_Animator.Play("HitLight", 0, 0); + //m_Animator.CrossFade("HitLight", 0.05f, 0, 0, 0); + } + } diff --git a/Assets/Scripts/Unit/Component/MonsterState.cs b/Assets/Scripts/Unit/Component/MonsterState.cs index 2beba0d5..b1ff9cbd 100644 --- a/Assets/Scripts/Unit/Component/MonsterState.cs +++ b/Assets/Scripts/Unit/Component/MonsterState.cs @@ -14,6 +14,7 @@ public class MonsterState : UnitState Move, + HitLight, HitAir, HitGround, HitFall, @@ -73,23 +74,25 @@ public class MonsterState : UnitState public struct LandingParam { } + public struct HitLightParam { } + #region Idle IEnumerator Idle(IdleParam param) { - if (m_Owner.isInAir) // 浮空切换到landing - { - ChangeState(EUnitState.Landing, new LandingParam()); - } - else // idle - { + //if (m_Owner.isInAir) // 浮空切换到landing + //{ + // ChangeState(EUnitState.Landing, new LandingParam()); + //} + //else // idle + //{ m_Owner.SetYPosition(0); m_Owner.monsterAnimation.AnimIdle(); while (true) { yield return null; } - } + //} } void OnIdleExit(EUnitState nextState) @@ -97,5 +100,28 @@ public class MonsterState : UnitState } #endregion + #region HitLight + + IEnumerator HitLight(HitLightParam param) + { + m_Owner.monsterAnimation.AnimHitLight(); + yield return null; + while (true) + { + bool reachEnd = m_Owner.monsterAnimation.layers[0].playbackNomralizedTime == 1; + if(reachEnd) + { + ChangeState(EUnitState.Idle, new IdleParam()); + } + yield return null; + } + } + + void OnHitLightExit(EUnitState nextState) + { + } + + #endregion + } \ No newline at end of file diff --git a/Assets/Scripts/Unit/Component/PCAnimation.cs b/Assets/Scripts/Unit/Component/PCAnimation.cs index 878c9b7c..9c2a77ec 100644 --- a/Assets/Scripts/Unit/Component/PCAnimation.cs +++ b/Assets/Scripts/Unit/Component/PCAnimation.cs @@ -152,6 +152,7 @@ public class PCAnimation : UnitAnimation public void AnimAirAttack(int id) { + m_Owner.unitCollider.OnAnimationChange(); #if ANIM_CROSS_FADE m_Animator.CrossFade("AirAttack" + id, 0.05f); #else @@ -162,6 +163,7 @@ public class PCAnimation : UnitAnimation public void AnimAttack(int id) { + m_Owner.unitCollider.OnAnimationChange(); m_Animator.CrossFade("Attack" + id, 0.05f); } diff --git a/Assets/Scripts/Unit/Component/UnitCollider.cs b/Assets/Scripts/Unit/Component/UnitCollider.cs index 8813ccef..f3170d1b 100644 --- a/Assets/Scripts/Unit/Component/UnitCollider.cs +++ b/Assets/Scripts/Unit/Component/UnitCollider.cs @@ -50,17 +50,27 @@ public class UnitCollider : UnitComponent public void OnAnimationChange() { hitMask.Clear(); - } - public void RecordCollision() + public void RecordCollision(int colliderHash, int targetHash) { + List record; + if (!hitMask.TryGetValue(colliderHash, out record)) + { + record = new List(); + hitMask.Add(colliderHash, record); + } + record.Add(targetHash); + } - } - - public bool CanCollide() + public bool CanCollide(int colliderHash, int targetHash) { - return true; + List record; + if(!hitMask.TryGetValue(colliderHash, out record)) + { + return true; + } + return !record.Contains(targetHash); } #if UNITY_EDITOR diff --git a/Assets/Scripts/Unit/Controller/MonsterController.cs b/Assets/Scripts/Unit/Controller/MonsterController.cs index ba738dfc..29ac9dcd 100644 --- a/Assets/Scripts/Unit/Controller/MonsterController.cs +++ b/Assets/Scripts/Unit/Controller/MonsterController.cs @@ -1,9 +1,21 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +#if UNITY_EDITOR +using UnityEditor; +#endif public class MonsterController : UnitController { + public override UnitType type { get { return UnitType.Monster; } } + + public Vector3 center + { + get + { + return GetComponentInChildren().bounds.center; + } + } public override void Initialize(GameObject obj, string folder) { @@ -19,9 +31,34 @@ public class MonsterController : UnitController public override void Update() { base.Update(); + } - + public override void OnHit(CollisionInfo info) + { } + public override void OnGetHit(CollisionInfo info) + { + ColliderBox hitbox = info.collider.colliderInfo.collider; + Debug.Assert(hitbox.type == ColliderBox.EColliderType.HitBox); + + if(hitbox.hitResponse == ColliderBox.EHitResponse.Light) + { + monsterState.ChangeState(MonsterState.EUnitState.HitLight, new MonsterState.HitLightParam()); + } + else if(hitbox.hitResponse == ColliderBox.EHitResponse.HitAir) + { + } + + string path = hitbox.sparkPath; +#if UNITY_EDITOR + GameObject vfx = AssetDatabase.LoadAssetAtPath(path); + if(vfx != null) + { + GameObject go = GameObject.Instantiate(vfx); + go.transform.position = center; + } +#endif + } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Unit/Controller/PCController.cs b/Assets/Scripts/Unit/Controller/PCController.cs index 5ad3abc1..93228d31 100644 --- a/Assets/Scripts/Unit/Controller/PCController.cs +++ b/Assets/Scripts/Unit/Controller/PCController.cs @@ -8,7 +8,9 @@ public class PCController : UnitController { public static PCController instance; - private void Awake() + public override UnitType type { get { return UnitType.PC; } } + + private void Awake() { instance = this; } @@ -29,4 +31,21 @@ public class PCController : UnitController base.Update(); } + public override void OnHit(CollisionInfo info) + { + } + + public override void OnGetHit(CollisionInfo info) + { + } + + public override void OnGrab() + { + } + + public override void OnPull() + { + } + + } diff --git a/Assets/Scripts/Unit/Controller/UnitController.cs b/Assets/Scripts/Unit/Controller/UnitController.cs index b1db29d4..3568cb4e 100644 --- a/Assets/Scripts/Unit/Controller/UnitController.cs +++ b/Assets/Scripts/Unit/Controller/UnitController.cs @@ -11,6 +11,15 @@ using UnityEngine; public class UnitController : MonoBehaviour/*, Interactable*/ { + public enum UnitType + { + PC, + Monster, + Prop, + } + + public virtual UnitType type { get; } + // 角色共有的组件 public UnitRender unitRender; @@ -106,11 +115,11 @@ public class UnitController : MonoBehaviour/*, Interactable*/ { } - public virtual void OnHit() + public virtual void OnHit(CollisionInfo info) { } - public virtual void OnHurt() + public virtual void OnGetHit(CollisionInfo info) { } @@ -118,6 +127,9 @@ public class UnitController : MonoBehaviour/*, Interactable*/ { } + public virtual void OnPull() + { + } public void SetYPosition(float y) { diff --git a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Editor.meta b/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Editor.meta deleted file mode 100644 index fc69e121..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6b4092aee1925294286c91c8b2f0246b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Functions.meta b/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Functions.meta deleted file mode 100644 index 16dceda0..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Functions.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7f677b222bd908a4eb6e8b6f446f0c95 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Includes.meta b/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Includes.meta deleted file mode 100644 index 3feeaa0c..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Includes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f65f99730f449cd42b5428ed33579276 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines.meta b/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines.meta deleted file mode 100644 index d2cc8de3..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Pipelines.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0d1d19a8d9a9258489a54453cbd409bf -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Resources.meta b/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Resources.meta deleted file mode 100644 index 60091bee..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Resources.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5fa002e3b21354f4b847ab441877ecda -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Runtime.meta b/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Runtime.meta deleted file mode 100644 index c50ca514..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c9c840958f8546c4e9667f0757d8557a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Shaders.meta b/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Shaders.meta deleted file mode 100644 index 20eca756..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Core/Shaders.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0f14f2cbed5e00a40a3fa94241cf6c27 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Animation.meta b/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Animation.meta deleted file mode 100644 index 35b83bfb..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Animation.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5e705a58e98ec1a409129eb57fa15477 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Materials.meta b/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Materials.meta deleted file mode 100644 index 88f9f501..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c77d30703ebcc5c4bbb57517b133b0f4 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Shaders.meta b/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Shaders.meta deleted file mode 100644 index 4d33dc86..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Atmospheric Height Fog/Demo/Shaders.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 142685877fe50f64caba63abfda167a7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/User.meta b/Assets/ThirdParty/BOXOPHOBIC/User.meta deleted file mode 100644 index 293c8b38..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/User.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f0aa5379d96b0e14795df45a380643fb -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/Constants.meta b/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/Constants.meta deleted file mode 100644 index a5ee5a64..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/Constants.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4c9d2f06234e7e643b2118057d8e0673 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/SettingsUtils.meta b/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/SettingsUtils.meta deleted file mode 100644 index 3fdad1c4..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/SettingsUtils.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6fcf51a07e84ca941a62046a0b693a19 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledGUI.meta b/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledGUI.meta deleted file mode 100644 index 94757653..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledGUI.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 28d59ef8b8ebe8d48a3a27e990a2d7e9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledInspector.meta b/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledInspector.meta deleted file mode 100644 index d2c0b7b4..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledInspector.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: edc7fbbe770e693488770a7aaeae2aa6 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledMaterial.meta b/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledMaterial.meta deleted file mode 100644 index 069be515..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledMaterial.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8ed975ceb335a144c93320e22ae1780a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledMono.meta b/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledMono.meta deleted file mode 100644 index 7ea21e4b..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Utils/Editor/StyledMono.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5a3babbb69c72f8419243020c0dfb70b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Utils/Resources.meta b/Assets/ThirdParty/BOXOPHOBIC/Utils/Resources.meta deleted file mode 100644 index f2a1c8a6..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Utils/Resources.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cd6738b410016744eaf6e182174c0b2b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/SettingsUtils.meta b/Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/SettingsUtils.meta deleted file mode 100644 index 50e68eff..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/SettingsUtils.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f32bd65977ebf9049bd5e40e18d1556c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/StyledInspector.meta b/Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/StyledInspector.meta deleted file mode 100644 index 68664862..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/StyledInspector.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 151a76ee3bec1ae449cd56f31d474de5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/StyledMono.meta b/Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/StyledMono.meta deleted file mode 100644 index aab2c856..00000000 --- a/Assets/ThirdParty/BOXOPHOBIC/Utils/Scripts/StyledMono.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3ae8613087e217249a69059295113b1c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -- cgit v1.1-26-g67d0