├── .gitignore ├── .vsconfig ├── Assets ├── MecanimEventSystem.meta └── MecanimEventSystem │ ├── Example.meta │ ├── Example │ ├── AnimClips.meta │ ├── AnimClips │ │ ├── Clone.meta │ │ ├── Clone │ │ │ ├── Idle.anim │ │ │ ├── Idle.anim.meta │ │ │ ├── Left.anim │ │ │ ├── Left.anim.meta │ │ │ ├── Right.anim │ │ │ ├── Right.anim.meta │ │ │ ├── Rotate.anim │ │ │ └── Rotate.anim.meta │ │ ├── Cube.controller │ │ ├── Cube.controller.meta │ │ ├── EventListener.cs │ │ ├── EventListener.cs.meta │ │ ├── Idle.anim │ │ ├── Idle.anim.meta │ │ ├── Left.anim │ │ ├── Left.anim.meta │ │ ├── Right.anim │ │ ├── Right.anim.meta │ │ ├── Rotate.anim │ │ ├── Rotate.anim.meta │ │ ├── Test.unity │ │ └── Test.unity.meta │ ├── TestForAwait.meta │ ├── TestForAwait │ │ ├── Collapse.anim │ │ ├── Collapse.anim.meta │ │ ├── Cube.controller │ │ ├── Cube.controller.meta │ │ ├── Expand.anim │ │ ├── Expand.anim.meta │ │ ├── Test.cs │ │ ├── Test.cs.meta │ │ ├── TestForAwait.unity │ │ ├── TestForAwait.unity.meta │ │ ├── idel.anim │ │ └── idel.anim.meta │ ├── com.zframework.events.examples.asmdef │ └── com.zframework.events.examples.asmdef.meta │ ├── Runtime.meta │ └── Runtime │ ├── Async.meta │ ├── Async │ ├── AnimatorAwaitEx.cs │ ├── MESCustomAwaiter.cs │ └── MESCustomAwaiter.cs.meta │ ├── CallbackListener.cs │ ├── CallbackListener.cs.meta │ ├── EventExtension.cs │ ├── EventExtension.cs.meta │ ├── EventHandler.cs │ ├── EventHandler.cs.meta │ ├── EventInfo.cs │ ├── EventInfo.cs.meta │ ├── EventState.cs │ ├── EventState.cs.meta │ ├── Helper.meta │ ├── Helper │ ├── AnimatorHelper.cs │ └── AnimatorHelper.cs.meta │ ├── com.zframework.events.runtime.asmdef │ └── com.zframework.events.runtime.asmdef.meta ├── LICENSE ├── Packages ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── AutoStreamingSettings.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── MemorySettings.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── SceneTemplateSettings.json ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset └── boot.config ├── README.md └── doc ├── mce-await.gif └── mce-normal.gif /.gitignore: -------------------------------------------------------------------------------- 1 | [Ll]ibrary/ 2 | [Tt]emp/ 3 | [Oo]bj/ 4 | [Bb]uild/ 5 | [Bb]uilds/ 6 | [Ll]ogs/ 7 | [Uu]serSettings/ 8 | Assets/AssetStoreTools* 9 | 10 | # Visual Studio cache directory 11 | .vs/ 12 | 13 | # Autogenerated VS/MD/Consulo solution and project files 14 | ExportedObj/ 15 | .consulo/ 16 | *.csproj 17 | *.unityproj 18 | *.sln 19 | *.suo 20 | *.tmp 21 | *.user 22 | *.userprefs 23 | *.pidb 24 | *.booproj 25 | *.svd 26 | *.pdb 27 | *.opendb 28 | 29 | # Unity3D generated meta files 30 | *.pidb.meta 31 | *.pdb.meta 32 | 33 | # Unity3D Generated File On Crash Reports 34 | sysinfo.txt 35 | 36 | # Builds 37 | *.apk 38 | *.unitypackage 39 | -------------------------------------------------------------------------------- /.vsconfig: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "components": [ 4 | "Microsoft.VisualStudio.Workload.ManagedGame" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 33555d726cb533643ae351e9b8a2f5d7 3 | folderAsset: yes 4 | timeCreated: 1553261280 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 940921bd411ac1c47ab5f3215f8eea10 3 | folderAsset: yes 4 | timeCreated: 1553268504 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e8368ffd9d445de49af98e6b5d530096 3 | folderAsset: yes 4 | timeCreated: 1525173742 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Clone.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78d024bcd630fc24b9ae8a63b1fe69dd 3 | folderAsset: yes 4 | timeCreated: 1525183993 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Clone/Idle.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Idle 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: 16 | - curve: 17 | serializedVersion: 2 18 | m_Curve: 19 | - serializedVersion: 2 20 | time: 0 21 | value: {x: 0, y: 0, z: 0} 22 | inSlope: {x: 0, y: 0, z: 0} 23 | outSlope: {x: 0, y: 0, z: 0} 24 | tangentMode: 0 25 | m_PreInfinity: 2 26 | m_PostInfinity: 2 27 | m_RotationOrder: 4 28 | path: 29 | m_PositionCurves: 30 | - curve: 31 | serializedVersion: 2 32 | m_Curve: 33 | - serializedVersion: 2 34 | time: 0 35 | value: {x: 0, y: 0, z: 0} 36 | inSlope: {x: 0, y: 0, z: 0} 37 | outSlope: {x: 0, y: 0, z: 0} 38 | tangentMode: 0 39 | m_PreInfinity: 2 40 | m_PostInfinity: 2 41 | m_RotationOrder: 4 42 | path: 43 | m_ScaleCurves: [] 44 | m_FloatCurves: [] 45 | m_PPtrCurves: [] 46 | m_SampleRate: 60 47 | m_WrapMode: 0 48 | m_Bounds: 49 | m_Center: {x: 0, y: 0, z: 0} 50 | m_Extent: {x: 0, y: 0, z: 0} 51 | m_ClipBindingConstant: 52 | genericBindings: 53 | - serializedVersion: 2 54 | path: 0 55 | attribute: 1 56 | script: {fileID: 0} 57 | typeID: 4 58 | customType: 0 59 | isPPtrCurve: 0 60 | - serializedVersion: 2 61 | path: 0 62 | attribute: 4 63 | script: {fileID: 0} 64 | typeID: 4 65 | customType: 4 66 | isPPtrCurve: 0 67 | pptrCurveMapping: [] 68 | m_AnimationClipSettings: 69 | serializedVersion: 2 70 | m_AdditiveReferencePoseClip: {fileID: 0} 71 | m_AdditiveReferencePoseTime: 0 72 | m_StartTime: 0 73 | m_StopTime: 0 74 | m_OrientationOffsetY: 0 75 | m_Level: 0 76 | m_CycleOffset: 0 77 | m_HasAdditiveReferencePose: 0 78 | m_LoopTime: 0 79 | m_LoopBlend: 0 80 | m_LoopBlendOrientation: 0 81 | m_LoopBlendPositionY: 0 82 | m_LoopBlendPositionXZ: 0 83 | m_KeepOriginalOrientation: 0 84 | m_KeepOriginalPositionY: 1 85 | m_KeepOriginalPositionXZ: 0 86 | m_HeightFromFeet: 0 87 | m_Mirror: 0 88 | m_EditorCurves: 89 | - curve: 90 | serializedVersion: 2 91 | m_Curve: 92 | - serializedVersion: 2 93 | time: 0 94 | value: 0 95 | inSlope: 0 96 | outSlope: 0 97 | tangentMode: 136 98 | m_PreInfinity: 2 99 | m_PostInfinity: 2 100 | m_RotationOrder: 4 101 | attribute: m_LocalPosition.x 102 | path: 103 | classID: 4 104 | script: {fileID: 0} 105 | - curve: 106 | serializedVersion: 2 107 | m_Curve: 108 | - serializedVersion: 2 109 | time: 0 110 | value: 0 111 | inSlope: 0 112 | outSlope: 0 113 | tangentMode: 136 114 | m_PreInfinity: 2 115 | m_PostInfinity: 2 116 | m_RotationOrder: 4 117 | attribute: m_LocalPosition.y 118 | path: 119 | classID: 4 120 | script: {fileID: 0} 121 | - curve: 122 | serializedVersion: 2 123 | m_Curve: 124 | - serializedVersion: 2 125 | time: 0 126 | value: 0 127 | inSlope: 0 128 | outSlope: 0 129 | tangentMode: 136 130 | m_PreInfinity: 2 131 | m_PostInfinity: 2 132 | m_RotationOrder: 4 133 | attribute: m_LocalPosition.z 134 | path: 135 | classID: 4 136 | script: {fileID: 0} 137 | - curve: 138 | serializedVersion: 2 139 | m_Curve: 140 | - serializedVersion: 2 141 | time: 0 142 | value: 0 143 | inSlope: 0 144 | outSlope: 0 145 | tangentMode: 136 146 | m_PreInfinity: 2 147 | m_PostInfinity: 2 148 | m_RotationOrder: 4 149 | attribute: localEulerAnglesRaw.x 150 | path: 151 | classID: 4 152 | script: {fileID: 0} 153 | - curve: 154 | serializedVersion: 2 155 | m_Curve: 156 | - serializedVersion: 2 157 | time: 0 158 | value: 0 159 | inSlope: 0 160 | outSlope: 0 161 | tangentMode: 136 162 | m_PreInfinity: 2 163 | m_PostInfinity: 2 164 | m_RotationOrder: 4 165 | attribute: localEulerAnglesRaw.y 166 | path: 167 | classID: 4 168 | script: {fileID: 0} 169 | - curve: 170 | serializedVersion: 2 171 | m_Curve: 172 | - serializedVersion: 2 173 | time: 0 174 | value: 0 175 | inSlope: 0 176 | outSlope: 0 177 | tangentMode: 136 178 | m_PreInfinity: 2 179 | m_PostInfinity: 2 180 | m_RotationOrder: 4 181 | attribute: localEulerAnglesRaw.z 182 | path: 183 | classID: 4 184 | script: {fileID: 0} 185 | m_EulerEditorCurves: 186 | - curve: 187 | serializedVersion: 2 188 | m_Curve: [] 189 | m_PreInfinity: 2 190 | m_PostInfinity: 2 191 | m_RotationOrder: 4 192 | attribute: m_LocalEulerAngles.x 193 | path: 194 | classID: 4 195 | script: {fileID: 0} 196 | - curve: 197 | serializedVersion: 2 198 | m_Curve: [] 199 | m_PreInfinity: 2 200 | m_PostInfinity: 2 201 | m_RotationOrder: 4 202 | attribute: m_LocalEulerAngles.y 203 | path: 204 | classID: 4 205 | script: {fileID: 0} 206 | - curve: 207 | serializedVersion: 2 208 | m_Curve: [] 209 | m_PreInfinity: 2 210 | m_PostInfinity: 2 211 | m_RotationOrder: 4 212 | attribute: m_LocalEulerAngles.z 213 | path: 214 | classID: 4 215 | script: {fileID: 0} 216 | m_HasGenericRootTransform: 1 217 | m_HasMotionFloatCurves: 0 218 | m_GenerateMotionCurves: 0 219 | m_Events: [] 220 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Clone/Idle.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 11c4cfc21806af14c84a48545781c988 3 | timeCreated: 1525184002 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 0 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Clone/Left.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Left 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: 17 | - curve: 18 | serializedVersion: 2 19 | m_Curve: 20 | - serializedVersion: 2 21 | time: 0 22 | value: {x: 0, y: 0, z: 0} 23 | inSlope: {x: 0, y: 0, z: 0} 24 | outSlope: {x: 0, y: 0, z: 0} 25 | tangentMode: 0 26 | - serializedVersion: 2 27 | time: 1 28 | value: {x: -4.17, y: 0, z: 0} 29 | inSlope: {x: 0, y: 0, z: 0} 30 | outSlope: {x: 0, y: 0, z: 0} 31 | tangentMode: 0 32 | m_PreInfinity: 2 33 | m_PostInfinity: 2 34 | m_RotationOrder: 4 35 | path: 36 | m_ScaleCurves: [] 37 | m_FloatCurves: [] 38 | m_PPtrCurves: [] 39 | m_SampleRate: 60 40 | m_WrapMode: 0 41 | m_Bounds: 42 | m_Center: {x: 0, y: 0, z: 0} 43 | m_Extent: {x: 0, y: 0, z: 0} 44 | m_ClipBindingConstant: 45 | genericBindings: 46 | - serializedVersion: 2 47 | path: 0 48 | attribute: 1 49 | script: {fileID: 0} 50 | typeID: 4 51 | customType: 0 52 | isPPtrCurve: 0 53 | pptrCurveMapping: [] 54 | m_AnimationClipSettings: 55 | serializedVersion: 2 56 | m_AdditiveReferencePoseClip: {fileID: 0} 57 | m_AdditiveReferencePoseTime: 0 58 | m_StartTime: 0 59 | m_StopTime: 1 60 | m_OrientationOffsetY: 0 61 | m_Level: 0 62 | m_CycleOffset: 0 63 | m_HasAdditiveReferencePose: 0 64 | m_LoopTime: 0 65 | m_LoopBlend: 0 66 | m_LoopBlendOrientation: 0 67 | m_LoopBlendPositionY: 0 68 | m_LoopBlendPositionXZ: 0 69 | m_KeepOriginalOrientation: 0 70 | m_KeepOriginalPositionY: 1 71 | m_KeepOriginalPositionXZ: 0 72 | m_HeightFromFeet: 0 73 | m_Mirror: 0 74 | m_EditorCurves: 75 | - curve: 76 | serializedVersion: 2 77 | m_Curve: 78 | - serializedVersion: 2 79 | time: 0 80 | value: 0 81 | inSlope: 0 82 | outSlope: 0 83 | tangentMode: 136 84 | - serializedVersion: 2 85 | time: 1 86 | value: -4.17 87 | inSlope: 0 88 | outSlope: 0 89 | tangentMode: 136 90 | m_PreInfinity: 2 91 | m_PostInfinity: 2 92 | m_RotationOrder: 4 93 | attribute: m_LocalPosition.x 94 | path: 95 | classID: 4 96 | script: {fileID: 0} 97 | - curve: 98 | serializedVersion: 2 99 | m_Curve: 100 | - serializedVersion: 2 101 | time: 0 102 | value: 0 103 | inSlope: 0 104 | outSlope: 0 105 | tangentMode: 136 106 | - serializedVersion: 2 107 | time: 1 108 | value: 0 109 | inSlope: 0 110 | outSlope: 0 111 | tangentMode: 136 112 | m_PreInfinity: 2 113 | m_PostInfinity: 2 114 | m_RotationOrder: 4 115 | attribute: m_LocalPosition.y 116 | path: 117 | classID: 4 118 | script: {fileID: 0} 119 | - curve: 120 | serializedVersion: 2 121 | m_Curve: 122 | - serializedVersion: 2 123 | time: 0 124 | value: 0 125 | inSlope: 0 126 | outSlope: 0 127 | tangentMode: 136 128 | - serializedVersion: 2 129 | time: 1 130 | value: 0 131 | inSlope: 0 132 | outSlope: 0 133 | tangentMode: 136 134 | m_PreInfinity: 2 135 | m_PostInfinity: 2 136 | m_RotationOrder: 4 137 | attribute: m_LocalPosition.z 138 | path: 139 | classID: 4 140 | script: {fileID: 0} 141 | m_EulerEditorCurves: [] 142 | m_HasGenericRootTransform: 1 143 | m_HasMotionFloatCurves: 0 144 | m_GenerateMotionCurves: 0 145 | m_Events: [] 146 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Clone/Left.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d93f92a1fab66e54997d080f05745e7c 3 | timeCreated: 1525184002 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 0 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Clone/Right.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Right 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: [] 19 | m_PPtrCurves: [] 20 | m_SampleRate: 60 21 | m_WrapMode: 0 22 | m_Bounds: 23 | m_Center: {x: 0, y: 0, z: 0} 24 | m_Extent: {x: 0, y: 0, z: 0} 25 | m_ClipBindingConstant: 26 | genericBindings: [] 27 | pptrCurveMapping: [] 28 | m_AnimationClipSettings: 29 | serializedVersion: 2 30 | m_AdditiveReferencePoseClip: {fileID: 0} 31 | m_AdditiveReferencePoseTime: 0 32 | m_StartTime: 0 33 | m_StopTime: 1 34 | m_OrientationOffsetY: 0 35 | m_Level: 0 36 | m_CycleOffset: 0 37 | m_HasAdditiveReferencePose: 0 38 | m_LoopTime: 0 39 | m_LoopBlend: 0 40 | m_LoopBlendOrientation: 0 41 | m_LoopBlendPositionY: 0 42 | m_LoopBlendPositionXZ: 0 43 | m_KeepOriginalOrientation: 0 44 | m_KeepOriginalPositionY: 1 45 | m_KeepOriginalPositionXZ: 0 46 | m_HeightFromFeet: 0 47 | m_Mirror: 0 48 | m_EditorCurves: [] 49 | m_EulerEditorCurves: [] 50 | m_HasGenericRootTransform: 0 51 | m_HasMotionFloatCurves: 0 52 | m_GenerateMotionCurves: 0 53 | m_Events: [] 54 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Clone/Right.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8791e2cf4ff7d84dae84fb20237bdf2 3 | timeCreated: 1525184002 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 0 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Clone/Rotate.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Rotate 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: 16 | - curve: 17 | serializedVersion: 2 18 | m_Curve: 19 | - serializedVersion: 2 20 | time: 0 21 | value: {x: 0, y: 0, z: 0} 22 | inSlope: {x: 0, y: 0, z: 0} 23 | outSlope: {x: 0, y: 0, z: 0} 24 | tangentMode: 0 25 | - serializedVersion: 2 26 | time: 1.1166667 27 | value: {x: 0, y: 180, z: 0} 28 | inSlope: {x: 0, y: 0, z: 0} 29 | outSlope: {x: 0, y: 0, z: 0} 30 | tangentMode: 0 31 | m_PreInfinity: 2 32 | m_PostInfinity: 2 33 | m_RotationOrder: 4 34 | path: 35 | m_PositionCurves: [] 36 | m_ScaleCurves: [] 37 | m_FloatCurves: [] 38 | m_PPtrCurves: [] 39 | m_SampleRate: 60 40 | m_WrapMode: 0 41 | m_Bounds: 42 | m_Center: {x: 0, y: 0, z: 0} 43 | m_Extent: {x: 0, y: 0, z: 0} 44 | m_ClipBindingConstant: 45 | genericBindings: 46 | - serializedVersion: 2 47 | path: 0 48 | attribute: 4 49 | script: {fileID: 0} 50 | typeID: 4 51 | customType: 4 52 | isPPtrCurve: 0 53 | pptrCurveMapping: [] 54 | m_AnimationClipSettings: 55 | serializedVersion: 2 56 | m_AdditiveReferencePoseClip: {fileID: 0} 57 | m_AdditiveReferencePoseTime: 0 58 | m_StartTime: 0 59 | m_StopTime: 1.1166667 60 | m_OrientationOffsetY: 0 61 | m_Level: 0 62 | m_CycleOffset: 0 63 | m_HasAdditiveReferencePose: 0 64 | m_LoopTime: 0 65 | m_LoopBlend: 0 66 | m_LoopBlendOrientation: 0 67 | m_LoopBlendPositionY: 0 68 | m_LoopBlendPositionXZ: 0 69 | m_KeepOriginalOrientation: 0 70 | m_KeepOriginalPositionY: 1 71 | m_KeepOriginalPositionXZ: 0 72 | m_HeightFromFeet: 0 73 | m_Mirror: 0 74 | m_EditorCurves: 75 | - curve: 76 | serializedVersion: 2 77 | m_Curve: 78 | - serializedVersion: 2 79 | time: 0 80 | value: 0 81 | inSlope: 0 82 | outSlope: 0 83 | tangentMode: 136 84 | - serializedVersion: 2 85 | time: 1.1166667 86 | value: 0 87 | inSlope: 0 88 | outSlope: 0 89 | tangentMode: 136 90 | m_PreInfinity: 2 91 | m_PostInfinity: 2 92 | m_RotationOrder: 4 93 | attribute: localEulerAnglesRaw.x 94 | path: 95 | classID: 4 96 | script: {fileID: 0} 97 | - curve: 98 | serializedVersion: 2 99 | m_Curve: 100 | - serializedVersion: 2 101 | time: 0 102 | value: 0 103 | inSlope: 0 104 | outSlope: 0 105 | tangentMode: 136 106 | - serializedVersion: 2 107 | time: 1.1166667 108 | value: 180 109 | inSlope: 0 110 | outSlope: 0 111 | tangentMode: 136 112 | m_PreInfinity: 2 113 | m_PostInfinity: 2 114 | m_RotationOrder: 4 115 | attribute: localEulerAnglesRaw.y 116 | path: 117 | classID: 4 118 | script: {fileID: 0} 119 | - curve: 120 | serializedVersion: 2 121 | m_Curve: 122 | - serializedVersion: 2 123 | time: 0 124 | value: 0 125 | inSlope: 0 126 | outSlope: 0 127 | tangentMode: 136 128 | - serializedVersion: 2 129 | time: 1.1166667 130 | value: 0 131 | inSlope: 0 132 | outSlope: 0 133 | tangentMode: 136 134 | m_PreInfinity: 2 135 | m_PostInfinity: 2 136 | m_RotationOrder: 4 137 | attribute: localEulerAnglesRaw.z 138 | path: 139 | classID: 4 140 | script: {fileID: 0} 141 | m_EulerEditorCurves: 142 | - curve: 143 | serializedVersion: 2 144 | m_Curve: [] 145 | m_PreInfinity: 2 146 | m_PostInfinity: 2 147 | m_RotationOrder: 4 148 | attribute: m_LocalEulerAngles.x 149 | path: 150 | classID: 4 151 | script: {fileID: 0} 152 | - curve: 153 | serializedVersion: 2 154 | m_Curve: [] 155 | m_PreInfinity: 2 156 | m_PostInfinity: 2 157 | m_RotationOrder: 4 158 | attribute: m_LocalEulerAngles.y 159 | path: 160 | classID: 4 161 | script: {fileID: 0} 162 | - curve: 163 | serializedVersion: 2 164 | m_Curve: [] 165 | m_PreInfinity: 2 166 | m_PostInfinity: 2 167 | m_RotationOrder: 4 168 | attribute: m_LocalEulerAngles.z 169 | path: 170 | classID: 4 171 | script: {fileID: 0} 172 | m_HasGenericRootTransform: 1 173 | m_HasMotionFloatCurves: 0 174 | m_GenerateMotionCurves: 0 175 | m_Events: [] 176 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Clone/Rotate.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a29ffc8d401a61741bedf9f3662c53fa 3 | timeCreated: 1525184002 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 0 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Cube.controller: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!91 &9100000 4 | AnimatorController: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Cube 9 | serializedVersion: 5 10 | m_AnimatorParameters: 11 | - m_Name: Left 12 | m_Type: 9 13 | m_DefaultFloat: 0 14 | m_DefaultInt: 0 15 | m_DefaultBool: 0 16 | m_Controller: {fileID: 9100000} 17 | - m_Name: Layer03 18 | m_Type: 9 19 | m_DefaultFloat: 0 20 | m_DefaultInt: 0 21 | m_DefaultBool: 0 22 | m_Controller: {fileID: 9100000} 23 | - m_Name: Rotate 24 | m_Type: 9 25 | m_DefaultFloat: 0 26 | m_DefaultInt: 0 27 | m_DefaultBool: 0 28 | m_Controller: {fileID: 9100000} 29 | m_AnimatorLayers: 30 | - serializedVersion: 5 31 | m_Name: Base Layer 32 | m_StateMachine: {fileID: 1107319828821943910} 33 | m_Mask: {fileID: 0} 34 | m_Motions: [] 35 | m_Behaviours: [] 36 | m_BlendingMode: 0 37 | m_SyncedLayerIndex: -1 38 | m_DefaultWeight: 0 39 | m_IKPass: 0 40 | m_SyncedLayerAffectsTiming: 0 41 | m_Controller: {fileID: 9100000} 42 | - serializedVersion: 5 43 | m_Name: Rotate 44 | m_StateMachine: {fileID: 1107747379828264652} 45 | m_Mask: {fileID: 0} 46 | m_Motions: [] 47 | m_Behaviours: [] 48 | m_BlendingMode: 0 49 | m_SyncedLayerIndex: -1 50 | m_DefaultWeight: 0 51 | m_IKPass: 0 52 | m_SyncedLayerAffectsTiming: 0 53 | m_Controller: {fileID: 9100000} 54 | - serializedVersion: 5 55 | m_Name: New Layer 56 | m_StateMachine: {fileID: 1107809297125866596} 57 | m_Mask: {fileID: 0} 58 | m_Motions: [] 59 | m_Behaviours: [] 60 | m_BlendingMode: 0 61 | m_SyncedLayerIndex: -1 62 | m_DefaultWeight: 0.39 63 | m_IKPass: 0 64 | m_SyncedLayerAffectsTiming: 0 65 | m_Controller: {fileID: 9100000} 66 | --- !u!1101 &1101080095709876384 67 | AnimatorStateTransition: 68 | m_ObjectHideFlags: 1 69 | m_PrefabParentObject: {fileID: 0} 70 | m_PrefabInternal: {fileID: 0} 71 | m_Name: 72 | m_Conditions: [] 73 | m_DstStateMachine: {fileID: 0} 74 | m_DstState: {fileID: 1102532515636888766} 75 | m_Solo: 0 76 | m_Mute: 0 77 | m_IsExit: 0 78 | serializedVersion: 3 79 | m_TransitionDuration: 0.25 80 | m_TransitionOffset: 0 81 | m_ExitTime: 0.75 82 | m_HasExitTime: 1 83 | m_HasFixedDuration: 1 84 | m_InterruptionSource: 0 85 | m_OrderedInterruption: 1 86 | m_CanTransitionToSelf: 1 87 | --- !u!1101 &1101147575417028766 88 | AnimatorStateTransition: 89 | m_ObjectHideFlags: 1 90 | m_PrefabParentObject: {fileID: 0} 91 | m_PrefabInternal: {fileID: 0} 92 | m_Name: 93 | m_Conditions: [] 94 | m_DstStateMachine: {fileID: 0} 95 | m_DstState: {fileID: 1102931236696990322} 96 | m_Solo: 0 97 | m_Mute: 0 98 | m_IsExit: 0 99 | serializedVersion: 3 100 | m_TransitionDuration: 0.25 101 | m_TransitionOffset: 0 102 | m_ExitTime: 0.75 103 | m_HasExitTime: 1 104 | m_HasFixedDuration: 1 105 | m_InterruptionSource: 0 106 | m_OrderedInterruption: 1 107 | m_CanTransitionToSelf: 1 108 | --- !u!1101 &1101168989826978318 109 | AnimatorStateTransition: 110 | m_ObjectHideFlags: 1 111 | m_PrefabParentObject: {fileID: 0} 112 | m_PrefabInternal: {fileID: 0} 113 | m_Name: 114 | m_Conditions: [] 115 | m_DstStateMachine: {fileID: 0} 116 | m_DstState: {fileID: 1102532515636888766} 117 | m_Solo: 0 118 | m_Mute: 0 119 | m_IsExit: 0 120 | serializedVersion: 3 121 | m_TransitionDuration: 0.25 122 | m_TransitionOffset: 0 123 | m_ExitTime: 0.7761194 124 | m_HasExitTime: 1 125 | m_HasFixedDuration: 1 126 | m_InterruptionSource: 0 127 | m_OrderedInterruption: 1 128 | m_CanTransitionToSelf: 1 129 | --- !u!1101 &1101227338627915420 130 | AnimatorStateTransition: 131 | m_ObjectHideFlags: 1 132 | m_PrefabParentObject: {fileID: 0} 133 | m_PrefabInternal: {fileID: 0} 134 | m_Name: 135 | m_Conditions: [] 136 | m_DstStateMachine: {fileID: 0} 137 | m_DstState: {fileID: 1102031297812883496} 138 | m_Solo: 0 139 | m_Mute: 0 140 | m_IsExit: 0 141 | serializedVersion: 3 142 | m_TransitionDuration: 0.2279762 143 | m_TransitionOffset: 0 144 | m_ExitTime: 0.7740478 145 | m_HasExitTime: 1 146 | m_HasFixedDuration: 1 147 | m_InterruptionSource: 0 148 | m_OrderedInterruption: 1 149 | m_CanTransitionToSelf: 1 150 | --- !u!1101 &1101382042804751842 151 | AnimatorStateTransition: 152 | m_ObjectHideFlags: 1 153 | m_PrefabParentObject: {fileID: 0} 154 | m_PrefabInternal: {fileID: 0} 155 | m_Name: 156 | m_Conditions: 157 | - m_ConditionMode: 1 158 | m_ConditionEvent: Left 159 | m_EventTreshold: 0 160 | m_DstStateMachine: {fileID: 0} 161 | m_DstState: {fileID: 1102666145610108406} 162 | m_Solo: 0 163 | m_Mute: 0 164 | m_IsExit: 0 165 | serializedVersion: 3 166 | m_TransitionDuration: 0.24999994 167 | m_TransitionOffset: 0 168 | m_ExitTime: 0.75000006 169 | m_HasExitTime: 0 170 | m_HasFixedDuration: 1 171 | m_InterruptionSource: 0 172 | m_OrderedInterruption: 1 173 | m_CanTransitionToSelf: 1 174 | --- !u!1101 &1101428779546502034 175 | AnimatorStateTransition: 176 | m_ObjectHideFlags: 1 177 | m_PrefabParentObject: {fileID: 0} 178 | m_PrefabInternal: {fileID: 0} 179 | m_Name: 180 | m_Conditions: [] 181 | m_DstStateMachine: {fileID: 0} 182 | m_DstState: {fileID: 1102532515636888766} 183 | m_Solo: 0 184 | m_Mute: 0 185 | m_IsExit: 0 186 | serializedVersion: 3 187 | m_TransitionDuration: 0.25 188 | m_TransitionOffset: 0 189 | m_ExitTime: 0.75 190 | m_HasExitTime: 1 191 | m_HasFixedDuration: 1 192 | m_InterruptionSource: 0 193 | m_OrderedInterruption: 1 194 | m_CanTransitionToSelf: 1 195 | --- !u!1101 &1101828818348503036 196 | AnimatorStateTransition: 197 | m_ObjectHideFlags: 1 198 | m_PrefabParentObject: {fileID: 0} 199 | m_PrefabInternal: {fileID: 0} 200 | m_Name: 201 | m_Conditions: [] 202 | m_DstStateMachine: {fileID: 0} 203 | m_DstState: {fileID: 1102309512061457146} 204 | m_Solo: 0 205 | m_Mute: 0 206 | m_IsExit: 0 207 | serializedVersion: 3 208 | m_TransitionDuration: 0.25 209 | m_TransitionOffset: 0 210 | m_ExitTime: 0.75 211 | m_HasExitTime: 1 212 | m_HasFixedDuration: 1 213 | m_InterruptionSource: 0 214 | m_OrderedInterruption: 1 215 | m_CanTransitionToSelf: 1 216 | --- !u!1101 &1101907731121916638 217 | AnimatorStateTransition: 218 | m_ObjectHideFlags: 1 219 | m_PrefabParentObject: {fileID: 0} 220 | m_PrefabInternal: {fileID: 0} 221 | m_Name: 222 | m_Conditions: [] 223 | m_DstStateMachine: {fileID: 0} 224 | m_DstState: {fileID: 1102885555801493826} 225 | m_Solo: 0 226 | m_Mute: 0 227 | m_IsExit: 0 228 | serializedVersion: 3 229 | m_TransitionDuration: 0.25 230 | m_TransitionOffset: 0 231 | m_ExitTime: 0.75 232 | m_HasExitTime: 1 233 | m_HasFixedDuration: 1 234 | m_InterruptionSource: 0 235 | m_OrderedInterruption: 1 236 | m_CanTransitionToSelf: 1 237 | --- !u!1101 &1101946484821010246 238 | AnimatorStateTransition: 239 | m_ObjectHideFlags: 1 240 | m_PrefabParentObject: {fileID: 0} 241 | m_PrefabInternal: {fileID: 0} 242 | m_Name: 243 | m_Conditions: [] 244 | m_DstStateMachine: {fileID: 0} 245 | m_DstState: {fileID: 1102628827747095258} 246 | m_Solo: 0 247 | m_Mute: 0 248 | m_IsExit: 0 249 | serializedVersion: 3 250 | m_TransitionDuration: 0.28333324 251 | m_TransitionOffset: 0.20809537 252 | m_ExitTime: 0.74641526 253 | m_HasExitTime: 1 254 | m_HasFixedDuration: 1 255 | m_InterruptionSource: 0 256 | m_OrderedInterruption: 1 257 | m_CanTransitionToSelf: 1 258 | --- !u!1101 &1101978578409884612 259 | AnimatorStateTransition: 260 | m_ObjectHideFlags: 1 261 | m_PrefabParentObject: {fileID: 0} 262 | m_PrefabInternal: {fileID: 0} 263 | m_Name: 264 | m_Conditions: 265 | - m_ConditionMode: 1 266 | m_ConditionEvent: Rotate 267 | m_EventTreshold: 0 268 | m_DstStateMachine: {fileID: 0} 269 | m_DstState: {fileID: 1102263921777731380} 270 | m_Solo: 0 271 | m_Mute: 0 272 | m_IsExit: 0 273 | serializedVersion: 3 274 | m_TransitionDuration: 0.25 275 | m_TransitionOffset: 0 276 | m_ExitTime: 0.75 277 | m_HasExitTime: 1 278 | m_HasFixedDuration: 1 279 | m_InterruptionSource: 0 280 | m_OrderedInterruption: 1 281 | m_CanTransitionToSelf: 1 282 | --- !u!1102 &1102031297812883496 283 | AnimatorState: 284 | serializedVersion: 5 285 | m_ObjectHideFlags: 1 286 | m_PrefabParentObject: {fileID: 0} 287 | m_PrefabInternal: {fileID: 0} 288 | m_Name: Rotate1212 289 | m_Speed: 1 290 | m_CycleOffset: 0 291 | m_Transitions: 292 | - {fileID: 1101946484821010246} 293 | m_StateMachineBehaviours: [] 294 | m_Position: {x: 50, y: 50, z: 0} 295 | m_IKOnFeet: 0 296 | m_WriteDefaultValues: 1 297 | m_Mirror: 0 298 | m_SpeedParameterActive: 0 299 | m_MirrorParameterActive: 0 300 | m_CycleOffsetParameterActive: 0 301 | m_TimeParameterActive: 0 302 | m_Motion: {fileID: 7400000, guid: a29ffc8d401a61741bedf9f3662c53fa, type: 2} 303 | m_Tag: 304 | m_SpeedParameter: 305 | m_MirrorParameter: 306 | m_CycleOffsetParameter: 307 | m_TimeParameter: 308 | --- !u!1102 &1102263921777731380 309 | AnimatorState: 310 | serializedVersion: 5 311 | m_ObjectHideFlags: 1 312 | m_PrefabParentObject: {fileID: 0} 313 | m_PrefabInternal: {fileID: 0} 314 | m_Name: Rotate 315 | m_Speed: 1 316 | m_CycleOffset: 0 317 | m_Transitions: 318 | - {fileID: 1101168989826978318} 319 | m_StateMachineBehaviours: [] 320 | m_Position: {x: 50, y: 50, z: 0} 321 | m_IKOnFeet: 0 322 | m_WriteDefaultValues: 1 323 | m_Mirror: 0 324 | m_SpeedParameterActive: 0 325 | m_MirrorParameterActive: 0 326 | m_CycleOffsetParameterActive: 0 327 | m_TimeParameterActive: 0 328 | m_Motion: {fileID: 7400000, guid: a29ffc8d401a61741bedf9f3662c53fa, type: 2} 329 | m_Tag: 330 | m_SpeedParameter: 331 | m_MirrorParameter: 332 | m_CycleOffsetParameter: 333 | m_TimeParameter: 334 | --- !u!1102 &1102309512061457146 335 | AnimatorState: 336 | serializedVersion: 5 337 | m_ObjectHideFlags: 1 338 | m_PrefabParentObject: {fileID: 0} 339 | m_PrefabInternal: {fileID: 0} 340 | m_Name: Left 341 | m_Speed: 1 342 | m_CycleOffset: 0 343 | m_Transitions: [] 344 | m_StateMachineBehaviours: [] 345 | m_Position: {x: 50, y: 50, z: 0} 346 | m_IKOnFeet: 0 347 | m_WriteDefaultValues: 1 348 | m_Mirror: 0 349 | m_SpeedParameterActive: 0 350 | m_MirrorParameterActive: 0 351 | m_CycleOffsetParameterActive: 0 352 | m_TimeParameterActive: 0 353 | m_Motion: {fileID: 7400000, guid: d4269a4c0e83ea34889bb6d38ac1d5bf, type: 2} 354 | m_Tag: 355 | m_SpeedParameter: 356 | m_MirrorParameter: 357 | m_CycleOffsetParameter: 358 | m_TimeParameter: 359 | --- !u!1102 &1102471040810154658 360 | AnimatorState: 361 | serializedVersion: 5 362 | m_ObjectHideFlags: 1 363 | m_PrefabParentObject: {fileID: 0} 364 | m_PrefabInternal: {fileID: 0} 365 | m_Name: Right 366 | m_Speed: 1 367 | m_CycleOffset: 0 368 | m_Transitions: 369 | - {fileID: 1101428779546502034} 370 | m_StateMachineBehaviours: [] 371 | m_Position: {x: 50, y: 50, z: 0} 372 | m_IKOnFeet: 0 373 | m_WriteDefaultValues: 1 374 | m_Mirror: 0 375 | m_SpeedParameterActive: 0 376 | m_MirrorParameterActive: 0 377 | m_CycleOffsetParameterActive: 0 378 | m_TimeParameterActive: 0 379 | m_Motion: {fileID: 7400000, guid: 1d9565ee11681b34eb944fab655a7d99, type: 2} 380 | m_Tag: 381 | m_SpeedParameter: 382 | m_MirrorParameter: 383 | m_CycleOffsetParameter: 384 | m_TimeParameter: 385 | --- !u!1102 &1102532515636888766 386 | AnimatorState: 387 | serializedVersion: 5 388 | m_ObjectHideFlags: 1 389 | m_PrefabParentObject: {fileID: 0} 390 | m_PrefabInternal: {fileID: 0} 391 | m_Name: Idle 392 | m_Speed: 1 393 | m_CycleOffset: 0 394 | m_Transitions: 395 | - {fileID: 1101382042804751842} 396 | - {fileID: 1101978578409884612} 397 | m_StateMachineBehaviours: [] 398 | m_Position: {x: 50, y: 50, z: 0} 399 | m_IKOnFeet: 0 400 | m_WriteDefaultValues: 1 401 | m_Mirror: 0 402 | m_SpeedParameterActive: 0 403 | m_MirrorParameterActive: 0 404 | m_CycleOffsetParameterActive: 0 405 | m_TimeParameterActive: 0 406 | m_Motion: {fileID: 7400000, guid: bc2c025f073a2734a9e79ce267daf102, type: 2} 407 | m_Tag: 408 | m_SpeedParameter: 409 | m_MirrorParameter: 410 | m_CycleOffsetParameter: 411 | m_TimeParameter: 412 | --- !u!1102 &1102628827747095258 413 | AnimatorState: 414 | serializedVersion: 5 415 | m_ObjectHideFlags: 1 416 | m_PrefabParentObject: {fileID: 0} 417 | m_PrefabInternal: {fileID: 0} 418 | m_Name: Idle 419 | m_Speed: 1 420 | m_CycleOffset: 0 421 | m_Transitions: 422 | - {fileID: 1101227338627915420} 423 | m_StateMachineBehaviours: [] 424 | m_Position: {x: 50, y: 50, z: 0} 425 | m_IKOnFeet: 0 426 | m_WriteDefaultValues: 1 427 | m_Mirror: 0 428 | m_SpeedParameterActive: 0 429 | m_MirrorParameterActive: 0 430 | m_CycleOffsetParameterActive: 0 431 | m_TimeParameterActive: 0 432 | m_Motion: {fileID: 7400000, guid: 11c4cfc21806af14c84a48545781c988, type: 2} 433 | m_Tag: 434 | m_SpeedParameter: 435 | m_MirrorParameter: 436 | m_CycleOffsetParameter: 437 | m_TimeParameter: 438 | --- !u!1102 &1102666145610108406 439 | AnimatorState: 440 | serializedVersion: 5 441 | m_ObjectHideFlags: 1 442 | m_PrefabParentObject: {fileID: 0} 443 | m_PrefabInternal: {fileID: 0} 444 | m_Name: Left 445 | m_Speed: 1 446 | m_CycleOffset: 0 447 | m_Transitions: 448 | - {fileID: 1101080095709876384} 449 | m_StateMachineBehaviours: [] 450 | m_Position: {x: 50, y: 50, z: 0} 451 | m_IKOnFeet: 0 452 | m_WriteDefaultValues: 1 453 | m_Mirror: 0 454 | m_SpeedParameterActive: 0 455 | m_MirrorParameterActive: 0 456 | m_CycleOffsetParameterActive: 0 457 | m_TimeParameterActive: 0 458 | m_Motion: {fileID: 7400000, guid: d4269a4c0e83ea34889bb6d38ac1d5bf, type: 2} 459 | m_Tag: 460 | m_SpeedParameter: 461 | m_MirrorParameter: 462 | m_CycleOffsetParameter: 463 | m_TimeParameter: 464 | --- !u!1102 &1102885555801493826 465 | AnimatorState: 466 | serializedVersion: 5 467 | m_ObjectHideFlags: 1 468 | m_PrefabParentObject: {fileID: 0} 469 | m_PrefabInternal: {fileID: 0} 470 | m_Name: Right 471 | m_Speed: 1 472 | m_CycleOffset: 0 473 | m_Transitions: [] 474 | m_StateMachineBehaviours: [] 475 | m_Position: {x: 50, y: 50, z: 0} 476 | m_IKOnFeet: 0 477 | m_WriteDefaultValues: 1 478 | m_Mirror: 0 479 | m_SpeedParameterActive: 0 480 | m_MirrorParameterActive: 0 481 | m_CycleOffsetParameterActive: 0 482 | m_TimeParameterActive: 0 483 | m_Motion: {fileID: 7400000, guid: 1d9565ee11681b34eb944fab655a7d99, type: 2} 484 | m_Tag: 485 | m_SpeedParameter: 486 | m_MirrorParameter: 487 | m_CycleOffsetParameter: 488 | m_TimeParameter: 489 | --- !u!1102 &1102908083784321566 490 | AnimatorState: 491 | serializedVersion: 5 492 | m_ObjectHideFlags: 1 493 | m_PrefabParentObject: {fileID: 0} 494 | m_PrefabInternal: {fileID: 0} 495 | m_Name: Idle 496 | m_Speed: 1 497 | m_CycleOffset: 0 498 | m_Transitions: 499 | - {fileID: 1101147575417028766} 500 | m_StateMachineBehaviours: [] 501 | m_Position: {x: 50, y: 50, z: 0} 502 | m_IKOnFeet: 0 503 | m_WriteDefaultValues: 1 504 | m_Mirror: 0 505 | m_SpeedParameterActive: 0 506 | m_MirrorParameterActive: 0 507 | m_CycleOffsetParameterActive: 0 508 | m_TimeParameterActive: 0 509 | m_Motion: {fileID: 7400000, guid: bc2c025f073a2734a9e79ce267daf102, type: 2} 510 | m_Tag: 511 | m_SpeedParameter: 512 | m_MirrorParameter: 513 | m_CycleOffsetParameter: 514 | m_TimeParameter: 515 | --- !u!1102 &1102931236696990322 516 | AnimatorState: 517 | serializedVersion: 5 518 | m_ObjectHideFlags: 1 519 | m_PrefabParentObject: {fileID: 0} 520 | m_PrefabInternal: {fileID: 0} 521 | m_Name: Rotate 522 | m_Speed: 1 523 | m_CycleOffset: 0 524 | m_Transitions: 525 | - {fileID: 1101828818348503036} 526 | - {fileID: 1101907731121916638} 527 | m_StateMachineBehaviours: [] 528 | m_Position: {x: 50, y: 50, z: 0} 529 | m_IKOnFeet: 0 530 | m_WriteDefaultValues: 1 531 | m_Mirror: 0 532 | m_SpeedParameterActive: 0 533 | m_MirrorParameterActive: 0 534 | m_CycleOffsetParameterActive: 0 535 | m_TimeParameterActive: 0 536 | m_Motion: {fileID: 7400000, guid: b6d8dff3468c84b4f9ccc9a5014bb890, type: 2} 537 | m_Tag: 538 | m_SpeedParameter: 539 | m_MirrorParameter: 540 | m_CycleOffsetParameter: 541 | m_TimeParameter: 542 | --- !u!1107 &1107319828821943910 543 | AnimatorStateMachine: 544 | serializedVersion: 5 545 | m_ObjectHideFlags: 1 546 | m_PrefabParentObject: {fileID: 0} 547 | m_PrefabInternal: {fileID: 0} 548 | m_Name: Base Layer 549 | m_ChildStates: 550 | - serializedVersion: 1 551 | m_State: {fileID: 1102532515636888766} 552 | m_Position: {x: 420, y: 216, z: 0} 553 | - serializedVersion: 1 554 | m_State: {fileID: 1102666145610108406} 555 | m_Position: {x: 252, y: 24, z: 0} 556 | - serializedVersion: 1 557 | m_State: {fileID: 1102471040810154658} 558 | m_Position: {x: 600, y: 24, z: 0} 559 | - serializedVersion: 1 560 | m_State: {fileID: 1102263921777731380} 561 | m_Position: {x: 384, y: 324, z: 0} 562 | m_ChildStateMachines: [] 563 | m_AnyStateTransitions: [] 564 | m_EntryTransitions: [] 565 | m_StateMachineTransitions: {} 566 | m_StateMachineBehaviours: [] 567 | m_AnyStatePosition: {x: 50, y: 20, z: 0} 568 | m_EntryPosition: {x: 50, y: 120, z: 0} 569 | m_ExitPosition: {x: 800, y: 120, z: 0} 570 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} 571 | m_DefaultState: {fileID: 1102532515636888766} 572 | --- !u!1107 &1107747379828264652 573 | AnimatorStateMachine: 574 | serializedVersion: 5 575 | m_ObjectHideFlags: 1 576 | m_PrefabParentObject: {fileID: 0} 577 | m_PrefabInternal: {fileID: 0} 578 | m_Name: Rotate 579 | m_ChildStates: 580 | - serializedVersion: 1 581 | m_State: {fileID: 1102908083784321566} 582 | m_Position: {x: 408, y: 228, z: 0} 583 | - serializedVersion: 1 584 | m_State: {fileID: 1102309512061457146} 585 | m_Position: {x: 276, y: 48, z: 0} 586 | - serializedVersion: 1 587 | m_State: {fileID: 1102885555801493826} 588 | m_Position: {x: 564, y: 48, z: 0} 589 | - serializedVersion: 1 590 | m_State: {fileID: 1102931236696990322} 591 | m_Position: {x: 408, y: 132, z: 0} 592 | m_ChildStateMachines: [] 593 | m_AnyStateTransitions: [] 594 | m_EntryTransitions: [] 595 | m_StateMachineTransitions: {} 596 | m_StateMachineBehaviours: [] 597 | m_AnyStatePosition: {x: 50, y: 20, z: 0} 598 | m_EntryPosition: {x: 48, y: 120, z: 0} 599 | m_ExitPosition: {x: 800, y: 120, z: 0} 600 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} 601 | m_DefaultState: {fileID: 1102908083784321566} 602 | --- !u!1107 &1107809297125866596 603 | AnimatorStateMachine: 604 | serializedVersion: 5 605 | m_ObjectHideFlags: 1 606 | m_PrefabParentObject: {fileID: 0} 607 | m_PrefabInternal: {fileID: 0} 608 | m_Name: New Layer 609 | m_ChildStates: 610 | - serializedVersion: 1 611 | m_State: {fileID: 1102628827747095258} 612 | m_Position: {x: 396, y: 252, z: 0} 613 | - serializedVersion: 1 614 | m_State: {fileID: 1102031297812883496} 615 | m_Position: {x: 432, y: 168, z: 0} 616 | m_ChildStateMachines: [] 617 | m_AnyStateTransitions: [] 618 | m_EntryTransitions: [] 619 | m_StateMachineTransitions: {} 620 | m_StateMachineBehaviours: [] 621 | m_AnyStatePosition: {x: 50, y: 20, z: 0} 622 | m_EntryPosition: {x: 50, y: 120, z: 0} 623 | m_ExitPosition: {x: 800, y: 120, z: 0} 624 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} 625 | m_DefaultState: {fileID: 1102628827747095258} 626 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Cube.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b4ed06fbbec04c4ba01ebb14cc70667 3 | timeCreated: 1525173742 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 9100000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/EventListener.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | namespace zFrame.Event.Example 3 | { 4 | public class EventListener : MonoBehaviour 5 | { 6 | Animator animator; 7 | private void Start() 8 | { 9 | animator = GameObject.Find("Cube").GetComponent(); 10 | animator.SetTarget("Left", 55).OnProcess((v) => 11 | { 12 | string clipname = v.animatorClipInfo.clip.name; //无差别触发下面的逻辑,因为没有对(Layer)层进行层别,如果这个AnimationClip在这个动画机中被多次复用,请务必层别层信息(如下面示例) 13 | Debug.Log("55帧到了:" + clipname + ":" + v.time * v.animatorClipInfo.clip.frameRate + "搞事情!"); 14 | }); 15 | } 16 | private void OnGUI() 17 | { 18 | EventHandler.LogLevels = LogLevel.All & ~LogLevel.Warning; // warning 再本示例中输出太多,先干掉! 19 | void OnCompletedForRotate(AnimationEvent v) 20 | { 21 | string clipname = v.animatorClipInfo.clip.name; 22 | if (v.animatorStateInfo.IsName("Base Layer.Rotate"))//演示Base Layer的事件接受 ---因为AnimationClip在这个动画机中被多次复用,层别Layer信息是非常必要的(区别于上面的示例) 23 | { 24 | Debug.Log("结束时Base Layer:" + clipname + ":" + v.time * v.animatorClipInfo.clip.frameRate); 25 | } 26 | if (v.animatorStateInfo.IsName("New Layer.Rotate1212"))//演示其它层的事件接受 27 | { 28 | Debug.Log("结束时New Layer:" + clipname + ":" + v.time * v.animatorClipInfo.clip.frameRate); 29 | } 30 | } 31 | 32 | 33 | if (GUILayout.Button("1. Rotate动态添加回调")) 34 | { 35 | animator.SetTarget("Rotate").OnCompleted(OnCompletedForRotate); 36 | } 37 | if (GUILayout.Button("移除上面添加的回调")) 38 | { 39 | animator.RemoveListener(OnCompletedForRotate, "Rotate"); 40 | } 41 | 42 | void OnCompletedForRotateOneceMore(AnimationEvent v) 43 | { 44 | string clipname = v.animatorClipInfo.clip.name; 45 | if (v.animatorStateInfo.IsName("Base Layer.Rotate"))//演示Base Layer的事件接受 46 | { 47 | Debug.Log("结束时Base Layer:" + clipname + ":" + v.time * v.animatorClipInfo.clip.frameRate + "又搞一次!"); 48 | } 49 | if (v.animatorStateInfo.IsName("New Layer.Rotate1212"))//演示其它层的事件接受 50 | { 51 | Debug.Log("结束时New Layer:" + clipname + ":" + v.time * v.animatorClipInfo.clip.frameRate + "又搞一次!"); 52 | } 53 | } 54 | 55 | 56 | if (GUILayout.Button("2. 为 Rotate 再叠加一个回调")) 57 | { 58 | animator.SetTarget("Rotate").OnCompleted(OnCompletedForRotateOneceMore); 59 | } 60 | if (GUILayout.Button("移除上面叠加的回调")) 61 | { 62 | animator.RemoveListener(OnCompletedForRotateOneceMore, "Rotate"); 63 | } 64 | 65 | 66 | if (GUILayout.Button("3. 触发baseLayer.Left")) 67 | { 68 | animator.SetTrigger("Left"); 69 | } 70 | 71 | if (animator.HasAnyListener("Rotate")) 72 | { 73 | if (GUILayout.Button("4. 触发 BaseLayer.Rotate ")) 74 | { 75 | animator.SetTrigger("Rotate"); 76 | } 77 | } 78 | 79 | EventHandler.LogLevels = LogLevel.All; 80 | 81 | } 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/EventListener.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88a58b9d9b2dbb94eb5ea28df013b86f 3 | timeCreated: 1525708098 4 | licenseType: Pro 5 | MonoImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | defaultReferences: [] 9 | executionOrder: 0 10 | icon: {instanceID: 0} 11 | userData: 12 | assetBundleName: 13 | assetBundleVariant: 14 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Idle.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Idle 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: 16 | - curve: 17 | serializedVersion: 2 18 | m_Curve: 19 | - serializedVersion: 2 20 | time: 0 21 | value: {x: 0, y: 0, z: 0} 22 | inSlope: {x: 0, y: 0, z: 0} 23 | outSlope: {x: 0, y: 0, z: 0} 24 | tangentMode: 0 25 | m_PreInfinity: 2 26 | m_PostInfinity: 2 27 | m_RotationOrder: 4 28 | path: 29 | m_PositionCurves: 30 | - curve: 31 | serializedVersion: 2 32 | m_Curve: 33 | - serializedVersion: 2 34 | time: 0 35 | value: {x: 0, y: 0, z: 0} 36 | inSlope: {x: 0, y: 0, z: 0} 37 | outSlope: {x: 0, y: 0, z: 0} 38 | tangentMode: 0 39 | m_PreInfinity: 2 40 | m_PostInfinity: 2 41 | m_RotationOrder: 4 42 | path: 43 | m_ScaleCurves: [] 44 | m_FloatCurves: [] 45 | m_PPtrCurves: [] 46 | m_SampleRate: 60 47 | m_WrapMode: 0 48 | m_Bounds: 49 | m_Center: {x: 0, y: 0, z: 0} 50 | m_Extent: {x: 0, y: 0, z: 0} 51 | m_ClipBindingConstant: 52 | genericBindings: 53 | - serializedVersion: 2 54 | path: 0 55 | attribute: 1 56 | script: {fileID: 0} 57 | typeID: 4 58 | customType: 0 59 | isPPtrCurve: 0 60 | - serializedVersion: 2 61 | path: 0 62 | attribute: 4 63 | script: {fileID: 0} 64 | typeID: 4 65 | customType: 4 66 | isPPtrCurve: 0 67 | pptrCurveMapping: [] 68 | m_AnimationClipSettings: 69 | serializedVersion: 2 70 | m_AdditiveReferencePoseClip: {fileID: 0} 71 | m_AdditiveReferencePoseTime: 0 72 | m_StartTime: 0 73 | m_StopTime: 0 74 | m_OrientationOffsetY: 0 75 | m_Level: 0 76 | m_CycleOffset: 0 77 | m_HasAdditiveReferencePose: 0 78 | m_LoopTime: 0 79 | m_LoopBlend: 0 80 | m_LoopBlendOrientation: 0 81 | m_LoopBlendPositionY: 0 82 | m_LoopBlendPositionXZ: 0 83 | m_KeepOriginalOrientation: 0 84 | m_KeepOriginalPositionY: 1 85 | m_KeepOriginalPositionXZ: 0 86 | m_HeightFromFeet: 0 87 | m_Mirror: 0 88 | m_EditorCurves: 89 | - curve: 90 | serializedVersion: 2 91 | m_Curve: 92 | - serializedVersion: 2 93 | time: 0 94 | value: 0 95 | inSlope: 0 96 | outSlope: 0 97 | tangentMode: 136 98 | m_PreInfinity: 2 99 | m_PostInfinity: 2 100 | m_RotationOrder: 4 101 | attribute: m_LocalPosition.x 102 | path: 103 | classID: 4 104 | script: {fileID: 0} 105 | - curve: 106 | serializedVersion: 2 107 | m_Curve: 108 | - serializedVersion: 2 109 | time: 0 110 | value: 0 111 | inSlope: 0 112 | outSlope: 0 113 | tangentMode: 136 114 | m_PreInfinity: 2 115 | m_PostInfinity: 2 116 | m_RotationOrder: 4 117 | attribute: m_LocalPosition.y 118 | path: 119 | classID: 4 120 | script: {fileID: 0} 121 | - curve: 122 | serializedVersion: 2 123 | m_Curve: 124 | - serializedVersion: 2 125 | time: 0 126 | value: 0 127 | inSlope: 0 128 | outSlope: 0 129 | tangentMode: 136 130 | m_PreInfinity: 2 131 | m_PostInfinity: 2 132 | m_RotationOrder: 4 133 | attribute: m_LocalPosition.z 134 | path: 135 | classID: 4 136 | script: {fileID: 0} 137 | - curve: 138 | serializedVersion: 2 139 | m_Curve: 140 | - serializedVersion: 2 141 | time: 0 142 | value: 0 143 | inSlope: 0 144 | outSlope: 0 145 | tangentMode: 136 146 | m_PreInfinity: 2 147 | m_PostInfinity: 2 148 | m_RotationOrder: 4 149 | attribute: localEulerAnglesRaw.x 150 | path: 151 | classID: 4 152 | script: {fileID: 0} 153 | - curve: 154 | serializedVersion: 2 155 | m_Curve: 156 | - serializedVersion: 2 157 | time: 0 158 | value: 0 159 | inSlope: 0 160 | outSlope: 0 161 | tangentMode: 136 162 | m_PreInfinity: 2 163 | m_PostInfinity: 2 164 | m_RotationOrder: 4 165 | attribute: localEulerAnglesRaw.y 166 | path: 167 | classID: 4 168 | script: {fileID: 0} 169 | - curve: 170 | serializedVersion: 2 171 | m_Curve: 172 | - serializedVersion: 2 173 | time: 0 174 | value: 0 175 | inSlope: 0 176 | outSlope: 0 177 | tangentMode: 136 178 | m_PreInfinity: 2 179 | m_PostInfinity: 2 180 | m_RotationOrder: 4 181 | attribute: localEulerAnglesRaw.z 182 | path: 183 | classID: 4 184 | script: {fileID: 0} 185 | m_EulerEditorCurves: 186 | - curve: 187 | serializedVersion: 2 188 | m_Curve: [] 189 | m_PreInfinity: 2 190 | m_PostInfinity: 2 191 | m_RotationOrder: 4 192 | attribute: m_LocalEulerAngles.x 193 | path: 194 | classID: 4 195 | script: {fileID: 0} 196 | - curve: 197 | serializedVersion: 2 198 | m_Curve: [] 199 | m_PreInfinity: 2 200 | m_PostInfinity: 2 201 | m_RotationOrder: 4 202 | attribute: m_LocalEulerAngles.y 203 | path: 204 | classID: 4 205 | script: {fileID: 0} 206 | - curve: 207 | serializedVersion: 2 208 | m_Curve: [] 209 | m_PreInfinity: 2 210 | m_PostInfinity: 2 211 | m_RotationOrder: 4 212 | attribute: m_LocalEulerAngles.z 213 | path: 214 | classID: 4 215 | script: {fileID: 0} 216 | m_HasGenericRootTransform: 1 217 | m_HasMotionFloatCurves: 0 218 | m_GenerateMotionCurves: 0 219 | m_Events: [] 220 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Idle.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc2c025f073a2734a9e79ce267daf102 3 | timeCreated: 1525173969 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 7400000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Left.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Left 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: 17 | - curve: 18 | serializedVersion: 2 19 | m_Curve: 20 | - serializedVersion: 2 21 | time: 0 22 | value: {x: 0, y: 0, z: 0} 23 | inSlope: {x: 0, y: 0, z: 0} 24 | outSlope: {x: 0, y: 0, z: 0} 25 | tangentMode: 0 26 | - serializedVersion: 2 27 | time: 1.7166667 28 | value: {x: -4.17, y: 0, z: 0} 29 | inSlope: {x: 0, y: 0, z: 0} 30 | outSlope: {x: 0, y: 0, z: 0} 31 | tangentMode: 0 32 | m_PreInfinity: 2 33 | m_PostInfinity: 2 34 | m_RotationOrder: 4 35 | path: 36 | m_ScaleCurves: [] 37 | m_FloatCurves: [] 38 | m_PPtrCurves: [] 39 | m_SampleRate: 60 40 | m_WrapMode: 0 41 | m_Bounds: 42 | m_Center: {x: 0, y: 0, z: 0} 43 | m_Extent: {x: 0, y: 0, z: 0} 44 | m_ClipBindingConstant: 45 | genericBindings: 46 | - serializedVersion: 2 47 | path: 0 48 | attribute: 1 49 | script: {fileID: 0} 50 | typeID: 4 51 | customType: 0 52 | isPPtrCurve: 0 53 | pptrCurveMapping: [] 54 | m_AnimationClipSettings: 55 | serializedVersion: 2 56 | m_AdditiveReferencePoseClip: {fileID: 0} 57 | m_AdditiveReferencePoseTime: 0 58 | m_StartTime: 0 59 | m_StopTime: 1.7166667 60 | m_OrientationOffsetY: 0 61 | m_Level: 0 62 | m_CycleOffset: 0 63 | m_HasAdditiveReferencePose: 0 64 | m_LoopTime: 0 65 | m_LoopBlend: 0 66 | m_LoopBlendOrientation: 0 67 | m_LoopBlendPositionY: 0 68 | m_LoopBlendPositionXZ: 0 69 | m_KeepOriginalOrientation: 0 70 | m_KeepOriginalPositionY: 1 71 | m_KeepOriginalPositionXZ: 0 72 | m_HeightFromFeet: 0 73 | m_Mirror: 0 74 | m_EditorCurves: 75 | - curve: 76 | serializedVersion: 2 77 | m_Curve: 78 | - serializedVersion: 2 79 | time: 0 80 | value: 0 81 | inSlope: 0 82 | outSlope: 0 83 | tangentMode: 136 84 | - serializedVersion: 2 85 | time: 1.7166667 86 | value: -4.17 87 | inSlope: 0 88 | outSlope: 0 89 | tangentMode: 136 90 | m_PreInfinity: 2 91 | m_PostInfinity: 2 92 | m_RotationOrder: 4 93 | attribute: m_LocalPosition.x 94 | path: 95 | classID: 4 96 | script: {fileID: 0} 97 | - curve: 98 | serializedVersion: 2 99 | m_Curve: 100 | - serializedVersion: 2 101 | time: 0 102 | value: 0 103 | inSlope: 0 104 | outSlope: 0 105 | tangentMode: 136 106 | - serializedVersion: 2 107 | time: 1.7166667 108 | value: 0 109 | inSlope: 0 110 | outSlope: 0 111 | tangentMode: 136 112 | m_PreInfinity: 2 113 | m_PostInfinity: 2 114 | m_RotationOrder: 4 115 | attribute: m_LocalPosition.y 116 | path: 117 | classID: 4 118 | script: {fileID: 0} 119 | - curve: 120 | serializedVersion: 2 121 | m_Curve: 122 | - serializedVersion: 2 123 | time: 0 124 | value: 0 125 | inSlope: 0 126 | outSlope: 0 127 | tangentMode: 136 128 | - serializedVersion: 2 129 | time: 1.7166667 130 | value: 0 131 | inSlope: 0 132 | outSlope: 0 133 | tangentMode: 136 134 | m_PreInfinity: 2 135 | m_PostInfinity: 2 136 | m_RotationOrder: 4 137 | attribute: m_LocalPosition.z 138 | path: 139 | classID: 4 140 | script: {fileID: 0} 141 | m_EulerEditorCurves: [] 142 | m_HasGenericRootTransform: 1 143 | m_HasMotionFloatCurves: 0 144 | m_GenerateMotionCurves: 0 145 | m_Events: 146 | - time: 0.11666667 147 | functionName: daf 148 | data: 149 | objectReferenceParameter: {fileID: 0} 150 | floatParameter: 0 151 | intParameter: 0 152 | messageOptions: 0 153 | - time: 0.8833333 154 | functionName: xva 155 | data: 156 | objectReferenceParameter: {fileID: 0} 157 | floatParameter: 0 158 | intParameter: 0 159 | messageOptions: 0 160 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Left.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4269a4c0e83ea34889bb6d38ac1d5bf 3 | timeCreated: 1525173852 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 7400000 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Right.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Right 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: 17 | - curve: 18 | serializedVersion: 2 19 | m_Curve: 20 | - serializedVersion: 2 21 | time: 0 22 | value: {x: 0, y: 0, z: 0} 23 | inSlope: {x: 0, y: 0, z: 0} 24 | outSlope: {x: 0, y: 0, z: 0} 25 | tangentMode: 0 26 | - serializedVersion: 2 27 | time: 1 28 | value: {x: 11.64, y: 0, z: 0} 29 | inSlope: {x: 0, y: 0, z: 0} 30 | outSlope: {x: 0, y: 0, z: 0} 31 | tangentMode: 0 32 | m_PreInfinity: 2 33 | m_PostInfinity: 2 34 | m_RotationOrder: 4 35 | path: 36 | m_ScaleCurves: [] 37 | m_FloatCurves: [] 38 | m_PPtrCurves: [] 39 | m_SampleRate: 60 40 | m_WrapMode: 0 41 | m_Bounds: 42 | m_Center: {x: 0, y: 0, z: 0} 43 | m_Extent: {x: 0, y: 0, z: 0} 44 | m_ClipBindingConstant: 45 | genericBindings: 46 | - serializedVersion: 2 47 | path: 0 48 | attribute: 1 49 | script: {fileID: 0} 50 | typeID: 4 51 | customType: 0 52 | isPPtrCurve: 0 53 | pptrCurveMapping: [] 54 | m_AnimationClipSettings: 55 | serializedVersion: 2 56 | m_AdditiveReferencePoseClip: {fileID: 0} 57 | m_AdditiveReferencePoseTime: 0 58 | m_StartTime: 0 59 | m_StopTime: 1 60 | m_OrientationOffsetY: 0 61 | m_Level: 0 62 | m_CycleOffset: 0 63 | m_HasAdditiveReferencePose: 0 64 | m_LoopTime: 0 65 | m_LoopBlend: 0 66 | m_LoopBlendOrientation: 0 67 | m_LoopBlendPositionY: 0 68 | m_LoopBlendPositionXZ: 0 69 | m_KeepOriginalOrientation: 0 70 | m_KeepOriginalPositionY: 1 71 | m_KeepOriginalPositionXZ: 0 72 | m_HeightFromFeet: 0 73 | m_Mirror: 0 74 | m_EditorCurves: 75 | - curve: 76 | serializedVersion: 2 77 | m_Curve: 78 | - serializedVersion: 2 79 | time: 0 80 | value: 0 81 | inSlope: 0 82 | outSlope: 0 83 | tangentMode: 136 84 | - serializedVersion: 2 85 | time: 1 86 | value: 11.64 87 | inSlope: 0 88 | outSlope: 0 89 | tangentMode: 136 90 | m_PreInfinity: 2 91 | m_PostInfinity: 2 92 | m_RotationOrder: 4 93 | attribute: m_LocalPosition.x 94 | path: 95 | classID: 4 96 | script: {fileID: 0} 97 | - curve: 98 | serializedVersion: 2 99 | m_Curve: 100 | - serializedVersion: 2 101 | time: 0 102 | value: 0 103 | inSlope: 0 104 | outSlope: 0 105 | tangentMode: 136 106 | - serializedVersion: 2 107 | time: 1 108 | value: 0 109 | inSlope: 0 110 | outSlope: 0 111 | tangentMode: 136 112 | m_PreInfinity: 2 113 | m_PostInfinity: 2 114 | m_RotationOrder: 4 115 | attribute: m_LocalPosition.y 116 | path: 117 | classID: 4 118 | script: {fileID: 0} 119 | - curve: 120 | serializedVersion: 2 121 | m_Curve: 122 | - serializedVersion: 2 123 | time: 0 124 | value: 0 125 | inSlope: 0 126 | outSlope: 0 127 | tangentMode: 136 128 | - serializedVersion: 2 129 | time: 1 130 | value: 0 131 | inSlope: 0 132 | outSlope: 0 133 | tangentMode: 136 134 | m_PreInfinity: 2 135 | m_PostInfinity: 2 136 | m_RotationOrder: 4 137 | attribute: m_LocalPosition.z 138 | path: 139 | classID: 4 140 | script: {fileID: 0} 141 | m_EulerEditorCurves: [] 142 | m_HasGenericRootTransform: 1 143 | m_HasMotionFloatCurves: 0 144 | m_GenerateMotionCurves: 0 145 | m_Events: [] 146 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Right.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d9565ee11681b34eb944fab655a7d99 3 | timeCreated: 1525174022 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 0 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Rotate.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: Rotate 9 | serializedVersion: 6 10 | m_Legacy: 0 11 | m_Compressed: 0 12 | m_UseHighQualityCurve: 1 13 | m_RotationCurves: [] 14 | m_CompressedRotationCurves: [] 15 | m_EulerCurves: [] 16 | m_PositionCurves: [] 17 | m_ScaleCurves: [] 18 | m_FloatCurves: [] 19 | m_PPtrCurves: [] 20 | m_SampleRate: 60 21 | m_WrapMode: 0 22 | m_Bounds: 23 | m_Center: {x: 0, y: 0, z: 0} 24 | m_Extent: {x: 0, y: 0, z: 0} 25 | m_ClipBindingConstant: 26 | genericBindings: [] 27 | pptrCurveMapping: [] 28 | m_AnimationClipSettings: 29 | serializedVersion: 2 30 | m_AdditiveReferencePoseClip: {fileID: 0} 31 | m_AdditiveReferencePoseTime: 0 32 | m_StartTime: 0 33 | m_StopTime: 1 34 | m_OrientationOffsetY: 0 35 | m_Level: 0 36 | m_CycleOffset: 0 37 | m_HasAdditiveReferencePose: 0 38 | m_LoopTime: 0 39 | m_LoopBlend: 0 40 | m_LoopBlendOrientation: 0 41 | m_LoopBlendPositionY: 0 42 | m_LoopBlendPositionXZ: 0 43 | m_KeepOriginalOrientation: 0 44 | m_KeepOriginalPositionY: 1 45 | m_KeepOriginalPositionXZ: 0 46 | m_HeightFromFeet: 0 47 | m_Mirror: 0 48 | m_EditorCurves: [] 49 | m_EulerEditorCurves: [] 50 | m_HasGenericRootTransform: 0 51 | m_HasMotionFloatCurves: 0 52 | m_GenerateMotionCurves: 0 53 | m_Events: [] 54 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Rotate.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b6d8dff3468c84b4f9ccc9a5014bb890 3 | timeCreated: 1525174022 4 | licenseType: Pro 5 | NativeFormatImporter: 6 | externalObjects: {} 7 | mainObjectFileID: 0 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Test.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 8 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0.44657844, g: 0.49641222, b: 0.57481694, a: 1} 42 | --- !u!157 &3 43 | LightmapSettings: 44 | m_ObjectHideFlags: 0 45 | serializedVersion: 11 46 | m_GIWorkflowMode: 0 47 | m_GISettings: 48 | serializedVersion: 2 49 | m_BounceScale: 1 50 | m_IndirectOutputScale: 1 51 | m_AlbedoBoost: 1 52 | m_TemporalCoherenceThreshold: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 1 56 | m_LightmapEditorSettings: 57 | serializedVersion: 9 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_TextureWidth: 1024 61 | m_TextureHeight: 1024 62 | m_AO: 0 63 | m_AOMaxDistance: 1 64 | m_CompAOExponent: 1 65 | m_CompAOExponentDirect: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 256 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 2 75 | m_BakeBackend: 0 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVRFilterTypeDirect: 0 81 | m_PVRFilterTypeIndirect: 0 82 | m_PVRFilterTypeAO: 0 83 | m_PVRFilteringMode: 1 84 | m_PVRCulling: 1 85 | m_PVRFilteringGaussRadiusDirect: 1 86 | m_PVRFilteringGaussRadiusIndirect: 5 87 | m_PVRFilteringGaussRadiusAO: 2 88 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 89 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 90 | m_PVRFilteringAtrousPositionSigmaAO: 1 91 | m_ShowResolutionOverlay: 1 92 | m_LightingDataAsset: {fileID: 0} 93 | m_UseShadowmask: 1 94 | --- !u!196 &4 95 | NavMeshSettings: 96 | serializedVersion: 2 97 | m_ObjectHideFlags: 0 98 | m_BuildSettings: 99 | serializedVersion: 2 100 | agentTypeID: 0 101 | agentRadius: 0.5 102 | agentHeight: 2 103 | agentSlope: 45 104 | agentClimb: 0.4 105 | ledgeDropHeight: 0 106 | maxJumpAcrossDistance: 0 107 | minRegionArea: 2 108 | manualCellSize: 0 109 | cellSize: 0.16666667 110 | manualTileSize: 0 111 | tileSize: 256 112 | accuratePlacement: 0 113 | debug: 114 | m_Flags: 0 115 | m_NavMeshData: {fileID: 0} 116 | --- !u!1 &49844685 117 | GameObject: 118 | m_ObjectHideFlags: 0 119 | m_PrefabParentObject: {fileID: 0} 120 | m_PrefabInternal: {fileID: 0} 121 | serializedVersion: 5 122 | m_Component: 123 | - component: {fileID: 49844689} 124 | - component: {fileID: 49844688} 125 | - component: {fileID: 49844687} 126 | - component: {fileID: 49844686} 127 | m_Layer: 0 128 | m_Name: Main Camera 129 | m_TagString: MainCamera 130 | m_Icon: {fileID: 0} 131 | m_NavMeshLayer: 0 132 | m_StaticEditorFlags: 0 133 | m_IsActive: 1 134 | --- !u!81 &49844686 135 | AudioListener: 136 | m_ObjectHideFlags: 0 137 | m_PrefabParentObject: {fileID: 0} 138 | m_PrefabInternal: {fileID: 0} 139 | m_GameObject: {fileID: 49844685} 140 | m_Enabled: 1 141 | --- !u!124 &49844687 142 | Behaviour: 143 | m_ObjectHideFlags: 0 144 | m_PrefabParentObject: {fileID: 0} 145 | m_PrefabInternal: {fileID: 0} 146 | m_GameObject: {fileID: 49844685} 147 | m_Enabled: 1 148 | --- !u!20 &49844688 149 | Camera: 150 | m_ObjectHideFlags: 0 151 | m_PrefabParentObject: {fileID: 0} 152 | m_PrefabInternal: {fileID: 0} 153 | m_GameObject: {fileID: 49844685} 154 | m_Enabled: 1 155 | serializedVersion: 2 156 | m_ClearFlags: 1 157 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 158 | m_NormalizedViewPortRect: 159 | serializedVersion: 2 160 | x: 0 161 | y: 0 162 | width: 1 163 | height: 1 164 | near clip plane: 0.3 165 | far clip plane: 1000 166 | field of view: 60 167 | orthographic: 0 168 | orthographic size: 5 169 | m_Depth: -1 170 | m_CullingMask: 171 | serializedVersion: 2 172 | m_Bits: 4294967295 173 | m_RenderingPath: -1 174 | m_TargetTexture: {fileID: 0} 175 | m_TargetDisplay: 0 176 | m_TargetEye: 3 177 | m_HDR: 1 178 | m_AllowMSAA: 1 179 | m_AllowDynamicResolution: 0 180 | m_ForceIntoRT: 0 181 | m_OcclusionCulling: 1 182 | m_StereoConvergence: 10 183 | m_StereoSeparation: 0.022 184 | --- !u!4 &49844689 185 | Transform: 186 | m_ObjectHideFlags: 0 187 | m_PrefabParentObject: {fileID: 0} 188 | m_PrefabInternal: {fileID: 0} 189 | m_GameObject: {fileID: 49844685} 190 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 191 | m_LocalPosition: {x: 0, y: 1, z: -10} 192 | m_LocalScale: {x: 1, y: 1, z: 1} 193 | m_Children: [] 194 | m_Father: {fileID: 0} 195 | m_RootOrder: 0 196 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 197 | --- !u!1 &195780944 198 | GameObject: 199 | m_ObjectHideFlags: 0 200 | m_PrefabParentObject: {fileID: 0} 201 | m_PrefabInternal: {fileID: 0} 202 | serializedVersion: 5 203 | m_Component: 204 | - component: {fileID: 195780946} 205 | - component: {fileID: 195780945} 206 | m_Layer: 0 207 | m_Name: Directional Light 208 | m_TagString: Untagged 209 | m_Icon: {fileID: 0} 210 | m_NavMeshLayer: 0 211 | m_StaticEditorFlags: 0 212 | m_IsActive: 1 213 | --- !u!108 &195780945 214 | Light: 215 | m_ObjectHideFlags: 0 216 | m_PrefabParentObject: {fileID: 0} 217 | m_PrefabInternal: {fileID: 0} 218 | m_GameObject: {fileID: 195780944} 219 | m_Enabled: 1 220 | serializedVersion: 8 221 | m_Type: 1 222 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 223 | m_Intensity: 1 224 | m_Range: 10 225 | m_SpotAngle: 30 226 | m_CookieSize: 10 227 | m_Shadows: 228 | m_Type: 2 229 | m_Resolution: -1 230 | m_CustomResolution: -1 231 | m_Strength: 1 232 | m_Bias: 0.05 233 | m_NormalBias: 0.4 234 | m_NearPlane: 0.2 235 | m_Cookie: {fileID: 0} 236 | m_DrawHalo: 0 237 | m_Flare: {fileID: 0} 238 | m_RenderMode: 0 239 | m_CullingMask: 240 | serializedVersion: 2 241 | m_Bits: 4294967295 242 | m_Lightmapping: 4 243 | m_AreaSize: {x: 1, y: 1} 244 | m_BounceIntensity: 1 245 | m_ColorTemperature: 6570 246 | m_UseColorTemperature: 0 247 | m_ShadowRadius: 0 248 | m_ShadowAngle: 0 249 | --- !u!4 &195780946 250 | Transform: 251 | m_ObjectHideFlags: 0 252 | m_PrefabParentObject: {fileID: 0} 253 | m_PrefabInternal: {fileID: 0} 254 | m_GameObject: {fileID: 195780944} 255 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 256 | m_LocalPosition: {x: 0, y: 3, z: 0} 257 | m_LocalScale: {x: 1, y: 1, z: 1} 258 | m_Children: [] 259 | m_Father: {fileID: 0} 260 | m_RootOrder: 1 261 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} 262 | --- !u!1 &423157574 263 | GameObject: 264 | m_ObjectHideFlags: 0 265 | m_PrefabParentObject: {fileID: 0} 266 | m_PrefabInternal: {fileID: 0} 267 | serializedVersion: 5 268 | m_Component: 269 | - component: {fileID: 423157576} 270 | - component: {fileID: 423157575} 271 | m_Layer: 0 272 | m_Name: '[EventListener]' 273 | m_TagString: Untagged 274 | m_Icon: {fileID: 0} 275 | m_NavMeshLayer: 0 276 | m_StaticEditorFlags: 0 277 | m_IsActive: 1 278 | --- !u!114 &423157575 279 | MonoBehaviour: 280 | m_ObjectHideFlags: 0 281 | m_PrefabParentObject: {fileID: 0} 282 | m_PrefabInternal: {fileID: 0} 283 | m_GameObject: {fileID: 423157574} 284 | m_Enabled: 1 285 | m_EditorHideFlags: 0 286 | m_Script: {fileID: 11500000, guid: 88a58b9d9b2dbb94eb5ea28df013b86f, type: 3} 287 | m_Name: 288 | m_EditorClassIdentifier: 289 | --- !u!4 &423157576 290 | Transform: 291 | m_ObjectHideFlags: 0 292 | m_PrefabParentObject: {fileID: 0} 293 | m_PrefabInternal: {fileID: 0} 294 | m_GameObject: {fileID: 423157574} 295 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} 296 | m_LocalPosition: {x: 0, y: 3, z: 0} 297 | m_LocalScale: {x: 1, y: 1, z: 1} 298 | m_Children: [] 299 | m_Father: {fileID: 0} 300 | m_RootOrder: 3 301 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 302 | --- !u!1 &745290926 303 | GameObject: 304 | m_ObjectHideFlags: 0 305 | m_PrefabParentObject: {fileID: 0} 306 | m_PrefabInternal: {fileID: 0} 307 | serializedVersion: 5 308 | m_Component: 309 | - component: {fileID: 745290931} 310 | - component: {fileID: 745290930} 311 | - component: {fileID: 745290929} 312 | - component: {fileID: 745290928} 313 | - component: {fileID: 745290932} 314 | - component: {fileID: 745290927} 315 | m_Layer: 0 316 | m_Name: Cube 317 | m_TagString: Untagged 318 | m_Icon: {fileID: 0} 319 | m_NavMeshLayer: 0 320 | m_StaticEditorFlags: 0 321 | m_IsActive: 1 322 | --- !u!114 &745290927 323 | MonoBehaviour: 324 | m_ObjectHideFlags: 0 325 | m_PrefabParentObject: {fileID: 0} 326 | m_PrefabInternal: {fileID: 0} 327 | m_GameObject: {fileID: 745290926} 328 | m_Enabled: 1 329 | m_EditorHideFlags: 0 330 | m_Script: {fileID: 11500000, guid: e25acab8b97525a4ca09e846def1988b, type: 3} 331 | m_Name: 332 | m_EditorClassIdentifier: 333 | clipsInfo: 334 | - stateName: Base Layer.Idle 335 | clip: {fileID: 7400000, guid: bc2c025f073a2734a9e79ce267daf102, type: 2} 336 | layerIndex: 0 337 | funcs: [] 338 | - stateName: Base Layer.Left 339 | clip: {fileID: 7400000, guid: d4269a4c0e83ea34889bb6d38ac1d5bf, type: 2} 340 | layerIndex: 0 341 | funcs: 342 | - AnimatorEventCallBack 343 | - AnimatorEventCallBack 344 | - stateName: Base Layer.Right 345 | clip: {fileID: 7400000, guid: 1d9565ee11681b34eb944fab655a7d99, type: 2} 346 | layerIndex: 0 347 | funcs: [] 348 | - stateName: Base Layer.Rotate 349 | clip: {fileID: 7400000, guid: a29ffc8d401a61741bedf9f3662c53fa, type: 2} 350 | layerIndex: 0 351 | funcs: [] 352 | - stateName: Rotate.Idle 353 | clip: {fileID: 7400000, guid: bc2c025f073a2734a9e79ce267daf102, type: 2} 354 | layerIndex: 1 355 | funcs: [] 356 | - stateName: Rotate.Left 357 | clip: {fileID: 7400000, guid: d4269a4c0e83ea34889bb6d38ac1d5bf, type: 2} 358 | layerIndex: 1 359 | funcs: 360 | - AnimatorEventCallBack 361 | - AnimatorEventCallBack 362 | - stateName: Rotate.Right 363 | clip: {fileID: 7400000, guid: 1d9565ee11681b34eb944fab655a7d99, type: 2} 364 | layerIndex: 1 365 | funcs: [] 366 | - stateName: Rotate.Rotate 367 | clip: {fileID: 7400000, guid: b6d8dff3468c84b4f9ccc9a5014bb890, type: 2} 368 | layerIndex: 1 369 | funcs: [] 370 | - stateName: New Layer.Idle 371 | clip: {fileID: 7400000, guid: 11c4cfc21806af14c84a48545781c988, type: 2} 372 | layerIndex: 2 373 | funcs: [] 374 | - stateName: New Layer.Rotate1212 375 | clip: {fileID: 7400000, guid: a29ffc8d401a61741bedf9f3662c53fa, type: 2} 376 | layerIndex: 2 377 | funcs: [] 378 | - stateName: Base Layer.Idle 379 | clip: {fileID: 7400000, guid: bc2c025f073a2734a9e79ce267daf102, type: 2} 380 | layerIndex: 0 381 | funcs: [] 382 | - stateName: Base Layer.Left 383 | clip: {fileID: 7400000, guid: d4269a4c0e83ea34889bb6d38ac1d5bf, type: 2} 384 | layerIndex: 0 385 | funcs: 386 | - AnimatorEventCallBack 387 | - AnimatorEventCallBack 388 | - stateName: Base Layer.Right 389 | clip: {fileID: 7400000, guid: 1d9565ee11681b34eb944fab655a7d99, type: 2} 390 | layerIndex: 0 391 | funcs: [] 392 | - stateName: Base Layer.Rotate 393 | clip: {fileID: 7400000, guid: a29ffc8d401a61741bedf9f3662c53fa, type: 2} 394 | layerIndex: 0 395 | funcs: [] 396 | - stateName: Rotate.Idle 397 | clip: {fileID: 7400000, guid: bc2c025f073a2734a9e79ce267daf102, type: 2} 398 | layerIndex: 1 399 | funcs: [] 400 | - stateName: Rotate.Left 401 | clip: {fileID: 7400000, guid: d4269a4c0e83ea34889bb6d38ac1d5bf, type: 2} 402 | layerIndex: 1 403 | funcs: 404 | - AnimatorEventCallBack 405 | - AnimatorEventCallBack 406 | - stateName: Rotate.Right 407 | clip: {fileID: 7400000, guid: 1d9565ee11681b34eb944fab655a7d99, type: 2} 408 | layerIndex: 1 409 | funcs: [] 410 | - stateName: Rotate.Rotate 411 | clip: {fileID: 7400000, guid: b6d8dff3468c84b4f9ccc9a5014bb890, type: 2} 412 | layerIndex: 1 413 | funcs: [] 414 | - stateName: New Layer.Idle 415 | clip: {fileID: 7400000, guid: 11c4cfc21806af14c84a48545781c988, type: 2} 416 | layerIndex: 2 417 | funcs: [] 418 | - stateName: New Layer.Rotate1212 419 | clip: {fileID: 7400000, guid: a29ffc8d401a61741bedf9f3662c53fa, type: 2} 420 | layerIndex: 2 421 | funcs: [] 422 | --- !u!23 &745290928 423 | MeshRenderer: 424 | m_ObjectHideFlags: 0 425 | m_PrefabParentObject: {fileID: 0} 426 | m_PrefabInternal: {fileID: 0} 427 | m_GameObject: {fileID: 745290926} 428 | m_Enabled: 1 429 | m_CastShadows: 1 430 | m_ReceiveShadows: 1 431 | m_DynamicOccludee: 1 432 | m_MotionVectors: 1 433 | m_LightProbeUsage: 1 434 | m_ReflectionProbeUsage: 1 435 | m_Materials: 436 | - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} 437 | m_StaticBatchInfo: 438 | firstSubMesh: 0 439 | subMeshCount: 0 440 | m_StaticBatchRoot: {fileID: 0} 441 | m_ProbeAnchor: {fileID: 0} 442 | m_LightProbeVolumeOverride: {fileID: 0} 443 | m_ScaleInLightmap: 1 444 | m_PreserveUVs: 1 445 | m_IgnoreNormalsForChartDetection: 0 446 | m_ImportantGI: 0 447 | m_StitchLightmapSeams: 0 448 | m_SelectedEditorRenderState: 3 449 | m_MinimumChartSize: 4 450 | m_AutoUVMaxDistance: 0.5 451 | m_AutoUVMaxAngle: 89 452 | m_LightmapParameters: {fileID: 0} 453 | m_SortingLayerID: 0 454 | m_SortingLayer: 0 455 | m_SortingOrder: 0 456 | --- !u!65 &745290929 457 | BoxCollider: 458 | m_ObjectHideFlags: 0 459 | m_PrefabParentObject: {fileID: 0} 460 | m_PrefabInternal: {fileID: 0} 461 | m_GameObject: {fileID: 745290926} 462 | m_Material: {fileID: 0} 463 | m_IsTrigger: 0 464 | m_Enabled: 1 465 | serializedVersion: 2 466 | m_Size: {x: 1, y: 1, z: 1} 467 | m_Center: {x: 0, y: 0, z: 0} 468 | --- !u!33 &745290930 469 | MeshFilter: 470 | m_ObjectHideFlags: 0 471 | m_PrefabParentObject: {fileID: 0} 472 | m_PrefabInternal: {fileID: 0} 473 | m_GameObject: {fileID: 745290926} 474 | m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} 475 | --- !u!4 &745290931 476 | Transform: 477 | m_ObjectHideFlags: 0 478 | m_PrefabParentObject: {fileID: 0} 479 | m_PrefabInternal: {fileID: 0} 480 | m_GameObject: {fileID: 745290926} 481 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 482 | m_LocalPosition: {x: 0, y: 0, z: 0} 483 | m_LocalScale: {x: 1, y: 1, z: 1} 484 | m_Children: [] 485 | m_Father: {fileID: 0} 486 | m_RootOrder: 2 487 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 488 | --- !u!95 &745290932 489 | Animator: 490 | serializedVersion: 3 491 | m_ObjectHideFlags: 0 492 | m_PrefabParentObject: {fileID: 0} 493 | m_PrefabInternal: {fileID: 0} 494 | m_GameObject: {fileID: 745290926} 495 | m_Enabled: 1 496 | m_Avatar: {fileID: 0} 497 | m_Controller: {fileID: 9100000, guid: 4b4ed06fbbec04c4ba01ebb14cc70667, type: 2} 498 | m_CullingMode: 0 499 | m_UpdateMode: 0 500 | m_ApplyRootMotion: 0 501 | m_LinearVelocityBlending: 0 502 | m_WarningMessage: 503 | m_HasTransformHierarchy: 1 504 | m_AllowConstantClipSamplingOptimization: 1 505 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/AnimClips/Test.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 38360a85ee7aa334695a1a3bdd9cc6be 3 | timeCreated: 1525156330 4 | licenseType: Pro 5 | DefaultImporter: 6 | externalObjects: {} 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a73056aa4e1e7554aa7bc59e55dc6db6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait/Collapse.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: Collapse 10 | serializedVersion: 7 11 | m_Legacy: 0 12 | m_Compressed: 0 13 | m_UseHighQualityCurve: 1 14 | m_RotationCurves: [] 15 | m_CompressedRotationCurves: [] 16 | m_EulerCurves: [] 17 | m_PositionCurves: 18 | - curve: 19 | serializedVersion: 2 20 | m_Curve: 21 | - serializedVersion: 3 22 | time: 0 23 | value: {x: 7.7, y: 0, z: 0} 24 | inSlope: {x: 0, y: 0, z: 0} 25 | outSlope: {x: 0, y: 0, z: 0} 26 | tangentMode: 0 27 | weightedMode: 0 28 | inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 29 | outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 30 | - serializedVersion: 3 31 | time: 2 32 | value: {x: -5.66, y: 0, z: 0} 33 | inSlope: {x: 0, y: 0, z: 0} 34 | outSlope: {x: 0, y: 0, z: 0} 35 | tangentMode: 0 36 | weightedMode: 0 37 | inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 38 | outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 39 | m_PreInfinity: 2 40 | m_PostInfinity: 2 41 | m_RotationOrder: 4 42 | path: 43 | m_ScaleCurves: [] 44 | m_FloatCurves: [] 45 | m_PPtrCurves: [] 46 | m_SampleRate: 60 47 | m_WrapMode: 0 48 | m_Bounds: 49 | m_Center: {x: 0, y: 0, z: 0} 50 | m_Extent: {x: 0, y: 0, z: 0} 51 | m_ClipBindingConstant: 52 | genericBindings: 53 | - serializedVersion: 2 54 | path: 0 55 | attribute: 1 56 | script: {fileID: 0} 57 | typeID: 4 58 | customType: 0 59 | isPPtrCurve: 0 60 | pptrCurveMapping: [] 61 | m_AnimationClipSettings: 62 | serializedVersion: 2 63 | m_AdditiveReferencePoseClip: {fileID: 0} 64 | m_AdditiveReferencePoseTime: 0 65 | m_StartTime: 0 66 | m_StopTime: 2 67 | m_OrientationOffsetY: 0 68 | m_Level: 0 69 | m_CycleOffset: 0 70 | m_HasAdditiveReferencePose: 0 71 | m_LoopTime: 0 72 | m_LoopBlend: 0 73 | m_LoopBlendOrientation: 0 74 | m_LoopBlendPositionY: 0 75 | m_LoopBlendPositionXZ: 0 76 | m_KeepOriginalOrientation: 0 77 | m_KeepOriginalPositionY: 1 78 | m_KeepOriginalPositionXZ: 0 79 | m_HeightFromFeet: 0 80 | m_Mirror: 0 81 | m_EditorCurves: 82 | - curve: 83 | serializedVersion: 2 84 | m_Curve: 85 | - serializedVersion: 3 86 | time: 0 87 | value: 7.7 88 | inSlope: 0 89 | outSlope: 0 90 | tangentMode: 136 91 | weightedMode: 0 92 | inWeight: 0.33333334 93 | outWeight: 0.33333334 94 | - serializedVersion: 3 95 | time: 2 96 | value: -5.66 97 | inSlope: 0 98 | outSlope: 0 99 | tangentMode: 136 100 | weightedMode: 0 101 | inWeight: 0.33333334 102 | outWeight: 0.33333334 103 | m_PreInfinity: 2 104 | m_PostInfinity: 2 105 | m_RotationOrder: 4 106 | attribute: m_LocalPosition.x 107 | path: 108 | classID: 4 109 | script: {fileID: 0} 110 | - curve: 111 | serializedVersion: 2 112 | m_Curve: 113 | - serializedVersion: 3 114 | time: 0 115 | value: 0 116 | inSlope: 0 117 | outSlope: 0 118 | tangentMode: 136 119 | weightedMode: 0 120 | inWeight: 0.33333334 121 | outWeight: 0.33333334 122 | - serializedVersion: 3 123 | time: 2 124 | value: 0 125 | inSlope: 0 126 | outSlope: 0 127 | tangentMode: 136 128 | weightedMode: 0 129 | inWeight: 0.33333334 130 | outWeight: 0.33333334 131 | m_PreInfinity: 2 132 | m_PostInfinity: 2 133 | m_RotationOrder: 4 134 | attribute: m_LocalPosition.y 135 | path: 136 | classID: 4 137 | script: {fileID: 0} 138 | - curve: 139 | serializedVersion: 2 140 | m_Curve: 141 | - serializedVersion: 3 142 | time: 0 143 | value: 0 144 | inSlope: 0 145 | outSlope: 0 146 | tangentMode: 136 147 | weightedMode: 0 148 | inWeight: 0.33333334 149 | outWeight: 0.33333334 150 | - serializedVersion: 3 151 | time: 2 152 | value: 0 153 | inSlope: 0 154 | outSlope: 0 155 | tangentMode: 136 156 | weightedMode: 0 157 | inWeight: 0.33333334 158 | outWeight: 0.33333334 159 | m_PreInfinity: 2 160 | m_PostInfinity: 2 161 | m_RotationOrder: 4 162 | attribute: m_LocalPosition.z 163 | path: 164 | classID: 4 165 | script: {fileID: 0} 166 | m_EulerEditorCurves: [] 167 | m_HasGenericRootTransform: 1 168 | m_HasMotionFloatCurves: 0 169 | m_Events: [] 170 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait/Collapse.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3f7ef41dfd7941047bf83a39d1f519eb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 7400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait/Cube.controller: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1107 &-6948837360922722229 4 | AnimatorStateMachine: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 1 7 | m_CorrespondingSourceObject: {fileID: 0} 8 | m_PrefabInstance: {fileID: 0} 9 | m_PrefabAsset: {fileID: 0} 10 | m_Name: Base Layer 11 | m_ChildStates: 12 | - serializedVersion: 1 13 | m_State: {fileID: -6432055263307202921} 14 | m_Position: {x: 140, y: 380, z: 0} 15 | - serializedVersion: 1 16 | m_State: {fileID: -312426211816029575} 17 | m_Position: {x: 440, y: 380, z: 0} 18 | - serializedVersion: 1 19 | m_State: {fileID: -3319031314831846871} 20 | m_Position: {x: 310, y: 220, z: 0} 21 | m_ChildStateMachines: [] 22 | m_AnyStateTransitions: [] 23 | m_EntryTransitions: [] 24 | m_StateMachineTransitions: {} 25 | m_StateMachineBehaviours: [] 26 | m_AnyStatePosition: {x: 50, y: 20, z: 0} 27 | m_EntryPosition: {x: 50, y: 120, z: 0} 28 | m_ExitPosition: {x: 800, y: 120, z: 0} 29 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} 30 | m_DefaultState: {fileID: -3319031314831846871} 31 | --- !u!1101 &-6620010503964485901 32 | AnimatorStateTransition: 33 | m_ObjectHideFlags: 1 34 | m_CorrespondingSourceObject: {fileID: 0} 35 | m_PrefabInstance: {fileID: 0} 36 | m_PrefabAsset: {fileID: 0} 37 | m_Name: 38 | m_Conditions: 39 | - m_ConditionMode: 2 40 | m_ConditionEvent: Expand 41 | m_EventTreshold: 0 42 | m_DstStateMachine: {fileID: 0} 43 | m_DstState: {fileID: -312426211816029575} 44 | m_Solo: 0 45 | m_Mute: 0 46 | m_IsExit: 0 47 | serializedVersion: 3 48 | m_TransitionDuration: 0.25 49 | m_TransitionOffset: 0 50 | m_ExitTime: 0.875 51 | m_HasExitTime: 1 52 | m_HasFixedDuration: 1 53 | m_InterruptionSource: 0 54 | m_OrderedInterruption: 1 55 | m_CanTransitionToSelf: 1 56 | --- !u!1102 &-6432055263307202921 57 | AnimatorState: 58 | serializedVersion: 6 59 | m_ObjectHideFlags: 1 60 | m_CorrespondingSourceObject: {fileID: 0} 61 | m_PrefabInstance: {fileID: 0} 62 | m_PrefabAsset: {fileID: 0} 63 | m_Name: Expand 64 | m_Speed: 1 65 | m_CycleOffset: 0 66 | m_Transitions: 67 | - {fileID: -6620010503964485901} 68 | m_StateMachineBehaviours: [] 69 | m_Position: {x: 50, y: 50, z: 0} 70 | m_IKOnFeet: 0 71 | m_WriteDefaultValues: 1 72 | m_Mirror: 0 73 | m_SpeedParameterActive: 0 74 | m_MirrorParameterActive: 0 75 | m_CycleOffsetParameterActive: 0 76 | m_TimeParameterActive: 0 77 | m_Motion: {fileID: 7400000, guid: 3fdbbca4c7ccefe46be8c057a9cf3aaf, type: 2} 78 | m_Tag: 79 | m_SpeedParameter: 80 | m_MirrorParameter: 81 | m_CycleOffsetParameter: 82 | m_TimeParameter: 83 | --- !u!1102 &-3319031314831846871 84 | AnimatorState: 85 | serializedVersion: 6 86 | m_ObjectHideFlags: 1 87 | m_CorrespondingSourceObject: {fileID: 0} 88 | m_PrefabInstance: {fileID: 0} 89 | m_PrefabAsset: {fileID: 0} 90 | m_Name: idel 91 | m_Speed: 1 92 | m_CycleOffset: 0 93 | m_Transitions: 94 | - {fileID: 764751712591787129} 95 | m_StateMachineBehaviours: [] 96 | m_Position: {x: 50, y: 50, z: 0} 97 | m_IKOnFeet: 0 98 | m_WriteDefaultValues: 1 99 | m_Mirror: 0 100 | m_SpeedParameterActive: 0 101 | m_MirrorParameterActive: 0 102 | m_CycleOffsetParameterActive: 0 103 | m_TimeParameterActive: 0 104 | m_Motion: {fileID: 7400000, guid: 1735b84d3c1fd2b4e85f03391432434f, type: 2} 105 | m_Tag: 106 | m_SpeedParameter: 107 | m_MirrorParameter: 108 | m_CycleOffsetParameter: 109 | m_TimeParameter: 110 | --- !u!1102 &-312426211816029575 111 | AnimatorState: 112 | serializedVersion: 6 113 | m_ObjectHideFlags: 1 114 | m_CorrespondingSourceObject: {fileID: 0} 115 | m_PrefabInstance: {fileID: 0} 116 | m_PrefabAsset: {fileID: 0} 117 | m_Name: Collapse 118 | m_Speed: 1 119 | m_CycleOffset: 0 120 | m_Transitions: 121 | - {fileID: 3195251837810727497} 122 | m_StateMachineBehaviours: [] 123 | m_Position: {x: 50, y: 50, z: 0} 124 | m_IKOnFeet: 0 125 | m_WriteDefaultValues: 1 126 | m_Mirror: 0 127 | m_SpeedParameterActive: 0 128 | m_MirrorParameterActive: 0 129 | m_CycleOffsetParameterActive: 0 130 | m_TimeParameterActive: 0 131 | m_Motion: {fileID: 7400000, guid: 3f7ef41dfd7941047bf83a39d1f519eb, type: 2} 132 | m_Tag: 133 | m_SpeedParameter: 134 | m_MirrorParameter: 135 | m_CycleOffsetParameter: 136 | m_TimeParameter: 137 | --- !u!91 &9100000 138 | AnimatorController: 139 | m_ObjectHideFlags: 0 140 | m_CorrespondingSourceObject: {fileID: 0} 141 | m_PrefabInstance: {fileID: 0} 142 | m_PrefabAsset: {fileID: 0} 143 | m_Name: Cube 144 | serializedVersion: 5 145 | m_AnimatorParameters: 146 | - m_Name: Expand 147 | m_Type: 4 148 | m_DefaultFloat: 0 149 | m_DefaultInt: 0 150 | m_DefaultBool: 1 151 | m_Controller: {fileID: 9100000} 152 | m_AnimatorLayers: 153 | - serializedVersion: 5 154 | m_Name: Base Layer 155 | m_StateMachine: {fileID: -6948837360922722229} 156 | m_Mask: {fileID: 0} 157 | m_Motions: [] 158 | m_Behaviours: [] 159 | m_BlendingMode: 0 160 | m_SyncedLayerIndex: -1 161 | m_DefaultWeight: 0 162 | m_IKPass: 0 163 | m_SyncedLayerAffectsTiming: 0 164 | m_Controller: {fileID: 9100000} 165 | --- !u!1101 &764751712591787129 166 | AnimatorStateTransition: 167 | m_ObjectHideFlags: 1 168 | m_CorrespondingSourceObject: {fileID: 0} 169 | m_PrefabInstance: {fileID: 0} 170 | m_PrefabAsset: {fileID: 0} 171 | m_Name: 172 | m_Conditions: 173 | - m_ConditionMode: 2 174 | m_ConditionEvent: Expand 175 | m_EventTreshold: 0 176 | m_DstStateMachine: {fileID: 0} 177 | m_DstState: {fileID: -312426211816029575} 178 | m_Solo: 0 179 | m_Mute: 0 180 | m_IsExit: 0 181 | serializedVersion: 3 182 | m_TransitionDuration: 0.25 183 | m_TransitionOffset: 0 184 | m_ExitTime: 0.75 185 | m_HasExitTime: 1 186 | m_HasFixedDuration: 1 187 | m_InterruptionSource: 0 188 | m_OrderedInterruption: 1 189 | m_CanTransitionToSelf: 1 190 | --- !u!1101 &3195251837810727497 191 | AnimatorStateTransition: 192 | m_ObjectHideFlags: 1 193 | m_CorrespondingSourceObject: {fileID: 0} 194 | m_PrefabInstance: {fileID: 0} 195 | m_PrefabAsset: {fileID: 0} 196 | m_Name: 197 | m_Conditions: 198 | - m_ConditionMode: 1 199 | m_ConditionEvent: Expand 200 | m_EventTreshold: 0 201 | m_DstStateMachine: {fileID: 0} 202 | m_DstState: {fileID: -6432055263307202921} 203 | m_Solo: 0 204 | m_Mute: 0 205 | m_IsExit: 0 206 | serializedVersion: 3 207 | m_TransitionDuration: 0.25 208 | m_TransitionOffset: 0 209 | m_ExitTime: 0.875 210 | m_HasExitTime: 1 211 | m_HasFixedDuration: 1 212 | m_InterruptionSource: 0 213 | m_OrderedInterruption: 1 214 | m_CanTransitionToSelf: 1 215 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait/Cube.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2625a5bad1894749857011e844016b5 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 9100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait/Expand.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: Expand 10 | serializedVersion: 7 11 | m_Legacy: 0 12 | m_Compressed: 0 13 | m_UseHighQualityCurve: 1 14 | m_RotationCurves: [] 15 | m_CompressedRotationCurves: [] 16 | m_EulerCurves: [] 17 | m_PositionCurves: 18 | - curve: 19 | serializedVersion: 2 20 | m_Curve: 21 | - serializedVersion: 3 22 | time: 0 23 | value: {x: -5.66, y: 0, z: 0} 24 | inSlope: {x: 0, y: 0, z: 0} 25 | outSlope: {x: 0, y: 0, z: 0} 26 | tangentMode: 0 27 | weightedMode: 0 28 | inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 29 | outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 30 | - serializedVersion: 3 31 | time: 2 32 | value: {x: 7.7, y: 0, z: 0} 33 | inSlope: {x: 0, y: 0, z: 0} 34 | outSlope: {x: 0, y: 0, z: 0} 35 | tangentMode: 0 36 | weightedMode: 0 37 | inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 38 | outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 39 | m_PreInfinity: 2 40 | m_PostInfinity: 2 41 | m_RotationOrder: 4 42 | path: 43 | m_ScaleCurves: [] 44 | m_FloatCurves: [] 45 | m_PPtrCurves: [] 46 | m_SampleRate: 60 47 | m_WrapMode: 0 48 | m_Bounds: 49 | m_Center: {x: 0, y: 0, z: 0} 50 | m_Extent: {x: 0, y: 0, z: 0} 51 | m_ClipBindingConstant: 52 | genericBindings: 53 | - serializedVersion: 2 54 | path: 0 55 | attribute: 1 56 | script: {fileID: 0} 57 | typeID: 4 58 | customType: 0 59 | isPPtrCurve: 0 60 | pptrCurveMapping: [] 61 | m_AnimationClipSettings: 62 | serializedVersion: 2 63 | m_AdditiveReferencePoseClip: {fileID: 0} 64 | m_AdditiveReferencePoseTime: 0 65 | m_StartTime: 0 66 | m_StopTime: 2 67 | m_OrientationOffsetY: 0 68 | m_Level: 0 69 | m_CycleOffset: 0 70 | m_HasAdditiveReferencePose: 0 71 | m_LoopTime: 0 72 | m_LoopBlend: 0 73 | m_LoopBlendOrientation: 0 74 | m_LoopBlendPositionY: 0 75 | m_LoopBlendPositionXZ: 0 76 | m_KeepOriginalOrientation: 0 77 | m_KeepOriginalPositionY: 1 78 | m_KeepOriginalPositionXZ: 0 79 | m_HeightFromFeet: 0 80 | m_Mirror: 0 81 | m_EditorCurves: 82 | - curve: 83 | serializedVersion: 2 84 | m_Curve: 85 | - serializedVersion: 3 86 | time: 0 87 | value: -5.66 88 | inSlope: 0 89 | outSlope: 0 90 | tangentMode: 136 91 | weightedMode: 0 92 | inWeight: 0.33333334 93 | outWeight: 0.33333334 94 | - serializedVersion: 3 95 | time: 2 96 | value: 7.7 97 | inSlope: 0 98 | outSlope: 0 99 | tangentMode: 136 100 | weightedMode: 0 101 | inWeight: 0.33333334 102 | outWeight: 0.33333334 103 | m_PreInfinity: 2 104 | m_PostInfinity: 2 105 | m_RotationOrder: 4 106 | attribute: m_LocalPosition.x 107 | path: 108 | classID: 4 109 | script: {fileID: 0} 110 | - curve: 111 | serializedVersion: 2 112 | m_Curve: 113 | - serializedVersion: 3 114 | time: 0 115 | value: 0 116 | inSlope: 0 117 | outSlope: 0 118 | tangentMode: 136 119 | weightedMode: 0 120 | inWeight: 0.33333334 121 | outWeight: 0.33333334 122 | - serializedVersion: 3 123 | time: 2 124 | value: 0 125 | inSlope: 0 126 | outSlope: 0 127 | tangentMode: 136 128 | weightedMode: 0 129 | inWeight: 0.33333334 130 | outWeight: 0.33333334 131 | m_PreInfinity: 2 132 | m_PostInfinity: 2 133 | m_RotationOrder: 4 134 | attribute: m_LocalPosition.y 135 | path: 136 | classID: 4 137 | script: {fileID: 0} 138 | - curve: 139 | serializedVersion: 2 140 | m_Curve: 141 | - serializedVersion: 3 142 | time: 0 143 | value: 0 144 | inSlope: 0 145 | outSlope: 0 146 | tangentMode: 136 147 | weightedMode: 0 148 | inWeight: 0.33333334 149 | outWeight: 0.33333334 150 | - serializedVersion: 3 151 | time: 2 152 | value: 0 153 | inSlope: 0 154 | outSlope: 0 155 | tangentMode: 136 156 | weightedMode: 0 157 | inWeight: 0.33333334 158 | outWeight: 0.33333334 159 | m_PreInfinity: 2 160 | m_PostInfinity: 2 161 | m_RotationOrder: 4 162 | attribute: m_LocalPosition.z 163 | path: 164 | classID: 4 165 | script: {fileID: 0} 166 | m_EulerEditorCurves: [] 167 | m_HasGenericRootTransform: 1 168 | m_HasMotionFloatCurves: 0 169 | m_Events: [] 170 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait/Expand.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3fdbbca4c7ccefe46be8c057a9cf3aaf 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 7400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait/Test.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using UnityEngine; 3 | using UnityEngine.UI; 4 | using zFrame.Event; 5 | 6 | public class Test : MonoBehaviour 7 | { 8 | public Animator animator; 9 | public Button button; 10 | 11 | public Text text, text2; 12 | public int delay = 5; 13 | float countcached = 0; 14 | private bool isCounting = false; 15 | 16 | EventState callbackExp, callbackClps; 17 | 18 | 19 | void Start() 20 | { 21 | button.onClick.AddListener(OnButtonClicked); 22 | text.text = "expand"; 23 | } 24 | 25 | private void Update() 26 | { 27 | if (isCounting) 28 | { 29 | countcached += Time.deltaTime; 30 | text2.text = countcached.ToString("f0"); 31 | } 32 | } 33 | 34 | private async void OnButtonClicked() 35 | { 36 | // 等待折叠 37 | { 38 | button.interactable = false; 39 | Debug.Log($"{nameof(Test)}: Default is expand , Now start collapse!"); 40 | var r = await animator.SetBoolAsync("Expand","Expand", false); // todo: 必须细分到 layer.state 这种级别,否则误触会很伤 41 | Debug.Log($"{nameof(Test)}: collapse Completed , clip name = {r.animatorClipInfo.clip.name}!"); 42 | text.text = "collapsed"; 43 | } 44 | 45 | //做一个延迟 46 | { 47 | Debug.Log($"{nameof(Test)}: wait for {delay} second!"); 48 | isCounting = true; 49 | await Task.Delay(delay * 1000); 50 | isCounting = false; 51 | countcached = 0; 52 | text2.text = string.Empty; 53 | Debug.Log($"{nameof(Test)}: waiting finish!"); 54 | } 55 | 56 | // 等待展开 57 | { 58 | Debug.Log($"{nameof(Test)}: Now is collapse , expanding !"); 59 | await animator.SetBoolAsync("Expand", "Expand", true); 60 | text.text = "expand"; 61 | Debug.Log($"{nameof(Test)}: expand Completed!"); 62 | button.interactable = true; 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait/Test.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9e683d014f3145f48b742ec3049e8eda 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait/TestForAwait.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba779270add0591468aa22fd2b0545a0 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait/idel.anim: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!74 &7400000 4 | AnimationClip: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: idel 10 | serializedVersion: 7 11 | m_Legacy: 0 12 | m_Compressed: 0 13 | m_UseHighQualityCurve: 1 14 | m_RotationCurves: [] 15 | m_CompressedRotationCurves: [] 16 | m_EulerCurves: [] 17 | m_PositionCurves: 18 | - curve: 19 | serializedVersion: 2 20 | m_Curve: 21 | - serializedVersion: 3 22 | time: 0 23 | value: {x: 7.7, y: 0, z: 0} 24 | inSlope: {x: 0, y: 0, z: 0} 25 | outSlope: {x: 0, y: 0, z: 0} 26 | tangentMode: 0 27 | weightedMode: 0 28 | inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 29 | outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} 30 | m_PreInfinity: 2 31 | m_PostInfinity: 2 32 | m_RotationOrder: 4 33 | path: 34 | m_ScaleCurves: [] 35 | m_FloatCurves: [] 36 | m_PPtrCurves: [] 37 | m_SampleRate: 60 38 | m_WrapMode: 0 39 | m_Bounds: 40 | m_Center: {x: 0, y: 0, z: 0} 41 | m_Extent: {x: 0, y: 0, z: 0} 42 | m_ClipBindingConstant: 43 | genericBindings: 44 | - serializedVersion: 2 45 | path: 0 46 | attribute: 1 47 | script: {fileID: 0} 48 | typeID: 4 49 | customType: 0 50 | isPPtrCurve: 0 51 | pptrCurveMapping: [] 52 | m_AnimationClipSettings: 53 | serializedVersion: 2 54 | m_AdditiveReferencePoseClip: {fileID: 0} 55 | m_AdditiveReferencePoseTime: 0 56 | m_StartTime: 0 57 | m_StopTime: 0 58 | m_OrientationOffsetY: 0 59 | m_Level: 0 60 | m_CycleOffset: 0 61 | m_HasAdditiveReferencePose: 0 62 | m_LoopTime: 0 63 | m_LoopBlend: 0 64 | m_LoopBlendOrientation: 0 65 | m_LoopBlendPositionY: 0 66 | m_LoopBlendPositionXZ: 0 67 | m_KeepOriginalOrientation: 0 68 | m_KeepOriginalPositionY: 1 69 | m_KeepOriginalPositionXZ: 0 70 | m_HeightFromFeet: 0 71 | m_Mirror: 0 72 | m_EditorCurves: 73 | - curve: 74 | serializedVersion: 2 75 | m_Curve: 76 | - serializedVersion: 3 77 | time: 0 78 | value: 7.7 79 | inSlope: 0 80 | outSlope: 0 81 | tangentMode: 136 82 | weightedMode: 0 83 | inWeight: 0.33333334 84 | outWeight: 0.33333334 85 | m_PreInfinity: 2 86 | m_PostInfinity: 2 87 | m_RotationOrder: 4 88 | attribute: m_LocalPosition.x 89 | path: 90 | classID: 4 91 | script: {fileID: 0} 92 | - curve: 93 | serializedVersion: 2 94 | m_Curve: 95 | - serializedVersion: 3 96 | time: 0 97 | value: 0 98 | inSlope: 0 99 | outSlope: 0 100 | tangentMode: 136 101 | weightedMode: 0 102 | inWeight: 0.33333334 103 | outWeight: 0.33333334 104 | m_PreInfinity: 2 105 | m_PostInfinity: 2 106 | m_RotationOrder: 4 107 | attribute: m_LocalPosition.y 108 | path: 109 | classID: 4 110 | script: {fileID: 0} 111 | - curve: 112 | serializedVersion: 2 113 | m_Curve: 114 | - serializedVersion: 3 115 | time: 0 116 | value: 0 117 | inSlope: 0 118 | outSlope: 0 119 | tangentMode: 136 120 | weightedMode: 0 121 | inWeight: 0.33333334 122 | outWeight: 0.33333334 123 | m_PreInfinity: 2 124 | m_PostInfinity: 2 125 | m_RotationOrder: 4 126 | attribute: m_LocalPosition.z 127 | path: 128 | classID: 4 129 | script: {fileID: 0} 130 | m_EulerEditorCurves: [] 131 | m_HasGenericRootTransform: 1 132 | m_HasMotionFloatCurves: 0 133 | m_Events: [] 134 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/TestForAwait/idel.anim.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1735b84d3c1fd2b4e85f03391432434f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 7400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/com.zframework.events.examples.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.zframework.events.examples", 3 | "rootNamespace": "", 4 | "references": [ 5 | "GUID:01620f7c539b3ee4d87938384cdaccec" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": true, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Example/com.zframework.events.examples.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d7f8559bf8bd9546a5142ce88b08508 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d860a6ee494e224a93e607a394edabd 3 | folderAsset: yes 4 | timeCreated: 1553261977 5 | licenseType: Pro 6 | DefaultImporter: 7 | externalObjects: {} 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/Async.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7978c21189445b041895918eaceeec08 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/Async/AnimatorAwaitEx.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using zFrame.Event; 3 | 4 | public static class AnimatorAwaitEx 5 | { 6 | public static AnimationAwaiter SetBoolAsync(this Animator animator,string clipName, string paramName, bool value) 7 | { 8 | var awaiter = new AnimationAwaiter(); 9 | var state = animator.SetTarget(clipName); 10 | state.OnCompleted(awaiter.SetResult); 11 | state.SetBool(paramName, value); 12 | return awaiter; 13 | } 14 | 15 | public static AnimationAwaiter SetTriggerAsync(this Animator animator, string clipName, string paramName) 16 | { 17 | var awaiter = new AnimationAwaiter(); 18 | var state = animator.SetTarget(clipName); 19 | state.OnCompleted(awaiter.SetResult); 20 | state.SetTrigger(paramName); 21 | return awaiter; 22 | } 23 | 24 | public static AnimationAwaiter SetFloatAsync(this Animator animator, string clipName, string paramName, float value) 25 | { 26 | var awaiter = new AnimationAwaiter(); 27 | var state = animator.SetTarget(clipName); 28 | state.OnCompleted(awaiter.SetResult); 29 | state.SetFloat(paramName, value); 30 | return awaiter; 31 | } 32 | } 33 | 34 | 35 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/Async/MESCustomAwaiter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using System.Threading; 4 | using UnityEngine; 5 | 6 | public class AnimationAwaiter : INotifyCompletion 7 | { 8 | static SynchronizationContext synchronizContent; 9 | static int id; 10 | [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] 11 | static void CaptureSynchronizationContext() 12 | { 13 | id = Thread.CurrentThread.ManagedThreadId; 14 | synchronizContent = SynchronizationContext.Current; 15 | } 16 | 17 | private bool _isDone; 18 | Action _continuation; 19 | public bool IsCompleted => _isDone; 20 | public void OnCompleted(Action continuation) 21 | { 22 | _continuation = continuation; 23 | } 24 | 25 | public AnimationAwaiter GetAwaiter() => this; 26 | public AnimationEvent GetResult() => animationEvent; 27 | AnimationEvent animationEvent; 28 | public void SetResult(AnimationEvent ae) 29 | { 30 | _isDone = true; 31 | animationEvent = ae; 32 | if (Thread.CurrentThread.ManagedThreadId == id) 33 | { 34 | _continuation?.Invoke(); 35 | } 36 | else 37 | { 38 | synchronizContent.Post(v => _continuation?.Invoke(), null); 39 | } 40 | } 41 | } 42 | 43 | 44 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/Async/MESCustomAwaiter.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ec08a1a50fe55ae47b1c71cdda348470 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/CallbackListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | using static zFrame.Event.EventHandler; 5 | 6 | namespace zFrame.Event 7 | { 8 | [RequireComponent(typeof(Animator))] 9 | public class CallbackListener : MonoBehaviour 10 | { 11 | Animator animator; 12 | void Awake() => animator = GetComponent(); 13 | /// 通用事件回调 14 | /// 事件传递的参数信息 15 | private void AnimatorEventCallBack(AnimationEvent ae) 16 | { 17 | AnimationClip clip = ae.animatorClipInfo.clip;//动画片段名称 18 | int currentFrame = Mathf.FloorToInt(ae.animatorClipInfo.clip.frameRate * ae.time); //动画片段当前帧 向下取整 19 | var actions = GetAction(animator, clip, currentFrame); 20 | var temp = new List>(actions); 21 | for (int i = 0; i < temp.Count; i++) 22 | { 23 | var action = temp[i]; 24 | if (action != null) 25 | { 26 | action.Invoke(ae); 27 | // the callback which comes from AnimationAwaiter should be oneshot event. 28 | if (action.Method.DeclaringType.Name == nameof(AnimationAwaiter)) 29 | { 30 | actions.Remove(action); 31 | } 32 | } 33 | } 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/CallbackListener.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1703af9c2d635a44a85cfc43771212ad 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/EventExtension.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using static zFrame.Event.EventHandler; 4 | 5 | namespace zFrame.Event 6 | { 7 | public static class EventExtension 8 | { 9 | /// 10 | /// 指定需要绑定回调的AnimationClip 11 | /// 12 | /// 动画机 13 | /// 动画片段 14 | /// 事件配置器 15 | public static EventState SetTarget(this Animator animator, string clipName) 16 | { 17 | EventInfo a_EventInfo = GetAnimationInfo(animator, clipName); 18 | animator.EnsureComponent(); 19 | //获得需要处理的动画片段 20 | return new EventState(a_EventInfo); 21 | } 22 | 23 | /// 24 | /// 指定需要绑定回调的AnimationClip 25 | /// 26 | /// 动画机 27 | /// 动画片段 28 | /// 事件配置器 29 | public static EventState GetEventConfig(this Animator animator, string clipName) 30 | { 31 | EventInfo a_EventInfo = GetAnimationInfo(animator, clipName); 32 | animator.EnsureComponent(); 33 | //获得需要处理的动画片段 34 | return new EventState(a_EventInfo); 35 | } 36 | /// 37 | /// 指定需要绑定回调的AnimationClip 38 | /// 39 | /// 动画机 40 | /// 动画片段 41 | /// 动画片段指定帧 42 | /// 事件配置器 43 | public static EventState SetTarget(this Animator animator, string clipName, int frame) 44 | { 45 | EventInfo a_EventInfo = GetAnimationInfo(animator, clipName); 46 | animator.EnsureComponent(); 47 | //获得需要处理的动画片段 48 | return new EventState(a_EventInfo, frame); 49 | } 50 | 51 | public static void RemoveListener(this Animator animator, Action action, string clipName, int frame = -1) 52 | { 53 | EventInfo a_EventInfo = GetAnimationInfo(animator, clipName, false); 54 | if (null != a_EventInfo) 55 | { 56 | a_EventInfo.RemoveListener(frame, action); 57 | } 58 | } 59 | public static bool HasAnyListener(this Animator animator, string clipName, int frame = -1) 60 | { 61 | EventInfo a_EventInfo = GetAnimationInfo(animator, clipName, false); 62 | if (null != a_EventInfo) 63 | { 64 | return a_EventInfo.HasAnyListener(frame); 65 | } 66 | return false; 67 | } 68 | private static T EnsureComponent(this Component target) where T : Component 69 | { 70 | T component = target.GetComponent(); 71 | if (!component) 72 | { 73 | component = target.gameObject.AddComponent(); 74 | } 75 | return component; 76 | } 77 | } 78 | } 79 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/EventExtension.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d26c507b474076e41b20d7f38ad2dcfc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/EventHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | [Flags] 6 | public enum LogLevel 7 | { 8 | None = 1, 9 | Error = 2, 10 | Warning = 4, 11 | Info = 8, 12 | All = Error | Warning | Info 13 | } 14 | 15 | namespace zFrame.Event 16 | { 17 | public static class EventHandler 18 | { 19 | /// 动画机及其事件信息Pairs 20 | private static List eventContainer = new List(); 21 | public static LogLevel LogLevels = LogLevel.All; 22 | 23 | private const string func = "AnimatorEventCallBack"; 24 | 25 | /// 26 | /// 为事件基础信息进行缓存 27 | /// 28 | /// 动画机 29 | /// 动画片段名称 30 | /// 指定帧 31 | public static EventInfo GetAnimationInfo(Animator animator, string clipName, bool createIfNotFound = true) 32 | { 33 | AnimationClip clip = GetAnimationClip(animator, clipName); 34 | if (clip) 35 | { 36 | return GetEventInfo(animator, clip, createIfNotFound); //获取指定事件信息类 37 | } 38 | else 39 | { 40 | throw new Exception($"{clipName} 不存在于 {animator}"); 41 | } 42 | } 43 | 44 | /// 45 | /// 为指定动画机片段插入回调方法 46 | /// 47 | /// 回调信息类 48 | /// 指定帧 49 | public static void GenerateAnimationEvent(EventInfo eventInfo, int frame) 50 | { 51 | if (frame < 0 || frame > eventInfo.totalFrames) 52 | { 53 | if (LogLevels.HasFlag(LogLevel.Error)) 54 | { 55 | Debug.LogError($"AnimatorEventSystem[紧急]:【{eventInfo.animator.name}】所在的动画机【{eventInfo.animationClip.name}】片段帧数设置错误【{frame}】!"); 56 | } 57 | return; 58 | } 59 | float _time = frame / eventInfo.animationClip.frameRate; 60 | AnimationEvent[] events = eventInfo.animationClip.events; 61 | AnimationEvent varEvent = Array.Find(events, v => Mathf.Approximately(v.time, _time)); 62 | if (null != varEvent) 63 | { 64 | if (varEvent.functionName == func) return; 65 | if (LogLevels.HasFlag(LogLevel.Info)) 66 | { 67 | Debug.Log($"AnimatorEventSystem[一般]:【{eventInfo.animator.name}】所在的动画机【{eventInfo.animationClip.name}】片段【{frame}】帧已存在回调方法【{varEvent.functionName}】,将自动覆盖!"); 68 | } 69 | } 70 | varEvent = new() 71 | { 72 | functionName = func, //指定事件的函数名称 73 | time = _time, //对应动画指定帧处触发 74 | messageOptions = SendMessageOptions.DontRequireReceiver, //回调未找到不提示 75 | }; 76 | eventInfo.animationClip.AddEvent(varEvent); //绑定事件 77 | } 78 | 79 | /// 数据重置,用于总管理类清理数据用 80 | public static void Clear() 81 | { 82 | foreach (var item in eventContainer) 83 | { 84 | item.Clear(); 85 | } 86 | eventContainer = new List(); 87 | } 88 | 89 | #region Helper Function 90 | /// 91 | /// 获得指定的事件信息类 92 | /// 93 | /// 动画机 94 | /// 动画片段 95 | /// 事件信息类 96 | private static EventInfo GetEventInfo(Animator animator, AnimationClip clip, bool createIfNotFound = true) 97 | { 98 | EventInfo a_EventInfo = eventContainer.Find(v => v.animator == animator && v.animationClip == clip); 99 | if (null == a_EventInfo && createIfNotFound) 100 | { 101 | a_EventInfo = new EventInfo(animator, clip); 102 | eventContainer.Add(a_EventInfo); 103 | } 104 | return a_EventInfo; 105 | } 106 | 107 | /// 108 | /// 根据动画片段名称从指定动画机获得动画片段 109 | /// 110 | /// 动画机 111 | /// 动画片段名称 112 | /// 113 | public static AnimationClip GetAnimationClip(Animator animator, string name) 114 | { 115 | #region 异常提示 116 | if (null == animator) 117 | { 118 | if (LogLevels.HasFlag(LogLevel.Error)) 119 | { 120 | Debug.LogError("AnimatorEventSystem[紧急]:指定Animator不得为空!"); 121 | } 122 | return null; 123 | } 124 | RuntimeAnimatorController runtimeAnimatorController = animator.runtimeAnimatorController; 125 | if (null == runtimeAnimatorController) 126 | { 127 | if (LogLevels.HasFlag(LogLevel.Error)) 128 | { 129 | Debug.LogError("AnimatorEventSystem[紧急]:指定【" + animator.name + "】Animator未挂载Controller!"); 130 | } 131 | return null; 132 | } 133 | AnimationClip[] clips = runtimeAnimatorController.animationClips; 134 | AnimationClip[] varclip = Array.FindAll(clips, v => v.name == name); 135 | if (null == varclip || varclip.Length == 0) 136 | { 137 | throw new InvalidOperationException("AnimatorEventSystem[紧急]:指定【" + animator.name + "】Animator不存在名为【" + name + "】的动画片段!"); 138 | } 139 | if (varclip.Length >= 2) 140 | { 141 | if (LogLevels.HasFlag(LogLevel.Warning)) 142 | { 143 | Debug.LogWarning($"AnimatorEventSystem[一般]:指定【{animator.name}】Animator存在【{varclip.Length}】个名为【{name}】的动画片段!\n 建议:若非复用导致的重名,请务必修正!否则,事件将绑定在找的第一个Clip上。"); 144 | } 145 | } 146 | #endregion 147 | return varclip[0]; 148 | } 149 | /// 150 | /// 根据给定信息获得委托 151 | /// 152 | /// 153 | /// 154 | /// 155 | /// 156 | public static List> GetAction(Animator animator, AnimationClip clip, int frame) 157 | { 158 | List> actions = default; 159 | EventInfo a_EventInfo = eventContainer.Find(v => v.animator == animator && v.animationClip == clip); 160 | if (null != a_EventInfo) 161 | { 162 | if (!a_EventInfo.frameCallBackPairs.TryGetValue(frame, out actions)) 163 | { 164 | actions = new(); 165 | if (LogLevels.HasFlag(LogLevel.Warning)) 166 | { 167 | Debug.LogWarning($"{nameof(EventHandler)}: Key [frame = {frame}] dose not exsit! \n {animator.name} - {clip.name}"); 168 | } 169 | } 170 | } 171 | return actions; 172 | } 173 | #endregion 174 | } 175 | } 176 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/EventHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 017d0816d696f1b4a827d556e9973d4a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/EventInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace zFrame.Event 6 | { 7 | /// 8 | /// 事件订阅信息信息存储类 9 | /// 10 | public class EventInfo 11 | { 12 | /// 订阅事件所在的动画机 13 | public Animator animator; 14 | /// 动画机指定状态的动画片段 15 | public AnimationClip animationClip; 16 | /// 动画片段的总帧数 17 | public int totalFrames; 18 | /// 帧以及对应的回调链 19 | public Dictionary>> frameCallBackPairs; 20 | public EventInfo(Animator anim, AnimationClip clip) 21 | { 22 | frameCallBackPairs = new(); 23 | animator = anim; 24 | animationClip = clip; 25 | //经验表明需要 向下取整 以获取当前的帧数 26 | totalFrames = Mathf.FloorToInt(animationClip.frameRate * animationClip.length); 27 | } 28 | public void RemoveListener(int frame, Action action) 29 | { 30 | if (frame == -1) 31 | { 32 | frame = totalFrames; 33 | } 34 | if (frameCallBackPairs.ContainsKey(frame)) 35 | { 36 | frameCallBackPairs[frame].Remove(action); 37 | } 38 | } 39 | 40 | public bool HasAnyListener(int frame) 41 | { 42 | if (frame == -1) 43 | { 44 | frame = totalFrames; 45 | } 46 | if (frameCallBackPairs.TryGetValue(frame, out var list)) 47 | { 48 | return list.Count > 0; 49 | } 50 | return false; 51 | } 52 | 53 | /// 清除数据 54 | public void Clear() 55 | { 56 | animationClip.events = default; 57 | frameCallBackPairs = new(); 58 | animationClip = null; 59 | animator = null; 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/EventInfo.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51b29ec80c952fc4f8e18549a751f983 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/EventState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | using static zFrame.Event.EventHandler; 4 | 5 | namespace zFrame.Event 6 | { 7 | /// Mecanim事件系统事件配置类_for start+completed callback 8 | public class EventState 9 | { 10 | protected AnimationEvent _ClipEvent; 11 | protected int _keyFrame; 12 | protected EventInfo a_Event; 13 | protected Animator _animator; 14 | 15 | /// 16 | /// 为Clip添加OnCompleted回调事件 17 | /// 18 | /// 回调 19 | /// 参数配置器 20 | public EventState OnCompleted(Action onCompleted) 21 | { 22 | if (a_Event == null) return null; 23 | ConfigEvent(a_Event.totalFrames, onCompleted); 24 | return this; 25 | } 26 | 27 | public EventState OnProcess(Action onProcess) 28 | { 29 | if (a_Event == null) return null; 30 | ConfigEvent(_keyFrame, onProcess); 31 | return this; 32 | } 33 | 34 | public EventState(EventInfo eventInfo, int frame = -1) 35 | { 36 | //如果用户不指定帧则默认是最后一帧 37 | _keyFrame = frame == -1 ? eventInfo.totalFrames : frame; 38 | a_Event = eventInfo; 39 | _animator = eventInfo.animator; 40 | GenerateAnimationEvent(a_Event, _keyFrame); //将事件绑定稍作提前,方便统一声明,避免调用过程中的 Rebind 41 | } 42 | 43 | /// 44 | /// 为指定帧加入回调链 45 | /// 46 | /// 47 | /// 48 | protected void ConfigEvent(int frame, Action action) 49 | { 50 | if (null == action) return; 51 | _keyFrame = frame; 52 | if (!a_Event.frameCallBackPairs.TryGetValue(_keyFrame, out var actions)) 53 | { 54 | actions = new(); 55 | a_Event.frameCallBackPairs[_keyFrame] = actions; 56 | } 57 | if (!actions.Contains(action)) 58 | { 59 | actions.Add(action); 60 | } 61 | else 62 | { 63 | if (LogLevels.HasFlag(LogLevel.Warning)) 64 | { 65 | Debug.LogWarning($"AnimatorEventSystem[一般]:指定AnimationClip【{a_Event.animationClip.name}】已经订阅了该事件【{action.Method.Name}】!\n 建议:请勿频繁订阅!"); 66 | } 67 | } 68 | } 69 | 70 | #region Adapter For Animator 71 | /// 72 | /// 设置动画机bool参数 73 | /// 74 | /// 参数名 75 | /// 参数值 76 | /// 77 | public Animator SetBool(string name, bool value) 78 | { 79 | _animator.SetBool(name, value); 80 | return _animator; 81 | } 82 | /// 83 | /// 设置动画机bool参数 84 | /// 85 | /// 参数id 86 | /// 参数值 87 | /// 88 | public Animator SetBool(int id, bool value) 89 | { 90 | _animator.SetBool(id, value); 91 | return _animator; 92 | } 93 | /// 94 | /// 设置动画机float参数 95 | /// 96 | /// 参数id 97 | /// 参数值 98 | /// 99 | public Animator SetFloat(int id, float value) 100 | { 101 | _animator.SetFloat(id, value); 102 | return _animator; 103 | } 104 | /// 105 | /// 设置动画机float参数 106 | /// 107 | /// 参数名 108 | /// 参数值 109 | /// 110 | public Animator SetFloat(string name, float value) 111 | { 112 | _animator.SetFloat(name, value); 113 | return _animator; 114 | } 115 | /// 116 | /// 设置动画机float参数 117 | /// 118 | /// 参数名 119 | /// 参数值 120 | /// 121 | /// 122 | /// 123 | public Animator SetFloat(string name, float value, float dampTime, float deltaTime) 124 | { 125 | _animator.SetFloat(name, value, dampTime, deltaTime); 126 | return _animator; 127 | } 128 | /// 129 | /// 设置动画机float参数 130 | /// 131 | /// 参数id 132 | /// 参数值 133 | /// 134 | public Animator SetFloat(int id, float value, float dampTime, float deltaTime) 135 | { 136 | _animator.SetFloat(id, value, dampTime, deltaTime); 137 | return _animator; 138 | } 139 | /// 140 | /// 设置动画机trigger参数 141 | /// 142 | /// 参数id 143 | /// 144 | public Animator SetTrigger(int id) 145 | { 146 | _animator.SetTrigger(id); 147 | return _animator; 148 | } 149 | /// 150 | /// 设置动画机trigger参数 151 | /// 152 | /// 参数name 153 | /// 154 | public Animator SetTrigger(string name) 155 | { 156 | _animator.SetTrigger(name); 157 | return _animator; 158 | } 159 | #endregion 160 | } 161 | } 162 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/EventState.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: edd9937f3e6ea134ebe82241ea6694c5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/Helper.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c73db018cadd304c9ff0c560750a6ba 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/Helper/AnimatorHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | #if UNITY_EDITOR 3 | using UnityEditor.Animations; 4 | #endif 5 | using UnityEngine; 6 | namespace zFrame.Event 7 | { 8 | /// 9 | /// Mecanim动画机辅助脚本 10 | /// 11 | [ExecuteInEditMode] 12 | public class AnimatorHelper : MonoBehaviour 13 | { 14 | #if UNITY_EDITOR 15 | Animator animator; 16 | public List clipsInfo = new List(); 17 | 18 | void OnValidate() 19 | { 20 | animator = GetComponent(); 21 | GetClipInfo(animator); 22 | } 23 | 24 | private void GetClipInfo(Animator animator) 25 | { 26 | AnimatorController controller = animator ? animator.runtimeAnimatorController as AnimatorController : null; 27 | if (null == controller) 28 | { 29 | Debug.LogError("[严重]:动画机或动画机控制器为空,请检查!"); 30 | } 31 | else 32 | { 33 | clipsInfo.Clear(); 34 | for (int i = 0; i < controller.layers.Length; i++) 35 | { 36 | ChildAnimatorState[] states = controller.layers[i].stateMachine.states; 37 | foreach (ChildAnimatorState item in states) 38 | { 39 | StateInfo clipInfo = new StateInfo 40 | { 41 | stateName = string.Format("{0}.{1}", animator.GetLayerName(i), item.state.name), 42 | layerIndex = i 43 | }; 44 | if (item.state.motion.GetType() == typeof(AnimationClip)) 45 | { 46 | clipInfo.clip = (AnimationClip)item.state.motion; 47 | } 48 | else 49 | { 50 | clipInfo.clip = null; 51 | Debug.LogWarning("暂不支持BlendTree动画片段预览。"); 52 | } 53 | foreach (AnimationEvent ev in clipInfo.clip.events) 54 | { 55 | clipInfo.funcs.Add(ev.functionName); 56 | } 57 | clipsInfo.Add(clipInfo); 58 | } 59 | } 60 | } 61 | } 62 | 63 | [System.Serializable] 64 | public class StateInfo 65 | { 66 | public string stateName; 67 | public AnimationClip clip; 68 | public int layerIndex; 69 | public List funcs = new List(); 70 | } 71 | #endif 72 | } 73 | } -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/Helper/AnimatorHelper.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e25acab8b97525a4ca09e846def1988b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/com.zframework.events.runtime.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.zframework.events.runtime" 3 | } 4 | -------------------------------------------------------------------------------- /Assets/MecanimEventSystem/Runtime/com.zframework.events.runtime.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01620f7c539b3ee4d87938384cdaccec 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Bian-Sh 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.collab-proxy": "1.17.2", 4 | "com.unity.ide.rider": "3.0.15", 5 | "com.unity.ide.visualstudio": "2.0.16", 6 | "com.unity.ide.vscode": "1.2.5", 7 | "com.unity.test-framework": "1.1.31", 8 | "com.unity.textmeshpro": "3.0.6", 9 | "com.unity.timeline": "1.6.4", 10 | "com.unity.ugui": "1.0.0", 11 | "com.unity.visualscripting": "1.7.8", 12 | "com.unity.modules.ai": "1.0.0", 13 | "com.unity.modules.androidjni": "1.0.0", 14 | "com.unity.modules.animation": "1.0.0", 15 | "com.unity.modules.assetbundle": "1.0.0", 16 | "com.unity.modules.audio": "1.0.0", 17 | "com.unity.modules.cloth": "1.0.0", 18 | "com.unity.modules.director": "1.0.0", 19 | "com.unity.modules.imageconversion": "1.0.0", 20 | "com.unity.modules.imgui": "1.0.0", 21 | "com.unity.modules.jsonserialize": "1.0.0", 22 | "com.unity.modules.particlesystem": "1.0.0", 23 | "com.unity.modules.physics": "1.0.0", 24 | "com.unity.modules.physics2d": "1.0.0", 25 | "com.unity.modules.screencapture": "1.0.0", 26 | "com.unity.modules.terrain": "1.0.0", 27 | "com.unity.modules.terrainphysics": "1.0.0", 28 | "com.unity.modules.tilemap": "1.0.0", 29 | "com.unity.modules.ui": "1.0.0", 30 | "com.unity.modules.uielements": "1.0.0", 31 | "com.unity.modules.umbra": "1.0.0", 32 | "com.unity.modules.unityanalytics": "1.0.0", 33 | "com.unity.modules.unitywebrequest": "1.0.0", 34 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 35 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 36 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 37 | "com.unity.modules.unitywebrequestwww": "1.0.0", 38 | "com.unity.modules.vehicles": "1.0.0", 39 | "com.unity.modules.video": "1.0.0", 40 | "com.unity.modules.vr": "1.0.0", 41 | "com.unity.modules.wind": "1.0.0", 42 | "com.unity.modules.xr": "1.0.0" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Packages/packages-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.collab-proxy": { 4 | "version": "1.17.2", 5 | "depth": 0, 6 | "source": "registry", 7 | "dependencies": { 8 | "com.unity.services.core": "1.0.1" 9 | }, 10 | "url": "https://packages.unity.cn" 11 | }, 12 | "com.unity.ext.nunit": { 13 | "version": "1.0.6", 14 | "depth": 1, 15 | "source": "registry", 16 | "dependencies": {}, 17 | "url": "https://packages.unity.cn" 18 | }, 19 | "com.unity.ide.rider": { 20 | "version": "3.0.15", 21 | "depth": 0, 22 | "source": "registry", 23 | "dependencies": { 24 | "com.unity.ext.nunit": "1.0.6" 25 | }, 26 | "url": "https://packages.unity.cn" 27 | }, 28 | "com.unity.ide.visualstudio": { 29 | "version": "2.0.16", 30 | "depth": 0, 31 | "source": "registry", 32 | "dependencies": { 33 | "com.unity.test-framework": "1.1.9" 34 | }, 35 | "url": "https://packages.unity.cn" 36 | }, 37 | "com.unity.ide.vscode": { 38 | "version": "1.2.5", 39 | "depth": 0, 40 | "source": "registry", 41 | "dependencies": {}, 42 | "url": "https://packages.unity.cn" 43 | }, 44 | "com.unity.services.core": { 45 | "version": "1.0.1", 46 | "depth": 1, 47 | "source": "registry", 48 | "dependencies": { 49 | "com.unity.modules.unitywebrequest": "1.0.0" 50 | }, 51 | "url": "https://packages.unity.cn" 52 | }, 53 | "com.unity.test-framework": { 54 | "version": "1.1.31", 55 | "depth": 0, 56 | "source": "registry", 57 | "dependencies": { 58 | "com.unity.ext.nunit": "1.0.6", 59 | "com.unity.modules.imgui": "1.0.0", 60 | "com.unity.modules.jsonserialize": "1.0.0" 61 | }, 62 | "url": "https://packages.unity.cn" 63 | }, 64 | "com.unity.textmeshpro": { 65 | "version": "3.0.6", 66 | "depth": 0, 67 | "source": "registry", 68 | "dependencies": { 69 | "com.unity.ugui": "1.0.0" 70 | }, 71 | "url": "https://packages.unity.cn" 72 | }, 73 | "com.unity.timeline": { 74 | "version": "1.6.4", 75 | "depth": 0, 76 | "source": "registry", 77 | "dependencies": { 78 | "com.unity.modules.director": "1.0.0", 79 | "com.unity.modules.animation": "1.0.0", 80 | "com.unity.modules.audio": "1.0.0", 81 | "com.unity.modules.particlesystem": "1.0.0" 82 | }, 83 | "url": "https://packages.unity.cn" 84 | }, 85 | "com.unity.ugui": { 86 | "version": "1.0.0", 87 | "depth": 0, 88 | "source": "builtin", 89 | "dependencies": { 90 | "com.unity.modules.ui": "1.0.0", 91 | "com.unity.modules.imgui": "1.0.0" 92 | } 93 | }, 94 | "com.unity.visualscripting": { 95 | "version": "1.7.8", 96 | "depth": 0, 97 | "source": "registry", 98 | "dependencies": { 99 | "com.unity.ugui": "1.0.0", 100 | "com.unity.modules.jsonserialize": "1.0.0" 101 | }, 102 | "url": "https://packages.unity.cn" 103 | }, 104 | "com.unity.modules.ai": { 105 | "version": "1.0.0", 106 | "depth": 0, 107 | "source": "builtin", 108 | "dependencies": {} 109 | }, 110 | "com.unity.modules.androidjni": { 111 | "version": "1.0.0", 112 | "depth": 0, 113 | "source": "builtin", 114 | "dependencies": {} 115 | }, 116 | "com.unity.modules.animation": { 117 | "version": "1.0.0", 118 | "depth": 0, 119 | "source": "builtin", 120 | "dependencies": {} 121 | }, 122 | "com.unity.modules.assetbundle": { 123 | "version": "1.0.0", 124 | "depth": 0, 125 | "source": "builtin", 126 | "dependencies": {} 127 | }, 128 | "com.unity.modules.audio": { 129 | "version": "1.0.0", 130 | "depth": 0, 131 | "source": "builtin", 132 | "dependencies": {} 133 | }, 134 | "com.unity.modules.cloth": { 135 | "version": "1.0.0", 136 | "depth": 0, 137 | "source": "builtin", 138 | "dependencies": { 139 | "com.unity.modules.physics": "1.0.0" 140 | } 141 | }, 142 | "com.unity.modules.director": { 143 | "version": "1.0.0", 144 | "depth": 0, 145 | "source": "builtin", 146 | "dependencies": { 147 | "com.unity.modules.audio": "1.0.0", 148 | "com.unity.modules.animation": "1.0.0" 149 | } 150 | }, 151 | "com.unity.modules.imageconversion": { 152 | "version": "1.0.0", 153 | "depth": 0, 154 | "source": "builtin", 155 | "dependencies": {} 156 | }, 157 | "com.unity.modules.imgui": { 158 | "version": "1.0.0", 159 | "depth": 0, 160 | "source": "builtin", 161 | "dependencies": {} 162 | }, 163 | "com.unity.modules.jsonserialize": { 164 | "version": "1.0.0", 165 | "depth": 0, 166 | "source": "builtin", 167 | "dependencies": {} 168 | }, 169 | "com.unity.modules.particlesystem": { 170 | "version": "1.0.0", 171 | "depth": 0, 172 | "source": "builtin", 173 | "dependencies": {} 174 | }, 175 | "com.unity.modules.physics": { 176 | "version": "1.0.0", 177 | "depth": 0, 178 | "source": "builtin", 179 | "dependencies": {} 180 | }, 181 | "com.unity.modules.physics2d": { 182 | "version": "1.0.0", 183 | "depth": 0, 184 | "source": "builtin", 185 | "dependencies": {} 186 | }, 187 | "com.unity.modules.screencapture": { 188 | "version": "1.0.0", 189 | "depth": 0, 190 | "source": "builtin", 191 | "dependencies": { 192 | "com.unity.modules.imageconversion": "1.0.0" 193 | } 194 | }, 195 | "com.unity.modules.subsystems": { 196 | "version": "1.0.0", 197 | "depth": 1, 198 | "source": "builtin", 199 | "dependencies": { 200 | "com.unity.modules.jsonserialize": "1.0.0" 201 | } 202 | }, 203 | "com.unity.modules.terrain": { 204 | "version": "1.0.0", 205 | "depth": 0, 206 | "source": "builtin", 207 | "dependencies": {} 208 | }, 209 | "com.unity.modules.terrainphysics": { 210 | "version": "1.0.0", 211 | "depth": 0, 212 | "source": "builtin", 213 | "dependencies": { 214 | "com.unity.modules.physics": "1.0.0", 215 | "com.unity.modules.terrain": "1.0.0" 216 | } 217 | }, 218 | "com.unity.modules.tilemap": { 219 | "version": "1.0.0", 220 | "depth": 0, 221 | "source": "builtin", 222 | "dependencies": { 223 | "com.unity.modules.physics2d": "1.0.0" 224 | } 225 | }, 226 | "com.unity.modules.ui": { 227 | "version": "1.0.0", 228 | "depth": 0, 229 | "source": "builtin", 230 | "dependencies": {} 231 | }, 232 | "com.unity.modules.uielements": { 233 | "version": "1.0.0", 234 | "depth": 0, 235 | "source": "builtin", 236 | "dependencies": { 237 | "com.unity.modules.ui": "1.0.0", 238 | "com.unity.modules.imgui": "1.0.0", 239 | "com.unity.modules.jsonserialize": "1.0.0", 240 | "com.unity.modules.uielementsnative": "1.0.0" 241 | } 242 | }, 243 | "com.unity.modules.uielementsnative": { 244 | "version": "1.0.0", 245 | "depth": 1, 246 | "source": "builtin", 247 | "dependencies": { 248 | "com.unity.modules.ui": "1.0.0", 249 | "com.unity.modules.imgui": "1.0.0", 250 | "com.unity.modules.jsonserialize": "1.0.0" 251 | } 252 | }, 253 | "com.unity.modules.umbra": { 254 | "version": "1.0.0", 255 | "depth": 0, 256 | "source": "builtin", 257 | "dependencies": {} 258 | }, 259 | "com.unity.modules.unityanalytics": { 260 | "version": "1.0.0", 261 | "depth": 0, 262 | "source": "builtin", 263 | "dependencies": { 264 | "com.unity.modules.unitywebrequest": "1.0.0", 265 | "com.unity.modules.jsonserialize": "1.0.0" 266 | } 267 | }, 268 | "com.unity.modules.unitywebrequest": { 269 | "version": "1.0.0", 270 | "depth": 0, 271 | "source": "builtin", 272 | "dependencies": {} 273 | }, 274 | "com.unity.modules.unitywebrequestassetbundle": { 275 | "version": "1.0.0", 276 | "depth": 0, 277 | "source": "builtin", 278 | "dependencies": { 279 | "com.unity.modules.assetbundle": "1.0.0", 280 | "com.unity.modules.unitywebrequest": "1.0.0" 281 | } 282 | }, 283 | "com.unity.modules.unitywebrequestaudio": { 284 | "version": "1.0.0", 285 | "depth": 0, 286 | "source": "builtin", 287 | "dependencies": { 288 | "com.unity.modules.unitywebrequest": "1.0.0", 289 | "com.unity.modules.audio": "1.0.0" 290 | } 291 | }, 292 | "com.unity.modules.unitywebrequesttexture": { 293 | "version": "1.0.0", 294 | "depth": 0, 295 | "source": "builtin", 296 | "dependencies": { 297 | "com.unity.modules.unitywebrequest": "1.0.0", 298 | "com.unity.modules.imageconversion": "1.0.0" 299 | } 300 | }, 301 | "com.unity.modules.unitywebrequestwww": { 302 | "version": "1.0.0", 303 | "depth": 0, 304 | "source": "builtin", 305 | "dependencies": { 306 | "com.unity.modules.unitywebrequest": "1.0.0", 307 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 308 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 309 | "com.unity.modules.audio": "1.0.0", 310 | "com.unity.modules.assetbundle": "1.0.0", 311 | "com.unity.modules.imageconversion": "1.0.0" 312 | } 313 | }, 314 | "com.unity.modules.vehicles": { 315 | "version": "1.0.0", 316 | "depth": 0, 317 | "source": "builtin", 318 | "dependencies": { 319 | "com.unity.modules.physics": "1.0.0" 320 | } 321 | }, 322 | "com.unity.modules.video": { 323 | "version": "1.0.0", 324 | "depth": 0, 325 | "source": "builtin", 326 | "dependencies": { 327 | "com.unity.modules.audio": "1.0.0", 328 | "com.unity.modules.ui": "1.0.0", 329 | "com.unity.modules.unitywebrequest": "1.0.0" 330 | } 331 | }, 332 | "com.unity.modules.vr": { 333 | "version": "1.0.0", 334 | "depth": 0, 335 | "source": "builtin", 336 | "dependencies": { 337 | "com.unity.modules.jsonserialize": "1.0.0", 338 | "com.unity.modules.physics": "1.0.0", 339 | "com.unity.modules.xr": "1.0.0" 340 | } 341 | }, 342 | "com.unity.modules.wind": { 343 | "version": "1.0.0", 344 | "depth": 0, 345 | "source": "builtin", 346 | "dependencies": {} 347 | }, 348 | "com.unity.modules.xr": { 349 | "version": "1.0.0", 350 | "depth": 0, 351 | "source": "builtin", 352 | "dependencies": { 353 | "com.unity.modules.physics": "1.0.0", 354 | "com.unity.modules.jsonserialize": "1.0.0", 355 | "com.unity.modules.subsystems": "1.0.0" 356 | } 357 | } 358 | } 359 | } 360 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 0 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /ProjectSettings/AutoStreamingSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1200 &1 4 | AutoStreamingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | mSearchMode: 15 8 | mCustomSearchFile: 9 | mTextureSearchString: 10 | mMeshSearchString: 11 | mTextures: [] 12 | mAudios: [] 13 | mMeshes: [] 14 | mScenes: [] 15 | mConfigCCD: 16 | useCCD: 0 17 | cosKey: 18 | projectGuid: 19 | bucketUuid: 20 | bucketName: 21 | badgeName: 22 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 1 23 | m_ClothInterCollisionSettingsToggle: 0 24 | m_ContactPairsMode: 0 25 | m_BroadphaseType: 0 26 | m_WorldBounds: 27 | m_Center: {x: 0, y: 0, z: 0} 28 | m_Extent: {x: 250, y: 250, z: 250} 29 | m_WorldSubdivisions: 8 30 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 7 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 0 11 | m_SpritePackerMode: 0 12 | m_SpritePackerPaddingPower: 1 13 | m_EtcTextureCompressorBehavior: 1 14 | m_EtcTextureFastCompressor: 1 15 | m_EtcTextureNormalCompressor: 2 16 | m_EtcTextureBestCompressor: 4 17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp 18 | m_ProjectGenerationRootNamespace: 19 | m_UserGeneratedProjectSuffix: 20 | m_CollabEditorSettings: 21 | inProgressEnabled: 1 22 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | m_PreloadedShaders: [] 39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 40 | type: 0} 41 | m_CustomRenderPipeline: {fileID: 0} 42 | m_TransparencySortMode: 0 43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 44 | m_DefaultRenderingPath: 1 45 | m_DefaultMobileRenderingPath: 1 46 | m_TierSettings: [] 47 | m_LightmapStripping: 0 48 | m_FogStripping: 0 49 | m_InstancingStripping: 0 50 | m_LightmapKeepPlain: 1 51 | m_LightmapKeepDirCombined: 1 52 | m_LightmapKeepDynamicPlain: 1 53 | m_LightmapKeepDynamicDirCombined: 1 54 | m_LightmapKeepShadowMask: 1 55 | m_LightmapKeepSubtractive: 1 56 | m_FogKeepLinear: 1 57 | m_FogKeepExp: 1 58 | m_FogKeepExp2: 1 59 | m_AlbedoSwatchInfos: [] 60 | m_LightsUseLinearIntensity: 0 61 | m_LightsUseColorTemperature: 0 62 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /ProjectSettings/MemorySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!387306366 &1 4 | MemorySettings: 5 | m_ObjectHideFlags: 0 6 | m_EditorMemorySettings: 7 | m_MainAllocatorBlockSize: -1 8 | m_ThreadAllocatorBlockSize: -1 9 | m_MainGfxBlockSize: -1 10 | m_ThreadGfxBlockSize: -1 11 | m_CacheBlockSize: -1 12 | m_TypetreeBlockSize: -1 13 | m_ProfilerBlockSize: -1 14 | m_ProfilerEditorBlockSize: -1 15 | m_BucketAllocatorGranularity: -1 16 | m_BucketAllocatorBucketsCount: -1 17 | m_BucketAllocatorBlockSize: -1 18 | m_BucketAllocatorBlockCount: -1 19 | m_ProfilerBucketAllocatorGranularity: -1 20 | m_ProfilerBucketAllocatorBucketsCount: -1 21 | m_ProfilerBucketAllocatorBlockSize: -1 22 | m_ProfilerBucketAllocatorBlockCount: -1 23 | m_TempAllocatorSizeMain: -1 24 | m_JobTempAllocatorBlockSize: -1 25 | m_BackgroundJobTempAllocatorBlockSize: -1 26 | m_JobTempAllocatorReducedBlockSize: -1 27 | m_TempAllocatorSizeGIBakingWorker: -1 28 | m_TempAllocatorSizeNavMeshWorker: -1 29 | m_TempAllocatorSizeAudioWorker: -1 30 | m_TempAllocatorSizeCloudWorker: -1 31 | m_TempAllocatorSizeGfx: -1 32 | m_TempAllocatorSizeJobWorker: -1 33 | m_TempAllocatorSizeBackgroundWorker: -1 34 | m_TempAllocatorSizePreloadManager: -1 35 | m_PlatformMemorySettings: {} 36 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreReleasePackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | m_SeeAllPackageVersions: 0 20 | oneTimeWarningShown: 0 21 | m_Registries: 22 | - m_Id: main 23 | m_Name: 24 | m_Url: https://packages.unity.cn 25 | m_Scopes: [] 26 | m_IsDefault: 1 27 | m_Capabilities: 7 28 | m_UserSelectedRegistryName: 29 | m_UserAddingNewScopedRegistry: 0 30 | m_RegistryInfoDraft: 31 | m_Modified: 0 32 | m_ErrorMessage: 33 | m_UserModificationsInstanceId: -858 34 | m_OriginalInstanceId: -860 35 | m_LoadAssets: 0 36 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 3 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_AutoSimulation: 1 23 | m_QueriesHitTriggers: 1 24 | m_QueriesStartInColliders: 1 25 | m_ChangeStopsCallbacks: 0 26 | m_CallbacksOnDisable: 1 27 | m_AutoSyncTransforms: 1 28 | m_AlwaysShowColliders: 0 29 | m_ShowColliderSleep: 1 30 | m_ShowColliderContacts: 0 31 | m_ShowColliderAABB: 0 32 | m_ContactArrowScale: 0.2 33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 38 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 23 7 | productGUID: 7c1395c195c6ecf428bf261a10c46d90 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | AndroidEnableSustainedPerformanceMode: 0 11 | defaultScreenOrientation: 4 12 | targetDevice: 2 13 | useOnDemandResources: 0 14 | accelerometerFrequency: 60 15 | companyName: DefaultCompany 16 | productName: MecanimEventSystem 17 | defaultCursor: {fileID: 0} 18 | cursorHotspot: {x: 0, y: 0} 19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 20 | m_ShowUnitySplashScreen: 1 21 | m_ShowUnitySplashLogo: 1 22 | m_SplashScreenOverlayOpacity: 1 23 | m_SplashScreenAnimation: 1 24 | m_SplashScreenLogoStyle: 1 25 | m_SplashScreenDrawMode: 0 26 | m_SplashScreenBackgroundAnimationZoom: 1 27 | m_SplashScreenLogoAnimationZoom: 1 28 | m_SplashScreenBackgroundLandscapeAspect: 1 29 | m_SplashScreenBackgroundPortraitAspect: 1 30 | m_SplashScreenBackgroundLandscapeUvs: 31 | serializedVersion: 2 32 | x: 0 33 | y: 0 34 | width: 1 35 | height: 1 36 | m_SplashScreenBackgroundPortraitUvs: 37 | serializedVersion: 2 38 | x: 0 39 | y: 0 40 | width: 1 41 | height: 1 42 | m_SplashScreenLogos: [] 43 | m_VirtualRealitySplashScreen: {fileID: 0} 44 | m_ShowUnitySplashAds: 0 45 | m_AdsAndroidGameId: 46 | m_AdsIosGameId: 47 | m_ShowSplashAdsSlogan: 0 48 | m_SloganImage: {fileID: 0} 49 | m_SloganHeight: 150 50 | m_HolographicTrackingLossScreen: {fileID: 0} 51 | defaultScreenWidth: 1024 52 | defaultScreenHeight: 768 53 | defaultScreenWidthWeb: 960 54 | defaultScreenHeightWeb: 600 55 | m_StereoRenderingPath: 0 56 | m_ActiveColorSpace: 0 57 | m_MTRendering: 1 58 | mipStripping: 0 59 | numberOfMipsStripped: 0 60 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 61 | iosShowActivityIndicatorOnLoading: -1 62 | androidShowActivityIndicatorOnLoading: -1 63 | iosUseCustomAppBackgroundBehavior: 0 64 | iosAllowHTTPDownload: 1 65 | allowedAutorotateToPortrait: 1 66 | allowedAutorotateToPortraitUpsideDown: 1 67 | allowedAutorotateToLandscapeRight: 1 68 | allowedAutorotateToLandscapeLeft: 1 69 | useOSAutorotation: 1 70 | use32BitDisplayBuffer: 1 71 | preserveFramebufferAlpha: 0 72 | disableDepthAndStencilBuffers: 0 73 | androidStartInFullscreen: 1 74 | androidRenderOutsideSafeArea: 1 75 | androidUseSwappy: 0 76 | androidBlitType: 0 77 | androidResizableWindow: 0 78 | androidDefaultWindowWidth: 1920 79 | androidDefaultWindowHeight: 1080 80 | androidMinimumWindowWidth: 400 81 | androidMinimumWindowHeight: 300 82 | androidFullscreenMode: 1 83 | defaultIsNativeResolution: 1 84 | macRetinaSupport: 1 85 | runInBackground: 0 86 | captureSingleScreen: 0 87 | muteOtherAudioSources: 0 88 | Prepare IOS For Recording: 0 89 | Force IOS Speakers When Recording: 0 90 | deferSystemGesturesMode: 0 91 | hideHomeButton: 0 92 | submitAnalytics: 1 93 | usePlayerLog: 1 94 | autoStreaming: 0 95 | useAnimationStreaming: 0 96 | useFontStreaming: 0 97 | autoStreamingId: 98 | instantGameAppId: 99 | bakeCollisionMeshes: 0 100 | forceSingleInstance: 0 101 | useFlipModelSwapchain: 1 102 | resizableWindow: 0 103 | useMacAppStoreValidation: 0 104 | macAppStoreCategory: public.app-category.games 105 | gpuSkinning: 0 106 | xboxPIXTextureCapture: 0 107 | xboxEnableAvatar: 0 108 | xboxEnableKinect: 0 109 | xboxEnableKinectAutoTracking: 0 110 | xboxEnableFitness: 0 111 | visibleInBackground: 1 112 | allowFullscreenSwitch: 1 113 | fullscreenMode: 1 114 | xboxSpeechDB: 0 115 | xboxEnableHeadOrientation: 0 116 | xboxEnableGuest: 0 117 | xboxEnablePIXSampling: 0 118 | metalFramebufferOnly: 0 119 | xboxOneResolution: 0 120 | xboxOneSResolution: 0 121 | xboxOneXResolution: 3 122 | xboxOneMonoLoggingLevel: 0 123 | xboxOneLoggingLevel: 1 124 | xboxOneDisableEsram: 0 125 | xboxOneEnableTypeOptimization: 0 126 | xboxOnePresentImmediateThreshold: 0 127 | switchQueueCommandMemory: 1048576 128 | switchQueueControlMemory: 16384 129 | switchQueueComputeMemory: 262144 130 | switchNVNShaderPoolsGranularity: 33554432 131 | switchNVNDefaultPoolsGranularity: 16777216 132 | switchNVNOtherPoolsGranularity: 16777216 133 | switchNVNMaxPublicTextureIDCount: 0 134 | switchNVNMaxPublicSamplerIDCount: 0 135 | stadiaPresentMode: 0 136 | stadiaTargetFramerate: 0 137 | vulkanNumSwapchainBuffers: 3 138 | vulkanEnableSetSRGBWrite: 0 139 | vulkanEnablePreTransform: 0 140 | vulkanEnableLateAcquireNextImage: 0 141 | vulkanEnableCommandBufferRecycling: 1 142 | m_SupportedAspectRatios: 143 | 4:3: 1 144 | 5:4: 1 145 | 16:10: 1 146 | 16:9: 1 147 | Others: 1 148 | bundleVersion: 1.0 149 | preloadedAssets: [] 150 | metroInputSource: 0 151 | wsaTransparentSwapchain: 0 152 | m_HolographicPauseOnTrackingLoss: 1 153 | xboxOneDisableKinectGpuReservation: 0 154 | xboxOneEnable7thCore: 0 155 | vrSettings: 156 | enable360StereoCapture: 0 157 | isWsaHolographicRemotingEnabled: 0 158 | enableFrameTimingStats: 0 159 | useHDRDisplay: 0 160 | D3DHDRBitDepth: 0 161 | m_ColorGamuts: 00000000 162 | targetPixelDensity: 30 163 | resolutionScalingMode: 0 164 | androidSupportedAspectRatio: 1 165 | androidMaxAspectRatio: 2.1 166 | applicationIdentifier: {} 167 | buildNumber: 168 | Standalone: 0 169 | iPhone: 0 170 | tvOS: 0 171 | overrideDefaultApplicationIdentifier: 0 172 | AndroidBundleVersionCode: 1 173 | AndroidMinSdkVersion: 22 174 | AndroidTargetSdkVersion: 0 175 | AndroidPreferredInstallLocation: 1 176 | aotOptions: 177 | stripEngineCode: 1 178 | iPhoneStrippingLevel: 0 179 | iPhoneScriptCallOptimization: 0 180 | ForceInternetPermission: 0 181 | ForceSDCardPermission: 0 182 | CreateWallpaper: 0 183 | APKExpansionFiles: 0 184 | keepLoadedShadersAlive: 0 185 | StripUnusedMeshComponents: 0 186 | VertexChannelCompressionMask: 214 187 | iPhoneSdkVersion: 988 188 | iOSTargetOSVersionString: 11.0 189 | tvOSSdkVersion: 0 190 | tvOSRequireExtendedGameController: 0 191 | tvOSTargetOSVersionString: 11.0 192 | uIPrerenderedIcon: 0 193 | uIRequiresPersistentWiFi: 0 194 | uIRequiresFullScreen: 1 195 | uIStatusBarHidden: 1 196 | uIExitOnSuspend: 0 197 | uIStatusBarStyle: 0 198 | appleTVSplashScreen: {fileID: 0} 199 | appleTVSplashScreen2x: {fileID: 0} 200 | tvOSSmallIconLayers: [] 201 | tvOSSmallIconLayers2x: [] 202 | tvOSLargeIconLayers: [] 203 | tvOSLargeIconLayers2x: [] 204 | tvOSTopShelfImageLayers: [] 205 | tvOSTopShelfImageLayers2x: [] 206 | tvOSTopShelfImageWideLayers: [] 207 | tvOSTopShelfImageWideLayers2x: [] 208 | iOSLaunchScreenType: 0 209 | iOSLaunchScreenPortrait: {fileID: 0} 210 | iOSLaunchScreenLandscape: {fileID: 0} 211 | iOSLaunchScreenBackgroundColor: 212 | serializedVersion: 2 213 | rgba: 0 214 | iOSLaunchScreenFillPct: 100 215 | iOSLaunchScreenSize: 100 216 | iOSLaunchScreenCustomXibPath: 217 | iOSLaunchScreeniPadType: 0 218 | iOSLaunchScreeniPadImage: {fileID: 0} 219 | iOSLaunchScreeniPadBackgroundColor: 220 | serializedVersion: 2 221 | rgba: 0 222 | iOSLaunchScreeniPadFillPct: 100 223 | iOSLaunchScreeniPadSize: 100 224 | iOSLaunchScreeniPadCustomXibPath: 225 | iOSLaunchScreenCustomStoryboardPath: 226 | iOSLaunchScreeniPadCustomStoryboardPath: 227 | iOSDeviceRequirements: [] 228 | iOSURLSchemes: [] 229 | macOSURLSchemes: [] 230 | iOSBackgroundModes: 0 231 | iOSMetalForceHardShadows: 0 232 | metalEditorSupport: 1 233 | metalAPIValidation: 1 234 | iOSRenderExtraFrameOnPause: 0 235 | iosCopyPluginsCodeInsteadOfSymlink: 0 236 | appleDeveloperTeamID: 237 | iOSManualSigningProvisioningProfileID: 238 | tvOSManualSigningProvisioningProfileID: 239 | iOSManualSigningProvisioningProfileType: 0 240 | tvOSManualSigningProvisioningProfileType: 0 241 | appleEnableAutomaticSigning: 0 242 | iOSRequireARKit: 0 243 | iOSAutomaticallyDetectAndAddCapabilities: 1 244 | appleEnableProMotion: 0 245 | shaderPrecisionModel: 0 246 | clonedFromGUID: 00000000000000000000000000000000 247 | templatePackageId: 248 | templateDefaultScene: 249 | useCustomMainManifest: 0 250 | useCustomLauncherManifest: 0 251 | useCustomMainGradleTemplate: 0 252 | useCustomLauncherGradleManifest: 0 253 | useCustomBaseGradleTemplate: 0 254 | useCustomGradlePropertiesTemplate: 0 255 | useCustomProguardFile: 0 256 | AndroidTargetArchitectures: 1 257 | AndroidTargetDevices: 0 258 | AndroidSplashScreenScale: 0 259 | androidSplashScreen: {fileID: 0} 260 | AndroidKeystoreName: '{inproject}: ' 261 | AndroidKeyaliasName: 262 | AndroidBuildApkPerCpuArchitecture: 0 263 | AndroidTVCompatibility: 1 264 | AndroidIsGame: 1 265 | AndroidEnableTango: 0 266 | androidEnableBanner: 1 267 | androidUseLowAccuracyLocation: 0 268 | androidUseCustomKeystore: 0 269 | m_AndroidBanners: 270 | - width: 320 271 | height: 180 272 | banner: {fileID: 0} 273 | androidGamepadSupportLevel: 0 274 | chromeosInputEmulation: 1 275 | AndroidMinifyWithR8: 0 276 | AndroidMinifyRelease: 0 277 | AndroidMinifyDebug: 0 278 | AndroidValidateAppBundleSize: 1 279 | AndroidAppBundleSizeToValidate: 150 280 | m_BuildTargetIcons: [] 281 | m_BuildTargetPlatformIcons: 282 | - m_BuildTarget: Android 283 | m_Icons: 284 | - m_Textures: [] 285 | m_Width: 432 286 | m_Height: 432 287 | m_Kind: 2 288 | m_SubKind: 289 | - m_Textures: [] 290 | m_Width: 324 291 | m_Height: 324 292 | m_Kind: 2 293 | m_SubKind: 294 | - m_Textures: [] 295 | m_Width: 216 296 | m_Height: 216 297 | m_Kind: 2 298 | m_SubKind: 299 | - m_Textures: [] 300 | m_Width: 162 301 | m_Height: 162 302 | m_Kind: 2 303 | m_SubKind: 304 | - m_Textures: [] 305 | m_Width: 108 306 | m_Height: 108 307 | m_Kind: 2 308 | m_SubKind: 309 | - m_Textures: [] 310 | m_Width: 81 311 | m_Height: 81 312 | m_Kind: 2 313 | m_SubKind: 314 | - m_Textures: [] 315 | m_Width: 192 316 | m_Height: 192 317 | m_Kind: 1 318 | m_SubKind: 319 | - m_Textures: [] 320 | m_Width: 144 321 | m_Height: 144 322 | m_Kind: 1 323 | m_SubKind: 324 | - m_Textures: [] 325 | m_Width: 96 326 | m_Height: 96 327 | m_Kind: 1 328 | m_SubKind: 329 | - m_Textures: [] 330 | m_Width: 72 331 | m_Height: 72 332 | m_Kind: 1 333 | m_SubKind: 334 | - m_Textures: [] 335 | m_Width: 48 336 | m_Height: 48 337 | m_Kind: 1 338 | m_SubKind: 339 | - m_Textures: [] 340 | m_Width: 36 341 | m_Height: 36 342 | m_Kind: 1 343 | m_SubKind: 344 | - m_Textures: [] 345 | m_Width: 192 346 | m_Height: 192 347 | m_Kind: 0 348 | m_SubKind: 349 | - m_Textures: [] 350 | m_Width: 144 351 | m_Height: 144 352 | m_Kind: 0 353 | m_SubKind: 354 | - m_Textures: [] 355 | m_Width: 96 356 | m_Height: 96 357 | m_Kind: 0 358 | m_SubKind: 359 | - m_Textures: [] 360 | m_Width: 72 361 | m_Height: 72 362 | m_Kind: 0 363 | m_SubKind: 364 | - m_Textures: [] 365 | m_Width: 48 366 | m_Height: 48 367 | m_Kind: 0 368 | m_SubKind: 369 | - m_Textures: [] 370 | m_Width: 36 371 | m_Height: 36 372 | m_Kind: 0 373 | m_SubKind: 374 | m_BuildTargetBatching: [] 375 | m_BuildTargetGraphicsJobs: 376 | - m_BuildTarget: WindowsStandaloneSupport 377 | m_GraphicsJobs: 0 378 | - m_BuildTarget: MacStandaloneSupport 379 | m_GraphicsJobs: 0 380 | - m_BuildTarget: LinuxStandaloneSupport 381 | m_GraphicsJobs: 0 382 | - m_BuildTarget: AndroidPlayer 383 | m_GraphicsJobs: 0 384 | - m_BuildTarget: iOSSupport 385 | m_GraphicsJobs: 0 386 | - m_BuildTarget: PS4Player 387 | m_GraphicsJobs: 0 388 | - m_BuildTarget: PS5Player 389 | m_GraphicsJobs: 0 390 | - m_BuildTarget: XboxOnePlayer 391 | m_GraphicsJobs: 0 392 | - m_BuildTarget: GameCoreXboxOneSupport 393 | m_GraphicsJobs: 0 394 | - m_BuildTarget: GameCoreScarlettSupport 395 | m_GraphicsJobs: 0 396 | - m_BuildTarget: Switch 397 | m_GraphicsJobs: 0 398 | - m_BuildTarget: WebGLSupport 399 | m_GraphicsJobs: 0 400 | - m_BuildTarget: MetroSupport 401 | m_GraphicsJobs: 0 402 | - m_BuildTarget: AppleTVSupport 403 | m_GraphicsJobs: 0 404 | - m_BuildTarget: BJMSupport 405 | m_GraphicsJobs: 0 406 | - m_BuildTarget: LuminSupport 407 | m_GraphicsJobs: 0 408 | - m_BuildTarget: CloudRendering 409 | m_GraphicsJobs: 0 410 | - m_BuildTarget: EmbeddedLinux 411 | m_GraphicsJobs: 0 412 | m_BuildTargetGraphicsJobMode: 413 | - m_BuildTarget: PS4Player 414 | m_GraphicsJobMode: 0 415 | - m_BuildTarget: XboxOnePlayer 416 | m_GraphicsJobMode: 0 417 | m_BuildTargetGraphicsAPIs: 418 | - m_BuildTarget: iOSSupport 419 | m_APIs: 10000000 420 | m_Automatic: 1 421 | - m_BuildTarget: AndroidPlayer 422 | m_APIs: 0b00000008000000 423 | m_Automatic: 0 424 | m_BuildTargetVRSettings: [] 425 | openGLRequireES31: 0 426 | openGLRequireES31AEP: 0 427 | openGLRequireES32: 0 428 | m_TemplateCustomTags: {} 429 | mobileMTRendering: 430 | Android: 1 431 | iPhone: 1 432 | tvOS: 1 433 | m_BuildTargetGroupLightmapEncodingQuality: [] 434 | m_BuildTargetGroupLightmapSettings: [] 435 | m_BuildTargetNormalMapEncoding: [] 436 | m_BuildTargetDefaultTextureCompressionFormat: [] 437 | playModeTestRunnerEnabled: 0 438 | runPlayModeTestAsEditModeTest: 0 439 | actionOnDotNetUnhandledException: 1 440 | enableInternalProfiler: 0 441 | logObjCUncaughtExceptions: 1 442 | enableCrashReportAPI: 0 443 | cameraUsageDescription: 444 | locationUsageDescription: 445 | microphoneUsageDescription: 446 | bluetoothUsageDescription: 447 | switchNMETAOverride: 448 | switchNetLibKey: 449 | switchSocketMemoryPoolSize: 6144 450 | switchSocketAllocatorPoolSize: 128 451 | switchSocketConcurrencyLimit: 14 452 | switchScreenResolutionBehavior: 2 453 | switchUseCPUProfiler: 0 454 | switchUseGOLDLinker: 0 455 | switchLTOSetting: 0 456 | switchApplicationID: 0x01004b9000490000 457 | switchNSODependencies: 458 | switchTitleNames_0: 459 | switchTitleNames_1: 460 | switchTitleNames_2: 461 | switchTitleNames_3: 462 | switchTitleNames_4: 463 | switchTitleNames_5: 464 | switchTitleNames_6: 465 | switchTitleNames_7: 466 | switchTitleNames_8: 467 | switchTitleNames_9: 468 | switchTitleNames_10: 469 | switchTitleNames_11: 470 | switchTitleNames_12: 471 | switchTitleNames_13: 472 | switchTitleNames_14: 473 | switchTitleNames_15: 474 | switchPublisherNames_0: 475 | switchPublisherNames_1: 476 | switchPublisherNames_2: 477 | switchPublisherNames_3: 478 | switchPublisherNames_4: 479 | switchPublisherNames_5: 480 | switchPublisherNames_6: 481 | switchPublisherNames_7: 482 | switchPublisherNames_8: 483 | switchPublisherNames_9: 484 | switchPublisherNames_10: 485 | switchPublisherNames_11: 486 | switchPublisherNames_12: 487 | switchPublisherNames_13: 488 | switchPublisherNames_14: 489 | switchPublisherNames_15: 490 | switchIcons_0: {fileID: 0} 491 | switchIcons_1: {fileID: 0} 492 | switchIcons_2: {fileID: 0} 493 | switchIcons_3: {fileID: 0} 494 | switchIcons_4: {fileID: 0} 495 | switchIcons_5: {fileID: 0} 496 | switchIcons_6: {fileID: 0} 497 | switchIcons_7: {fileID: 0} 498 | switchIcons_8: {fileID: 0} 499 | switchIcons_9: {fileID: 0} 500 | switchIcons_10: {fileID: 0} 501 | switchIcons_11: {fileID: 0} 502 | switchIcons_12: {fileID: 0} 503 | switchIcons_13: {fileID: 0} 504 | switchIcons_14: {fileID: 0} 505 | switchIcons_15: {fileID: 0} 506 | switchSmallIcons_0: {fileID: 0} 507 | switchSmallIcons_1: {fileID: 0} 508 | switchSmallIcons_2: {fileID: 0} 509 | switchSmallIcons_3: {fileID: 0} 510 | switchSmallIcons_4: {fileID: 0} 511 | switchSmallIcons_5: {fileID: 0} 512 | switchSmallIcons_6: {fileID: 0} 513 | switchSmallIcons_7: {fileID: 0} 514 | switchSmallIcons_8: {fileID: 0} 515 | switchSmallIcons_9: {fileID: 0} 516 | switchSmallIcons_10: {fileID: 0} 517 | switchSmallIcons_11: {fileID: 0} 518 | switchSmallIcons_12: {fileID: 0} 519 | switchSmallIcons_13: {fileID: 0} 520 | switchSmallIcons_14: {fileID: 0} 521 | switchSmallIcons_15: {fileID: 0} 522 | switchManualHTML: 523 | switchAccessibleURLs: 524 | switchLegalInformation: 525 | switchMainThreadStackSize: 1048576 526 | switchPresenceGroupId: 527 | switchLogoHandling: 0 528 | switchReleaseVersion: 0 529 | switchDisplayVersion: 1.0.0 530 | switchStartupUserAccount: 0 531 | switchTouchScreenUsage: 0 532 | switchSupportedLanguagesMask: 0 533 | switchLogoType: 0 534 | switchApplicationErrorCodeCategory: 535 | switchUserAccountSaveDataSize: 0 536 | switchUserAccountSaveDataJournalSize: 0 537 | switchApplicationAttribute: 0 538 | switchCardSpecSize: -1 539 | switchCardSpecClock: -1 540 | switchRatingsMask: 0 541 | switchRatingsInt_0: 0 542 | switchRatingsInt_1: 0 543 | switchRatingsInt_2: 0 544 | switchRatingsInt_3: 0 545 | switchRatingsInt_4: 0 546 | switchRatingsInt_5: 0 547 | switchRatingsInt_6: 0 548 | switchRatingsInt_7: 0 549 | switchRatingsInt_8: 0 550 | switchRatingsInt_9: 0 551 | switchRatingsInt_10: 0 552 | switchRatingsInt_11: 0 553 | switchRatingsInt_12: 0 554 | switchLocalCommunicationIds_0: 555 | switchLocalCommunicationIds_1: 556 | switchLocalCommunicationIds_2: 557 | switchLocalCommunicationIds_3: 558 | switchLocalCommunicationIds_4: 559 | switchLocalCommunicationIds_5: 560 | switchLocalCommunicationIds_6: 561 | switchLocalCommunicationIds_7: 562 | switchParentalControl: 0 563 | switchAllowsScreenshot: 1 564 | switchAllowsVideoCapturing: 1 565 | switchAllowsRuntimeAddOnContentInstall: 0 566 | switchDataLossConfirmation: 0 567 | switchUserAccountLockEnabled: 0 568 | switchSystemResourceMemory: 16777216 569 | switchSupportedNpadStyles: 3 570 | switchNativeFsCacheSize: 32 571 | switchIsHoldTypeHorizontal: 0 572 | switchSupportedNpadCount: 8 573 | switchSocketConfigEnabled: 0 574 | switchTcpInitialSendBufferSize: 32 575 | switchTcpInitialReceiveBufferSize: 64 576 | switchTcpAutoSendBufferSizeMax: 256 577 | switchTcpAutoReceiveBufferSizeMax: 256 578 | switchUdpSendBufferSize: 9 579 | switchUdpReceiveBufferSize: 42 580 | switchSocketBufferEfficiency: 4 581 | switchSocketInitializeEnabled: 1 582 | switchNetworkInterfaceManagerInitializeEnabled: 1 583 | switchPlayerConnectionEnabled: 1 584 | switchUseNewStyleFilepaths: 0 585 | switchUseMicroSleepForYield: 1 586 | switchEnableRamDiskSupport: 0 587 | switchMicroSleepForYieldTime: 25 588 | switchRamDiskSpaceSize: 12 589 | ps4NPAgeRating: 12 590 | ps4NPTitleSecret: 591 | ps4NPTrophyPackPath: 592 | ps4ParentalLevel: 11 593 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 594 | ps4Category: 0 595 | ps4MasterVersion: 01.00 596 | ps4AppVersion: 01.00 597 | ps4AppType: 0 598 | ps4ParamSfxPath: 599 | ps4VideoOutPixelFormat: 0 600 | ps4VideoOutInitialWidth: 1920 601 | ps4VideoOutBaseModeInitialWidth: 1920 602 | ps4VideoOutReprojectionRate: 60 603 | ps4PronunciationXMLPath: 604 | ps4PronunciationSIGPath: 605 | ps4BackgroundImagePath: 606 | ps4StartupImagePath: 607 | ps4StartupImagesFolder: 608 | ps4IconImagesFolder: 609 | ps4SaveDataImagePath: 610 | ps4SdkOverride: 611 | ps4BGMPath: 612 | ps4ShareFilePath: 613 | ps4ShareOverlayImagePath: 614 | ps4PrivacyGuardImagePath: 615 | ps4ExtraSceSysFile: 616 | ps4NPtitleDatPath: 617 | ps4RemotePlayKeyAssignment: -1 618 | ps4RemotePlayKeyMappingDir: 619 | ps4PlayTogetherPlayerCount: 0 620 | ps4EnterButtonAssignment: 1 621 | ps4ApplicationParam1: 0 622 | ps4ApplicationParam2: 0 623 | ps4ApplicationParam3: 0 624 | ps4ApplicationParam4: 0 625 | ps4DownloadDataSize: 0 626 | ps4GarlicHeapSize: 2048 627 | ps4ProGarlicHeapSize: 2560 628 | playerPrefsMaxSize: 32768 629 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ 630 | ps4pnSessions: 1 631 | ps4pnPresence: 1 632 | ps4pnFriends: 1 633 | ps4pnGameCustomData: 1 634 | playerPrefsSupport: 0 635 | enableApplicationExit: 0 636 | resetTempFolder: 1 637 | restrictedAudioUsageRights: 0 638 | ps4UseResolutionFallback: 0 639 | ps4ReprojectionSupport: 0 640 | ps4UseAudio3dBackend: 0 641 | ps4UseLowGarlicFragmentationMode: 1 642 | ps4SocialScreenEnabled: 0 643 | ps4ScriptOptimizationLevel: 0 644 | ps4Audio3dVirtualSpeakerCount: 14 645 | ps4attribCpuUsage: 0 646 | ps4PatchPkgPath: 647 | ps4PatchLatestPkgPath: 648 | ps4PatchChangeinfoPath: 649 | ps4PatchDayOne: 0 650 | ps4attribUserManagement: 0 651 | ps4attribMoveSupport: 0 652 | ps4attrib3DSupport: 0 653 | ps4attribShareSupport: 0 654 | ps4attribExclusiveVR: 0 655 | ps4disableAutoHideSplash: 0 656 | ps4videoRecordingFeaturesUsed: 0 657 | ps4contentSearchFeaturesUsed: 0 658 | ps4CompatibilityPS5: 0 659 | ps4GPU800MHz: 1 660 | ps4attribEyeToEyeDistanceSettingVR: 0 661 | ps4IncludedModules: [] 662 | ps4attribVROutputEnabled: 0 663 | monoEnv: 664 | splashScreenBackgroundSourceLandscape: {fileID: 0} 665 | splashScreenBackgroundSourcePortrait: {fileID: 0} 666 | blurSplashScreenBackground: 1 667 | spritePackerPolicy: 668 | webGLMemorySize: 256 669 | webGLExceptionSupport: 1 670 | webGLNameFilesAsHashes: 0 671 | webGLDataCaching: 0 672 | webGLDebugSymbols: 0 673 | webGLEmscriptenArgs: 674 | webGLModulesDirectory: 675 | webGLTemplate: APPLICATION:Default 676 | webGLAnalyzeBuildSize: 0 677 | webGLUseEmbeddedResources: 0 678 | webGLCompressionFormat: 1 679 | webGLWasmArithmeticExceptions: 0 680 | webGLLinkerTarget: 1 681 | webGLThreadsSupport: 0 682 | webGLDecompressionFallback: 0 683 | scriptingDefineSymbols: {} 684 | additionalCompilerArguments: {} 685 | platformArchitecture: {} 686 | scriptingBackend: {} 687 | il2cppCompilerConfiguration: {} 688 | managedStrippingLevel: {} 689 | incrementalIl2cppBuild: {} 690 | suppressCommonWarnings: 1 691 | allowUnsafeCode: 0 692 | useDeterministicCompilation: 1 693 | enableRoslynAnalyzers: 1 694 | additionalIl2CppArgs: 695 | scriptingRuntimeVersion: 1 696 | gcIncremental: 1 697 | assemblyVersionValidation: 1 698 | gcWBarrierValidation: 0 699 | apiCompatibilityLevelPerPlatform: {} 700 | m_RenderingPath: 1 701 | m_MobileRenderingPath: 1 702 | metroPackageName: MecanimEventSystem 703 | metroPackageVersion: 704 | metroCertificatePath: 705 | metroCertificatePassword: 706 | metroCertificateSubject: 707 | metroCertificateIssuer: 708 | metroCertificateNotAfter: 0000000000000000 709 | metroApplicationDescription: MecanimEventSystem 710 | wsaImages: {} 711 | metroTileShortName: 712 | metroTileShowName: 0 713 | metroMediumTileShowName: 0 714 | metroLargeTileShowName: 0 715 | metroWideTileShowName: 0 716 | metroSupportStreamingInstall: 0 717 | metroLastRequiredScene: 0 718 | metroDefaultTileSize: 1 719 | metroTileForegroundText: 2 720 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 721 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, 722 | a: 1} 723 | metroSplashScreenUseBackgroundColor: 0 724 | platformCapabilities: {} 725 | metroTargetDeviceFamilies: {} 726 | metroFTAName: 727 | metroFTAFileTypes: [] 728 | metroProtocolName: 729 | vcxProjDefaultLanguage: 730 | XboxOneProductId: 731 | XboxOneUpdateKey: 732 | XboxOneSandboxId: 733 | XboxOneContentId: 734 | XboxOneTitleId: 735 | XboxOneSCId: 736 | XboxOneGameOsOverridePath: 737 | XboxOnePackagingOverridePath: 738 | XboxOneAppManifestOverridePath: 739 | XboxOneVersion: 1.0.0.0 740 | XboxOnePackageEncryption: 0 741 | XboxOnePackageUpdateGranularity: 2 742 | XboxOneDescription: 743 | XboxOneLanguage: 744 | - enus 745 | XboxOneCapability: [] 746 | XboxOneGameRating: {} 747 | XboxOneIsContentPackage: 0 748 | XboxOneEnhancedXboxCompatibilityMode: 0 749 | XboxOneEnableGPUVariability: 0 750 | XboxOneSockets: {} 751 | XboxOneSplashScreen: {fileID: 0} 752 | XboxOneAllowedProductIds: [] 753 | XboxOnePersistentLocalStorageSize: 0 754 | XboxOneXTitleMemory: 8 755 | XboxOneOverrideIdentityName: 756 | XboxOneOverrideIdentityPublisher: 757 | vrEditorSettings: {} 758 | cloudServicesEnabled: {} 759 | luminIcon: 760 | m_Name: 761 | m_ModelFolderPath: 762 | m_PortalFolderPath: 763 | luminCert: 764 | m_CertPath: 765 | m_SignPackage: 1 766 | luminIsChannelApp: 0 767 | luminVersion: 768 | m_VersionCode: 1 769 | m_VersionName: 770 | apiCompatibilityLevel: 6 771 | activeInputHandler: 0 772 | cloudProjectId: 773 | framebufferDepthMemorylessMode: 0 774 | qualitySettingsNames: [] 775 | projectName: 776 | organizationId: 777 | cloudEnabled: 0 778 | legacyClampBlendShapeWeights: 1 779 | playerDataPath: 780 | forceSRGBBlit: 1 781 | virtualTexturingSupportEnabled: 0 782 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.3.1f1c1 2 | m_EditorVersionWithRevision: 2021.3.1f1c1 (0cb3bd085a01) 3 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 5 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Very Low 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | blendWeights: 1 22 | textureQuality: 1 23 | anisotropicTextures: 0 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 0 30 | lodBias: 0.3 31 | maximumLODLevel: 0 32 | particleRaycastBudget: 4 33 | asyncUploadTimeSlice: 2 34 | asyncUploadBufferSize: 4 35 | resolutionScalingFixedDPIFactor: 1 36 | excludedTargetPlatforms: [] 37 | - serializedVersion: 2 38 | name: Low 39 | pixelLightCount: 0 40 | shadows: 0 41 | shadowResolution: 0 42 | shadowProjection: 1 43 | shadowCascades: 1 44 | shadowDistance: 20 45 | shadowNearPlaneOffset: 3 46 | shadowCascade2Split: 0.33333334 47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 48 | shadowmaskMode: 0 49 | blendWeights: 2 50 | textureQuality: 0 51 | anisotropicTextures: 0 52 | antiAliasing: 0 53 | softParticles: 0 54 | softVegetation: 0 55 | realtimeReflectionProbes: 0 56 | billboardsFaceCameraPosition: 0 57 | vSyncCount: 0 58 | lodBias: 0.4 59 | maximumLODLevel: 0 60 | particleRaycastBudget: 16 61 | asyncUploadTimeSlice: 2 62 | asyncUploadBufferSize: 4 63 | resolutionScalingFixedDPIFactor: 1 64 | excludedTargetPlatforms: [] 65 | - serializedVersion: 2 66 | name: Medium 67 | pixelLightCount: 1 68 | shadows: 1 69 | shadowResolution: 0 70 | shadowProjection: 1 71 | shadowCascades: 1 72 | shadowDistance: 20 73 | shadowNearPlaneOffset: 3 74 | shadowCascade2Split: 0.33333334 75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 76 | shadowmaskMode: 0 77 | blendWeights: 2 78 | textureQuality: 0 79 | anisotropicTextures: 1 80 | antiAliasing: 0 81 | softParticles: 0 82 | softVegetation: 0 83 | realtimeReflectionProbes: 0 84 | billboardsFaceCameraPosition: 0 85 | vSyncCount: 1 86 | lodBias: 0.7 87 | maximumLODLevel: 0 88 | particleRaycastBudget: 64 89 | asyncUploadTimeSlice: 2 90 | asyncUploadBufferSize: 4 91 | resolutionScalingFixedDPIFactor: 1 92 | excludedTargetPlatforms: [] 93 | - serializedVersion: 2 94 | name: High 95 | pixelLightCount: 2 96 | shadows: 2 97 | shadowResolution: 1 98 | shadowProjection: 1 99 | shadowCascades: 2 100 | shadowDistance: 40 101 | shadowNearPlaneOffset: 3 102 | shadowCascade2Split: 0.33333334 103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 104 | shadowmaskMode: 1 105 | blendWeights: 2 106 | textureQuality: 0 107 | anisotropicTextures: 1 108 | antiAliasing: 0 109 | softParticles: 0 110 | softVegetation: 1 111 | realtimeReflectionProbes: 1 112 | billboardsFaceCameraPosition: 1 113 | vSyncCount: 1 114 | lodBias: 1 115 | maximumLODLevel: 0 116 | particleRaycastBudget: 256 117 | asyncUploadTimeSlice: 2 118 | asyncUploadBufferSize: 4 119 | resolutionScalingFixedDPIFactor: 1 120 | excludedTargetPlatforms: [] 121 | - serializedVersion: 2 122 | name: Very High 123 | pixelLightCount: 3 124 | shadows: 2 125 | shadowResolution: 2 126 | shadowProjection: 1 127 | shadowCascades: 2 128 | shadowDistance: 70 129 | shadowNearPlaneOffset: 3 130 | shadowCascade2Split: 0.33333334 131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 132 | shadowmaskMode: 1 133 | blendWeights: 4 134 | textureQuality: 0 135 | anisotropicTextures: 2 136 | antiAliasing: 2 137 | softParticles: 1 138 | softVegetation: 1 139 | realtimeReflectionProbes: 1 140 | billboardsFaceCameraPosition: 1 141 | vSyncCount: 1 142 | lodBias: 1.5 143 | maximumLODLevel: 0 144 | particleRaycastBudget: 1024 145 | asyncUploadTimeSlice: 2 146 | asyncUploadBufferSize: 4 147 | resolutionScalingFixedDPIFactor: 1 148 | excludedTargetPlatforms: [] 149 | - serializedVersion: 2 150 | name: Ultra 151 | pixelLightCount: 4 152 | shadows: 2 153 | shadowResolution: 2 154 | shadowProjection: 1 155 | shadowCascades: 4 156 | shadowDistance: 150 157 | shadowNearPlaneOffset: 3 158 | shadowCascade2Split: 0.33333334 159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 160 | shadowmaskMode: 1 161 | blendWeights: 4 162 | textureQuality: 0 163 | anisotropicTextures: 2 164 | antiAliasing: 2 165 | softParticles: 1 166 | softVegetation: 1 167 | realtimeReflectionProbes: 1 168 | billboardsFaceCameraPosition: 1 169 | vSyncCount: 1 170 | lodBias: 2 171 | maximumLODLevel: 0 172 | particleRaycastBudget: 4096 173 | asyncUploadTimeSlice: 2 174 | asyncUploadBufferSize: 4 175 | resolutionScalingFixedDPIFactor: 1 176 | excludedTargetPlatforms: [] 177 | m_PerPlatformDefaultQuality: 178 | Android: 2 179 | Nintendo 3DS: 5 180 | Nintendo Switch: 5 181 | PS4: 5 182 | PSM: 5 183 | PSP2: 2 184 | Standalone: 5 185 | Tizen: 2 186 | WebGL: 3 187 | WiiU: 5 188 | Windows Store Apps: 5 189 | XboxOne: 5 190 | iPhone: 2 191 | tvOS: 2 192 | -------------------------------------------------------------------------------- /ProjectSettings/SceneTemplateSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "templatePinStates": [], 3 | "dependencyTypeInfos": [ 4 | { 5 | "userAdded": false, 6 | "type": "UnityEngine.AnimationClip", 7 | "ignore": false, 8 | "defaultInstantiationMode": 0, 9 | "supportsModification": true 10 | }, 11 | { 12 | "userAdded": false, 13 | "type": "UnityEditor.Animations.AnimatorController", 14 | "ignore": false, 15 | "defaultInstantiationMode": 0, 16 | "supportsModification": true 17 | }, 18 | { 19 | "userAdded": false, 20 | "type": "UnityEngine.AnimatorOverrideController", 21 | "ignore": false, 22 | "defaultInstantiationMode": 0, 23 | "supportsModification": true 24 | }, 25 | { 26 | "userAdded": false, 27 | "type": "UnityEditor.Audio.AudioMixerController", 28 | "ignore": false, 29 | "defaultInstantiationMode": 0, 30 | "supportsModification": true 31 | }, 32 | { 33 | "userAdded": false, 34 | "type": "UnityEngine.ComputeShader", 35 | "ignore": true, 36 | "defaultInstantiationMode": 1, 37 | "supportsModification": true 38 | }, 39 | { 40 | "userAdded": false, 41 | "type": "UnityEngine.Cubemap", 42 | "ignore": false, 43 | "defaultInstantiationMode": 0, 44 | "supportsModification": true 45 | }, 46 | { 47 | "userAdded": false, 48 | "type": "UnityEngine.GameObject", 49 | "ignore": false, 50 | "defaultInstantiationMode": 0, 51 | "supportsModification": true 52 | }, 53 | { 54 | "userAdded": false, 55 | "type": "UnityEditor.LightingDataAsset", 56 | "ignore": false, 57 | "defaultInstantiationMode": 0, 58 | "supportsModification": false 59 | }, 60 | { 61 | "userAdded": false, 62 | "type": "UnityEngine.LightingSettings", 63 | "ignore": false, 64 | "defaultInstantiationMode": 0, 65 | "supportsModification": true 66 | }, 67 | { 68 | "userAdded": false, 69 | "type": "UnityEngine.Material", 70 | "ignore": false, 71 | "defaultInstantiationMode": 0, 72 | "supportsModification": true 73 | }, 74 | { 75 | "userAdded": false, 76 | "type": "UnityEditor.MonoScript", 77 | "ignore": true, 78 | "defaultInstantiationMode": 1, 79 | "supportsModification": true 80 | }, 81 | { 82 | "userAdded": false, 83 | "type": "UnityEngine.PhysicMaterial", 84 | "ignore": false, 85 | "defaultInstantiationMode": 0, 86 | "supportsModification": true 87 | }, 88 | { 89 | "userAdded": false, 90 | "type": "UnityEngine.PhysicsMaterial2D", 91 | "ignore": false, 92 | "defaultInstantiationMode": 0, 93 | "supportsModification": true 94 | }, 95 | { 96 | "userAdded": false, 97 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile", 98 | "ignore": false, 99 | "defaultInstantiationMode": 0, 100 | "supportsModification": true 101 | }, 102 | { 103 | "userAdded": false, 104 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources", 105 | "ignore": false, 106 | "defaultInstantiationMode": 0, 107 | "supportsModification": true 108 | }, 109 | { 110 | "userAdded": false, 111 | "type": "UnityEngine.Rendering.VolumeProfile", 112 | "ignore": false, 113 | "defaultInstantiationMode": 0, 114 | "supportsModification": true 115 | }, 116 | { 117 | "userAdded": false, 118 | "type": "UnityEditor.SceneAsset", 119 | "ignore": false, 120 | "defaultInstantiationMode": 0, 121 | "supportsModification": false 122 | }, 123 | { 124 | "userAdded": false, 125 | "type": "UnityEngine.Shader", 126 | "ignore": true, 127 | "defaultInstantiationMode": 1, 128 | "supportsModification": true 129 | }, 130 | { 131 | "userAdded": false, 132 | "type": "UnityEngine.ShaderVariantCollection", 133 | "ignore": true, 134 | "defaultInstantiationMode": 1, 135 | "supportsModification": true 136 | }, 137 | { 138 | "userAdded": false, 139 | "type": "UnityEngine.Texture", 140 | "ignore": false, 141 | "defaultInstantiationMode": 0, 142 | "supportsModification": true 143 | }, 144 | { 145 | "userAdded": false, 146 | "type": "UnityEngine.Texture2D", 147 | "ignore": false, 148 | "defaultInstantiationMode": 0, 149 | "supportsModification": true 150 | }, 151 | { 152 | "userAdded": false, 153 | "type": "UnityEngine.Timeline.TimelineAsset", 154 | "ignore": false, 155 | "defaultInstantiationMode": 0, 156 | "supportsModification": true 157 | } 158 | ], 159 | "defaultDependencyTypeInfo": { 160 | "userAdded": false, 161 | "type": "", 162 | "ignore": false, 163 | "defaultInstantiationMode": 1, 164 | "supportsModification": true 165 | }, 166 | "newSceneOverride": 0 167 | } -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | m_Enabled: 0 7 | m_TestMode: 0 8 | m_TestEventUrl: 9 | m_TestConfigUrl: 10 | m_TestInitMode: 0 11 | CrashReportingSettings: 12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes 13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate 14 | m_Enabled: 0 15 | m_CaptureEditorExceptions: 1 16 | UnityPurchasingSettings: 17 | m_Enabled: 0 18 | m_TestMode: 0 19 | UnityAnalyticsSettings: 20 | m_Enabled: 0 21 | m_InitializeOnStartup: 1 22 | m_TestMode: 0 23 | m_TestEventUrl: 24 | m_TestConfigUrl: 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | m_CompiledVersion: 0 14 | m_RuntimeVersion: 0 15 | m_RuntimeResources: {fileID: 0} 16 | -------------------------------------------------------------------------------- /ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/boot.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bian-Sh/Unity-MecanimEventSystem/1c69c51c4259627160dfcecc934774fe0e13bd25/ProjectSettings/boot.config -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [English](#english) 2 | 3 | # Unity-MecanimEventSystem 4 | 5 | # Animator 事件回调系统 6 | 7 | # 简述 8 | 9 | * 这是一个非常实用的,链式编程风格的 Animator 事件系统。 10 | * 通过 方法扩展 的方式实现了对 Animator 的功能扩展 11 | * 现在你能直接使用 Animator.SetTarget(clipname,frame) 指定在哪一个动画片段的哪一帧上插入事件。 12 | * 解决了必须手动插入AnimationEvent的痛点,同时链式+ Lambda 使得逻辑更集中更优雅,也方便阅读和理解。 13 | * 支持 await/async 语法糖调用, 请参考:[AnimatorAwaitEx](https://github.com/Bian-Sh/Unity-MecanimEventSystem/blob/754b80c6142349556ec666ca99583b0922c947de/Assets/MecanimEventSystem/Runtime/Async/AnimatorAwaitEx.cs) 14 | 15 | 16 | 17 | 插入的事件分2个: 18 | 19 | | API | Description | 20 | | ----------- | --------------- | 21 | | OnProcess | 在动画片段用户指定帧执行的回调 | 22 | | OnCompleted | 在动画片段结束帧执行的回调 | 23 | 24 | # 使用实例 25 | 26 | > * 在中间帧 27 | 28 | ``` 29 | animator.SetTarget("Left", 55) //1. 拿到 Animator 引用 30 | .OnProcess((v) => //2. 拆入事件到 55帧 31 | { 32 | string clipname = v.animatorClipInfo.clip.name; //3.拿到动画片段信息--------片段名称 33 | if (v.animatorStateInfo.IsName("Base Layer.Rotate") //4.拿到动画状态信息--------状态名称 34 | { 35 | Debug.Log("结束时Base Layer:" + clipname + ":" + v.time * v.animatorClipInfo.clip.frameRate); //5. 基于上面的信息做层别以及其他逻辑 36 | } 37 | if (v.animatorStateInfo.IsName("New Layer.Rotate1212"))//演示其它层的事件接受 38 | { 39 | Debug.Log("结束时New Layer:" + clipname + ":" + v.time * v.animatorClipInfo.clip.frameRate); 40 | } 41 | }) 42 | .SetParms("ddsf", objectParm: gameObject) //6. 演示在事件中放置参数,但闭包优势,参数均在上下文,所以可以不设置参数 43 | .SetTrigger("Left"); // 7. 适配器--适配了Animator API 可以链式操控动画机 44 | ``` 45 | 46 | [示例代码](https://github.com/Bian-Sh/Unity-MecanimEventSystem/blob/23785e246062cf70f1f4c3e13bba83344baf0024/Assets/MecanimEventSystem/Example/AnimClips/EventListener.cs#L10C44-L10C44) 47 | 48 | > * 在结束帧 49 | 50 | ``` 51 | animator.SetTarget("Rotate") 52 | .OnCompleted((v) => 53 | { 54 | //Do something when finished 55 | }); 56 | ``` 57 | 58 | [示例代码](https://github.com/Bian-Sh/Unity-MecanimEventSystem/blob/23785e246062cf70f1f4c3e13bba83344baf0024/Assets/MecanimEventSystem/Example/AnimClips/EventListener.cs#L35C53-L35C53) 59 | 60 | > * 使用 async / await 61 | 62 | ``` 63 | // 这里做一些事情,比如本例中按钮的可交互性改为:false 64 | button.interactable = false; 65 | var r = await animator.SetBoolAsync("Expand","Expand", false); // todo: 必须细分到 layer.state 这种级别,否则误触会很伤 66 | text.text = "collapsed"; 67 | // 这里做一些收尾,比如为 text 赋值 或者 将按钮变为可交互 68 | ``` 69 | 70 | [示例代码](https://github.com/Bian-Sh/Unity-MecanimEventSystem/blob/754b80c6142349556ec666ca99583b0922c947de/Assets/MecanimEventSystem/Example/TestForAwait/Test.cs#L40) 71 | 72 | # 动画演示 73 | 74 | ![](doc/mce-normal.gif) 75 | 76 | 演示了动态新增事件到动画片段指定帧、叠加事件到同一帧、复用动画片段事件层别(Rotate动画片段复用,通过Layer 输出看到层别效果) 77 | 78 | ![](doc/mce-await.gif) 79 | 80 | 演示了通过 await 实现对流程控制的优雅把控 81 | 82 | # todo 83 | 84 | 1. 将参数内敛到一个类型中并绘制到面板在面板上 85 | 2. ~~将对 EventState 的扩展改为对 Animator 的扩展~~ 86 | 3. 整理为 UPM 插件包形式 87 | 88 | # 我的简书 89 | 90 | [Unity 3D 打造自己的Mecanim Callback System - 简书](https://www.jianshu.com/p/d68b6813c74f) - 仓库逻辑为准 91 | 92 | [简体中文](#chinese) 93 | 94 | # Unity-MecanimEventSystem 95 | 96 | ## Animator Event Callback System 97 | 98 | ### Overview 99 | 100 | * This is a highly practical, chain-programming style Animator event system that extends the functionality of the Animator through method extensions. 101 | 102 | * With this system, you can now directly use `Animator.SetTarget(clipname,frame)` to specify which frame of an animation clip to insert an event. This solves the pain point of having to manually insert `AnimationEvents`, while the chain + Lambda approach makes the logic more concentrated, elegant, and easy to read and understand. 103 | 104 | * The system supports `await/async` syntactic sugar calls. you can implemented fit your needs see ref [AnimatorAwaitEx](https://github.com/Bian-Sh/Unity-MecanimEventSystem/blob/754b80c6142349556ec666ca99583b0922c947de/Assets/MecanimEventSystem/Runtime/Async/AnimatorAwaitEx.cs). 105 | 106 | The inserted events are divided into two types: 107 | 108 | | API | Description | 109 | | ------------- | ------------------------------------------------------------------- | 110 | | `OnProcess` | Callback executed on the user-specified frame of the animation clip | 111 | | `OnCompleted` | Callback executed on the end frame of the animation clip | 112 | 113 | ### Usage Examples 114 | 115 | #### In the Middle Frame 116 | 117 | ```csharp 118 | animator.SetTarget("Left", 55) // 1. Get Animator reference 119 | .OnProcess((v) => // 2. Insert event at frame 55 120 | { 121 | string clipname = v.animatorClipInfo.clip.name; // 3. Get animation clip information - clip name 122 | if (v.animatorStateInfo.IsName("Base Layer.Rotate") // 4. Get animation state information - state name 123 | { 124 | Debug.Log("End Base Layer:" + clipname + ":" + v.time * v.animatorClipInfo.clip.frameRate); // 5. Based on the above information, perform layer and other logic 125 | } 126 | if (v.animatorStateInfo.IsName("New Layer.Rotate1212"))// Demonstrate event acceptance on other layers 127 | { 128 | Debug.Log("End New Layer:" + clipname + ":" + v.time * v.animatorClipInfo.clip.frameRate); 129 | } 130 | }) 131 | .SetParms("ddsf", objectParm: gameObject) // 6. Demonstrate placing parameters in events, but due to closure advantages, parameters are in context, so you can not set parameters 132 | .SetTrigger("Left"); // 7. Adapter - adapted Animator API for chain control of animation machine 133 | ``` 134 | 135 | [Example code](https://github.com/Bian-Sh/Unity-MecanimEventSystem/blob/23785e246062cf70f1f4c3e13bba83344baf0024/Assets/MecanimEventSystem/Example/AnimClips/EventListener.cs#L10C44-L10C44) 136 | 137 | #### On the End Frame 138 | 139 | ``` 140 | animator.SetTarget("Rotate") 141 | .OnCompleted((v) => 142 | { 143 | // Do something when finished 144 | }); 145 | ``` 146 | 147 | [Example code](https://github.com/Bian-Sh/Unity-MecanimEventSystem/blob/23785e246062cf70f1f4c3e13bba83344baf0024/Assets/MecanimEventSystem/Example/AnimClips/EventListener.cs#L35C53-L35C53) 148 | 149 | #### Using async / await 150 | 151 | ```csharp 152 | // Do something here, such as changing the interactivity of the button in this example to: false 153 | button.interactable = false; 154 | var r = await animator.SetBoolAsync("Expand","Expand", false); //todo :Maybe the syntax "layer.StateName" is good. 155 | text.text = "collapsed"; 156 | // Do some finishing touches here, such as assigning values to text or making buttons interactive 157 | ``` 158 | 159 | [Example code](https://github.com/Bian-Sh/Unity-MecanimEventSystem/blob/754b80c6142349556ec666ca99583b0922c947de/Assets/MecanimEventSystem/Example/TestForAwait/Test.cs#L40) 160 | 161 | # Animations 162 | 163 | ![](doc/mce-normal.gif) 164 | 165 | Demonstrates the dynamic addition of events to the specified frame of the animation clip, superimposition of events to the same frame, and multiplexing of the animation clip event layer (Rotate animation clip multiplexing, see the layer effect through the Layer output) 166 | 167 | ![](doc/mce-await.gif) 168 | 169 | Demonstrates the elegant control of process control through await 170 | 171 | # To-Do List 172 | 173 | 1. Inline parameters into a type and draw them on the inspector. 174 | 2. ~~Change the extension of ``EventState`` to an extension of ``Animator``.~~ 175 | 3. Organize into UPM package form. 176 | 177 | # Reference 178 | 179 | [Unity 3D 打造自己的Mecanim Callback System - 简书](https://www.jianshu.com/p/d68b6813c74f) - Please follow the logic of the repository. 180 | -------------------------------------------------------------------------------- /doc/mce-await.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bian-Sh/Unity-MecanimEventSystem/1c69c51c4259627160dfcecc934774fe0e13bd25/doc/mce-await.gif -------------------------------------------------------------------------------- /doc/mce-normal.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bian-Sh/Unity-MecanimEventSystem/1c69c51c4259627160dfcecc934774fe0e13bd25/doc/mce-normal.gif --------------------------------------------------------------------------------