diff --git a/Game.meta b/Game.meta new file mode 100644 index 0000000..3b2cd38 --- /dev/null +++ b/Game.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3aa05ef999c0db8c9a37646187699217 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/AGENTS.md b/Game/AGENTS.md new file mode 100644 index 0000000..f283cf9 --- /dev/null +++ b/Game/AGENTS.md @@ -0,0 +1,32 @@ +# Repository Guidelines + +## Project Structure & Module Organization +- Unity assets live under `Assets/Game/`; `Hero/`, `Enemy/`, and `Scenes/` store prefabs and scene content. +- Gameplay code is in `Assets/Game/Scripts/`, grouped by domain: `ThirdPerson*` for locomotion, `Combat/` for health & damage, and `WeaponSystem/` for weapons, projectiles, and data assets. +- Keep shared multiplayer logic in `Scripts/` so both host and clients load identical behaviours; place editor-only utilities under an `Editor/` folder to avoid runtime inclusion. + +## Build, Test, and Development Commands +- Open the project with the Unity Hub or run `unity -projectPath ./` from the repo root to launch the editor. +- Generate a standalone build with `unity -projectPath ./ -buildTarget StandaloneWindows64 -executeMethod BuildScripts.BuildClient` (create the `BuildClient` method in an editor script if missing). +- Use the Unity Test Runner (`Window > General > Test Runner`) and run both Edit Mode and Play Mode suites before merging gameplay changes. + +## Coding Style & Naming Conventions +- Follow standard C# conventions: PascalCase for classes, methods, and public members; camelCase for private fields; prefix serialized private fields with `[SerializeField]` and keep them private. +- Organize namespaces under `MegaKoop.Game.` to mirror the folder structure. +- Prefer composition-friendly MonoBehaviours with explicit `SerializeField` dependencies; avoid singletons in gameplay code unless wrapped for network synchronisation. + +## Testing Guidelines +- Use Unity’s built-in NUnit framework for component tests; name files `Tests.cs` and mirror the folder of the code under test. +- Favour deterministic Play Mode tests that exercise Steamworks stubs or mock networking flows; document any non-deterministic behaviour in the test summary. +- Aim for tests around new systems that affect combat sync, projectiles, or hero abilities so regressions are caught pre-merge. + +## Commit & Pull Request Guidelines +- Commit messages should be imperative and scoped (e.g., `Add projectile lifetime clamps`). +- PRs must describe gameplay impact, list affected scenes/prefabs, and include replication steps for multiplayer behaviour. +- Link to tracking tasks and attach editor or in-game screenshots/GIFs when modifying hero abilities, UI, or VFX. + +## Multiplayer & Online Rules +- Treat every feature as networked-first: verify authority flows, replication, and prediction before adding offline shortcuts. +- Integrate Steamworks.NET for session management; keep wrappers in a dedicated networking layer so gameplay systems call high-level abstractions. +- When adding hero abilities, ensure weapon firing, damage, and state changes trigger RPCs/events that work for host migration and client late-join scenarios. +- Document any temp offline fallbacks and add TODOs to replace them with Steamworks-backed implementations. diff --git a/Game/AGENTS.md.meta b/Game/AGENTS.md.meta new file mode 100644 index 0000000..976ea0a --- /dev/null +++ b/Game/AGENTS.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 26880776f1200689dbc1be5c197a03c0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Enemy.meta b/Game/Enemy.meta new file mode 100644 index 0000000..a2cce14 --- /dev/null +++ b/Game/Enemy.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f250f7f11c39195b2a38e7f052154182 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Enemy/Golem.meta b/Game/Enemy/Golem.meta new file mode 100644 index 0000000..699f95a --- /dev/null +++ b/Game/Enemy/Golem.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9df8db4a9428a557a3f6f46b6652d79 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Enemy/Golem/Golem.prefab b/Game/Enemy/Golem/Golem.prefab new file mode 100644 index 0000000..d8d9eb3 --- /dev/null +++ b/Game/Enemy/Golem/Golem.prefab @@ -0,0 +1,3220 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1046052961001346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4828050653328564} + m_Layer: 8 + m_Name: Thumb_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4828050653328564 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1046052961001346} + serializedVersion: 2 + m_LocalRotation: {x: -0.04663384, y: -0.14921467, z: -0.29463205, w: 0.94273657} + m_LocalPosition: {x: -0.092271924, y: 4.2188474e-17, z: -2.220446e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4700638358020800} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1070748433161756 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4015598925397598} + m_Layer: 8 + m_Name: Hand_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4015598925397598 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1070748433161756} + serializedVersion: 2 + m_LocalRotation: {x: 0.05427486, y: 0.395974, z: 0.124479234, w: 0.9081651} + m_LocalPosition: {x: -0.3286817, y: -5.684342e-16, z: 1.4654943e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4212119753740586} + - {fileID: 4627731857750742} + - {fileID: 4827386861365388} + m_Father: {fileID: 4913257904721466} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1080745343582342 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4571511246323476} + m_Layer: 8 + m_Name: Ankle_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4571511246323476 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1080745343582342} + serializedVersion: 2 + m_LocalRotation: {x: 0.7458738, y: 0.51436746, z: -0.19933209, w: 0.37331632} + m_LocalPosition: {x: -0.37842098, y: -0.00000000799083, z: -0.00000017884236} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4524473220177008} + m_Father: {fileID: 4515452197964608} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1094425539472218 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4923149105459994} + m_Layer: 8 + m_Name: Finger_01 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4923149105459994 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1094425539472218} + serializedVersion: 2 + m_LocalRotation: {x: -0.10106448, y: -0.46700662, z: -0.052073725, w: 0.87691456} + m_LocalPosition: {x: 0.051991317, y: -0.012054317, z: 0.14853004} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4973814164816156} + m_Father: {fileID: 4018930702823724} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1097436230924706 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4035022438780598} + m_Layer: 8 + m_Name: Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4035022438780598 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1097436230924706} + serializedVersion: 2 + m_LocalRotation: {x: 0.15786923, y: -0.6892585, z: 0.15786923, w: 0.6892585} + m_LocalPosition: {x: -0.18457133, y: 0.010586951, z: 7.950428e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4778720266599274} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1102497608291812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4726080023563326} + m_Layer: 8 + m_Name: Ball_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4726080023563326 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1102497608291812} + serializedVersion: 2 + m_LocalRotation: {x: 8.331955e-17, y: -2.5633195e-15, z: -0.23606834, w: 0.9717365} + m_LocalPosition: {x: 0.12877613, y: -0.000000010258867, z: -1.0658141e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4812656814422870} + m_Father: {fileID: 4770898849405920} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1103064820396522 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4812656814422870} + m_Layer: 8 + m_Name: Toes_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4812656814422870 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1103064820396522} + serializedVersion: 2 + m_LocalRotation: {x: -3.31909e-14, y: -0.7071068, z: -3.31909e-14, w: 0.7071068} + m_LocalPosition: {x: 0.0729575, y: -4.0909496e-14, z: 3.5527136e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4726080023563326} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1109592895492112 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4560254273098224} + m_Layer: 8 + m_Name: IndexFinger_01 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4560254273098224 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1109592895492112} + serializedVersion: 2 + m_LocalRotation: {x: -0.05360258, y: -0.37485918, z: -0.12035185, w: 0.9176725} + m_LocalPosition: {x: 0.12075663, y: -0.04220975, z: 0.09842222} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4457159045853408} + m_Father: {fileID: 4018930702823724} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1111657234874970 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4985825705107224} + - component: {fileID: 137496108940317918} + m_Layer: 8 + m_Name: Character_BarbarianGiant_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4985825705107224 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1111657234874970} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137496108940317918 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1111657234874970} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300000, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Bones: + - {fileID: 4810071759811394} + - {fileID: 4479302988862604} + - {fileID: 4092363208442356} + - {fileID: 4417470674486900} + - {fileID: 4985866564272710} + - {fileID: 4237565757746846} + - {fileID: 4778720266599274} + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + - {fileID: 4058972344031660} + - {fileID: 4269002915172652} + - {fileID: 4913257904721466} + - {fileID: 4015598925397598} + - {fileID: 4827386861365388} + - {fileID: 4700638358020800} + - {fileID: 4828050653328564} + - {fileID: 4627731857750742} + - {fileID: 4260212600048610} + - {fileID: 4057193217906626} + - {fileID: 4114918029122462} + - {fileID: 4212119753740586} + - {fileID: 4448698668365276} + - {fileID: 4810715573062054} + - {fileID: 4784783534106566} + - {fileID: 4232243098309228} + - {fileID: 4636938807819642} + - {fileID: 4935038754154518} + - {fileID: 4018930702823724} + - {fileID: 4216767358131602} + - {fileID: 4767541848195982} + - {fileID: 4471900673535414} + - {fileID: 4560254273098224} + - {fileID: 4457159045853408} + - {fileID: 4442228388988624} + - {fileID: 4082488199107630} + - {fileID: 4923149105459994} + - {fileID: 4973814164816156} + - {fileID: 4359018392181336} + - {fileID: 4794748367205866} + - {fileID: 4466664286945346} + - {fileID: 4515452197964608} + - {fileID: 4571511246323476} + - {fileID: 4524473220177008} + - {fileID: 4244775586799744} + - {fileID: 4540053742419176} + - {fileID: 4838495193884918} + - {fileID: 4770898849405920} + - {fileID: 4726080023563326} + - {fileID: 4812656814422870} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4810071759811394} + m_AABB: + m_Center: {x: 0.00000017881393, y: 0.9082171, z: 0.035351098} + m_Extent: {x: 1.4515893, y: 0.9894341, z: 0.41817784} + m_DirtyAABB: 0 +--- !u!1 &1123034252496666 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4479302988862604} + m_Layer: 8 + m_Name: Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4479302988862604 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1123034252496666} + serializedVersion: 2 + m_LocalRotation: {x: -2.9400024e-16, y: 5.6125208e-15, z: 0.16770098, w: 0.98583794} + m_LocalPosition: {x: -0, y: 0.8762761, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4092363208442356} + - {fileID: 4466664286945346} + - {fileID: 4540053742419176} + m_Father: {fileID: 4810071759811394} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1137509527478336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4985866564272710} + m_Layer: 8 + m_Name: Spine_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4985866564272710 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1137509527478336} + serializedVersion: 2 + m_LocalRotation: {x: 0.97811157, y: -0.20808119, z: 8.1877877e-10, w: 1.7418517e-10} + m_LocalPosition: {x: -0.17903724, y: 2.5588683e-17, z: -5.236993e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4058972344031660} + - {fileID: 4232243098309228} + - {fileID: 4237565757746846} + m_Father: {fileID: 4417470674486900} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1170732337855516 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4526463827110206} + - component: {fileID: 95902137545226380} + - component: {fileID: 6003919833639142508} + - component: {fileID: 2197706699938650528} + m_Layer: 8 + m_Name: Golem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4526463827110206 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1170732337855516} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4985825705107224} + - {fileID: 4296303011599236} + - {fileID: 4735557903940892} + - {fileID: 4618764563269160} + - {fileID: 4632130871486158} + - {fileID: 4616667403579744} + - {fileID: 4678855154731604} + - {fileID: 4812732352329488} + - {fileID: 4548372440444124} + - {fileID: 4435288916602084} + - {fileID: 4622407164390344} + - {fileID: 4810071759811394} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &95902137545226380 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1170732337855516} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Controller: {fileID: 0} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!114 &6003919833639142508 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1170732337855516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 920077a2cfc4cde58a4ceeea4b96ebe9, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Combat.Health + maxHealth: 100 + team: 2 + ignoreFriendlyFire: 1 + destroyOnDeath: 1 + onHealthChanged: + m_PersistentCalls: + m_Calls: [] + onDeath: + m_PersistentCalls: + m_Calls: [] +--- !u!136 &2197706699938650528 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1170732337855516} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5336326 + m_Height: 1.8835256 + m_Direction: 1 + m_Center: {x: -0.033632576, y: 0.82399094, z: 0} +--- !u!1 &1186076032050976 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4812732352329488} + - component: {fileID: 137834943533867352} + m_Layer: 8 + m_Name: Character_Pig_Butcher_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4812732352329488 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1186076032050976} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137834943533867352 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1186076032050976} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300012, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Bones: + - {fileID: 4810071759811394} + - {fileID: 4479302988862604} + - {fileID: 4092363208442356} + - {fileID: 4417470674486900} + - {fileID: 4985866564272710} + - {fileID: 4237565757746846} + - {fileID: 4778720266599274} + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + - {fileID: 4058972344031660} + - {fileID: 4269002915172652} + - {fileID: 4913257904721466} + - {fileID: 4015598925397598} + - {fileID: 4827386861365388} + - {fileID: 4700638358020800} + - {fileID: 4828050653328564} + - {fileID: 4627731857750742} + - {fileID: 4260212600048610} + - {fileID: 4057193217906626} + - {fileID: 4114918029122462} + - {fileID: 4212119753740586} + - {fileID: 4448698668365276} + - {fileID: 4810715573062054} + - {fileID: 4784783534106566} + - {fileID: 4232243098309228} + - {fileID: 4636938807819642} + - {fileID: 4935038754154518} + - {fileID: 4018930702823724} + - {fileID: 4216767358131602} + - {fileID: 4767541848195982} + - {fileID: 4471900673535414} + - {fileID: 4560254273098224} + - {fileID: 4457159045853408} + - {fileID: 4442228388988624} + - {fileID: 4082488199107630} + - {fileID: 4923149105459994} + - {fileID: 4973814164816156} + - {fileID: 4359018392181336} + - {fileID: 4794748367205866} + - {fileID: 4466664286945346} + - {fileID: 4515452197964608} + - {fileID: 4571511246323476} + - {fileID: 4524473220177008} + - {fileID: 4244775586799744} + - {fileID: 4540053742419176} + - {fileID: 4838495193884918} + - {fileID: 4770898849405920} + - {fileID: 4726080023563326} + - {fileID: 4812656814422870} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4810071759811394} + m_AABB: + m_Center: {x: 0.00000011920929, y: 0.9029965, z: -0.012227356} + m_Extent: {x: 1.451589, y: 0.9868483, z: 0.46186703} + m_DirtyAABB: 0 +--- !u!1 &1188154518482354 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4767541848195982} + m_Layer: 8 + m_Name: Thumb_02 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4767541848195982 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1188154518482354} + serializedVersion: 2 + m_LocalRotation: {x: -0.051516745, y: -0.11325954, z: 0.1766006, w: 0.9763865} + m_LocalPosition: {x: 0.09702438, y: -0.0000012559718, z: 0.000003968674} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4471900673535414} + m_Father: {fileID: 4216767358131602} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1191753774790588 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4092363208442356} + m_Layer: 8 + m_Name: Spine_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4092363208442356 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1191753774790588} + serializedVersion: 2 + m_LocalRotation: {x: -0.39460626, y: 0.58675885, z: -0.5664237, w: 0.42327797} + m_LocalPosition: {x: 0.03397978, y: 0.0969857, z: -0.015528781} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4417470674486900} + m_Father: {fileID: 4479302988862604} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1194750870873906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4827386861365388} + m_Layer: 8 + m_Name: Thumb_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4827386861365388 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1194750870873906} + serializedVersion: 2 + m_LocalRotation: {x: -0.044153277, y: -0.16584834, z: -0.012062183, w: 0.9850885} + m_LocalPosition: {x: -0.08908812, y: -2.753353e-16, z: -4.4408918e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4700638358020800} + m_Father: {fileID: 4015598925397598} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1203479488110042 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4457159045853408} + m_Layer: 8 + m_Name: IndexFinger_02 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4457159045853408 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1203479488110042} + serializedVersion: 2 + m_LocalRotation: {x: -0.0015534081, y: -0.010691182, z: 0.13226552, w: 0.9911555} + m_LocalPosition: {x: 0.061476283, y: -0.0000047270864, z: 0.00000030396376} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4442228388988624} + m_Father: {fileID: 4560254273098224} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1213759664203076 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4515452197964608} + m_Layer: 8 + m_Name: LowerLeg_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4515452197964608 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1213759664203076} + serializedVersion: 2 + m_LocalRotation: {x: 7.4940054e-16, y: -9.2374025e-17, z: 3.0335977e-15, w: 1} + m_LocalPosition: {x: -0.37842098, y: 1.02140514e-16, z: 2.2204459e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4571511246323476} + m_Father: {fileID: 4466664286945346} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1273899336410696 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4548372440444124} + - component: {fileID: 137644694752147212} + m_Layer: 8 + m_Name: Character_RedDemon_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4548372440444124 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1273899336410696} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137644694752147212 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1273899336410696} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300008, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Bones: + - {fileID: 4810071759811394} + - {fileID: 4479302988862604} + - {fileID: 4092363208442356} + - {fileID: 4417470674486900} + - {fileID: 4985866564272710} + - {fileID: 4237565757746846} + - {fileID: 4778720266599274} + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + - {fileID: 4058972344031660} + - {fileID: 4269002915172652} + - {fileID: 4913257904721466} + - {fileID: 4015598925397598} + - {fileID: 4827386861365388} + - {fileID: 4700638358020800} + - {fileID: 4828050653328564} + - {fileID: 4627731857750742} + - {fileID: 4260212600048610} + - {fileID: 4057193217906626} + - {fileID: 4114918029122462} + - {fileID: 4212119753740586} + - {fileID: 4448698668365276} + - {fileID: 4810715573062054} + - {fileID: 4784783534106566} + - {fileID: 4232243098309228} + - {fileID: 4636938807819642} + - {fileID: 4935038754154518} + - {fileID: 4018930702823724} + - {fileID: 4216767358131602} + - {fileID: 4767541848195982} + - {fileID: 4471900673535414} + - {fileID: 4560254273098224} + - {fileID: 4457159045853408} + - {fileID: 4442228388988624} + - {fileID: 4082488199107630} + - {fileID: 4923149105459994} + - {fileID: 4973814164816156} + - {fileID: 4359018392181336} + - {fileID: 4794748367205866} + - {fileID: 4466664286945346} + - {fileID: 4515452197964608} + - {fileID: 4571511246323476} + - {fileID: 4524473220177008} + - {fileID: 4244775586799744} + - {fileID: 4540053742419176} + - {fileID: 4838495193884918} + - {fileID: 4770898849405920} + - {fileID: 4726080023563326} + - {fileID: 4812656814422870} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4810071759811394} + m_AABB: + m_Center: {x: 0.00000011920929, y: 0.99551123, z: 0.04906304} + m_Extent: {x: 1.4562893, y: 1.0842607, z: 0.40284848} + m_DirtyAABB: 0 +--- !u!1 &1289580630270882 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4524473220177008} + m_Layer: 8 + m_Name: Ball_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4524473220177008 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1289580630270882} + serializedVersion: 2 + m_LocalRotation: {x: 1.196298e-15, y: -4.923229e-16, z: -0.23606834, w: 0.9717365} + m_LocalPosition: {x: -0.12877615, y: 3.5527136e-17, z: 3.3500888e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4244775586799744} + m_Father: {fileID: 4571511246323476} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1301092794494706 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4082488199107630} + m_Layer: 8 + m_Name: IndexFinger_04 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4082488199107630 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1301092794494706} + serializedVersion: 2 + m_LocalRotation: {x: -0.00597543, y: -0.02776615, z: -0.21030392, w: 0.9772234} + m_LocalPosition: {x: 0.059107542, y: -0.0000048901334, z: -0.00000042587297} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4442228388988624} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1344322093280860 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4616667403579744} + - component: {fileID: 137836590951148656} + m_Layer: 8 + m_Name: Character_MechanicalGolem_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4616667403579744 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1344322093280860} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137836590951148656 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1344322093280860} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300016, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Bones: + - {fileID: 4810071759811394} + - {fileID: 4479302988862604} + - {fileID: 4092363208442356} + - {fileID: 4417470674486900} + - {fileID: 4985866564272710} + - {fileID: 4237565757746846} + - {fileID: 4778720266599274} + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + - {fileID: 4058972344031660} + - {fileID: 4269002915172652} + - {fileID: 4913257904721466} + - {fileID: 4015598925397598} + - {fileID: 4827386861365388} + - {fileID: 4700638358020800} + - {fileID: 4828050653328564} + - {fileID: 4627731857750742} + - {fileID: 4260212600048610} + - {fileID: 4057193217906626} + - {fileID: 4114918029122462} + - {fileID: 4212119753740586} + - {fileID: 4448698668365276} + - {fileID: 4810715573062054} + - {fileID: 4784783534106566} + - {fileID: 4232243098309228} + - {fileID: 4636938807819642} + - {fileID: 4935038754154518} + - {fileID: 4018930702823724} + - {fileID: 4216767358131602} + - {fileID: 4767541848195982} + - {fileID: 4471900673535414} + - {fileID: 4560254273098224} + - {fileID: 4457159045853408} + - {fileID: 4442228388988624} + - {fileID: 4082488199107630} + - {fileID: 4923149105459994} + - {fileID: 4973814164816156} + - {fileID: 4359018392181336} + - {fileID: 4794748367205866} + - {fileID: 4466664286945346} + - {fileID: 4515452197964608} + - {fileID: 4571511246323476} + - {fileID: 4524473220177008} + - {fileID: 4244775586799744} + - {fileID: 4540053742419176} + - {fileID: 4838495193884918} + - {fileID: 4770898849405920} + - {fileID: 4726080023563326} + - {fileID: 4812656814422870} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4810071759811394} + m_AABB: + m_Center: {x: 0.000000059604645, y: 0.8628965, z: -0.009381667} + m_Extent: {x: 1.4625807, y: 0.9403073, z: 0.42791557} + m_DirtyAABB: 0 +--- !u!1 &1368711545164060 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4913257904721466} + m_Layer: 8 + m_Name: Elbow_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4913257904721466 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1368711545164060} + serializedVersion: 2 + m_LocalRotation: {x: -9.216485e-17, y: 0.059024446, z: 2.8739455e-15, w: 0.99825656} + m_LocalPosition: {x: -0.4568335, y: -1.3457903e-16, z: 2.1094237e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4015598925397598} + m_Father: {fileID: 4269002915172652} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1371576558711940 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4471900673535414} + m_Layer: 8 + m_Name: Thumb_03 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4471900673535414 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1371576558711940} + serializedVersion: 2 + m_LocalRotation: {x: -0.04663384, y: -0.14921467, z: -0.29463205, w: 0.94273657} + m_LocalPosition: {x: 0.09227324, y: 0.0000074613017, z: -0.000000493297} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4767541848195982} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1376062157269382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4622407164390344} + - component: {fileID: 137371571506785804} + m_Layer: 8 + m_Name: Character_Troll_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4622407164390344 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1376062157269382} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137371571506785804 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1376062157269382} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300006, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Bones: + - {fileID: 4810071759811394} + - {fileID: 4479302988862604} + - {fileID: 4092363208442356} + - {fileID: 4417470674486900} + - {fileID: 4985866564272710} + - {fileID: 4237565757746846} + - {fileID: 4778720266599274} + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + - {fileID: 4058972344031660} + - {fileID: 4269002915172652} + - {fileID: 4913257904721466} + - {fileID: 4015598925397598} + - {fileID: 4827386861365388} + - {fileID: 4700638358020800} + - {fileID: 4828050653328564} + - {fileID: 4627731857750742} + - {fileID: 4260212600048610} + - {fileID: 4057193217906626} + - {fileID: 4114918029122462} + - {fileID: 4212119753740586} + - {fileID: 4448698668365276} + - {fileID: 4810715573062054} + - {fileID: 4784783534106566} + - {fileID: 4232243098309228} + - {fileID: 4636938807819642} + - {fileID: 4935038754154518} + - {fileID: 4018930702823724} + - {fileID: 4216767358131602} + - {fileID: 4767541848195982} + - {fileID: 4471900673535414} + - {fileID: 4560254273098224} + - {fileID: 4457159045853408} + - {fileID: 4442228388988624} + - {fileID: 4082488199107630} + - {fileID: 4923149105459994} + - {fileID: 4973814164816156} + - {fileID: 4359018392181336} + - {fileID: 4794748367205866} + - {fileID: 4466664286945346} + - {fileID: 4515452197964608} + - {fileID: 4571511246323476} + - {fileID: 4524473220177008} + - {fileID: 4244775586799744} + - {fileID: 4540053742419176} + - {fileID: 4838495193884918} + - {fileID: 4770898849405920} + - {fileID: 4726080023563326} + - {fileID: 4812656814422870} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4810071759811394} + m_AABB: + m_Center: {x: 0.00000011920929, y: 0.8836477, z: 0.022629485} + m_Extent: {x: 1.4515892, y: 0.9803884, z: 0.3923989} + m_DirtyAABB: 0 +--- !u!1 &1377658061075650 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4810071759811394} + m_Layer: 8 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4810071759811394 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1377658061075650} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4479302988862604} + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1421439556221054 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4269002915172652} + m_Layer: 8 + m_Name: Shoulder_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4269002915172652 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1421439556221054} + serializedVersion: 2 + m_LocalRotation: {x: 0.002854416, y: 0.05185208, z: -0.05489182, w: 0.997141} + m_LocalPosition: {x: -0.16134125, y: -4.7947756e-17, z: -5.7731595e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4913257904721466} + m_Father: {fileID: 4058972344031660} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1449883580344916 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4114918029122462} + m_Layer: 8 + m_Name: IndexFinger_04 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4114918029122462 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1449883580344916} + serializedVersion: 2 + m_LocalRotation: {x: -0.00597543, y: -0.02776615, z: -0.21030392, w: 0.9772234} + m_LocalPosition: {x: -0.059118144, y: -1.8624858e-16, z: -5.551115e-19} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4057193217906626} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1472793643292360 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4018930702823724} + m_Layer: 8 + m_Name: Hand_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4018930702823724 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1472793643292360} + serializedVersion: 2 + m_LocalRotation: {x: 0.054274846, y: 0.395974, z: 0.12447924, w: 0.9081651} + m_LocalPosition: {x: 0.328678, y: -7.958079e-15, z: -0.00000031490552} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4923149105459994} + - {fileID: 4560254273098224} + - {fileID: 4216767358131602} + m_Father: {fileID: 4935038754154518} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1473870937485406 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4359018392181336} + m_Layer: 8 + m_Name: Finger_03 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4359018392181336 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1473870937485406} + serializedVersion: 2 + m_LocalRotation: {x: -0.023977656, y: -0.06974028, z: 0.11959571, w: 0.99007994} + m_LocalPosition: {x: 0.05329311, y: 0.0000014939407, z: 0.00000036493486} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4794748367205866} + m_Father: {fileID: 4973814164816156} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1474371465933104 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4216767358131602} + m_Layer: 8 + m_Name: Thumb_01 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4216767358131602 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1474371465933104} + serializedVersion: 2 + m_LocalRotation: {x: -0.044153277, y: -0.16584834, z: -0.012062183, w: 0.9850885} + m_LocalPosition: {x: 0.08908848, y: -0.0000018401335, z: 0.0000010454004} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4767541848195982} + m_Father: {fileID: 4018930702823724} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1493280699060494 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4838495193884918} + m_Layer: 8 + m_Name: LowerLeg_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4838495193884918 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1493280699060494} + serializedVersion: 2 + m_LocalRotation: {x: 1.3156143e-14, y: -3.1502578e-15, z: 1.20719415e-14, w: 1} + m_LocalPosition: {x: 0.37842068, y: 0.00000027396194, z: 0.0000002682214} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4770898849405920} + m_Father: {fileID: 4540053742419176} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1496313050473116 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4417470674486900} + m_Layer: 8 + m_Name: Spine_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4417470674486900 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1496313050473116} + serializedVersion: 2 + m_LocalRotation: {x: 0.99518615, y: -0.098002784, z: -1.741653e-15, w: -1.0998396e-16} + m_LocalPosition: {x: -0.18151169, y: 4.5519144e-17, z: -1.1814681e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4985866564272710} + m_Father: {fileID: 4092363208442356} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1497359394192326 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4627731857750742} + m_Layer: 8 + m_Name: IndexFinger_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4627731857750742 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1497359394192326} + serializedVersion: 2 + m_LocalRotation: {x: -0.05360258, y: -0.37485918, z: -0.12035185, w: 0.9176725} + m_LocalPosition: {x: -0.120755404, y: 0.042213865, z: -0.0984221} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4260212600048610} + m_Father: {fileID: 4015598925397598} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1512295450954274 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4636938807819642} + m_Layer: 8 + m_Name: Shoulder_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4636938807819642 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1512295450954274} + serializedVersion: 2 + m_LocalRotation: {x: 0.002854416, y: 0.05185208, z: -0.05489182, w: 0.997141} + m_LocalPosition: {x: 0.16134152, y: 0.00000022487666, z: -0.00000006441897} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4935038754154518} + m_Father: {fileID: 4232243098309228} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1512582349837158 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4448698668365276} + m_Layer: 8 + m_Name: Finger_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4448698668365276 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1512582349837158} + serializedVersion: 2 + m_LocalRotation: {x: 0.0035674032, y: 0.019343419, z: 0.028556598, w: 0.99939865} + m_LocalPosition: {x: -0.0641512, y: 1.8214596e-19, z: 2.220446e-18} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4810715573062054} + m_Father: {fileID: 4212119753740586} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1515150656642610 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4591874290815278} + m_Layer: 8 + m_Name: Eyebrows + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4591874290815278 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515150656642610} + serializedVersion: 2 + m_LocalRotation: {x: 0.8059357, y: -0.5920031, z: 1.1494296e-15, w: 9.202946e-16} + m_LocalPosition: {x: -0.19999892, y: 0.02186953, z: 1.6423345e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4778720266599274} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1545136751588362 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4260212600048610} + m_Layer: 8 + m_Name: IndexFinger_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4260212600048610 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1545136751588362} + serializedVersion: 2 + m_LocalRotation: {x: -0.0015534081, y: -0.010691182, z: 0.13226552, w: 0.9911555} + m_LocalPosition: {x: -0.0614739, y: -3.1441861e-19, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4057193217906626} + m_Father: {fileID: 4627731857750742} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1599844636493804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4618764563269160} + - component: {fileID: 137781649363655252} + m_Layer: 8 + m_Name: Character_ElementalGolem_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4618764563269160 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599844636493804} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137781649363655252 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1599844636493804} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300002, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Bones: + - {fileID: 4810071759811394} + - {fileID: 4479302988862604} + - {fileID: 4092363208442356} + - {fileID: 4417470674486900} + - {fileID: 4985866564272710} + - {fileID: 4237565757746846} + - {fileID: 4778720266599274} + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + - {fileID: 4058972344031660} + - {fileID: 4269002915172652} + - {fileID: 4913257904721466} + - {fileID: 4015598925397598} + - {fileID: 4827386861365388} + - {fileID: 4700638358020800} + - {fileID: 4828050653328564} + - {fileID: 4627731857750742} + - {fileID: 4260212600048610} + - {fileID: 4057193217906626} + - {fileID: 4114918029122462} + - {fileID: 4212119753740586} + - {fileID: 4448698668365276} + - {fileID: 4810715573062054} + - {fileID: 4784783534106566} + - {fileID: 4232243098309228} + - {fileID: 4636938807819642} + - {fileID: 4935038754154518} + - {fileID: 4018930702823724} + - {fileID: 4216767358131602} + - {fileID: 4767541848195982} + - {fileID: 4471900673535414} + - {fileID: 4560254273098224} + - {fileID: 4457159045853408} + - {fileID: 4442228388988624} + - {fileID: 4082488199107630} + - {fileID: 4923149105459994} + - {fileID: 4973814164816156} + - {fileID: 4359018392181336} + - {fileID: 4794748367205866} + - {fileID: 4466664286945346} + - {fileID: 4515452197964608} + - {fileID: 4571511246323476} + - {fileID: 4524473220177008} + - {fileID: 4244775586799744} + - {fileID: 4540053742419176} + - {fileID: 4838495193884918} + - {fileID: 4770898849405920} + - {fileID: 4726080023563326} + - {fileID: 4812656814422870} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4810071759811394} + m_AABB: + m_Center: {x: -0.00013124943, y: 0.87951803, z: 0.024444416} + m_Extent: {x: 1.4533635, y: 0.99762917, z: 0.42728543} + m_DirtyAABB: 0 +--- !u!1 &1606709128753904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4540053742419176} + m_Layer: 8 + m_Name: UpperLeg_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4540053742419176 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1606709128753904} + serializedVersion: 2 + m_LocalRotation: {x: -0.5862797, y: 0.73465014, z: 0.28922027, w: -0.18143037} + m_LocalPosition: {x: 0.102061786, y: -0.08152349, z: -1.1102199e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4838495193884918} + m_Father: {fileID: 4479302988862604} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1612340370589288 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4700638358020800} + m_Layer: 8 + m_Name: Thumb_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4700638358020800 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1612340370589288} + serializedVersion: 2 + m_LocalRotation: {x: -0.051516745, y: -0.11325954, z: 0.1766006, w: 0.9763865} + m_LocalPosition: {x: -0.09701814, y: 4.396483e-16, z: 1.8651746e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4828050653328564} + m_Father: {fileID: 4827386861365388} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1631993122360808 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4466664286945346} + m_Layer: 8 + m_Name: UpperLeg_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4466664286945346 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1631993122360808} + serializedVersion: 2 + m_LocalRotation: {x: -0.2668567, y: -0.21296215, z: 0.49947354, w: 0.7962166} + m_LocalPosition: {x: -0.13062388, y: -8.881784e-18, z: -1.11022296e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4515452197964608} + m_Father: {fileID: 4479302988862604} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1671263124783682 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4232243098309228} + m_Layer: 8 + m_Name: Clavicle_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4232243098309228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1671263124783682} + serializedVersion: 2 + m_LocalRotation: {x: 0.6243929, y: 0.42177823, z: 0.50111043, w: -0.42558777} + m_LocalPosition: {x: -0.07733742, y: -0.0015131371, z: 0.16716298} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4636938807819642} + m_Father: {fileID: 4985866564272710} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1682138322392480 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4442228388988624} + m_Layer: 8 + m_Name: IndexFinger_03 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4442228388988624 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1682138322392480} + serializedVersion: 2 + m_LocalRotation: {x: -0.009142615, y: -0.025011526, z: 0.07340528, w: 0.99694663} + m_LocalPosition: {x: 0.05794711, y: 0.0000061344235, z: 0.00000056286797} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4082488199107630} + m_Father: {fileID: 4457159045853408} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1688307184761792 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4935038754154518} + m_Layer: 8 + m_Name: Elbow_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4935038754154518 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1688307184761792} + serializedVersion: 2 + m_LocalRotation: {x: 0.000000012882286, y: 0.059024446, z: -7.6168255e-10, w: 0.99825656} + m_LocalPosition: {x: 0.45683342, y: 8.5265126e-16, z: 0.00000003960579} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4018930702823724} + m_Father: {fileID: 4636938807819642} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1724498541136812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4784783534106566} + m_Layer: 8 + m_Name: Finger_04 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4784783534106566 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1724498541136812} + serializedVersion: 2 + m_LocalRotation: {x: 0.021918453, y: 0.095466346, z: -0.22269535, w: 0.9699549} + m_LocalPosition: {x: -0.047222238, y: -3.8635761e-16, z: -5.662137e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4810715573062054} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1727544935670268 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4244775586799744} + m_Layer: 8 + m_Name: Toes_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4244775586799744 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727544935670268} + serializedVersion: 2 + m_LocalRotation: {x: -1.36058335e-14, y: -0.7071068, z: -1.36058335e-14, w: 0.7071068} + m_LocalPosition: {x: -0.0729575, y: 8.228515e-18, z: -1.3369588e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4524473220177008} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1802394239099064 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4735557903940892} + - component: {fileID: 137418207739716092} + m_Layer: 8 + m_Name: Character_Dwarf_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4735557903940892 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1802394239099064} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137418207739716092 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1802394239099064} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300020, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Bones: + - {fileID: 4810071759811394} + - {fileID: 4479302988862604} + - {fileID: 4092363208442356} + - {fileID: 4417470674486900} + - {fileID: 4985866564272710} + - {fileID: 4237565757746846} + - {fileID: 4778720266599274} + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + - {fileID: 4058972344031660} + - {fileID: 4269002915172652} + - {fileID: 4913257904721466} + - {fileID: 4015598925397598} + - {fileID: 4827386861365388} + - {fileID: 4700638358020800} + - {fileID: 4828050653328564} + - {fileID: 4627731857750742} + - {fileID: 4260212600048610} + - {fileID: 4057193217906626} + - {fileID: 4114918029122462} + - {fileID: 4212119753740586} + - {fileID: 4448698668365276} + - {fileID: 4810715573062054} + - {fileID: 4784783534106566} + - {fileID: 4232243098309228} + - {fileID: 4636938807819642} + - {fileID: 4935038754154518} + - {fileID: 4018930702823724} + - {fileID: 4216767358131602} + - {fileID: 4767541848195982} + - {fileID: 4471900673535414} + - {fileID: 4560254273098224} + - {fileID: 4457159045853408} + - {fileID: 4442228388988624} + - {fileID: 4082488199107630} + - {fileID: 4923149105459994} + - {fileID: 4973814164816156} + - {fileID: 4359018392181336} + - {fileID: 4794748367205866} + - {fileID: 4466664286945346} + - {fileID: 4515452197964608} + - {fileID: 4571511246323476} + - {fileID: 4524473220177008} + - {fileID: 4244775586799744} + - {fileID: 4540053742419176} + - {fileID: 4838495193884918} + - {fileID: 4770898849405920} + - {fileID: 4726080023563326} + - {fileID: 4812656814422870} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4810071759811394} + m_AABB: + m_Center: {x: 0.000000059604645, y: 0.9959277, z: 0.012999177} + m_Extent: {x: 1.4546254, y: 1.088936, z: 0.46276748} + m_DirtyAABB: 0 +--- !u!1 &1826471228274684 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4057193217906626} + m_Layer: 8 + m_Name: IndexFinger_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4057193217906626 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1826471228274684} + serializedVersion: 2 + m_LocalRotation: {x: -0.009142615, y: -0.025011526, z: 0.07340528, w: 0.99694663} + m_LocalPosition: {x: -0.057940163, y: 1.8041123e-18, z: -2.5535128e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4114918029122462} + m_Father: {fileID: 4260212600048610} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1841779478863018 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4435288916602084} + - component: {fileID: 137780849800752278} + m_Layer: 8 + m_Name: Character_Slayer_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4435288916602084 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1841779478863018} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137780849800752278 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1841779478863018} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300014, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Bones: + - {fileID: 4810071759811394} + - {fileID: 4479302988862604} + - {fileID: 4092363208442356} + - {fileID: 4417470674486900} + - {fileID: 4985866564272710} + - {fileID: 4237565757746846} + - {fileID: 4778720266599274} + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + - {fileID: 4058972344031660} + - {fileID: 4269002915172652} + - {fileID: 4913257904721466} + - {fileID: 4015598925397598} + - {fileID: 4827386861365388} + - {fileID: 4700638358020800} + - {fileID: 4828050653328564} + - {fileID: 4627731857750742} + - {fileID: 4260212600048610} + - {fileID: 4057193217906626} + - {fileID: 4114918029122462} + - {fileID: 4212119753740586} + - {fileID: 4448698668365276} + - {fileID: 4810715573062054} + - {fileID: 4784783534106566} + - {fileID: 4232243098309228} + - {fileID: 4636938807819642} + - {fileID: 4935038754154518} + - {fileID: 4018930702823724} + - {fileID: 4216767358131602} + - {fileID: 4767541848195982} + - {fileID: 4471900673535414} + - {fileID: 4560254273098224} + - {fileID: 4457159045853408} + - {fileID: 4442228388988624} + - {fileID: 4082488199107630} + - {fileID: 4923149105459994} + - {fileID: 4973814164816156} + - {fileID: 4359018392181336} + - {fileID: 4794748367205866} + - {fileID: 4466664286945346} + - {fileID: 4515452197964608} + - {fileID: 4571511246323476} + - {fileID: 4524473220177008} + - {fileID: 4244775586799744} + - {fileID: 4540053742419176} + - {fileID: 4838495193884918} + - {fileID: 4770898849405920} + - {fileID: 4726080023563326} + - {fileID: 4812656814422870} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4810071759811394} + m_AABB: + m_Center: {x: 0.000849247, y: 0.9183638, z: 0.04248427} + m_Extent: {x: 1.4639642, y: 0.99041593, z: 0.40946007} + m_DirtyAABB: 0 +--- !u!1 &1843682758270136 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4778720266599274} + m_Layer: 8 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4778720266599274 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1843682758270136} + serializedVersion: 2 + m_LocalRotation: {x: 2.7247159e-15, y: 2.640653e-15, z: 0.10955092, w: 0.9939812} + m_LocalPosition: {x: -0.08285272, y: 0.036295444, z: -0.0000000011654561} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + m_Father: {fileID: 4237565757746846} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1866194917464900 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4770898849405920} + m_Layer: 8 + m_Name: Ankle_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4770898849405920 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1866194917464900} + serializedVersion: 2 + m_LocalRotation: {x: 0.7458738, y: 0.51436746, z: -0.19933209, w: 0.37331632} + m_LocalPosition: {x: 0.37842116, y: 0.0000002667152, z: 0.00000034490833} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4726080023563326} + m_Father: {fileID: 4838495193884918} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1871266584089652 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4058972344031660} + m_Layer: 8 + m_Name: Clavicle_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4058972344031660 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1871266584089652} + serializedVersion: 2 + m_LocalRotation: {x: 0.42177826, y: -0.6243929, z: 0.4255878, w: 0.5011104} + m_LocalPosition: {x: -0.07733449, y: -0.0015139526, z: -0.16716343} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4269002915172652} + m_Father: {fileID: 4985866564272710} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1873754961909030 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4296303011599236} + - component: {fileID: 137712412367890990} + m_Layer: 8 + m_Name: Character_Big_Ork_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4296303011599236 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1873754961909030} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137712412367890990 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1873754961909030} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300010, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Bones: + - {fileID: 4810071759811394} + - {fileID: 4479302988862604} + - {fileID: 4092363208442356} + - {fileID: 4417470674486900} + - {fileID: 4985866564272710} + - {fileID: 4237565757746846} + - {fileID: 4778720266599274} + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + - {fileID: 4058972344031660} + - {fileID: 4269002915172652} + - {fileID: 4913257904721466} + - {fileID: 4015598925397598} + - {fileID: 4827386861365388} + - {fileID: 4700638358020800} + - {fileID: 4828050653328564} + - {fileID: 4627731857750742} + - {fileID: 4260212600048610} + - {fileID: 4057193217906626} + - {fileID: 4114918029122462} + - {fileID: 4212119753740586} + - {fileID: 4448698668365276} + - {fileID: 4810715573062054} + - {fileID: 4784783534106566} + - {fileID: 4232243098309228} + - {fileID: 4636938807819642} + - {fileID: 4935038754154518} + - {fileID: 4018930702823724} + - {fileID: 4216767358131602} + - {fileID: 4767541848195982} + - {fileID: 4471900673535414} + - {fileID: 4560254273098224} + - {fileID: 4457159045853408} + - {fileID: 4442228388988624} + - {fileID: 4082488199107630} + - {fileID: 4923149105459994} + - {fileID: 4973814164816156} + - {fileID: 4359018392181336} + - {fileID: 4794748367205866} + - {fileID: 4466664286945346} + - {fileID: 4515452197964608} + - {fileID: 4571511246323476} + - {fileID: 4524473220177008} + - {fileID: 4244775586799744} + - {fileID: 4540053742419176} + - {fileID: 4838495193884918} + - {fileID: 4770898849405920} + - {fileID: 4726080023563326} + - {fileID: 4812656814422870} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4810071759811394} + m_AABB: + m_Center: {x: -0.0093589425, y: 0.9434749, z: 0.013898134} + m_Extent: {x: 1.4619842, y: 1.0403415, z: 0.4199332} + m_DirtyAABB: 0 +--- !u!1 &1894658984195796 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4810715573062054} + m_Layer: 8 + m_Name: Finger_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4810715573062054 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1894658984195796} + serializedVersion: 2 + m_LocalRotation: {x: -0.023977656, y: -0.06974028, z: 0.11959571, w: 0.99007994} + m_LocalPosition: {x: -0.05330061, y: -1.7347668e-16, z: 4.2188474e-17} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4784783534106566} + m_Father: {fileID: 4448698668365276} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1904978869820768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4794748367205866} + m_Layer: 8 + m_Name: Finger_04 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4794748367205866 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1904978869820768} + serializedVersion: 2 + m_LocalRotation: {x: 0.021918453, y: 0.095466346, z: -0.22269535, w: 0.9699549} + m_LocalPosition: {x: 0.047220778, y: -0.000008236042, z: -0.00000043038915} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4359018392181336} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1921493429080672 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4212119753740586} + m_Layer: 8 + m_Name: Finger_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4212119753740586 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1921493429080672} + serializedVersion: 2 + m_LocalRotation: {x: -0.10106448, y: -0.46700662, z: -0.052073725, w: 0.87691456} + m_LocalPosition: {x: -0.051985342, y: 0.012058426, z: -0.14852415} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4448698668365276} + m_Father: {fileID: 4015598925397598} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1928469909403752 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4237565757746846} + m_Layer: 8 + m_Name: Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4237565757746846 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1928469909403752} + serializedVersion: 2 + m_LocalRotation: {x: 7.0104127e-15, y: 1.2999221e-15, z: 0.3090158, w: 0.9510569} + m_LocalPosition: {x: -0.18112935, y: 0.0169739, z: -0.0000000011960342} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4778720266599274} + m_Father: {fileID: 4985866564272710} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1943305955832168 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4678855154731604} + - component: {fileID: 137881226851470888} + m_Layer: 8 + m_Name: Character_MutantGuy_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4678855154731604 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943305955832168} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137881226851470888 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943305955832168} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300018, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Bones: + - {fileID: 4810071759811394} + - {fileID: 4479302988862604} + - {fileID: 4092363208442356} + - {fileID: 4417470674486900} + - {fileID: 4985866564272710} + - {fileID: 4237565757746846} + - {fileID: 4778720266599274} + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + - {fileID: 4058972344031660} + - {fileID: 4269002915172652} + - {fileID: 4913257904721466} + - {fileID: 4015598925397598} + - {fileID: 4827386861365388} + - {fileID: 4700638358020800} + - {fileID: 4828050653328564} + - {fileID: 4627731857750742} + - {fileID: 4260212600048610} + - {fileID: 4057193217906626} + - {fileID: 4114918029122462} + - {fileID: 4212119753740586} + - {fileID: 4448698668365276} + - {fileID: 4232243098309228} + - {fileID: 4636938807819642} + - {fileID: 4935038754154518} + - {fileID: 4018930702823724} + - {fileID: 4216767358131602} + - {fileID: 4767541848195982} + - {fileID: 4471900673535414} + - {fileID: 4560254273098224} + - {fileID: 4457159045853408} + - {fileID: 4442228388988624} + - {fileID: 4082488199107630} + - {fileID: 4923149105459994} + - {fileID: 4973814164816156} + - {fileID: 4359018392181336} + - {fileID: 4794748367205866} + - {fileID: 4466664286945346} + - {fileID: 4515452197964608} + - {fileID: 4571511246323476} + - {fileID: 4524473220177008} + - {fileID: 4244775586799744} + - {fileID: 4540053742419176} + - {fileID: 4838495193884918} + - {fileID: 4770898849405920} + - {fileID: 4726080023563326} + - {fileID: 4812656814422870} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4810071759811394} + m_AABB: + m_Center: {x: -0.089358985, y: 0.995961, z: 0.0422931} + m_Extent: {x: 1.5576978, y: 1.098748, z: 0.5417956} + m_DirtyAABB: 0 +--- !u!1 &1964577298681220 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4632130871486158} + - component: {fileID: 137896068876316184} + m_Layer: 8 + m_Name: Character_FortGolem_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4632130871486158 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964577298681220} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4526463827110206} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &137896068876316184 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1964577298681220} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300004, guid: a50cd06a0668d1a418d586a2944e3ed5, type: 3} + m_Bones: + - {fileID: 4810071759811394} + - {fileID: 4479302988862604} + - {fileID: 4092363208442356} + - {fileID: 4417470674486900} + - {fileID: 4985866564272710} + - {fileID: 4237565757746846} + - {fileID: 4778720266599274} + - {fileID: 4591874290815278} + - {fileID: 4035022438780598} + - {fileID: 4058972344031660} + - {fileID: 4269002915172652} + - {fileID: 4913257904721466} + - {fileID: 4015598925397598} + - {fileID: 4827386861365388} + - {fileID: 4700638358020800} + - {fileID: 4828050653328564} + - {fileID: 4627731857750742} + - {fileID: 4260212600048610} + - {fileID: 4057193217906626} + - {fileID: 4114918029122462} + - {fileID: 4212119753740586} + - {fileID: 4448698668365276} + - {fileID: 4810715573062054} + - {fileID: 4784783534106566} + - {fileID: 4232243098309228} + - {fileID: 4636938807819642} + - {fileID: 4935038754154518} + - {fileID: 4018930702823724} + - {fileID: 4216767358131602} + - {fileID: 4767541848195982} + - {fileID: 4471900673535414} + - {fileID: 4560254273098224} + - {fileID: 4457159045853408} + - {fileID: 4442228388988624} + - {fileID: 4082488199107630} + - {fileID: 4923149105459994} + - {fileID: 4973814164816156} + - {fileID: 4359018392181336} + - {fileID: 4794748367205866} + - {fileID: 4466664286945346} + - {fileID: 4515452197964608} + - {fileID: 4571511246323476} + - {fileID: 4524473220177008} + - {fileID: 4244775586799744} + - {fileID: 4540053742419176} + - {fileID: 4838495193884918} + - {fileID: 4770898849405920} + - {fileID: 4726080023563326} + - {fileID: 4812656814422870} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4810071759811394} + m_AABB: + m_Center: {x: 0, y: 0.8960201, z: -0.0006971657} + m_Extent: {x: 1.4520414, y: 1.0003002, z: 0.41423014} + m_DirtyAABB: 0 +--- !u!1 &1988194569514936 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4973814164816156} + m_Layer: 8 + m_Name: Finger_02 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4973814164816156 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1988194569514936} + serializedVersion: 2 + m_LocalRotation: {x: 0.0035674032, y: 0.019343419, z: 0.028556598, w: 0.99939865} + m_LocalPosition: {x: 0.064152494, y: 0.000001623162, z: -0.000000044617604} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4359018392181336} + m_Father: {fileID: 4923149105459994} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Game/Enemy/Golem/Golem.prefab.meta b/Game/Enemy/Golem/Golem.prefab.meta new file mode 100644 index 0000000..20258a8 --- /dev/null +++ b/Game/Enemy/Golem/Golem.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b5051c49d05768c73a8c42e1967fe4b2 +timeCreated: 1526423972 +licenseType: Store +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Hero.meta b/Game/Hero.meta new file mode 100644 index 0000000..b382fee --- /dev/null +++ b/Game/Hero.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: de06818812108c54f8cc6429c1370c05 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Hero/Weapons.meta b/Game/Hero/Weapons.meta new file mode 100644 index 0000000..e2908fc --- /dev/null +++ b/Game/Hero/Weapons.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf250eac73dbba38d947df7a05910bc5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Hero/Weapons/Staff.meta b/Game/Hero/Weapons/Staff.meta new file mode 100644 index 0000000..704aed5 --- /dev/null +++ b/Game/Hero/Weapons/Staff.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2f55c0b12239df279b90e7e62c02f093 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Hero/Weapons/Staff/Projectile_Fireball.prefab b/Game/Hero/Weapons/Staff/Projectile_Fireball.prefab new file mode 100644 index 0000000..066ea90 --- /dev/null +++ b/Game/Hero/Weapons/Staff/Projectile_Fireball.prefab @@ -0,0 +1,4847 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1207433386840518 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4839190887752054} + - component: {fileID: 198531851669923632} + - component: {fileID: 199678491893191250} + - component: {fileID: 5294115064483929647} + - component: {fileID: -6920969466594260193} + m_Layer: 0 + m_Name: Projectile_Fireball + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4839190887752054 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1207433386840518} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!198 &198531851669923632 +ParticleSystem: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1207433386840518} + serializedVersion: 8 + lengthInSec: 1 + simulationSpeed: 1 + stopAction: 0 + cullingMode: 3 + ringBufferMode: 0 + ringBufferLoopRange: {x: 0, y: 1} + emitterVelocityMode: 1 + looping: 1 + prewarm: 1 + playOnAwake: 1 + useUnscaledTime: 0 + autoRandomSeed: 1 + startDelay: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + moveWithTransform: 1 + moveWithCustomTransform: {fileID: 0} + scalingMode: 2 + randomSeed: 0 + InitialModule: + serializedVersion: 3 + enabled: 1 + startLifetime: + serializedVersion: 2 + minMaxState: 3 + scalar: 1 + minScalar: 0.5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.5 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + startSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.06 + minScalar: 5 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startColor: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 0.97707033, g: 0.5460734, b: 0, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + startSize: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.17 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startSizeZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotationY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startRotation: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.7853981 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + randomizeRotationDirection: 0 + gravitySource: 0 + maxNumParticles: 500 + customEmitterVelocity: {x: 0, y: 0, z: 0} + size3D: 0 + rotation3D: 0 + gravityModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + ShapeModule: + serializedVersion: 6 + enabled: 1 + type: 0 + angle: 25 + length: 5 + boxThickness: {x: 0, y: 0, z: 0} + radiusThickness: 0 + donutRadius: 0.2 + m_Position: {x: 0, y: 0, z: 0} + m_Rotation: {x: 0, y: 0, z: 0} + m_Scale: {x: 1, y: 1, z: 1} + placementMode: 0 + m_MeshMaterialIndex: 0 + m_MeshNormalOffset: 0 + m_MeshSpawn: + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Mesh: {fileID: 0} + m_MeshRenderer: {fileID: 0} + m_SkinnedMeshRenderer: {fileID: 0} + m_Sprite: {fileID: 0} + m_SpriteRenderer: {fileID: 0} + m_UseMeshMaterialIndex: 0 + m_UseMeshColors: 1 + alignToDirection: 0 + m_Texture: {fileID: 0} + m_TextureClipChannel: 3 + m_TextureClipThreshold: 0 + m_TextureUVChannel: 0 + m_TextureColorAffectsParticles: 1 + m_TextureAlphaAffectsParticles: 1 + m_TextureBilinearFiltering: 0 + randomDirectionAmount: 1 + sphericalDirectionAmount: 0 + randomPositionAmount: 0 + radius: + value: 0.05 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + arc: + value: 360 + mode: 0 + spread: 0 + speed: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + EmissionModule: + enabled: 1 + serializedVersion: 4 + rateOverTime: + serializedVersion: 2 + minMaxState: 0 + scalar: 30 + minScalar: 10 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rateOverDistance: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_BurstCount: 0 + m_Bursts: [] + SizeModule: + enabled: 1 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0.42320594 + outSlope: 0.42320594 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.04933394 + value: 0.92561686 + inSlope: 0.09506941 + outSlope: 0.09506941 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.22948968 + value: 0.8465012 + inSlope: -0.8891969 + outSlope: -0.8891969 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: -2 + outSlope: -2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + RotationModule: + enabled: 1 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1.3962634 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + ColorModule: + enabled: 1 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 0.88235295, b: 0.62352943, a: 1} + key1: {r: 0.9843137, g: 0.80784315, b: 0.42745098, a: 1} + key2: {r: 1, g: 0.9372549, b: 0.21960784, a: 1} + key3: {r: 1, g: 0.8039216, b: 0, a: 0} + key4: {r: 1, g: 0.46666667, b: 0, a: 0} + key5: {r: 1, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 5012 + ctime2: 13685 + ctime3: 25443 + ctime4: 40670 + ctime5: 65535 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 65535 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 6 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + UVModule: + serializedVersion: 2 + enabled: 0 + mode: 0 + timeMode: 0 + fps: 30 + frameOverTime: + serializedVersion: 2 + minMaxState: 1 + scalar: 0.9999 + minScalar: 0.9999 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + startFrame: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + speedRange: {x: 0, y: 1} + tilesX: 1 + tilesY: 1 + animationType: 0 + rowIndex: 0 + cycles: 1 + uvChannelMask: -1 + rowMode: 1 + sprites: + - sprite: {fileID: 0} + flipU: 0 + flipV: 0 + VelocityModule: + enabled: 1 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0.28 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetX: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetY: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + orbitalOffsetZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + radial: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + speedModifier: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 1 + InheritVelocityModule: + enabled: 0 + m_Mode: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + LifetimeByEmitterSpeedModule: + enabled: 0 + m_Curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: -0.8 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0.2 + inSlope: -0.8 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Range: {x: 0, y: 1} + ForceModule: + enabled: 1 + x: + serializedVersion: 2 + minMaxState: 2 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.0022371365 + value: -0.09029344 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.0022371365 + value: 0.108352125 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 2 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -0.08126409 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0.11738147 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 2 + scalar: 1 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.042505592 + value: -0.07674942 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.67337805 + value: 0.12189613 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + inWorldSpace: 0 + randomizePerFrame: 0 + ExternalForcesModule: + serializedVersion: 2 + enabled: 0 + multiplierCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 6.94 + minScalar: 6.94 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + influenceFilter: 0 + influenceMask: + serializedVersion: 2 + m_Bits: 4294967295 + influenceList: [] + ClampVelocityModule: + enabled: 0 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + magnitude: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxis: 0 + inWorldSpace: 0 + multiplyDragByParticleSize: 1 + multiplyDragByParticleVelocity: 1 + dampen: 1 + drag: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + NoiseModule: + enabled: 0 + strength: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthY: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + strengthZ: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + frequency: 0.5 + damping: 1 + octaves: 1 + octaveMultiplier: 0.5 + octaveScale: 2 + quality: 2 + scrollSpeed: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remap: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1 + inSlope: 0 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapY: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1 + inSlope: 0 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapZ: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: -1 + inSlope: 0 + outSlope: 2 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 2 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + remapEnabled: 0 + positionAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + rotationAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + sizeAmount: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + SizeBySpeedModule: + enabled: 0 + curve: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + z: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + range: {x: 0, y: 1} + separateAxes: 0 + RotationBySpeedModule: + enabled: 1 + x: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + y: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + curve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1.5707963 + minScalar: 0.7853982 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + separateAxes: 0 + range: {x: 0, y: 50} + ColorBySpeedModule: + enabled: 0 + gradient: + serializedVersion: 2 + minMaxState: 1 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + range: {x: 0, y: 1} + CollisionModule: + enabled: 0 + serializedVersion: 4 + type: 0 + collisionMode: 0 + colliderForce: 0 + multiplyColliderForceByParticleSize: 0 + multiplyColliderForceByParticleSpeed: 0 + multiplyColliderForceByCollisionAngle: 1 + m_Planes: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_Dampen: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Bounce: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_EnergyLossOnCollision: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minKillSpeed: 0 + maxKillSpeed: 10000 + radiusScale: 1 + collidesWith: + serializedVersion: 2 + m_Bits: 4294967295 + maxCollisionShapes: 256 + quality: 0 + voxelSize: 0.5 + collisionMessages: 0 + collidesWithDynamic: 1 + interiorCollisions: 1 + TriggerModule: + enabled: 0 + serializedVersion: 2 + inside: 1 + outside: 0 + enter: 0 + exit: 0 + colliderQueryMode: 0 + radiusScale: 1 + primitives: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + SubModule: + serializedVersion: 2 + enabled: 0 + subEmitters: + - serializedVersion: 3 + emitter: {fileID: 0} + type: 0 + properties: 0 + emitProbability: 1 + LightsModule: + enabled: 0 + ratio: 0 + light: {fileID: 0} + randomDistribution: 1 + color: 1 + range: 1 + intensity: 1 + rangeCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + intensityCurve: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + maxLights: 20 + TrailModule: + enabled: 0 + mode: 0 + ratio: 1 + lifetime: + serializedVersion: 2 + minMaxState: 0 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minVertexDistance: 0.2 + textureMode: 0 + textureScale: {x: 1, y: 1} + ribbonCount: 1 + shadowBias: 0.5 + worldSpace: 0 + dieWithParticles: 1 + sizeAffectsWidth: 1 + sizeAffectsLifetime: 0 + inheritParticleColor: 1 + generateLightingData: 0 + splitSubEmitterRibbons: 0 + attachRibbonsToTransform: 0 + colorOverLifetime: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + widthOverTrail: + serializedVersion: 2 + minMaxState: 1 + scalar: 1 + minScalar: 1 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.49888143 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + colorOverTrail: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + CustomDataModule: + enabled: 0 + mode0: 0 + vectorComponentCount0: 4 + color0: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel0: Color + vector0_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_0: X + vector0_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_1: Y + vector0_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_2: Z + vector0_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel0_3: W + mode1: 0 + vectorComponentCount1: 4 + color1: + serializedVersion: 2 + minMaxState: 0 + minColor: {r: 1, g: 1, b: 1, a: 1} + maxColor: {r: 1, g: 1, b: 1, a: 1} + maxGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + minGradient: + serializedVersion: 2 + key0: {r: 1, g: 1, b: 1, a: 1} + key1: {r: 1, g: 1, b: 1, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_ColorSpace: -1 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + colorLabel1: Color + vector1_0: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_0: X + vector1_1: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_1: Y + vector1_2: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_2: Z + vector1_3: + serializedVersion: 2 + minMaxState: 0 + scalar: 0 + minScalar: 0 + maxCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + minCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + vectorLabel1_3: W +--- !u!199 &199678491893191250 +ParticleSystemRenderer: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1207433386840518} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: fa9e67520e3a0c04996a1f31dd165bb9, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_RenderMode: 4 + m_MeshDistribution: 0 + m_SortMode: 0 + m_MinParticleSize: 0 + m_MaxParticleSize: 0.8 + m_CameraVelocityScale: 0 + m_VelocityScale: 0 + m_LengthScale: 2 + m_SortingFudge: 0 + m_NormalDirection: 1 + m_ShadowBias: 0 + m_RenderAlignment: 2 + m_Pivot: {x: 0, y: 0, z: 0} + m_Flip: {x: 0, y: 0, z: 0} + m_EnableGPUInstancing: 0 + m_ApplyActiveColorSpace: 0 + m_AllowRoll: 1 + m_FreeformStretching: 0 + m_RotateWithStretchDirection: 1 + m_UseCustomVertexStreams: 0 + m_VertexStreams: 0001030405 + m_UseCustomTrailVertexStreams: 0 + m_TrailVertexStreams: 00010304 + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} + m_Mesh1: {fileID: 0} + m_Mesh2: {fileID: 0} + m_Mesh3: {fileID: 0} + m_MeshWeighting: 1 + m_MeshWeighting1: 1 + m_MeshWeighting2: 1 + m_MeshWeighting3: 1 + m_MaskInteraction: 0 +--- !u!136 &5294115064483929647 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1207433386840518} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 1 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.17631978 + m_Height: 0.43471107 + m_Direction: 1 + m_Center: {x: -0.0045713186, y: 0.060393497, z: 0.023844004} +--- !u!114 &-6920969466594260193 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1207433386840518} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 038cb7cb48b0cb10da7ebba4ba473c63, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.WeaponSystem.Projectile + hitRadius: 0.05 + hitMask: + serializedVersion: 2 + m_Bits: 499 + alignToVelocity: 1 diff --git a/Game/Hero/Weapons/Staff/Projectile_Fireball.prefab.meta b/Game/Hero/Weapons/Staff/Projectile_Fireball.prefab.meta new file mode 100644 index 0000000..8e98174 --- /dev/null +++ b/Game/Hero/Weapons/Staff/Projectile_Fireball.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6703b124cb13a577c8aae6a4851d0274 +timeCreated: 1526434856 +licenseType: Store +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Hero/Weapons/Staff/Staff.asset b/Game/Hero/Weapons/Staff/Staff.asset new file mode 100644 index 0000000..337f057 --- /dev/null +++ b/Game/Hero/Weapons/Staff/Staff.asset @@ -0,0 +1,27 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2fd5ff95d6e2be5d09b6c054570cef0a, type: 3} + m_Name: Staff + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.WeaponSystem.WeaponDefinition + displayName: Weapon + viewPrefab: {fileID: 6595277065068154610, guid: 7eba33411273ad195adc8a8253711e93, type: 3} + projectilePrefab: {fileID: -6920969466594260193, guid: 6703b124cb13a577c8aae6a4851d0274, type: 3} + projectileSpeed: 10 + projectileLifetime: 5 + shotsPerSecond: 1 + baseDamage: 10 + range: 25 + projectilesPerShot: 1 + spreadAngle: 0 + hitMask: + serializedVersion: 2 + m_Bits: 256 diff --git a/Game/Hero/Weapons/Staff/Staff.asset.meta b/Game/Hero/Weapons/Staff/Staff.asset.meta new file mode 100644 index 0000000..eca2019 --- /dev/null +++ b/Game/Hero/Weapons/Staff/Staff.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 912de7c15ecf9d38d9be364bc0ac0f70 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Hero/Weapons/Staff/Staff.prefab b/Game/Hero/Weapons/Staff/Staff.prefab new file mode 100644 index 0000000..e2a6425 --- /dev/null +++ b/Game/Hero/Weapons/Staff/Staff.prefab @@ -0,0 +1,138 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1515352688969276 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4447648817959868} + - component: {fileID: 33814000495682932} + - component: {fileID: 23588202079409966} + - component: {fileID: 6595277065068154610} + m_Layer: 0 + m_Name: Staff + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4447648817959868 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515352688969276} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2459495563451568810} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &33814000495682932 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515352688969276} + m_Mesh: {fileID: 4300000, guid: b5a701b2b15d1b8449e77534e99ea3ed, type: 3} +--- !u!23 &23588202079409966 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515352688969276} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: caf01dd5152f3934d8079e6160aa3b1e, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &6595277065068154610 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1515352688969276} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5590d430717d95f878b7929af7bf28ff, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.WeaponSystem.WeaponView + muzzles: + - {fileID: 2459495563451568810} +--- !u!1 &4268583630942894705 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2459495563451568810} + m_Layer: 0 + m_Name: Muzzle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2459495563451568810 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4268583630942894705} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: 0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 1.004, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4447648817959868} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Game/Hero/Weapons/Staff/Staff.prefab.meta b/Game/Hero/Weapons/Staff/Staff.prefab.meta new file mode 100644 index 0000000..3d43474 --- /dev/null +++ b/Game/Hero/Weapons/Staff/Staff.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7eba33411273ad195adc8a8253711e93 +timeCreated: 1526437063 +licenseType: Store +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Hero/Wizard.prefab b/Game/Hero/Wizard.prefab new file mode 100644 index 0000000..9076459 --- /dev/null +++ b/Game/Hero/Wizard.prefab @@ -0,0 +1,2449 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &35707168723768509 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 311949369062274592} + m_Layer: 0 + m_Name: Eyes + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &311949369062274592 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 35707168723768509} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.0510384e-29, y: 9.447606, z: 12.272215} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7928616218613849049} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &187210122121015789 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3055651139446884364} + m_Layer: 0 + m_Name: Thumb_02 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3055651139446884364 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 187210122121015789} + serializedVersion: 2 + m_LocalRotation: {x: -0.039942026, y: -0.1178403, z: 0.14163578, w: 0.98206806} + m_LocalPosition: {x: 6.370146, y: -0.0007811825, z: 0.000043638116} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8845585871967358336} + m_Father: {fileID: 7462116309634597284} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &236933650744555232 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4877558036336361312} + m_Layer: 0 + m_Name: Shoulder_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4877558036336361312 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 236933650744555232} + serializedVersion: 2 + m_LocalRotation: {x: 0.0113281235, y: 0.23685996, z: 0.03380652, w: 0.9708894} + m_LocalPosition: {x: -13.197872, y: -4.8572257e-17, z: -2.6645353e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6612907955256702360} + - {fileID: 5340981666482408398} + m_Father: {fileID: 2837391354734378179} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &372619041187104453 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3418487113843083313} + m_Layer: 0 + m_Name: Thumb_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3418487113843083313 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 372619041187104453} + serializedVersion: 2 + m_LocalRotation: {x: -0.039942026, y: -0.1178403, z: 0.14163578, w: 0.98206806} + m_LocalPosition: {x: -6.370214, y: -6.1062266e-16, z: 4.440892e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4628754255931159758} + m_Father: {fileID: 2375547055396016726} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &810055602149626457 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2556458617188132214} + m_Layer: 0 + m_Name: Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2556458617188132214 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 810055602149626457} + serializedVersion: 2 + m_LocalRotation: {x: 0.46113664, y: -0.5360532, z: -0.46113664, w: 0.5360532} + m_LocalPosition: {x: -0, y: 87.62761, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8626937480192447994} + - {fileID: 2625545386351522115} + - {fileID: 1830490449555516519} + - {fileID: 8610853520913162076} + m_Father: {fileID: 2152754538090135937} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &999338678925706598 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2572260011304165665} + - component: {fileID: 7814468730624474869} + - component: {fileID: 7694138106331956871} + m_Layer: 0 + m_Name: Item_Sword + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &2572260011304165665 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999338678925706598} + serializedVersion: 2 + m_LocalRotation: {x: 0.48063445, y: -0.518643, z: 0.48063445, w: 0.518643} + m_LocalPosition: {x: 5.668346, y: 12.3357935, z: -0.34623197} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2309295201822097608} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7814468730624474869 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999338678925706598} + m_Mesh: {fileID: 4300004, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} +--- !u!23 &7694138106331956871 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 999338678925706598} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1242024936713272495 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2375547055396016726} + m_Layer: 0 + m_Name: Thumb_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2375547055396016726 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1242024936713272495} + serializedVersion: 2 + m_LocalRotation: {x: 0.025480643, y: 0.27684274, z: 0.08803956, w: 0.9565343} + m_LocalPosition: {x: -3.5140479, y: -1.1706916, z: 4.5055394} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3418487113843083313} + m_Father: {fileID: 9024212696780392808} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1445264070347813059 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1830490449555516519} + m_Layer: 0 + m_Name: UpperLeg_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1830490449555516519 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1445264070347813059} + serializedVersion: 2 + m_LocalRotation: {x: -0.7058717, y: 0.04177525, z: -0.064159356, w: 0.70419} + m_LocalPosition: {x: 4.1157784, y: -2.692075, z: 9.89671} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6257291112615309556} + m_Father: {fileID: 2556458617188132214} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1701098167956740599 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6159689716410491237} + m_Layer: 0 + m_Name: LowerLeg_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6159689716410491237 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1701098167956740599} + serializedVersion: 2 + m_LocalRotation: {x: 0.64437777, y: 0.024462728, z: -0.00473771, w: 0.7643013} + m_LocalPosition: {x: -39.930904, y: -6.8833828e-15, z: -5.3342145e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8550085259011902343} + m_Father: {fileID: 8610853520913162076} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1727046335683584071 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1192948278416102523} + m_Layer: 0 + m_Name: Finger_01 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1192948278416102523 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1727046335683584071} + serializedVersion: 2 + m_LocalRotation: {x: -0.0024864315, y: -0.043879747, z: 0.056519255, w: 0.9974337} + m_LocalPosition: {x: 9.9825, y: 0.116, z: 3.28334} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5182716085158573147} + m_Father: {fileID: 6509942728404568384} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1749754278611914287 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8762260730523859865} + m_Layer: 0 + m_Name: Finger_04 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8762260730523859865 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1749754278611914287} + serializedVersion: 2 + m_LocalRotation: {x: 0.01664637, y: 0.096525334, z: -0.16913006, w: 0.98071444} + m_LocalPosition: {x: 3.003113, y: 0.00011334714, z: 0.00003591099} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5578553345465226220} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1992977185577081884 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5765752341298388702} + m_Layer: 0 + m_Name: IndexFinger_01 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5765752341298388702 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1992977185577081884} + serializedVersion: 2 + m_LocalRotation: {x: 0.00028049533, y: 0.065794446, z: 0.004253931, w: 0.99782413} + m_LocalPosition: {x: 10.3966, y: -0.399, z: -2.67265} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3915731651563290698} + m_Father: {fileID: 6509942728404568384} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2149912100995747184 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3915731651563290698} + m_Layer: 0 + m_Name: IndexFinger_02 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3915731651563290698 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2149912100995747184} + serializedVersion: 2 + m_LocalRotation: {x: -0.001153992, y: -0.010741636, z: 0.09832994, w: 0.99509525} + m_LocalPosition: {x: 4.093591, y: 0.00009698693, z: -0.000004956748} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8880921092901125331} + m_Father: {fileID: 5765752341298388702} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2154610609289848624 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9010135731587153071} + m_Layer: 0 + m_Name: Finger_04 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9010135731587153071 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2154610609289848624} + serializedVersion: 2 + m_LocalRotation: {x: 0.01664637, y: 0.096525334, z: -0.16913006, w: 0.98071444} + m_LocalPosition: {x: -3.0032394, y: 2.126771e-14, z: -1.110223e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3167525439871143764} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2443741408366753126 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1481576084777323665} + - component: {fileID: 2203496440121820455} + - component: {fileID: 1857662012367065903} + m_Layer: 0 + m_Name: Item_WarriorSholderArmor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &1481576084777323665 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2443741408366753126} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4.1317434, y: 139.27638, z: 4.6918077} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7007519699413865836} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2203496440121820455 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2443741408366753126} + m_Mesh: {fileID: 4300002, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} +--- !u!23 &1857662012367065903 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2443741408366753126} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &2797826495978217641 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8610853520913162076} + m_Layer: 0 + m_Name: UpperLeg_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8610853520913162076 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2797826495978217641} + serializedVersion: 2 + m_LocalRotation: {x: 0.04177524, y: 0.7058717, z: -0.70419, w: -0.06415935} + m_LocalPosition: {x: 4.1157684, y: -2.6920698, z: -9.896706} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6159689716410491237} + m_Father: {fileID: 2556458617188132214} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2838750684811853579 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3127749080791275877} + m_Layer: 0 + m_Name: Toes_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3127749080791275877 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2838750684811853579} + serializedVersion: 2 + m_LocalRotation: {x: -2.7376528e-13, y: -0.7071068, z: -2.7376528e-13, w: 0.7071068} + m_LocalPosition: {x: 7.29575, y: 2.6645353e-15, z: 1.7763568e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8527673877741599332} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2904568128635816163 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8317450908283167620} + m_Layer: 0 + m_Name: Finger_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8317450908283167620 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2904568128635816163} + serializedVersion: 2 + m_LocalRotation: {x: -0.0024864315, y: -0.043879747, z: 0.056519255, w: 0.9974337} + m_LocalPosition: {x: -9.982526, y: -0.11595894, z: -3.2833402} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4072995964696796951} + m_Father: {fileID: 9024212696780392808} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2927888489894814490 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5182716085158573147} + m_Layer: 0 + m_Name: Finger_02 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5182716085158573147 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2927888489894814490} + serializedVersion: 2 + m_LocalRotation: {x: 0.0026372706, y: 0.019492026, z: 0.02126933, w: 0.99958026} + m_LocalPosition: {x: 4.2488093, y: 0.000026534415, z: -0.0000019789932} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5578553345465226220} + m_Father: {fileID: 1192948278416102523} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3028674202555341108 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8550085259011902343} + m_Layer: 0 + m_Name: Ankle_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8550085259011902343 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3028674202555341108} + serializedVersion: 2 + m_LocalRotation: {x: 0.85767007, y: 0.507213, z: 0.039752707, w: -0.0745436} + m_LocalPosition: {x: -37.712353, y: -7.771561e-15, z: 1.6819879e-14} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2289687644678067140} + m_Father: {fileID: 6159689716410491237} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3276502682683536353 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2399478163177120371} + m_Layer: 0 + m_Name: Toes_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2399478163177120371 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3276502682683536353} + serializedVersion: 2 + m_LocalRotation: {x: 1.9013454e-14, y: -0.7071068, z: 1.9013454e-14, w: 0.7071068} + m_LocalPosition: {x: -7.2957563, y: 2.040087e-16, z: 3.4087126e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2289687644678067140} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3403991723950531916 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4216968084013204859} + m_Layer: 0 + m_Name: Eyebrows + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4216968084013204859 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3403991723950531916} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.524355e-29, y: 12.76692, z: 12.272215} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7928616218613849049} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3694706557159846107 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2309295201822097608} + m_Layer: 0 + m_Name: Spine_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2309295201822097608 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3694706557159846107} + serializedVersion: 2 + m_LocalRotation: {x: 0.9938103, y: -0.11109032, z: -3.483493e-17, w: -6.5507636e-17} + m_LocalPosition: {x: -17.903725, y: 2.220446e-15, z: 7.5097255e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2837391354734378179} + - {fileID: 7007519699413865836} + - {fileID: 2572260011304165665} + - {fileID: 8710442358728005129} + - {fileID: 7629177504600513940} + m_Father: {fileID: 3408077877109112710} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3787498574877444721 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8626937480192447994} + - component: {fileID: 951526362668981818} + - component: {fileID: 5081290204884280235} + m_Layer: 0 + m_Name: Item_Pouch + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8626937480192447994 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3787498574877444721} + serializedVersion: 2 + m_LocalRotation: {x: -0.44777712, y: 0.54726195, z: 0.44777712, w: 0.54726195} + m_LocalPosition: {x: -5.4, y: 2.9, z: -22.8} + m_LocalScale: {x: 1.059878, y: 1.059878, z: 1.059878} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2556458617188132214} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &951526362668981818 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3787498574877444721} + m_Mesh: {fileID: 4300014, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} +--- !u!23 &5081290204884280235 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3787498574877444721} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &4051574964924464450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2837391354734378179} + m_Layer: 0 + m_Name: Clavicle_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2837391354734378179 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4051574964924464450} + serializedVersion: 2 + m_LocalRotation: {x: -0.57854766, y: 0.6324858, z: -0.3525135, w: -0.37547135} + m_LocalPosition: {x: -5.8011727, y: -4.1914477, z: -7.447154} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4877558036336361312} + m_Father: {fileID: 2309295201822097608} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4164699319629378073 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7462116309634597284} + m_Layer: 0 + m_Name: Thumb_01 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7462116309634597284 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4164699319629378073} + serializedVersion: 2 + m_LocalRotation: {x: 0.025480643, y: 0.27684274, z: 0.08803956, w: 0.9565343} + m_LocalPosition: {x: 3.514, y: 1.171, z: -4.50554} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3055651139446884364} + m_Father: {fileID: 6509942728404568384} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4209512501460332166 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 834976872061873276} + m_Layer: 0 + m_Name: Shoulder_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &834976872061873276 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4209512501460332166} + serializedVersion: 2 + m_LocalRotation: {x: 0.0113281235, y: 0.23685996, z: 0.03380652, w: 0.9708894} + m_LocalPosition: {x: 13.197861, y: 0.00064733915, z: 0.0000047353424} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2675449580874062371} + m_Father: {fileID: 7007519699413865836} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4631169687180836789 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3167525439871143764} + m_Layer: 0 + m_Name: Finger_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3167525439871143764 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4631169687180836789} + serializedVersion: 2 + m_LocalRotation: {x: -0.018149227, y: -0.07147895, z: 0.09251083, w: 0.9929769} + m_LocalPosition: {x: -3.5133274, y: -3.00324e-14, z: 3.7747583e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9010135731587153071} + m_Father: {fileID: 4072995964696796951} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4766367043429332736 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6612907955256702360} + m_Layer: 0 + m_Name: Elbow_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6612907955256702360 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4766367043429332736} + serializedVersion: 2 + m_LocalRotation: {x: 0.0016838326, y: 0.040749595, z: -0.041251875, w: 0.99831605} + m_LocalPosition: {x: -33.947403, y: -0.14490709, z: -0.14362642} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 9024212696780392808} + m_Father: {fileID: 4877558036336361312} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5011880921675136332 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 962199963932625355} + m_Layer: 0 + m_Name: Ankle_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &962199963932625355 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5011880921675136332} + serializedVersion: 2 + m_LocalRotation: {x: 0.85767007, y: 0.507213, z: 0.039752707, w: -0.0745436} + m_LocalPosition: {x: 37.712326, y: 0.000013169495, z: -0.00008411038} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8527673877741599332} + m_Father: {fileID: 6257291112615309556} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5045799235098917050 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8527673877741599332} + m_Layer: 0 + m_Name: Ball_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8527673877741599332 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5045799235098917050} + serializedVersion: 2 + m_LocalRotation: {x: 3.4349202e-15, y: 5.149188e-15, z: -0.2700158, w: 0.96285594} + m_LocalPosition: {x: 11.284033, y: -0.0000016849572, z: -7.1054274e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3127749080791275877} + m_Father: {fileID: 962199963932625355} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5070226853730038571 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7307166222893754975} + m_Layer: 0 + m_Name: IndexFinger_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7307166222893754975 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5070226853730038571} + serializedVersion: 2 + m_LocalRotation: {x: -0.001153992, y: -0.010741636, z: 0.09832994, w: 0.99509525} + m_LocalPosition: {x: -4.0936317, y: -1.5276409e-16, z: 2.4424907e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7022837285977025902} + m_Father: {fileID: 2500213234257174861} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5225881520673285563 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 266386425542752718} + - component: {fileID: 1401922753792454969} + - component: {fileID: 1034875517456514432} + m_Layer: 0 + m_Name: MainCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &266386425542752718 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5225881520673285563} + serializedVersion: 2 + m_LocalRotation: {x: 0.24676749, y: -0, z: -0, w: 0.9690748} + m_LocalPosition: {x: 0, y: 3.939, z: -5.983} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1117541129888199087} + m_LocalEulerAnglesHint: {x: 28.573, y: 0, z: 0} +--- !u!20 &1401922753792454969 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5225881520673285563} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!114 &1034875517456514432 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5225881520673285563} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e3ecae0254451c2888cfe94f7a8e825d, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.ThirdPersonCamera + target: {fileID: 1117541129888199087} + focusOffset: {x: 0, y: 1.6, z: 0} + mouseSensitivity: 500 + minPitch: -35 + maxPitch: 75 + rotationSmoothTime: 0.01 + distance: 5 + minDistance: 2 + maxDistance: 8 + zoomSpeed: 4 + distanceSmoothTime: 0.1 + obstructionRadius: 1 + obstructionMask: + serializedVersion: 2 + m_Bits: 55 + obstructionBuffer: 0.1 + lockCursor: 1 +--- !u!1 &5433964304169286692 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9024212696780392808} + m_Layer: 0 + m_Name: Hand_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9024212696780392808 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5433964304169286692} + serializedVersion: 2 + m_LocalRotation: {x: -2.4156162e-17, y: -0.035830766, z: 1.6679253e-15, w: 0.9993579} + m_LocalPosition: {x: -27.114529, y: 0, z: -0.038136426} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8317450908283167620} + - {fileID: 2500213234257174861} + - {fileID: 2375547055396016726} + m_Father: {fileID: 6612907955256702360} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5498408515180551981 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2289687644678067140} + m_Layer: 0 + m_Name: Ball_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2289687644678067140 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5498408515180551981} + serializedVersion: 2 + m_LocalRotation: {x: -8.012619e-16, y: 1.2480334e-15, z: -0.2700158, w: 0.96285594} + m_LocalPosition: {x: -11.284036, y: -1.15463195e-14, z: -2.113351e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2399478163177120371} + m_Father: {fileID: 8550085259011902343} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5542628651638701719 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3386570896142168293} + m_Layer: 0 + m_Name: IndexFinger_04 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3386570896142168293 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5542628651638701719} + serializedVersion: 2 + m_LocalRotation: {x: -0.0045196484, y: -0.028039929, z: -0.15906802, w: 0.986859} + m_LocalPosition: {x: -3.779794, y: -1.9284054e-14, z: -9.992007e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7022837285977025902} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5779173477990416397 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8710442358728005129} + - component: {fileID: 3025499559523417291} + - component: {fileID: 2649237108804611666} + m_Layer: 0 + m_Name: Item_SwordHolder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &8710442358728005129 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5779173477990416397} + serializedVersion: 2 + m_LocalRotation: {x: 0.48063445, y: -0.518643, z: 0.48063445, w: 0.518643} + m_LocalPosition: {x: 133.11008, y: -13.416325, z: 1.0441e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2309295201822097608} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3025499559523417291 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5779173477990416397} + m_Mesh: {fileID: 4300006, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} +--- !u!23 &2649237108804611666 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5779173477990416397} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &5933155607142682167 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4628754255931159758} + m_Layer: 0 + m_Name: Thumb_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4628754255931159758 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5933155607142682167} + serializedVersion: 2 + m_LocalRotation: {x: -0.036403257, y: -0.15203467, z: -0.22999534, w: 0.9605532} + m_LocalPosition: {x: -5.66557, y: 2.91156e-14, z: 3.996803e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3418487113843083313} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6096512742871708431 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6509942728404568384} + m_Layer: 0 + m_Name: Hand_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6509942728404568384 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6096512742871708431} + serializedVersion: 2 + m_LocalRotation: {x: -1.0083177e-16, y: -0.035830766, z: -1.1722682e-15, w: 0.9993579} + m_LocalPosition: {x: 27.11449, y: -2.842171e-14, z: 0.038136087} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1192948278416102523} + - {fileID: 5765752341298388702} + - {fileID: 7462116309634597284} + m_Father: {fileID: 2675449580874062371} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6125335903562356261 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7928616218613849049} + m_Layer: 0 + m_Name: Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7928616218613849049 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6125335903562356261} + serializedVersion: 2 + m_LocalRotation: {x: 0.458571, y: -0.5382496, z: 0.458571, w: 0.5382496} + m_LocalPosition: {x: -12.164435, y: -1.5099033e-14, z: -5.059176e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4216968084013204859} + - {fileID: 311949369062274592} + m_Father: {fileID: 7629177504600513940} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6327682433168431467 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2625545386351522115} + m_Layer: 0 + m_Name: Spine_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2625545386351522115 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6327682433168431467} + serializedVersion: 2 + m_LocalRotation: {x: 0.9950197, y: -0.09967895, z: 1.3224718e-15, w: 7.094358e-17} + m_LocalPosition: {x: -10.393265, y: 1.3322676e-15, z: 4.6155367e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3408077877109112710} + m_Father: {fileID: 2556458617188132214} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6350917980340662518 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4072995964696796951} + m_Layer: 0 + m_Name: Finger_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4072995964696796951 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6350917980340662518} + serializedVersion: 2 + m_LocalRotation: {x: 0.0026372706, y: 0.019492026, z: 0.02126933, w: 0.99958026} + m_LocalPosition: {x: -4.2488146, y: -1.0581813e-15, z: -8.3266727e-16} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3167525439871143764} + m_Father: {fileID: 8317450908283167620} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6386335550334206604 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7022837285977025902} + m_Layer: 0 + m_Name: IndexFinger_03 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7022837285977025902 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6386335550334206604} + serializedVersion: 2 + m_LocalRotation: {x: -0.006912195, y: -0.025717413, z: 0.057002407, w: 0.9980188} + m_LocalPosition: {x: -3.791188, y: -2.1461999e-14, z: -3.8302694e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 3386570896142168293} + m_Father: {fileID: 7307166222893754975} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6668187567877487547 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5578553345465226220} + m_Layer: 0 + m_Name: Finger_03 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5578553345465226220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6668187567877487547} + serializedVersion: 2 + m_LocalRotation: {x: -0.018149227, y: -0.07147895, z: 0.09251083, w: 0.9929769} + m_LocalPosition: {x: 3.5133245, y: -0.00001997848, z: 0.0000014853608} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8762260730523859865} + m_Father: {fileID: 5182716085158573147} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6702732898234835823 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5340981666482408398} + - component: {fileID: 6651956862438422715} + - component: {fileID: 7758059647493884965} + m_Layer: 0 + m_Name: Item_WarriorSholderArmor 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &5340981666482408398 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6702732898234835823} + serializedVersion: 2 + m_LocalRotation: {x: 0.00020466525, y: 0.0049530016, z: -0.04128572, w: 0.9991351} + m_LocalPosition: {x: -4.3887663, y: 4.539162, z: -1.2525285} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4877558036336361312} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6651956862438422715 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6702732898234835823} + m_Mesh: {fileID: 4300000, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} +--- !u!23 &7758059647493884965 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6702732898234835823} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &6789288472196057559 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8845585871967358336} + m_Layer: 0 + m_Name: Thumb_03 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8845585871967358336 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6789288472196057559} + serializedVersion: 2 + m_LocalRotation: {x: -0.036403257, y: -0.15203467, z: -0.22999534, w: 0.9605532} + m_LocalPosition: {x: 5.6655083, y: 0.000009835502, z: -0.000020279542} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 3055651139446884364} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7059514996416789454 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1117541129888199087} + - component: {fileID: 3962868364137827229} + - component: {fileID: 7882380777820389636} + - component: {fileID: 5123784519981883586} + - component: {fileID: -6761485100369211516} + - component: {fileID: -2990689074187600234} + - component: {fileID: 7618815643042096284} + m_Layer: 0 + m_Name: Wizard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1117541129888199087 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7059514996416789454} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.4360476, y: 0, z: -2.4662037} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 266386425542752718} + - {fileID: 2872817658387724150} + - {fileID: 2152754538090135937} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &3962868364137827229 +Animator: + serializedVersion: 7 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7059514996416789454} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} + m_Controller: {fileID: 0} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 1 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_AnimatePhysics: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 +--- !u!143 &7882380777820389636 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7059514996416789454} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Height: 2 + m_Radius: 0.5 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0.99, z: 0} +--- !u!114 &5123784519981883586 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7059514996416789454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9309e1c5110afc714b0b9b9d10323469, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.ThirdPersonCharacterController + moveSpeed: 20 + rotationSharpness: 15 + airControlResponsiveness: 60 + jumpHeight: 1.6 + gravity: -20 + groundedGravity: -5 + cameraTransform: {fileID: 266386425542752718} +--- !u!114 &-6761485100369211516 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7059514996416789454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 920077a2cfc4cde58a4ceeea4b96ebe9, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Combat.Health + maxHealth: 100 + team: 1 + ignoreFriendlyFire: 1 + destroyOnDeath: 1 + onHealthChanged: + m_PersistentCalls: + m_Calls: [] + onDeath: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &-2990689074187600234 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7059514996416789454} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e6e77e83dcc282364afb3428637c723c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.WeaponSystem.WeaponController + ownerTeam: 1 + weaponSocket: {fileID: 6509942728404568384} + acquisitionRadius: 30 + retargetInterval: 0.25 + targetMask: + serializedVersion: 2 + m_Bits: 256 + lineOfSightMask: + serializedVersion: 2 + m_Bits: 337 + requireLineOfSight: 1 + startingWeapons: + - {fileID: 11400000, guid: 912de7c15ecf9d38d9be364bc0ac0f70, type: 2} + autoFire: 1 +--- !u!136 &7618815643042096284 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7059514996416789454} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Height: 2.0070767 + m_Direction: 1 + m_Center: {x: 0, y: 0.9898484, z: 0} +--- !u!1 &7094911519708027617 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2872817658387724150} + - component: {fileID: 6020708265386644422} + m_Layer: 0 + m_Name: Character_Male_Wizard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2872817658387724150 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7094911519708027617} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1117541129888199087} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &6020708265386644422 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7094911519708027617} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2516edcba6fec964787b5492b55edbd1, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4300046, guid: e2958561779b1a748a4246b9d0c0b309, type: 3} + m_Bones: + - {fileID: 2152754538090135937} + - {fileID: 2556458617188132214} + - {fileID: 2625545386351522115} + - {fileID: 3408077877109112710} + - {fileID: 2309295201822097608} + - {fileID: 7629177504600513940} + - {fileID: 7928616218613849049} + - {fileID: 311949369062274592} + - {fileID: 4216968084013204859} + - {fileID: 2837391354734378179} + - {fileID: 4877558036336361312} + - {fileID: 6612907955256702360} + - {fileID: 9024212696780392808} + - {fileID: 2375547055396016726} + - {fileID: 3418487113843083313} + - {fileID: 4628754255931159758} + - {fileID: 2500213234257174861} + - {fileID: 7307166222893754975} + - {fileID: 7022837285977025902} + - {fileID: 3386570896142168293} + - {fileID: 8317450908283167620} + - {fileID: 4072995964696796951} + - {fileID: 3167525439871143764} + - {fileID: 9010135731587153071} + - {fileID: 7007519699413865836} + - {fileID: 834976872061873276} + - {fileID: 2675449580874062371} + - {fileID: 6509942728404568384} + - {fileID: 7462116309634597284} + - {fileID: 3055651139446884364} + - {fileID: 8845585871967358336} + - {fileID: 5765752341298388702} + - {fileID: 3915731651563290698} + - {fileID: 8880921092901125331} + - {fileID: 8432024130301356178} + - {fileID: 1192948278416102523} + - {fileID: 5182716085158573147} + - {fileID: 5578553345465226220} + - {fileID: 8762260730523859865} + - {fileID: 8610853520913162076} + - {fileID: 6159689716410491237} + - {fileID: 8550085259011902343} + - {fileID: 2289687644678067140} + - {fileID: 2399478163177120371} + - {fileID: 1830490449555516519} + - {fileID: 6257291112615309556} + - {fileID: 962199963932625355} + - {fileID: 8527673877741599332} + - {fileID: 3127749080791275877} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2152754538090135937} + m_AABB: + m_Center: {x: -0.0000038146973, y: 96.16845, z: -4.6655455} + m_Extent: {x: 102.541534, y: 108.76028, z: 31.651173} + m_DirtyAABB: 0 +--- !u!1 &7131933043281635250 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8880921092901125331} + m_Layer: 0 + m_Name: IndexFinger_03 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8880921092901125331 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7131933043281635250} + serializedVersion: 2 + m_LocalRotation: {x: -0.006912195, y: -0.025717413, z: 0.057002407, w: 0.9980188} + m_LocalPosition: {x: 3.7912128, y: 0.00032499834, z: -0.000004545292} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 8432024130301356178} + m_Father: {fileID: 3915731651563290698} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7149450037706306143 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2500213234257174861} + m_Layer: 0 + m_Name: IndexFinger_01 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2500213234257174861 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7149450037706306143} + serializedVersion: 2 + m_LocalRotation: {x: 0.00028049533, y: 0.065794446, z: 0.004253931, w: 0.99782413} + m_LocalPosition: {x: -10.396562, y: 0.39871514, z: 2.6726496} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7307166222893754975} + m_Father: {fileID: 9024212696780392808} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7190349889875700572 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8432024130301356178} + m_Layer: 0 + m_Name: IndexFinger_04 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8432024130301356178 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7190349889875700572} + serializedVersion: 2 + m_LocalRotation: {x: -0.0045196484, y: -0.028039929, z: -0.15906802, w: 0.986859} + m_LocalPosition: {x: 3.7793326, y: -0.0005265709, z: -0.000015507381} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8880921092901125331} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7267033616394110034 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7007519699413865836} + m_Layer: 0 + m_Name: Clavicle_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7007519699413865836 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7267033616394110034} + serializedVersion: 2 + m_LocalRotation: {x: 0.6324858, y: 0.57854766, z: 0.37547132, w: -0.3525135} + m_LocalPosition: {x: -5.801534, y: -4.191418, z: 7.44715} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1481576084777323665} + - {fileID: 834976872061873276} + m_Father: {fileID: 2309295201822097608} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7722813935661010644 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3408077877109112710} + m_Layer: 0 + m_Name: Spine_02 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3408077877109112710 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7722813935661010644} + serializedVersion: 2 + m_LocalRotation: {x: 0.99518615, y: -0.098002784, z: -6.0366487e-16, w: -1.2097554e-16} + m_LocalPosition: {x: -18.151169, y: 1.5543122e-15, z: -7.1010728e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2309295201822097608} + m_Father: {fileID: 2625545386351522115} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7883662512421849532 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2675449580874062371} + m_Layer: 0 + m_Name: Elbow_R + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2675449580874062371 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7883662512421849532} + serializedVersion: 2 + m_LocalRotation: {x: 0.0016838326, y: 0.040749595, z: -0.041251875, w: 0.99831605} + m_LocalPosition: {x: 33.94746, y: 0.14475864, z: 0.14362636} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6509942728404568384} + m_Father: {fileID: 834976872061873276} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8105063374427015890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7629177504600513940} + m_Layer: 0 + m_Name: Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7629177504600513940 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8105063374427015890} + serializedVersion: 2 + m_LocalRotation: {x: 7.053966e-17, y: 1.3040385e-15, z: 0.04173335, w: 0.9991288} + m_LocalPosition: {x: -11.188968, y: -6.661338e-16, z: -4.624413e-15} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 7928616218613849049} + m_Father: {fileID: 2309295201822097608} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8218529120275616602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6257291112615309556} + m_Layer: 0 + m_Name: LowerLeg_L + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6257291112615309556 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8218529120275616602} + serializedVersion: 2 + m_LocalRotation: {x: 0.64437777, y: 0.024462728, z: -0.00473771, w: 0.7643013} + m_LocalPosition: {x: 39.93092, y: -0.000038050264, z: 1.4654944e-14} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 962199963932625355} + m_Father: {fileID: 1830490449555516519} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8883763329718468470 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2152754538090135937} + m_Layer: 0 + m_Name: Root + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2152754538090135937 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8883763329718468470} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 2556458617188132214} + m_Father: {fileID: 1117541129888199087} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Game/Hero/Wizard.prefab.meta b/Game/Hero/Wizard.prefab.meta new file mode 100644 index 0000000..e6d704d --- /dev/null +++ b/Game/Hero/Wizard.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fe75fe22781f92b369675fdfc9657f7d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Scripts.meta b/Game/Scripts.meta new file mode 100644 index 0000000..bc859d2 --- /dev/null +++ b/Game/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e1468aaa4e1f2d7d08d7d6e9acb26be7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Scripts/Combat.meta b/Game/Scripts/Combat.meta new file mode 100644 index 0000000..b4b24ba --- /dev/null +++ b/Game/Scripts/Combat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 43cbd7a1d6f0054838d3503a2cc2b68f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Scripts/Combat/DamagePayload.cs b/Game/Scripts/Combat/DamagePayload.cs new file mode 100644 index 0000000..a321eb7 --- /dev/null +++ b/Game/Scripts/Combat/DamagePayload.cs @@ -0,0 +1,27 @@ +using UnityEngine; + +namespace MegaKoop.Game.Combat +{ + /// + /// Bundles damage information so different systems can respond consistently. + /// + public struct DamagePayload + { + public float Amount; + public Vector3 HitPoint; + public Vector3 HitNormal; + public GameObject Source; + public Team SourceTeam; + public GameObject Target; + + public DamagePayload(float amount, Vector3 hitPoint, Vector3 hitNormal, GameObject source, Team sourceTeam, GameObject target) + { + Amount = amount; + HitPoint = hitPoint; + HitNormal = hitNormal; + Source = source; + SourceTeam = sourceTeam; + Target = target; + } + } +} diff --git a/Game/Scripts/Combat/DamagePayload.cs.meta b/Game/Scripts/Combat/DamagePayload.cs.meta new file mode 100644 index 0000000..491b3e4 --- /dev/null +++ b/Game/Scripts/Combat/DamagePayload.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 7e3b00f0d0eff2b0e813e41895012e02 \ No newline at end of file diff --git a/Game/Scripts/Combat/Health.cs b/Game/Scripts/Combat/Health.cs new file mode 100644 index 0000000..b601055 --- /dev/null +++ b/Game/Scripts/Combat/Health.cs @@ -0,0 +1,97 @@ +using System; +using UnityEngine; +using UnityEngine.Events; + +namespace MegaKoop.Game.Combat +{ + [DisallowMultipleComponent] + public class Health : MonoBehaviour, IDamageable + { + [SerializeField] private float maxHealth = 100f; + [SerializeField] private Team team = Team.Neutral; + [SerializeField] private bool ignoreFriendlyFire = true; + [SerializeField] private bool destroyOnDeath = false; + [SerializeField] private UnityEvent onHealthChanged; + [SerializeField] private UnityEvent onDeath; + + public float MaxHealth => maxHealth; + public float CurrentHealth { get; private set; } + public Team Team => team; + public bool IsAlive => CurrentHealth > 0f; + + public event Action NormalizedHealthChanged; + + private void Awake() + { + maxHealth = Mathf.Max(1f, maxHealth); + CurrentHealth = maxHealth; + onHealthChanged?.Invoke(CurrentHealth / MaxHealth); + NormalizedHealthChanged?.Invoke(CurrentHealth / MaxHealth); + } + + public void ApplyDamage(DamagePayload payload) + { + if (!IsAlive || payload.Amount <= 0f) + { + return; + } + + if (ignoreFriendlyFire && team != Team.Neutral && payload.SourceTeam == team) + { + return; + } + + CurrentHealth = Mathf.Max(0f, CurrentHealth - payload.Amount); + float normalized = CurrentHealth / MaxHealth; + onHealthChanged?.Invoke(normalized); + NormalizedHealthChanged?.Invoke(normalized); + + if (CurrentHealth <= 0f) + { + HandleDeath(); + } + } + + public void Heal(float amount) + { + if (amount <= 0f || !IsAlive) + { + return; + } + + CurrentHealth = Mathf.Min(MaxHealth, CurrentHealth + amount); + float normalized = CurrentHealth / MaxHealth; + onHealthChanged?.Invoke(normalized); + NormalizedHealthChanged?.Invoke(normalized); + } + + private void HandleDeath() + { + onDeath?.Invoke(); + + if (destroyOnDeath) + { + Destroy(gameObject); + } + } + + private void OnValidate() + { + maxHealth = Mathf.Max(1f, maxHealth); + } + + public void ForceSetNormalizedHealth(float normalized) + { + normalized = Mathf.Clamp01(normalized); + bool wasAlive = IsAlive; + CurrentHealth = normalized * MaxHealth; + onHealthChanged?.Invoke(normalized); + NormalizedHealthChanged?.Invoke(normalized); + + if (CurrentHealth <= 0f && wasAlive) + { + HandleDeath(); + } + } + } +} diff --git a/Game/Scripts/Combat/Health.cs.meta b/Game/Scripts/Combat/Health.cs.meta new file mode 100644 index 0000000..4885651 --- /dev/null +++ b/Game/Scripts/Combat/Health.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 920077a2cfc4cde58a4ceeea4b96ebe9 \ No newline at end of file diff --git a/Game/Scripts/Combat/IDamageable.cs b/Game/Scripts/Combat/IDamageable.cs new file mode 100644 index 0000000..999bd2e --- /dev/null +++ b/Game/Scripts/Combat/IDamageable.cs @@ -0,0 +1,9 @@ +namespace MegaKoop.Game.Combat +{ + public interface IDamageable + { + Team Team { get; } + bool IsAlive { get; } + void ApplyDamage(DamagePayload payload); + } +} diff --git a/Game/Scripts/Combat/IDamageable.cs.meta b/Game/Scripts/Combat/IDamageable.cs.meta new file mode 100644 index 0000000..b05fb4b --- /dev/null +++ b/Game/Scripts/Combat/IDamageable.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2044a5c09d25d50beb90c486ace32d50 \ No newline at end of file diff --git a/Game/Scripts/Combat/Team.cs b/Game/Scripts/Combat/Team.cs new file mode 100644 index 0000000..8e58521 --- /dev/null +++ b/Game/Scripts/Combat/Team.cs @@ -0,0 +1,9 @@ +namespace MegaKoop.Game.Combat +{ + public enum Team + { + Neutral = 0, + Heroes = 1, + Enemies = 2 + } +} diff --git a/Game/Scripts/Combat/Team.cs.meta b/Game/Scripts/Combat/Team.cs.meta new file mode 100644 index 0000000..3a050fe --- /dev/null +++ b/Game/Scripts/Combat/Team.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 620167bdb0a57e180b2bee989e9ee5d1 \ No newline at end of file diff --git a/Game/Scripts/Networking.meta b/Game/Scripts/Networking.meta new file mode 100644 index 0000000..2f12b1a --- /dev/null +++ b/Game/Scripts/Networking.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: caf731eed00799f15a7315a669658012 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Scripts/Networking/ICharacterInputSource.cs b/Game/Scripts/Networking/ICharacterInputSource.cs new file mode 100644 index 0000000..eb2fbc4 --- /dev/null +++ b/Game/Scripts/Networking/ICharacterInputSource.cs @@ -0,0 +1,10 @@ +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + public interface ICharacterInputSource + { + Vector2 MoveInput { get; } + bool JumpPressed { get; } + } +} diff --git a/Game/Scripts/Networking/ICharacterInputSource.cs.meta b/Game/Scripts/Networking/ICharacterInputSource.cs.meta new file mode 100644 index 0000000..b45888d --- /dev/null +++ b/Game/Scripts/Networking/ICharacterInputSource.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 403a3945388ae5082bf455368a91a800 \ No newline at end of file diff --git a/Game/Scripts/Networking/NetworkCharacterInputProxy.cs b/Game/Scripts/Networking/NetworkCharacterInputProxy.cs new file mode 100644 index 0000000..275e22b --- /dev/null +++ b/Game/Scripts/Networking/NetworkCharacterInputProxy.cs @@ -0,0 +1,34 @@ +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + public class NetworkCharacterInputProxy : MonoBehaviour, ICharacterInputSource + { + public Vector2 MoveInput { get; private set; } + public bool JumpPressed { get; private set; } + + private bool jumpConsumed; + + public void SetInput(Vector2 move, bool jump) + { + MoveInput = move; + if (jump) + { + JumpPressed = true; + jumpConsumed = false; + } + } + + private void LateUpdate() + { + if (JumpPressed && !jumpConsumed) + { + jumpConsumed = true; + } + else if (jumpConsumed) + { + JumpPressed = false; + } + } + } +} diff --git a/Game/Scripts/Networking/NetworkCharacterInputProxy.cs.meta b/Game/Scripts/Networking/NetworkCharacterInputProxy.cs.meta new file mode 100644 index 0000000..da8b545 --- /dev/null +++ b/Game/Scripts/Networking/NetworkCharacterInputProxy.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e3118c9c432a7acbd824645749251552 \ No newline at end of file diff --git a/Game/Scripts/Networking/NetworkIdentity.cs b/Game/Scripts/Networking/NetworkIdentity.cs new file mode 100644 index 0000000..c8b4f35 --- /dev/null +++ b/Game/Scripts/Networking/NetworkIdentity.cs @@ -0,0 +1,53 @@ +using System.Collections.Generic; +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + [DisallowMultipleComponent] + public class NetworkIdentity : MonoBehaviour + { + private static readonly Dictionary registry = new(); + private static int nextId = 1; + + [SerializeField] private int networkId; + [SerializeField] private bool assignOnAwake = true; + + public int NetworkId => networkId; + + private void Awake() + { + if (assignOnAwake && networkId == 0) + { + networkId = nextId++; + } + + Register(); + } + + private void OnDestroy() + { + if (registry.TryGetValue(networkId, out NetworkIdentity existing) && existing == this) + { + registry.Remove(networkId); + } + } + + private void Register() + { + if (networkId == 0) + { + Debug.LogWarning($"[NetworkIdentity] {name} has no network id and won't be tracked."); + return; + } + + if (registry.TryGetValue(networkId, out NetworkIdentity existing) && existing != this) + { + Debug.LogWarning($"[NetworkIdentity] Duplicate network id {networkId} detected. Overwriting reference."); + } + + registry[networkId] = this; + } + + public static bool TryGet(int id, out NetworkIdentity identity) => registry.TryGetValue(id, out identity); + } +} diff --git a/Game/Scripts/Networking/NetworkIdentity.cs.meta b/Game/Scripts/Networking/NetworkIdentity.cs.meta new file mode 100644 index 0000000..67ed271 --- /dev/null +++ b/Game/Scripts/Networking/NetworkIdentity.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1e6f99ca4475ead269829ba672213d5c \ No newline at end of file diff --git a/Game/Scripts/Networking/NetworkMessages.cs b/Game/Scripts/Networking/NetworkMessages.cs new file mode 100644 index 0000000..a8af379 --- /dev/null +++ b/Game/Scripts/Networking/NetworkMessages.cs @@ -0,0 +1,222 @@ +using System; +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + public enum NetworkMessageType : byte + { + Heartbeat = 0, + LobbyState = 1, + PlayerInput = 2, + CharacterTransform = 3, + WeaponFire = 4, + HealthSync = 5, + ProjectileSpawn = 6 + } + + public readonly struct NetworkMessage + { + public readonly NetworkMessageType Type; + public readonly byte[] Payload; + public readonly ulong Sender; + + public NetworkMessage(NetworkMessageType type, byte[] payload, ulong sender) + { + Type = type; + Payload = payload; + Sender = sender; + } + } + + public readonly struct PlayerInputMessage + { + public readonly int NetworkId; + public readonly Vector2 MoveInput; + public readonly bool JumpPressed; + public readonly Vector2 LookDelta; + + public PlayerInputMessage(int networkId, Vector2 moveInput, bool jumpPressed, Vector2 lookDelta) + { + NetworkId = networkId; + MoveInput = moveInput; + JumpPressed = jumpPressed; + LookDelta = lookDelta; + } + + public static byte[] Serialize(PlayerInputMessage message) + { + using var writer = new NetworkWriter(); + writer.Write(message.NetworkId); + writer.Write(message.MoveInput.x); + writer.Write(message.MoveInput.y); + writer.Write(message.JumpPressed); + writer.Write(message.LookDelta.x); + writer.Write(message.LookDelta.y); + return writer.ToArray(); + } + + public static PlayerInputMessage Deserialize(byte[] buffer) + { + using var reader = new NetworkReader(buffer); + int id = reader.ReadInt(); + float moveX = reader.ReadFloat(); + float moveY = reader.ReadFloat(); + bool jump = reader.ReadBool(); + float lookX = reader.ReadFloat(); + float lookY = reader.ReadFloat(); + return new PlayerInputMessage(id, new Vector2(moveX, moveY), jump, new Vector2(lookX, lookY)); + } + } + + public readonly struct CharacterTransformMessage + { + public readonly int NetworkId; + public readonly Vector3 Position; + public readonly Quaternion Rotation; + public readonly Vector3 Velocity; + + public CharacterTransformMessage(int networkId, Vector3 position, Quaternion rotation, Vector3 velocity) + { + NetworkId = networkId; + Position = position; + Rotation = rotation; + Velocity = velocity; + } + + public static byte[] Serialize(CharacterTransformMessage message) + { + using var writer = new NetworkWriter(); + writer.Write(message.NetworkId); + writer.Write(message.Position); + writer.Write(message.Rotation); + writer.Write(message.Velocity); + return writer.ToArray(); + } + + public static CharacterTransformMessage Deserialize(byte[] buffer) + { + using var reader = new NetworkReader(buffer); + int id = reader.ReadInt(); + Vector3 position = reader.ReadVector3(); + Quaternion rotation = reader.ReadQuaternion(); + Vector3 velocity = reader.ReadVector3(); + return new CharacterTransformMessage(id, position, rotation, velocity); + } + } + + public readonly struct WeaponFireMessage + { + public readonly int NetworkId; + public readonly int WeaponIndex; + public readonly Vector3 MuzzlePosition; + public readonly Vector3 Direction; + public readonly float Timestamp; + + public WeaponFireMessage(int networkId, int weaponIndex, Vector3 muzzlePosition, Vector3 direction, float timestamp) + { + NetworkId = networkId; + WeaponIndex = weaponIndex; + MuzzlePosition = muzzlePosition; + Direction = direction; + Timestamp = timestamp; + } + + public static byte[] Serialize(WeaponFireMessage message) + { + using var writer = new NetworkWriter(); + writer.Write(message.NetworkId); + writer.Write(message.WeaponIndex); + writer.Write(message.MuzzlePosition); + writer.Write(message.Direction); + writer.Write(message.Timestamp); + return writer.ToArray(); + } + + public static WeaponFireMessage Deserialize(byte[] buffer) + { + using var reader = new NetworkReader(buffer); + int networkId = reader.ReadInt(); + int index = reader.ReadInt(); + Vector3 muzzle = reader.ReadVector3(); + Vector3 direction = reader.ReadVector3(); + float time = reader.ReadFloat(); + return new WeaponFireMessage(networkId, index, muzzle, direction, time); + } + } + + public readonly struct HealthSyncMessage + { + public readonly int NetworkId; + public readonly float NormalizedHealth; + + public HealthSyncMessage(int networkId, float normalizedHealth) + { + NetworkId = networkId; + NormalizedHealth = normalizedHealth; + } + + public static byte[] Serialize(HealthSyncMessage message) + { + using var writer = new NetworkWriter(); + writer.Write(message.NetworkId); + writer.Write(message.NormalizedHealth); + return writer.ToArray(); + } + + public static HealthSyncMessage Deserialize(byte[] buffer) + { + using var reader = new NetworkReader(buffer); + int id = reader.ReadInt(); + float normalized = reader.ReadFloat(); + return new HealthSyncMessage(id, normalized); + } + } + + public readonly struct ProjectileSpawnMessage + { + public readonly int NetworkId; + public readonly int WeaponIndex; + public readonly Vector3 Position; + public readonly Vector3 Direction; + public readonly float Speed; + public readonly float Life; + public readonly float Damage; + + public ProjectileSpawnMessage(int networkId, int weaponIndex, Vector3 position, Vector3 direction, float speed, float life, float damage) + { + NetworkId = networkId; + WeaponIndex = weaponIndex; + Position = position; + Direction = direction; + Speed = speed; + Life = life; + Damage = damage; + } + + public static byte[] Serialize(ProjectileSpawnMessage message) + { + using var writer = new NetworkWriter(); + writer.Write(message.NetworkId); + writer.Write(message.WeaponIndex); + writer.Write(message.Position); + writer.Write(message.Direction); + writer.Write(message.Speed); + writer.Write(message.Life); + writer.Write(message.Damage); + return writer.ToArray(); + } + + public static ProjectileSpawnMessage Deserialize(byte[] buffer) + { + using var reader = new NetworkReader(buffer); + int networkId = reader.ReadInt(); + int index = reader.ReadInt(); + Vector3 position = reader.ReadVector3(); + Vector3 direction = reader.ReadVector3(); + float speed = reader.ReadFloat(); + float life = reader.ReadFloat(); + float damage = reader.ReadFloat(); + return new ProjectileSpawnMessage(networkId, index, position, direction, speed, life, damage); + } + } +} diff --git a/Game/Scripts/Networking/NetworkMessages.cs.meta b/Game/Scripts/Networking/NetworkMessages.cs.meta new file mode 100644 index 0000000..03b490a --- /dev/null +++ b/Game/Scripts/Networking/NetworkMessages.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 28ade96a26da5d9f693df8a5a80b0970 \ No newline at end of file diff --git a/Game/Scripts/Networking/NetworkSerialization.cs b/Game/Scripts/Networking/NetworkSerialization.cs new file mode 100644 index 0000000..62b27d5 --- /dev/null +++ b/Game/Scripts/Networking/NetworkSerialization.cs @@ -0,0 +1,116 @@ +using System; +using System.IO; +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + public sealed class NetworkWriter : IDisposable + { + private readonly MemoryStream stream; + private readonly BinaryWriter writer; + + public NetworkWriter(int capacity = 128) + { + stream = new MemoryStream(capacity); + writer = new BinaryWriter(stream); + } + + public void Write(byte value) => writer.Write(value); + public void Write(int value) => writer.Write(value); + public void Write(uint value) => writer.Write(value); + public void Write(short value) => writer.Write(value); + public void Write(ushort value) => writer.Write(value); + public void Write(long value) => writer.Write(value); + public void Write(ulong value) => writer.Write(value); + public void Write(float value) => writer.Write(value); + public void Write(bool value) => writer.Write(value); + + public void Write(Vector3 value) + { + writer.Write(value.x); + writer.Write(value.y); + writer.Write(value.z); + } + + public void Write(Quaternion value) + { + writer.Write(value.x); + writer.Write(value.y); + writer.Write(value.z); + writer.Write(value.w); + } + + public void Write(string value) => writer.Write(value ?? string.Empty); + + public byte[] ToArray() + { + writer.Flush(); + return stream.ToArray(); + } + + public void Dispose() + { + writer?.Dispose(); + stream?.Dispose(); + } + } + + public sealed class NetworkReader : IDisposable + { + private readonly MemoryStream stream; + private readonly BinaryReader reader; + + public NetworkReader(byte[] buffer) + { + stream = new MemoryStream(buffer ?? Array.Empty()); + reader = new BinaryReader(stream); + } + + public byte ReadByte() => reader.ReadByte(); + public bool ReadBool() => reader.ReadBoolean(); + public int ReadInt() => reader.ReadInt32(); + public uint ReadUInt() => reader.ReadUInt32(); + public short ReadShort() => reader.ReadInt16(); + public ushort ReadUShort() => reader.ReadUInt16(); + public long ReadLong() => reader.ReadInt64(); + public ulong ReadULong() => reader.ReadUInt64(); + public float ReadFloat() => reader.ReadSingle(); + + public Vector3 ReadVector3() + { + float x = reader.ReadSingle(); + float y = reader.ReadSingle(); + float z = reader.ReadSingle(); + return new Vector3(x, y, z); + } + + public Quaternion ReadQuaternion() + { + float x = reader.ReadSingle(); + float y = reader.ReadSingle(); + float z = reader.ReadSingle(); + float w = reader.ReadSingle(); + return new Quaternion(x, y, z, w); + } + + public string ReadString() => reader.ReadString(); + + public bool TryReadBytes(int length, out byte[] bytes) + { + if (length <= 0 || reader.BaseStream.Position + length > reader.BaseStream.Length) + { + bytes = Array.Empty(); + return false; + } + + bytes = reader.ReadBytes(length); + return true; + } + + public void Dispose() + { + reader?.Dispose(); + stream?.Dispose(); + } + } +} diff --git a/Game/Scripts/Networking/NetworkSerialization.cs.meta b/Game/Scripts/Networking/NetworkSerialization.cs.meta new file mode 100644 index 0000000..202a2b3 --- /dev/null +++ b/Game/Scripts/Networking/NetworkSerialization.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0303a875e193063078b4557274bb3c5a \ No newline at end of file diff --git a/Game/Scripts/Networking/SteamBootstrap.cs b/Game/Scripts/Networking/SteamBootstrap.cs new file mode 100644 index 0000000..d6da4c8 --- /dev/null +++ b/Game/Scripts/Networking/SteamBootstrap.cs @@ -0,0 +1,101 @@ +using Steamworks; +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + /// + /// Handles SteamAPI initialization and callback pumping. Place once in the initial scene. + /// + [DefaultExecutionOrder(-1000)] + public class SteamBootstrap : MonoBehaviour + { + private static bool isInitialized; + private static SteamBootstrap instance; + + public static bool IsInitialized => isInitialized; + + private void Awake() + { + if (instance != null) + { + Destroy(gameObject); + return; + } + + instance = this; + DontDestroyOnLoad(gameObject); + + TryInitializeSteam(); + } + + private void TryInitializeSteam() + { + if (isInitialized) + { + return; + } + + if (!Packsize.Test()) + { + Debug.LogError("[SteamBootstrap] Packsize Test returned false. Wrong Steamworks binaries for this platform?"); + return; + } + + if (!DllCheck.Test()) + { + Debug.LogError("[SteamBootstrap] DllCheck Test returned false. Missing Steamworks dependencies."); + return; + } + + try + { + isInitialized = SteamAPI.Init(); + } + catch (System.DllNotFoundException e) + { + Debug.LogError("[SteamBootstrap] Steamworks native binaries not found: " + e.Message); + isInitialized = false; + } + + if (!isInitialized) + { + Debug.LogError("[SteamBootstrap] Failed to initialize Steam API."); + } + else + { + Debug.Log("[SteamBootstrap] Steam API initialized for user " + SteamFriends.GetPersonaName()); + } + } + + private void Update() + { + if (!isInitialized) + { + return; + } + + SteamAPI.RunCallbacks(); + } + + private void OnDestroy() + { + if (instance == this) + { + ShutdownSteam(); + instance = null; + } + } + + private void ShutdownSteam() + { + if (!isInitialized) + { + return; + } + + SteamAPI.Shutdown(); + isInitialized = false; + Debug.Log("[SteamBootstrap] Steam API shutdown."); + } + } +} diff --git a/Game/Scripts/Networking/SteamBootstrap.cs.meta b/Game/Scripts/Networking/SteamBootstrap.cs.meta new file mode 100644 index 0000000..abce9b3 --- /dev/null +++ b/Game/Scripts/Networking/SteamBootstrap.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f741ec3a1d16461a98d02ec211293449 \ No newline at end of file diff --git a/Game/Scripts/Networking/SteamCharacterNetworkBridge.cs b/Game/Scripts/Networking/SteamCharacterNetworkBridge.cs new file mode 100644 index 0000000..b940e7f --- /dev/null +++ b/Game/Scripts/Networking/SteamCharacterNetworkBridge.cs @@ -0,0 +1,261 @@ +using Steamworks; +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + [DisallowMultipleComponent] + public class SteamCharacterNetworkBridge : MonoBehaviour + { + [Header("References")] + [SerializeField] private ThirdPersonCharacterController characterController; + [SerializeField] private NetworkIdentity identity; + [SerializeField] private Transform rootTransform; + [SerializeField] private NetworkCharacterInputProxy networkInputProxy; + + [Header("Settings")] + [SerializeField] private float transformBroadcastInterval = 0.05f; + [SerializeField] private float remoteLerpSpeed = 12f; + [SerializeField] private ulong ownerSteamId; + [SerializeField] private bool autoAssignOwnerToLocalPlayer = true; + + private SteamCoopNetworkManager networkManager; + private float broadcastTimer; + private bool isRegistered; + private bool isLocalPlayer; + private bool isAuthority; + + private Vector3 remoteTargetPosition; + private Quaternion remoteTargetRotation; + private Vector3 remoteTargetVelocity; + private bool haveRemoteState; + private bool localOverrideSet; + + public void AssignOwner(ulong steamId, bool localPlayer) + { + ownerSteamId = steamId; + isLocalPlayer = localPlayer; + localOverrideSet = true; + UpdateAuthority(); + ConfigureController(); + } + + public bool IsLocalPlayer => isLocalPlayer; + public bool IsAuthority => isAuthority; + + private void Awake() + { + if (characterController == null) + { + characterController = GetComponent(); + } + + if (identity == null) + { + identity = GetComponent(); + } + + if (rootTransform == null) + { + rootTransform = transform; + } + + if (networkInputProxy == null) + { + networkInputProxy = GetComponent(); + if (networkInputProxy == null) + { + networkInputProxy = gameObject.AddComponent(); + networkInputProxy.hideFlags = HideFlags.HideInInspector; + } + } + + remoteTargetPosition = rootTransform.position; + remoteTargetRotation = rootTransform.rotation; + } + + private void Start() + { + networkManager = SteamCoopNetworkManager.Instance; + UpdateAuthority(); + ConfigureController(); + } + + private void OnEnable() + { + networkManager = SteamCoopNetworkManager.Instance; + RegisterHandlers(); + } + + private void OnDisable() + { + UnregisterHandlers(); + } + + private void Update() + { + if (networkManager == null) + { + return; + } + + if (isAuthority) + { + broadcastTimer -= Time.deltaTime; + if (broadcastTimer <= 0f) + { + BroadcastTransform(); + broadcastTimer = transformBroadcastInterval; + } + } + else + { + if (haveRemoteState) + { + rootTransform.position = Vector3.Lerp(rootTransform.position, remoteTargetPosition, remoteLerpSpeed * Time.deltaTime); + rootTransform.rotation = Quaternion.Slerp(rootTransform.rotation, remoteTargetRotation, remoteLerpSpeed * Time.deltaTime); + } + } + } + + private void RegisterHandlers() + { + if (networkManager == null || isRegistered) + { + return; + } + + networkManager.RegisterHandler(NetworkMessageType.PlayerInput, HandlePlayerInputMessage); + networkManager.RegisterHandler(NetworkMessageType.CharacterTransform, HandleCharacterTransformMessage); + isRegistered = true; + } + + private void UnregisterHandlers() + { + if (networkManager == null || !isRegistered) + { + return; + } + + networkManager.UnregisterHandler(NetworkMessageType.PlayerInput, HandlePlayerInputMessage); + networkManager.UnregisterHandler(NetworkMessageType.CharacterTransform, HandleCharacterTransformMessage); + isRegistered = false; + } + + private void UpdateAuthority() + { + if (networkManager == null) + { + networkManager = SteamCoopNetworkManager.Instance; + } + + bool isHost = networkManager != null && networkManager.IsHost; + ulong localSteamId = SteamBootstrap.IsInitialized ? SteamUser.GetSteamID().m_SteamID : 0UL; + + if (!localOverrideSet && autoAssignOwnerToLocalPlayer && ownerSteamId == 0 && localSteamId != 0) + { + ownerSteamId = localSteamId; + } + + if (!localOverrideSet) + { + isLocalPlayer = ownerSteamId != 0 && ownerSteamId == localSteamId; + } + + isAuthority = isHost; // Host drives authoritative simulation. + } + + private void ConfigureController() + { + if (characterController == null) + { + return; + } + + if (isAuthority) + { + characterController.enabled = true; + characterController.SetInputSource(isLocalPlayer ? null : networkInputProxy); + } + else + { + characterController.enabled = false; + } + } + + private void BroadcastTransform() + { + if (identity == null) + { + return; + } + + var unityController = GetComponent(); + Vector3 velocity = unityController != null ? unityController.velocity : Vector3.zero; + var message = new CharacterTransformMessage(identity.NetworkId, rootTransform.position, rootTransform.rotation, velocity); + byte[] payload = CharacterTransformMessage.Serialize(message); + networkManager.SendToAll(NetworkMessageType.CharacterTransform, payload, EP2PSend.k_EP2PSendUnreliableNoDelay); + } + + private void HandlePlayerInputMessage(NetworkMessage message) + { + if (!isAuthority) + { + return; + } + + PlayerInputMessage inputMessage = PlayerInputMessage.Deserialize(message.Payload); + if (inputMessage.NetworkId != identity.NetworkId) + { + return; + } + + networkInputProxy.SetInput(inputMessage.MoveInput, inputMessage.JumpPressed); + } + + private void HandleCharacterTransformMessage(NetworkMessage message) + { + if (isAuthority) + { + return; + } + + CharacterTransformMessage transformMessage = CharacterTransformMessage.Deserialize(message.Payload); + if (transformMessage.NetworkId != identity.NetworkId) + { + return; + } + + remoteTargetPosition = transformMessage.Position; + remoteTargetRotation = transformMessage.Rotation; + remoteTargetVelocity = transformMessage.Velocity; + haveRemoteState = true; + } + + public void SendLocalInput(Vector2 moveInput, bool jump) + { + if (networkManager == null || identity == null) + { + return; + } + + var message = new PlayerInputMessage(identity.NetworkId, moveInput, jump, Vector2.zero); + byte[] payload = PlayerInputMessage.Serialize(message); + if (!networkManager.IsConnected || networkManager.IsHost) + { + // If we are host, feed directly. + HandlePlayerInputMessage(new NetworkMessage(NetworkMessageType.PlayerInput, payload, SteamUser.GetSteamID().m_SteamID)); + } + else + { + CSteamID lobby = networkManager.ActiveLobby; + CSteamID lobbyOwner = lobby != CSteamID.Nil ? SteamMatchmaking.GetLobbyOwner(lobby) : CSteamID.Nil; + if (lobbyOwner == CSteamID.Nil) + { + lobbyOwner = SteamUser.GetSteamID(); + } + + networkManager.SendToPlayer(lobbyOwner, NetworkMessageType.PlayerInput, payload, EP2PSend.k_EP2PSendUnreliableNoDelay); + } + } + } +} diff --git a/Game/Scripts/Networking/SteamCharacterNetworkBridge.cs.meta b/Game/Scripts/Networking/SteamCharacterNetworkBridge.cs.meta new file mode 100644 index 0000000..6b57f14 --- /dev/null +++ b/Game/Scripts/Networking/SteamCharacterNetworkBridge.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a010df74dca8515c3af51a9fc598af17 \ No newline at end of file diff --git a/Game/Scripts/Networking/SteamCoopNetworkManager.cs b/Game/Scripts/Networking/SteamCoopNetworkManager.cs new file mode 100644 index 0000000..893bbc5 --- /dev/null +++ b/Game/Scripts/Networking/SteamCoopNetworkManager.cs @@ -0,0 +1,165 @@ +using System; +using System.Collections.Generic; +using Steamworks; +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + /// + /// High level orchestrator for Steam lobby + P2P messaging. Keeps track of handlers per message type. + /// + [DisallowMultipleComponent] + public class SteamCoopNetworkManager : MonoBehaviour + { + public static SteamCoopNetworkManager Instance { get; private set; } + + [SerializeField] private SteamLobbyManager lobbyManager; + [SerializeField] private SteamP2PTransport p2pTransport; + + private readonly Dictionary> handlers = new(); + private bool isHost; + private bool isConnected; + + public bool IsHost => isHost; + public bool IsConnected => isConnected; + public CSteamID ActiveLobby => lobbyManager != null ? lobbyManager.GetActiveLobby() : CSteamID.Nil; + + private void Awake() + { + if (Instance != null) + { + Destroy(gameObject); + return; + } + + Instance = this; + DontDestroyOnLoad(gameObject); + + if (lobbyManager == null) + { + lobbyManager = GetComponentInChildren(); + } + + if (p2pTransport == null) + { + p2pTransport = GetComponentInChildren(); + } + + if (lobbyManager != null) + { + lobbyManager.LobbyCreated += HandleLobbyCreated; + lobbyManager.LobbyJoined += HandleLobbyJoined; + lobbyManager.LobbyMemberJoined += HandleLobbyMemberJoined; + lobbyManager.LobbyMemberLeft += HandleLobbyMemberLeft; + } + + if (p2pTransport != null) + { + p2pTransport.MessageReceived += DispatchMessage; + } + } + + private void OnDestroy() + { + if (Instance == this) + { + Instance = null; + } + + if (lobbyManager != null) + { + lobbyManager.LobbyCreated -= HandleLobbyCreated; + lobbyManager.LobbyJoined -= HandleLobbyJoined; + lobbyManager.LobbyMemberJoined -= HandleLobbyMemberJoined; + lobbyManager.LobbyMemberLeft -= HandleLobbyMemberLeft; + } + + if (p2pTransport != null) + { + p2pTransport.MessageReceived -= DispatchMessage; + } + } + + public void RegisterHandler(NetworkMessageType type, Action handler) + { + if (handlers.TryGetValue(type, out Action existing)) + { + existing += handler; + handlers[type] = existing; + } + else + { + handlers[type] = handler; + } + } + + public void UnregisterHandler(NetworkMessageType type, Action handler) + { + if (!handlers.TryGetValue(type, out Action existing)) + { + return; + } + + existing -= handler; + if (existing == null) + { + handlers.Remove(type); + } + else + { + handlers[type] = existing; + } + } + + public void SendToAll(NetworkMessageType type, byte[] payload, EP2PSend sendType = EP2PSend.k_EP2PSendReliable) + { + p2pTransport?.Broadcast(type, payload, sendType); + } + + public void SendToPlayer(CSteamID target, NetworkMessageType type, byte[] payload, EP2PSend sendType = EP2PSend.k_EP2PSendReliable) + { + p2pTransport?.Send(target, type, payload, sendType); + } + + private void DispatchMessage(NetworkMessage message) + { + if (handlers.TryGetValue(message.Type, out Action handler)) + { + handler?.Invoke(message); + } + } + + private void HandleLobbyCreated(CSteamID lobbyId) + { + isHost = true; + isConnected = true; + p2pTransport?.SetActiveLobby(lobbyId); + } + + private void HandleLobbyJoined(CSteamID lobbyId) + { + isConnected = true; + p2pTransport?.SetActiveLobby(lobbyId); + + string ownerId = SteamMatchmaking.GetLobbyData(lobbyId, "owner"); + if (!string.IsNullOrEmpty(ownerId) && ulong.TryParse(ownerId, out ulong ownerSteamId)) + { + isHost = ownerSteamId == SteamUser.GetSteamID().m_SteamID; + } + else + { + isHost = SteamMatchmaking.GetLobbyOwner(lobbyId) == SteamUser.GetSteamID(); + } + } + + private void HandleLobbyMemberJoined(CSteamID member) + { + Debug.Log("[SteamCoopNetworkManager] Member joined: " + member); + } + + private void HandleLobbyMemberLeft(CSteamID member) + { + Debug.Log("[SteamCoopNetworkManager] Member left: " + member); + } + } +} diff --git a/Game/Scripts/Networking/SteamCoopNetworkManager.cs.meta b/Game/Scripts/Networking/SteamCoopNetworkManager.cs.meta new file mode 100644 index 0000000..720f2a1 --- /dev/null +++ b/Game/Scripts/Networking/SteamCoopNetworkManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 83320aed3c99a87b692932447a34631e \ No newline at end of file diff --git a/Game/Scripts/Networking/SteamHealthNetworkBridge.cs b/Game/Scripts/Networking/SteamHealthNetworkBridge.cs new file mode 100644 index 0000000..0cec40d --- /dev/null +++ b/Game/Scripts/Networking/SteamHealthNetworkBridge.cs @@ -0,0 +1,89 @@ +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + [DisallowMultipleComponent] + public class SteamHealthNetworkBridge : MonoBehaviour + { + [SerializeField] private Combat.Health health; + [SerializeField] private NetworkIdentity identity; + + private SteamCoopNetworkManager networkManager; + private bool isRegistered; + + private void Awake() + { + if (health == null) + { + health = GetComponent(); + } + + if (identity == null) + { + identity = GetComponent(); + } + } + + private void OnEnable() + { + networkManager = SteamCoopNetworkManager.Instance; + if (networkManager != null) + { + networkManager.RegisterHandler(NetworkMessageType.HealthSync, HandleHealthSync); + isRegistered = true; + } + + if (health != null) + { + health.NormalizedHealthChanged += OnHealthChanged; + } + } + + private void OnDisable() + { + if (isRegistered && networkManager != null) + { + networkManager.UnregisterHandler(NetworkMessageType.HealthSync, HandleHealthSync); + isRegistered = false; + } + + if (health != null) + { + health.NormalizedHealthChanged -= OnHealthChanged; + } + } + + private bool IsAuthority() + { + return networkManager == null || networkManager.IsHost; + } + + private void OnHealthChanged(float normalized) + { + if (!IsAuthority() || identity == null) + { + return; + } + + var message = new HealthSyncMessage(identity.NetworkId, normalized); + byte[] payload = HealthSyncMessage.Serialize(message); + networkManager.SendToAll(NetworkMessageType.HealthSync, payload, Steamworks.EP2PSend.k_EP2PSendReliable); + } + + private void HandleHealthSync(NetworkMessage message) + { + if (IsAuthority() || identity == null || health == null) + { + return; + } + + HealthSyncMessage syncMessage = HealthSyncMessage.Deserialize(message.Payload); + if (syncMessage.NetworkId != identity.NetworkId) + { + return; + } + + health.ForceSetNormalizedHealth(syncMessage.NormalizedHealth); + } + } +} diff --git a/Game/Scripts/Networking/SteamHealthNetworkBridge.cs.meta b/Game/Scripts/Networking/SteamHealthNetworkBridge.cs.meta new file mode 100644 index 0000000..4875394 --- /dev/null +++ b/Game/Scripts/Networking/SteamHealthNetworkBridge.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: a55005e32d7c7fdd89d4c15872d0466d \ No newline at end of file diff --git a/Game/Scripts/Networking/SteamLobbyManager.cs b/Game/Scripts/Networking/SteamLobbyManager.cs new file mode 100644 index 0000000..703572b --- /dev/null +++ b/Game/Scripts/Networking/SteamLobbyManager.cs @@ -0,0 +1,116 @@ +using System; +using Steamworks; +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + /// + /// Wraps Steam lobby creation and join logic for cooperative sessions. + /// + [DisallowMultipleComponent] + public class SteamLobbyManager : MonoBehaviour + { + [SerializeField] private int maxPlayers = 4; + + public event Action LobbyDataUpdated; + public event Action LobbyCreated; + public event Action LobbyJoined; + public event Action LobbyMemberJoined; + public event Action LobbyMemberLeft; + + private Callback lobbyCreatedCallback; + private Callback lobbyEnterCallback; + private Callback lobbyDataUpdateCallback; + private Callback lobbyChatUpdateCallback; + + private CSteamID activeLobbyId; + + private void OnEnable() + { + lobbyCreatedCallback = Callback.Create(OnLobbyCreated); + lobbyEnterCallback = Callback.Create(OnLobbyEntered); + lobbyDataUpdateCallback = Callback.Create(OnLobbyDataUpdated); + lobbyChatUpdateCallback = Callback.Create(OnLobbyChatUpdate); + } + + private void OnDisable() + { + lobbyCreatedCallback?.Dispose(); + lobbyEnterCallback?.Dispose(); + lobbyDataUpdateCallback?.Dispose(); + lobbyChatUpdateCallback?.Dispose(); + } + + public void HostLobby(string lobbyName) + { + if (!SteamBootstrap.IsInitialized || !SteamAPI.IsSteamRunning()) + { + Debug.LogWarning("[SteamLobbyManager] Steam is not initialized; cannot create lobby."); + return; + } + + SteamMatchmaking.CreateLobby(ELobbyType.k_ELobbyTypePublic, Mathf.Max(2, maxPlayers)); + pendingLobbyName = lobbyName; + } + + public void JoinLobby(CSteamID lobbyId) + { + if (!SteamBootstrap.IsInitialized || !SteamAPI.IsSteamRunning()) + { + Debug.LogWarning("[SteamLobbyManager] Steam not running; cannot join lobby."); + return; + } + + SteamMatchmaking.JoinLobby(lobbyId); + } + + public CSteamID GetActiveLobby() => activeLobbyId; + + private string pendingLobbyName; + + private void OnLobbyCreated(LobbyCreated_t callback) + { + if (callback.m_eResult != EResult.k_EResultOK) + { + Debug.LogError("[SteamLobbyManager] Lobby creation failed: " + callback.m_eResult); + return; + } + + activeLobbyId = new CSteamID(callback.m_ulSteamIDLobby); + SteamMatchmaking.SetLobbyData(activeLobbyId, "name", string.IsNullOrEmpty(pendingLobbyName) ? "MegaKoop Lobby" : pendingLobbyName); + SteamMatchmaking.SetLobbyData(activeLobbyId, "owner", SteamUser.GetSteamID().ToString()); + LobbyCreated?.Invoke(activeLobbyId); + Debug.Log("[SteamLobbyManager] Lobby created " + activeLobbyId); + } + + private void OnLobbyEntered(LobbyEnter_t callback) + { + activeLobbyId = new CSteamID(callback.m_ulSteamIDLobby); + LobbyJoined?.Invoke(activeLobbyId); + Debug.Log("[SteamLobbyManager] Entered lobby " + activeLobbyId); + } + + private void OnLobbyDataUpdated(LobbyDataUpdate_t callback) + { + LobbyDataUpdated?.Invoke(callback); + } + + private void OnLobbyChatUpdate(LobbyChatUpdate_t callback) + { + CSteamID lobby = new CSteamID(callback.m_ulSteamIDLobby); + CSteamID changedUser = new CSteamID(callback.m_ulSteamIDUserChanged); + + EChatMemberStateChange stateChange = (EChatMemberStateChange)callback.m_rgfChatMemberStateChange; + + if ((stateChange & EChatMemberStateChange.k_EChatMemberStateChangeEntered) != 0) + { + LobbyMemberJoined?.Invoke(changedUser); + } + + if ((stateChange & (EChatMemberStateChange.k_EChatMemberStateChangeLeft | EChatMemberStateChange.k_EChatMemberStateChangeDisconnected | EChatMemberStateChange.k_EChatMemberStateChangeKicked | EChatMemberStateChange.k_EChatMemberStateChangeBanned)) != 0) + { + LobbyMemberLeft?.Invoke(changedUser); + } + } + } +} diff --git a/Game/Scripts/Networking/SteamLobbyManager.cs.meta b/Game/Scripts/Networking/SteamLobbyManager.cs.meta new file mode 100644 index 0000000..8d8f152 --- /dev/null +++ b/Game/Scripts/Networking/SteamLobbyManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 468b0a865fb2a0b0181db1c60d4e0ea9 \ No newline at end of file diff --git a/Game/Scripts/Networking/SteamLocalInputSender.cs b/Game/Scripts/Networking/SteamLocalInputSender.cs new file mode 100644 index 0000000..4835a4e --- /dev/null +++ b/Game/Scripts/Networking/SteamLocalInputSender.cs @@ -0,0 +1,44 @@ +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + [DisallowMultipleComponent] + public class SteamLocalInputSender : MonoBehaviour + { + [SerializeField] private SteamCharacterNetworkBridge characterNetwork; + [SerializeField] private float sendInterval = 0.05f; + + private float sendTimer; + + private void Awake() + { + if (characterNetwork == null) + { + characterNetwork = GetComponent(); + } + } + + private void Update() + { + if (characterNetwork == null) + { + return; + } + + if (!characterNetwork.IsLocalPlayer || characterNetwork.IsAuthority) + { + return; + } + + sendTimer -= Time.deltaTime; + Vector2 moveInput = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical")); + bool jumpPressed = Input.GetButtonDown("Jump"); + + if (sendTimer <= 0f || jumpPressed) + { + characterNetwork.SendLocalInput(moveInput, jumpPressed); + sendTimer = sendInterval; + } + } + } +} diff --git a/Game/Scripts/Networking/SteamLocalInputSender.cs.meta b/Game/Scripts/Networking/SteamLocalInputSender.cs.meta new file mode 100644 index 0000000..075c7ac --- /dev/null +++ b/Game/Scripts/Networking/SteamLocalInputSender.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 07c0ee7fbf4c1edaf9992cf139839928 \ No newline at end of file diff --git a/Game/Scripts/Networking/SteamP2PTransport.cs b/Game/Scripts/Networking/SteamP2PTransport.cs new file mode 100644 index 0000000..b321a36 --- /dev/null +++ b/Game/Scripts/Networking/SteamP2PTransport.cs @@ -0,0 +1,114 @@ +using System; +using Steamworks; +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + /// + /// Low level Steam P2P messaging helper. Prepends a byte message type header for easy routing. + /// + public class SteamP2PTransport : MonoBehaviour + { + public event Action MessageReceived; + + [SerializeField] private EP2PSend defaultSendType = EP2PSend.k_EP2PSendReliable; + [SerializeField] private int listenChannel = 0; + + private byte[] receiveBuffer = new byte[8192]; + private CSteamID activeLobby = CSteamID.Nil; + + private void Update() + { + if (!SteamBootstrap.IsInitialized) + { + return; + } + + PumpIncomingPackets(); + } + + public void SetActiveLobby(CSteamID lobbyId) + { + activeLobby = lobbyId; + } + + public void Send(CSteamID recipient, NetworkMessageType type, byte[] payload, EP2PSend sendType = EP2PSend.k_EP2PSendReliable) + { + if (!SteamBootstrap.IsInitialized) + { + return; + } + + int payloadLength = payload != null ? payload.Length : 0; + byte[] packet = new byte[payloadLength + 1]; + packet[0] = (byte)type; + if (payloadLength > 0) + { + Buffer.BlockCopy(payload, 0, packet, 1, payloadLength); + } + + bool sent = SteamNetworking.SendP2PPacket(recipient, packet, (uint)packet.Length, sendType, listenChannel); + if (!sent) + { + Debug.LogWarning("[SteamP2PTransport] Failed to send packet to " + recipient); + } + } + + public void Broadcast(NetworkMessageType type, byte[] payload, EP2PSend sendType = EP2PSend.k_EP2PSendReliable) + { + if (activeLobby == CSteamID.Nil) + { + return; + } + + int members = SteamMatchmaking.GetNumLobbyMembers(activeLobby); + CSteamID self = SteamUser.GetSteamID(); + + for (int i = 0; i < members; i++) + { + CSteamID member = SteamMatchmaking.GetLobbyMemberByIndex(activeLobby, i); + if (member == self) + { + continue; + } + + Send(member, type, payload, sendType); + } + } + + private void PumpIncomingPackets() + { + while (SteamNetworking.IsP2PPacketAvailable(out uint packetSize, listenChannel)) + { + if (packetSize == 0) + { + continue; + } + + if (packetSize > receiveBuffer.Length) + { + receiveBuffer = new byte[(int)packetSize]; + } + + if (SteamNetworking.ReadP2PPacket(receiveBuffer, (uint)receiveBuffer.Length, out uint bytesRead, out CSteamID remote, listenChannel)) + { + SteamNetworking.AcceptP2PSessionWithUser(remote); + + if (bytesRead == 0) + { + continue; + } + + NetworkMessageType type = (NetworkMessageType)receiveBuffer[0]; + byte[] payload = new byte[Mathf.Max(0, (int)bytesRead - 1)]; + if (bytesRead > 1) + { + Buffer.BlockCopy(receiveBuffer, 1, payload, 0, (int)bytesRead - 1); + } + + MessageReceived?.Invoke(new NetworkMessage(type, payload, remote.m_SteamID)); + } + } + } + } +} diff --git a/Game/Scripts/Networking/SteamP2PTransport.cs.meta b/Game/Scripts/Networking/SteamP2PTransport.cs.meta new file mode 100644 index 0000000..6685613 --- /dev/null +++ b/Game/Scripts/Networking/SteamP2PTransport.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: c3923950963f6f6a98a81fda48267e6e \ No newline at end of file diff --git a/Game/Scripts/Networking/SteamWeaponNetworkBridge.cs b/Game/Scripts/Networking/SteamWeaponNetworkBridge.cs new file mode 100644 index 0000000..a37964b --- /dev/null +++ b/Game/Scripts/Networking/SteamWeaponNetworkBridge.cs @@ -0,0 +1,128 @@ +using MegaKoop.Game.WeaponSystem; +using Steamworks; +using UnityEngine; + +namespace MegaKoop.Game.Networking +{ + [DisallowMultipleComponent] + public class SteamWeaponNetworkBridge : MonoBehaviour + { + [SerializeField] private WeaponController weaponController; + [SerializeField] private NetworkIdentity identity; + [SerializeField] private bool disableLocalFiringWhenClient = true; + + private SteamCoopNetworkManager networkManager; + private bool isRegistered; + + private void Awake() + { + networkManager = SteamCoopNetworkManager.Instance; + + if (weaponController == null) + { + weaponController = GetComponent(); + } + + if (identity == null) + { + identity = GetComponent(); + } + } + + private void OnEnable() + { + if (weaponController == null || identity == null) + { + Debug.LogWarning("[SteamWeaponNetworkBridge] Missing references."); + return; + } + + if (networkManager == null) + { + networkManager = SteamCoopNetworkManager.Instance; + } + + if (networkManager != null) + { + networkManager.RegisterHandler(NetworkMessageType.ProjectileSpawn, HandleProjectileSpawnMessage); + isRegistered = true; + } + + weaponController.ProjectileSpawned += OnProjectileSpawned; + + if (!IsAuthoritative() && disableLocalFiringWhenClient) + { + weaponController.enabled = false; + } + } + + private void OnDisable() + { + if (weaponController != null) + { + weaponController.ProjectileSpawned -= OnProjectileSpawned; + + if (!IsAuthoritative() && disableLocalFiringWhenClient) + { + weaponController.enabled = true; + } + } + + if (isRegistered && networkManager != null) + { + networkManager.UnregisterHandler(NetworkMessageType.ProjectileSpawn, HandleProjectileSpawnMessage); + isRegistered = false; + } + } + + private bool IsAuthoritative() + { + if (networkManager == null) + { + return true; + } + + return networkManager.IsHost; + } + + private void OnProjectileSpawned(WeaponController.ProjectileSpawnEvent spawnEvent) + { + if (!IsAuthoritative()) + { + return; + } + + if (networkManager == null) + { + return; + } + + var message = new ProjectileSpawnMessage(identity.NetworkId, spawnEvent.WeaponIndex, spawnEvent.Position, spawnEvent.Direction, spawnEvent.Speed, spawnEvent.Lifetime, spawnEvent.Damage); + byte[] payload = ProjectileSpawnMessage.Serialize(message); + networkManager.SendToAll(NetworkMessageType.ProjectileSpawn, payload, EP2PSend.k_EP2PSendUnreliableNoDelay); + } + + private void HandleProjectileSpawnMessage(NetworkMessage message) + { + if (message.Sender == SteamUser.GetSteamID().m_SteamID) + { + // Ignore our own echo. + return; + } + + ProjectileSpawnMessage spawnMessage = ProjectileSpawnMessage.Deserialize(message.Payload); + if (spawnMessage.NetworkId != identity.NetworkId) + { + return; + } + + if (IsAuthoritative()) + { + // Host already spawned real projectile, don't duplicate. + return; + } + + weaponController.SpawnNetworkProjectile(spawnMessage.WeaponIndex, spawnMessage.Position, spawnMessage.Direction, spawnMessage.Speed, spawnMessage.Life, spawnMessage.Damage); + } + } +} diff --git a/Game/Scripts/Networking/SteamWeaponNetworkBridge.cs.meta b/Game/Scripts/Networking/SteamWeaponNetworkBridge.cs.meta new file mode 100644 index 0000000..2559cbb --- /dev/null +++ b/Game/Scripts/Networking/SteamWeaponNetworkBridge.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: dad61aa7b24bddb6b9add5a461263779 \ No newline at end of file diff --git a/Game/Scripts/ThirdPersonCamera.cs b/Game/Scripts/ThirdPersonCamera.cs new file mode 100644 index 0000000..7a1361b --- /dev/null +++ b/Game/Scripts/ThirdPersonCamera.cs @@ -0,0 +1,204 @@ +using UnityEngine; + +namespace MegaKoop.Game +{ + public class ThirdPersonCamera : MonoBehaviour + { + [Header("Target")] + [SerializeField] private Transform target; + [SerializeField] private Vector3 focusOffset = new Vector3(0f, 1.6f, 0f); + + [Header("Orbit")] + [SerializeField] private float mouseSensitivity = 180f; + [SerializeField] private float minPitch = -35f; + [SerializeField] private float maxPitch = 75f; + [SerializeField] private float rotationSmoothTime = 0.1f; + + [Header("Distance")] + [SerializeField] private float distance = 5f; + [SerializeField] private float minDistance = 2f; + [SerializeField] private float maxDistance = 8f; + [SerializeField] private float zoomSpeed = 4f; + [SerializeField] private float distanceSmoothTime = 0.1f; + + [Header("Collision")] + [SerializeField] private float obstructionRadius = 0.25f; + [SerializeField] private LayerMask obstructionMask = ~0; + [SerializeField] private float obstructionBuffer = 0.1f; + + [Header("Cursor")] + [SerializeField] private bool lockCursor = true; + + private Vector2 orbitAngles = new Vector2(20f, 0f); + private Vector2 currentOrbitAngles; + private float pitchVelocity; + private float yawVelocity; + private float desiredDistance; + private float distanceVelocity; + private static readonly RaycastHit[] ObstructionHits = new RaycastHit[8]; + + private void OnEnable() + { + desiredDistance = Mathf.Clamp(distance, minDistance, maxDistance); + distance = desiredDistance; + currentOrbitAngles = orbitAngles; + pitchVelocity = yawVelocity = 0f; + + if (lockCursor) + { + Cursor.lockState = CursorLockMode.Locked; + Cursor.visible = false; + } + } + + private void OnDisable() + { + if (lockCursor) + { + Cursor.lockState = CursorLockMode.None; + Cursor.visible = true; + } + } + + private void LateUpdate() + { + if (target == null) + { + return; + } + + float deltaTime = Time.deltaTime; + ReadOrbitInput(deltaTime); + ReadZoomInput(); + + if (rotationSmoothTime <= 0f) + { + currentOrbitAngles = orbitAngles; + pitchVelocity = yawVelocity = 0f; + } + else + { + currentOrbitAngles.x = Mathf.SmoothDamp(currentOrbitAngles.x, orbitAngles.x, ref pitchVelocity, rotationSmoothTime, Mathf.Infinity, deltaTime); + currentOrbitAngles.y = Mathf.SmoothDamp(currentOrbitAngles.y, orbitAngles.y, ref yawVelocity, rotationSmoothTime, Mathf.Infinity, deltaTime); + } + Quaternion lookRotation = Quaternion.Euler(currentOrbitAngles.x, currentOrbitAngles.y, 0f); + + Vector3 focusPoint = target.TransformPoint(focusOffset); + float smoothedDistance; + if (distanceSmoothTime <= 0f) + { + distanceVelocity = 0f; + smoothedDistance = desiredDistance; + } + else + { + smoothedDistance = Mathf.SmoothDamp(distance, desiredDistance, ref distanceVelocity, distanceSmoothTime, Mathf.Infinity, deltaTime); + } + float unobstructedDistance = smoothedDistance; + float adjustedDistance = ResolveObstructions(focusPoint, lookRotation, unobstructedDistance); + float finalDistance = Mathf.Min(unobstructedDistance, adjustedDistance); + Vector3 finalPosition = focusPoint - lookRotation * Vector3.forward * finalDistance; + + transform.SetPositionAndRotation(finalPosition, lookRotation); + distance = finalDistance; + } + + private void ReadOrbitInput(float deltaTime) + { + float lookX = Input.GetAxis("Mouse X"); + float lookY = Input.GetAxis("Mouse Y"); + + if (Mathf.Abs(lookX) > 0.0001f || Mathf.Abs(lookY) > 0.0001f) + { + orbitAngles.y += lookX * mouseSensitivity * deltaTime; + orbitAngles.x -= lookY * mouseSensitivity * deltaTime; + orbitAngles.x = Mathf.Clamp(orbitAngles.x, minPitch, maxPitch); + } + } + + private void ReadZoomInput() + { + float scroll = Input.GetAxis("Mouse ScrollWheel"); + if (Mathf.Abs(scroll) > 0.0001f) + { + desiredDistance = Mathf.Clamp(desiredDistance - scroll * zoomSpeed, minDistance, maxDistance); + } + else + { + desiredDistance = Mathf.Clamp(desiredDistance, minDistance, maxDistance); + } + } + + private float ResolveObstructions(Vector3 focusPoint, Quaternion lookRotation, float targetDistance) + { + if (targetDistance <= 0.001f) + { + return targetDistance; + } + + Vector3 direction = lookRotation * Vector3.back; + int hitCount = Physics.SphereCastNonAlloc(focusPoint, obstructionRadius, direction, ObstructionHits, targetDistance, obstructionMask, QueryTriggerInteraction.Ignore); + + if (hitCount == 0) + { + return targetDistance; + } + + float closestDistance = targetDistance; + + for (int i = 0; i < hitCount; i++) + { + RaycastHit hit = ObstructionHits[i]; + if (hit.collider == null) + { + continue; + } + + Transform hitTransform = hit.collider.transform; + if (target != null && (hitTransform == target || hitTransform.IsChildOf(target))) + { + continue; + } + + if (hit.distance < closestDistance) + { + closestDistance = Mathf.Max(0f, hit.distance - obstructionBuffer); + } + } + + return closestDistance; + } + + public void SetTarget(Transform newTarget) + { + target = newTarget; + } + + private void OnValidate() + { + minPitch = Mathf.Clamp(minPitch, -89f, 89f); + maxPitch = Mathf.Clamp(maxPitch, -89f, 89f); + if (maxPitch < minPitch) + { + float temp = maxPitch; + maxPitch = minPitch; + minPitch = temp; + } + + mouseSensitivity = Mathf.Max(0f, mouseSensitivity); + zoomSpeed = Mathf.Max(0f, zoomSpeed); + obstructionRadius = Mathf.Max(0f, obstructionRadius); + obstructionBuffer = Mathf.Clamp(obstructionBuffer, 0f, 1f); + rotationSmoothTime = Mathf.Max(0f, rotationSmoothTime); + distanceSmoothTime = Mathf.Max(0f, distanceSmoothTime); + + minDistance = Mathf.Max(0.1f, minDistance); + maxDistance = Mathf.Max(minDistance, maxDistance); + distance = Mathf.Clamp(distance, minDistance, maxDistance); + desiredDistance = Mathf.Clamp(distance, minDistance, maxDistance); + + currentOrbitAngles = orbitAngles; + pitchVelocity = yawVelocity = 0f; + } + } +} diff --git a/Game/Scripts/ThirdPersonCamera.cs.meta b/Game/Scripts/ThirdPersonCamera.cs.meta new file mode 100644 index 0000000..e16b496 --- /dev/null +++ b/Game/Scripts/ThirdPersonCamera.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e3ecae0254451c2888cfe94f7a8e825d \ No newline at end of file diff --git a/Game/Scripts/ThirdPersonCharacterController.cs b/Game/Scripts/ThirdPersonCharacterController.cs new file mode 100644 index 0000000..6c50457 --- /dev/null +++ b/Game/Scripts/ThirdPersonCharacterController.cs @@ -0,0 +1,196 @@ +using UnityEngine; + +namespace MegaKoop.Game +{ + [RequireComponent(typeof(UnityEngine.CharacterController))] + public class ThirdPersonCharacterController : MonoBehaviour + { + [Header("Movement")] + [SerializeField] private float moveSpeed = 5f; + [SerializeField] private float rotationSharpness = 12f; + + [Header("Air Control")] + [SerializeField] private float airControlResponsiveness = 50f; + + [Header("Jump")] + [SerializeField] private float jumpHeight = 1.6f; + [SerializeField] private float gravity = -20f; + [SerializeField] private float groundedGravity = -5f; + + [Header("Camera Reference")] + [SerializeField] private Transform cameraTransform; + + private UnityEngine.CharacterController characterController; + private Vector3 planarVelocity; + private float verticalVelocity; + private bool isGrounded; + private MegaKoop.Game.Networking.ICharacterInputSource inputSource; + + private void Awake() + { + characterController = GetComponent(); + + if (cameraTransform == null) + { + Camera mainCamera = Camera.main; + if (mainCamera != null) + { + cameraTransform = mainCamera.transform; + } + } + + isGrounded = characterController.isGrounded; + if (isGrounded) + { + verticalVelocity = groundedGravity; + } + } + + private void Update() + { + Vector2 moveInput = ReadMovementInput(); + Vector3 desiredMove = CalculateDesiredMove(moveInput); + bool hasMoveInput = desiredMove.sqrMagnitude > 0f; + + UpdatePlanarVelocity(desiredMove, hasMoveInput); + TryRotateTowardsMovement(desiredMove, hasMoveInput); + + UpdateGroundedStateBeforeGravity(); + HandleJumpInput(); + ApplyGravity(); + + Vector3 velocity = planarVelocity; + velocity.y = verticalVelocity; + + CollisionFlags collisionFlags = characterController.Move(velocity * Time.deltaTime); + isGrounded = (collisionFlags & CollisionFlags.Below) != 0; + + if (isGrounded && verticalVelocity < 0f) + { + verticalVelocity = groundedGravity; + } + } + + public void SetInputSource(MegaKoop.Game.Networking.ICharacterInputSource source) + { + inputSource = source; + } + + private Vector2 ReadMovementInput() + { + if (inputSource != null) + { + Vector2 sourceInput = inputSource.MoveInput; + return Vector2.ClampMagnitude(sourceInput, 1f); + } + + float horizontal = Input.GetAxisRaw("Horizontal"); + float vertical = Input.GetAxisRaw("Vertical"); + Vector2 input = new Vector2(horizontal, vertical); + input = Vector2.ClampMagnitude(input, 1f); + return input; + } + + private Vector3 CalculateDesiredMove(Vector2 input) + { + Vector3 forward = Vector3.forward; + Vector3 right = Vector3.right; + + if (cameraTransform != null) + { + forward = cameraTransform.forward; + right = cameraTransform.right; + } + + forward.y = 0f; + right.y = 0f; + + forward.Normalize(); + right.Normalize(); + + Vector3 desiredMove = forward * input.y + right * input.x; + if (desiredMove.sqrMagnitude > 1f) + { + desiredMove.Normalize(); + } + + return desiredMove; + } + + private void UpdatePlanarVelocity(Vector3 desiredMove, bool hasMoveInput) + { + if (isGrounded) + { + planarVelocity = hasMoveInput ? desiredMove * moveSpeed : Vector3.zero; + return; + } + + if (airControlResponsiveness <= 0f) + { + return; + } + + Vector3 targetVelocity = hasMoveInput ? desiredMove * moveSpeed : Vector3.zero; + float maxDelta = airControlResponsiveness * Time.deltaTime; + planarVelocity = Vector3.MoveTowards(planarVelocity, targetVelocity, maxDelta); + } + + private void TryRotateTowardsMovement(Vector3 desiredMove, bool hasMoveInput) + { + if (!hasMoveInput) + { + return; + } + + Quaternion targetRotation = Quaternion.LookRotation(desiredMove, Vector3.up); + transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, rotationSharpness * Time.deltaTime); + } + + private void UpdateGroundedStateBeforeGravity() + { + if (isGrounded && verticalVelocity < 0f) + { + verticalVelocity = groundedGravity; + } + } + + private void HandleJumpInput() + { + if (!isGrounded) + { + return; + } + + if (ShouldJumpThisFrame()) + { + verticalVelocity = Mathf.Sqrt(jumpHeight * -2f * gravity); + isGrounded = false; + } + } + + private bool ShouldJumpThisFrame() + { + if (inputSource != null) + { + return inputSource.JumpPressed; + } + + return Input.GetButtonDown("Jump"); + } + + private void ApplyGravity() + { + verticalVelocity += gravity * Time.deltaTime; + } + + private void OnValidate() + { + moveSpeed = Mathf.Max(0f, moveSpeed); + rotationSharpness = Mathf.Max(0f, rotationSharpness); + jumpHeight = Mathf.Max(0f, jumpHeight); + airControlResponsiveness = Mathf.Max(0f, airControlResponsiveness); + gravity = Mathf.Min(-0.01f, gravity); + groundedGravity = Mathf.Clamp(groundedGravity, gravity, 0f); + } + } +} diff --git a/Game/Scripts/ThirdPersonCharacterController.cs.meta b/Game/Scripts/ThirdPersonCharacterController.cs.meta new file mode 100644 index 0000000..6bd5697 --- /dev/null +++ b/Game/Scripts/ThirdPersonCharacterController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9309e1c5110afc714b0b9b9d10323469 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Scripts/UI.meta b/Game/Scripts/UI.meta new file mode 100644 index 0000000..d26564c --- /dev/null +++ b/Game/Scripts/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ee0194cba591c20dfa044c4c9c8e595f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Scripts/UI/FontAssetPreloader.cs b/Game/Scripts/UI/FontAssetPreloader.cs new file mode 100644 index 0000000..aa359b0 --- /dev/null +++ b/Game/Scripts/UI/FontAssetPreloader.cs @@ -0,0 +1,41 @@ +using UnityEngine; +using UnityEngine.TextCore.Text; + +namespace MegaKoop.Game.UI +{ + /// + /// Preloads required characters into dynamic font atlases on the main thread to avoid runtime race conditions. + /// Attach once to a bootstrap GameObject and assign all UI font assets used by UITK. + /// + public sealed class FontAssetPreloader : MonoBehaviour + { + [SerializeField] private FontAsset[] fontAssets; + [SerializeField, TextArea(1, 4)] private string charactersToPreload = "…•-"; + + private System.Collections.IEnumerator Start() + { + if (fontAssets == null || fontAssets.Length == 0) + { + yield break; + } + + // Wait one frame to ensure the scene finished loading on the main thread. + yield return null; + + foreach (FontAsset asset in fontAssets) + { + if (asset == null) + { + continue; + } + + // Try to add characters that are commonly generated at runtime (ellipsis, bullets, dashes, etc.). + bool allAdded = asset.TryAddCharacters(charactersToPreload, out string missingCharacters); + if (!allAdded && !string.IsNullOrEmpty(missingCharacters)) + { + Debug.LogWarning($"[FontAssetPreloader] Missing glyphs '{missingCharacters}' in font '{asset.name}'. Consider adding a fallback font."); + } + } + } + } +} diff --git a/Game/Scripts/UI/FontAssetPreloader.cs.meta b/Game/Scripts/UI/FontAssetPreloader.cs.meta new file mode 100644 index 0000000..cd554d9 --- /dev/null +++ b/Game/Scripts/UI/FontAssetPreloader.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5f85fa1035779f1bbba9cd75923e55d0 \ No newline at end of file diff --git a/Game/Scripts/WeaponController.cs b/Game/Scripts/WeaponController.cs new file mode 100644 index 0000000..1ef42bb --- /dev/null +++ b/Game/Scripts/WeaponController.cs @@ -0,0 +1,534 @@ +using System; +using System.Collections.Generic; +using MegaKoop.Game.Combat; +using MegaKoop.Game.WeaponSystem; +using UnityEngine; +using Random = UnityEngine.Random; + +namespace MegaKoop.Game.WeaponSystem +{ + [DisallowMultipleComponent] + public class WeaponController : MonoBehaviour + { + [Header("Ownership")] + [SerializeField] private Team ownerTeam = Team.Heroes; + [SerializeField] private Transform weaponSocket; + + [Header("Targeting")] + [SerializeField] private float acquisitionRadius = 30f; + [SerializeField] private float retargetInterval = 0.25f; + [SerializeField] private LayerMask targetMask = Physics.DefaultRaycastLayers; + [SerializeField] private LayerMask lineOfSightMask = Physics.DefaultRaycastLayers; + [SerializeField] private bool requireLineOfSight = true; + + [Header("Loadout")] + [SerializeField] private WeaponDefinition[] startingWeapons; + [SerializeField] private bool autoFire = true; + + private static readonly RaycastHit[] LineOfSightHitsBuffer = new RaycastHit[8]; + + private readonly List equippedWeapons = new(); + private readonly HashSet ignoredOwnerColliders = new(); + + public event Action ProjectileSpawned; + + private float maxWeaponRange; + private float retargetTimer; + private TargetInfo currentTarget; + private bool hasTarget; + private Collider[] ownerColliders; + private Health ownerHealth; + + private void Awake() + { + ownerHealth = GetComponent(); + if (ownerHealth != null) + { + ownerTeam = ownerHealth.Team; + } + + ownerColliders = GetComponentsInChildren(); + if (ownerColliders != null) + { + for (int i = 0; i < ownerColliders.Length; i++) + { + Collider ownerCollider = ownerColliders[i]; + if (ownerCollider == null) + { + continue; + } + + ignoredOwnerColliders.Add(ownerCollider); + } + } + } + + private void Start() + { + if (weaponSocket == null) + { + weaponSocket = transform; + } + + if (startingWeapons != null) + { + foreach (WeaponDefinition definition in startingWeapons) + { + Equip(definition, weaponSocket); + } + } + } + + private void Update() + { + if (equippedWeapons.Count == 0) + { + return; + } + + if (autoFire) + { + UpdateTargetSelection(Time.deltaTime); + } + + TargetInfo target = hasTarget ? currentTarget : default; + + foreach (WeaponRuntime weapon in equippedWeapons) + { + weapon.Tick(Time.deltaTime, target, this); + } + } + + public void Equip(WeaponDefinition definition, Transform mount) + { + if (definition == null || mount == null) + { + return; + } + + int weaponIndex = equippedWeapons.Count; + WeaponRuntime runtime = new WeaponRuntime(definition, mount, weaponIndex); + equippedWeapons.Add(runtime); + maxWeaponRange = Mathf.Max(maxWeaponRange, definition.Range); + } + + public void Unequip(WeaponDefinition definition) + { + if (definition == null) + { + return; + } + + for (int i = equippedWeapons.Count - 1; i >= 0; i--) + { + if (equippedWeapons[i].Definition == definition) + { + equippedWeapons[i].Dispose(); + equippedWeapons.RemoveAt(i); + } + } + + RecalculateMaxRange(); + } + + private void OnDisable() + { + foreach (WeaponRuntime weapon in equippedWeapons) + { + weapon.Dispose(); + } + + equippedWeapons.Clear(); + hasTarget = false; + } + + private void UpdateTargetSelection(float deltaTime) + { + retargetTimer -= deltaTime; + + if (hasTarget) + { + if (!currentTarget.IsValid) + { + hasTarget = false; + } + else + { + float distance = Vector3.Distance(transform.position, currentTarget.Transform.position); + float allowedRange = Mathf.Max(acquisitionRadius, maxWeaponRange); + if (distance > allowedRange * 1.1f) + { + hasTarget = false; + } + } + } + + if (retargetTimer > 0f && hasTarget) + { + return; + } + + retargetTimer = retargetInterval; + AcquireTarget(); + } + + private void AcquireTarget() + { + float searchRadius = Mathf.Max(acquisitionRadius, maxWeaponRange); + if (searchRadius <= 0f) + { + return; + } + + Collider[] hits = Physics.OverlapSphere(transform.position, searchRadius, targetMask, QueryTriggerInteraction.Collide); + TargetInfo bestTarget = default; + float bestScore = float.MaxValue; + + foreach (Collider hit in hits) + { + if (hit == null) + { + continue; + } + + if (ignoredOwnerColliders.Contains(hit)) + { + continue; + } + + IDamageable damageable = hit.GetComponentInParent(); + if (damageable == null || !damageable.IsAlive) + { + continue; + } + + if (damageable.Team == ownerTeam && ownerTeam != Team.Neutral) + { + continue; + } + + if (damageable is not Component component) + { + continue; + } + + Transform targetTransform = component.transform; + float sqrDistance = (targetTransform.position - transform.position).sqrMagnitude; + if (sqrDistance > maxWeaponRange * maxWeaponRange) + { + continue; + } + + float score = sqrDistance; + if (score < bestScore) + { + bestScore = score; + bestTarget = new TargetInfo(damageable, hit, targetTransform); + } + } + + hasTarget = bestTarget.IsValid; + currentTarget = bestTarget; + } + + private void RecalculateMaxRange() + { + maxWeaponRange = 0f; + for (int i = 0; i < equippedWeapons.Count; i++) + { + WeaponRuntime weapon = equippedWeapons[i]; + weapon.SetIndex(i); + maxWeaponRange = Mathf.Max(maxWeaponRange, weapon.Definition.Range); + } + } + + private Vector3 GetAimPoint(TargetInfo target) + { + if (!target.IsValid) + { + return Vector3.zero; + } + + if (target.Collider != null) + { + return target.Collider.bounds.center; + } + + return target.Transform.position; + } + + private bool HasLineOfSight(Transform muzzle, Vector3 aimPoint, TargetInfo target) + { + if (!requireLineOfSight) + { + return true; + } + + Vector3 origin = muzzle.position; + Vector3 toTarget = aimPoint - origin; + float distance = toTarget.magnitude; + if (distance <= 0.01f) + { + return true; + } + + Vector3 direction = toTarget.normalized; + int hitCount = Physics.RaycastNonAlloc(origin, direction, LineOfSightHitsBuffer, distance, lineOfSightMask, QueryTriggerInteraction.Ignore); + + if (hitCount == 0) + { + return true; + } + + float targetDistance = float.MaxValue; + bool hasTargetHit = false; + + for (int i = 0; i < hitCount; i++) + { + RaycastHit hit = LineOfSightHitsBuffer[i]; + Collider hitCollider = hit.collider; + if (hitCollider == null) + { + continue; + } + + if (ignoredOwnerColliders.Contains(hitCollider)) + { + continue; + } + + if (target.Collider != null && hitCollider == target.Collider) + { + targetDistance = hit.distance; + hasTargetHit = true; + continue; + } + + if (hit.distance < targetDistance) + { + return false; + } + } + + return hasTargetHit; + } + + private void SpawnProjectile(WeaponRuntime weapon, Transform muzzle, Vector3 direction) + { + Projectile projectilePrefab = weapon.Definition.ProjectilePrefab; + if (projectilePrefab == null) + { + return; + } + + Quaternion rotation = direction.sqrMagnitude > 0f ? Quaternion.LookRotation(direction) : muzzle.rotation; + Projectile projectile = Instantiate(projectilePrefab, muzzle.position, rotation); + projectile.Initialize(direction, weapon.Definition.ProjectileSpeed, weapon.Definition.Damage, weapon.Definition.ProjectileLifetime, gameObject, ownerTeam, ownerColliders, weapon.Definition.HitMask); + + ProjectileSpawned?.Invoke(new ProjectileSpawnEvent(weapon.Index, muzzle.position, direction, weapon.Definition.ProjectileSpeed, weapon.Definition.ProjectileLifetime, weapon.Definition.Damage)); + } + + public void SpawnNetworkProjectile(int weaponIndex, Vector3 position, Vector3 direction, float speed, float lifetime, float damage) + { + if (weaponIndex < 0 || weaponIndex >= equippedWeapons.Count) + { + return; + } + + WeaponRuntime weapon = equippedWeapons[weaponIndex]; + weapon.SpawnFromNetwork(position, direction, speed, lifetime, damage, ownerTeam, ownerColliders, gameObject); + } + + private void FireWeapon(WeaponRuntime weapon, TargetInfo target, Transform muzzle) + { + Vector3 aimPoint = GetAimPoint(target); + Vector3 toTarget = aimPoint - muzzle.position; + if (toTarget.sqrMagnitude <= 0.0001f) + { + toTarget = muzzle.forward; + } + + if (!HasLineOfSight(muzzle, aimPoint, target)) + { + return; + } + + Vector3 baseDirection = toTarget.normalized; + int projectiles = weapon.Definition.ProjectilesPerShot; + float spread = weapon.Definition.SpreadAngle; + + for (int i = 0; i < projectiles; i++) + { + Vector3 direction = baseDirection; + if (spread > 0f) + { + Vector2 offset = Random.insideUnitCircle * spread; + Quaternion spreadRotation = Quaternion.AngleAxis(offset.x, muzzle.up) * Quaternion.AngleAxis(offset.y, muzzle.right); + direction = spreadRotation * baseDirection; + } + + SpawnProjectile(weapon, muzzle, direction); + } + + weapon.ResetCooldown(); + } + + private readonly struct TargetInfo + { + public readonly IDamageable Damageable; + public readonly Collider Collider; + public readonly Transform Transform; + + public TargetInfo(IDamageable damageable, Collider collider, Transform transform) + { + Damageable = damageable; + Collider = collider; + Transform = transform; + } + + public bool IsValid => Damageable != null && Damageable.IsAlive && Transform != null; + } + + private sealed class WeaponRuntime + { + private readonly Transform mountPoint; + private readonly Transform fallbackMuzzle; + private readonly Transform[] muzzles; + private int muzzleIndex; + private float cooldown; + + public WeaponDefinition Definition { get; } + public WeaponView ViewInstance { get; } + public int Index { get; private set; } + + public WeaponRuntime(WeaponDefinition definition, Transform mount, int index) + { + Definition = definition ?? throw new ArgumentNullException(nameof(definition)); + mountPoint = mount; + Index = index; + + if (definition.ViewPrefab != null) + { + ViewInstance = UnityEngine.Object.Instantiate(definition.ViewPrefab, mountPoint); + ViewInstance.transform.localPosition = Vector3.zero; + ViewInstance.transform.localRotation = Quaternion.identity; + ViewInstance.transform.localScale = Vector3.one; + muzzles = ViewInstance.Muzzles; + } + else + { + ViewInstance = null; + muzzles = Array.Empty(); + } + + fallbackMuzzle = mountPoint; + muzzleIndex = 0; + cooldown = 0f; + } + + public void Tick(float deltaTime, TargetInfo target, WeaponController controller) + { + cooldown = Mathf.Max(0f, cooldown - deltaTime); + if (cooldown > 0f) + { + return; + } + + if (!target.IsValid) + { + return; + } + + Transform muzzle = GetMuzzle(); + if (muzzle == null) + { + return; + } + + Vector3 aimPoint = controller.GetAimPoint(target); + Vector3 toTarget = aimPoint - muzzle.position; + float sqrDistance = toTarget.sqrMagnitude; + float maxRange = Definition.Range; + if (sqrDistance > maxRange * maxRange) + { + return; + } + + controller.FireWeapon(this, target, muzzle); + } + + public Transform GetMuzzle() + { + if (muzzles != null && muzzles.Length > 0) + { + for (int i = 0; i < muzzles.Length; i++) + { + int current = (muzzleIndex + i) % muzzles.Length; + Transform muzzle = muzzles[current]; + if (muzzle != null) + { + muzzleIndex = (current + 1) % muzzles.Length; + return muzzle; + } + } + } + + return fallbackMuzzle; + } + + public void ResetCooldown() + { + cooldown = Definition.FireInterval; + } + + public void Dispose() + { + if (ViewInstance != null) + { + UnityEngine.Object.Destroy(ViewInstance.gameObject); + } + } + + public void SetIndex(int newIndex) + { + Index = newIndex; + } + + public void SpawnFromNetwork(Vector3 position, Vector3 direction, float speed, float lifetime, float damage, Team ownerTeam, Collider[] ownerColliders, GameObject owner) + { + Projectile projectilePrefab = Definition.ProjectilePrefab; + if (projectilePrefab == null) + { + return; + } + + Quaternion rotation = direction.sqrMagnitude > 0f ? Quaternion.LookRotation(direction) : fallbackMuzzle.rotation; + Projectile projectile = UnityEngine.Object.Instantiate(projectilePrefab, position, rotation); + float resolvedSpeed = speed > 0f ? speed : Definition.ProjectileSpeed; + float resolvedLifetime = lifetime > 0f ? lifetime : Definition.ProjectileLifetime; + float resolvedDamage = damage > 0f ? damage : Definition.Damage; + projectile.Initialize(direction, resolvedSpeed, resolvedDamage, resolvedLifetime, owner, ownerTeam, ownerColliders, Definition.HitMask); + } + } + + public readonly struct ProjectileSpawnEvent + { + public readonly int WeaponIndex; + public readonly Vector3 Position; + public readonly Vector3 Direction; + public readonly float Speed; + public readonly float Lifetime; + public readonly float Damage; + + public ProjectileSpawnEvent(int weaponIndex, Vector3 position, Vector3 direction, float speed, float lifetime, float damage) + { + WeaponIndex = weaponIndex; + Position = position; + Direction = direction; + Speed = speed; + Lifetime = lifetime; + Damage = damage; + } + } + } +} diff --git a/Game/Scripts/WeaponController.cs.meta b/Game/Scripts/WeaponController.cs.meta new file mode 100644 index 0000000..e9837f3 --- /dev/null +++ b/Game/Scripts/WeaponController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: e6e77e83dcc282364afb3428637c723c \ No newline at end of file diff --git a/Game/Scripts/WeaponSystem.meta b/Game/Scripts/WeaponSystem.meta new file mode 100644 index 0000000..737af48 --- /dev/null +++ b/Game/Scripts/WeaponSystem.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44d32c675960e4dceb05fc13f06e43bd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/Scripts/WeaponSystem/Projectile.cs b/Game/Scripts/WeaponSystem/Projectile.cs new file mode 100644 index 0000000..30d7589 --- /dev/null +++ b/Game/Scripts/WeaponSystem/Projectile.cs @@ -0,0 +1,123 @@ +using MegaKoop.Game.Combat; +using UnityEngine; + +namespace MegaKoop.Game.WeaponSystem +{ + public class Projectile : MonoBehaviour + { + [SerializeField] private float hitRadius = 0.05f; + [SerializeField] private LayerMask hitMask = Physics.DefaultRaycastLayers; + [SerializeField] private bool alignToVelocity = true; + + private Vector3 direction; + private float speed; + private float damage; + private float lifetime; + private float timeAlive; + private Team sourceTeam; + private GameObject owner; + private Collider[] projectileColliders; + + public void Initialize(Vector3 shotDirection, float projectileSpeed, float damageAmount, float projectileLifetime, GameObject projectileOwner, Team ownerTeam, Collider[] ownerColliders, LayerMask mask) + { + direction = shotDirection.sqrMagnitude > 0f ? shotDirection.normalized : transform.forward; + speed = Mathf.Max(0f, projectileSpeed); + damage = Mathf.Max(0f, damageAmount); + lifetime = Mathf.Max(0.01f, projectileLifetime); + owner = projectileOwner; + sourceTeam = ownerTeam; + hitMask = mask; + timeAlive = 0f; + + projectileColliders ??= GetComponentsInChildren(); + if (ownerColliders != null && projectileColliders != null) + { + foreach (Collider ownerCollider in ownerColliders) + { + if (ownerCollider == null) + { + continue; + } + + foreach (Collider projectileCollider in projectileColliders) + { + if (projectileCollider == null) + { + continue; + } + + Physics.IgnoreCollision(projectileCollider, ownerCollider, true); + } + } + } + } + + private void Update() + { + float deltaTime = Time.deltaTime; + Vector3 displacement = direction * speed * deltaTime; + float distance = displacement.magnitude; + + if (distance > 0f) + { + if (Physics.SphereCast(transform.position, hitRadius, direction, out RaycastHit hitInfo, distance, hitMask, QueryTriggerInteraction.Ignore)) + { + TryHandleHit(hitInfo.collider, hitInfo.point, hitInfo.normal); + return; + } + + transform.position += displacement; + } + + if (alignToVelocity && distance > 0f) + { + transform.forward = direction; + } + + timeAlive += deltaTime; + if (timeAlive >= lifetime) + { + Destroy(gameObject); + } + } + + private void OnTriggerEnter(Collider other) + { + TryHandleHit(other, transform.position, -direction); + } + + private void TryHandleHit(Collider other, Vector3 hitPoint, Vector3 hitNormal) + { + if (other == null) + { + return; + } + + if (owner != null) + { + if (other.transform.IsChildOf(owner.transform)) + { + return; + } + } + + IDamageable damageable = other.GetComponentInParent(); + if (damageable != null && damageable.IsAlive) + { + bool isFriendly = damageable.Team == sourceTeam && damageable.Team != Team.Neutral; + if (isFriendly) + { + return; + } + + if (damage > 0f) + { + var payload = new DamagePayload(damage, hitPoint, hitNormal, owner, sourceTeam, other.gameObject); + damageable.ApplyDamage(payload); + } + } + + Destroy(gameObject); + } + } +} diff --git a/Game/Scripts/WeaponSystem/Projectile.cs.meta b/Game/Scripts/WeaponSystem/Projectile.cs.meta new file mode 100644 index 0000000..2c5bba9 --- /dev/null +++ b/Game/Scripts/WeaponSystem/Projectile.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 038cb7cb48b0cb10da7ebba4ba473c63 \ No newline at end of file diff --git a/Game/Scripts/WeaponSystem/WeaponDefinition.cs b/Game/Scripts/WeaponSystem/WeaponDefinition.cs new file mode 100644 index 0000000..717214d --- /dev/null +++ b/Game/Scripts/WeaponSystem/WeaponDefinition.cs @@ -0,0 +1,48 @@ +using UnityEngine; + +namespace MegaKoop.Game.WeaponSystem +{ + [CreateAssetMenu(fileName = "WeaponDefinition", menuName = "MegaKoop/Weapons/Weapon Definition", order = 0)] + public class WeaponDefinition : ScriptableObject + { + [Header("Presentation")] + [SerializeField] private string displayName = "Weapon"; + [SerializeField] private WeaponView viewPrefab; + + [Header("Projectile")] + [SerializeField] private Projectile projectilePrefab; + [SerializeField] private float projectileSpeed = 25f; + [SerializeField] private float projectileLifetime = 3f; + + [Header("Firing")] + [SerializeField] private float shotsPerSecond = 2f; + [SerializeField] private float baseDamage = 10f; + [SerializeField] private float range = 25f; + [SerializeField] private int projectilesPerShot = 1; + [SerializeField, Range(0f, 45f)] private float spreadAngle = 0f; + [SerializeField] private LayerMask hitMask = Physics.DefaultRaycastLayers; + + public string DisplayName => displayName; + public WeaponView ViewPrefab => viewPrefab; + public Projectile ProjectilePrefab => projectilePrefab; + public float ProjectileSpeed => Mathf.Max(0f, projectileSpeed); + public float ProjectileLifetime => Mathf.Max(0.05f, projectileLifetime); + public float FireInterval => shotsPerSecond <= 0f ? float.MaxValue : 1f / shotsPerSecond; + public float Damage => Mathf.Max(0f, baseDamage); + public float Range => Mathf.Max(0f, range); + public int ProjectilesPerShot => Mathf.Max(1, projectilesPerShot); + public float SpreadAngle => Mathf.Abs(spreadAngle); + public LayerMask HitMask => hitMask; + + private void OnValidate() + { + projectileSpeed = Mathf.Max(0f, projectileSpeed); + projectileLifetime = Mathf.Max(0.05f, projectileLifetime); + shotsPerSecond = Mathf.Max(0.01f, shotsPerSecond); + baseDamage = Mathf.Max(0f, baseDamage); + range = Mathf.Max(0f, range); + projectilesPerShot = Mathf.Max(1, projectilesPerShot); + spreadAngle = Mathf.Clamp(spreadAngle, 0f, 90f); + } + } +} diff --git a/Game/Scripts/WeaponSystem/WeaponDefinition.cs.meta b/Game/Scripts/WeaponSystem/WeaponDefinition.cs.meta new file mode 100644 index 0000000..790a2c7 --- /dev/null +++ b/Game/Scripts/WeaponSystem/WeaponDefinition.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2fd5ff95d6e2be5d09b6c054570cef0a \ No newline at end of file diff --git a/Game/Scripts/WeaponSystem/WeaponView.cs b/Game/Scripts/WeaponSystem/WeaponView.cs new file mode 100644 index 0000000..1343bee --- /dev/null +++ b/Game/Scripts/WeaponSystem/WeaponView.cs @@ -0,0 +1,43 @@ +using UnityEngine; + +namespace MegaKoop.Game.WeaponSystem +{ + public class WeaponView : MonoBehaviour + { + [SerializeField] private Transform[] muzzles; + + public Transform[] Muzzles => muzzles; + + public Transform GetMuzzle(int index = 0) + { + if (muzzles == null || muzzles.Length == 0) + { + return transform; + } + + index = Mathf.Clamp(index, 0, muzzles.Length - 1); + return muzzles[index] == null ? transform : muzzles[index]; + } + +#if UNITY_EDITOR + private void OnDrawGizmosSelected() + { + if (muzzles == null) + { + return; + } + + Gizmos.color = Color.cyan; + foreach (Transform muzzle in muzzles) + { + if (muzzle == null) + { + continue; + } + + Gizmos.DrawLine(muzzle.position, muzzle.position + muzzle.forward * 0.5f); + } + } +#endif + } +} diff --git a/Game/Scripts/WeaponSystem/WeaponView.cs.meta b/Game/Scripts/WeaponSystem/WeaponView.cs.meta new file mode 100644 index 0000000..57dfcce --- /dev/null +++ b/Game/Scripts/WeaponSystem/WeaponView.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5590d430717d95f878b7929af7bf28ff \ No newline at end of file diff --git a/InputSystem_Actions.inputactions b/InputSystem_Actions.inputactions index 1a12cb9..89ea999 100644 --- a/InputSystem_Actions.inputactions +++ b/InputSystem_Actions.inputactions @@ -1,4 +1,5 @@ { + "version": 1, "name": "InputSystem_Actions", "maps": [ { diff --git a/Scenes/CharacterScene.meta b/Scenes/CharacterScene.meta new file mode 100644 index 0000000..4d2d3fc --- /dev/null +++ b/Scenes/CharacterScene.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d254ee0417feae63888d6c9b45dcb33e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scenes/CharacterScene.unity b/Scenes/CharacterScene.unity new file mode 100644 index 0000000..cf9f6c9 --- /dev/null +++ b/Scenes/CharacterScene.unity @@ -0,0 +1,691 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 10 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 13 + m_BakeOnSceneLoad: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 1 + m_PVRFilteringGaussRadiusAO: 1 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 3 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &98592370 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 98592372} + - component: {fileID: 98592371} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &98592371 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 98592370} + m_Enabled: 1 + serializedVersion: 11 + m_Type: 1 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ForceVisible: 0 + m_ShadowRadius: 0 + m_ShadowAngle: 0 + m_LightUnit: 1 + m_LuxAtDistance: 1 + m_EnableSpotReflector: 1 +--- !u!4 &98592372 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 98592370} + serializedVersion: 2 + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &1056472736 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1056472737} + - component: {fileID: 1056472740} + - component: {fileID: 1056472739} + - component: {fileID: 1056472738} + m_Layer: 0 + m_Name: MainCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1056472737 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056472736} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.126, z: -3.048} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1388409560} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1056472738 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056472736} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e3ecae0254451c2888cfe94f7a8e825d, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.ThirdPersonCamera + target: {fileID: 1388409560} + focusOffset: {x: 0, y: 1.6, z: 0} + mouseSensitivity: 180 + minPitch: -35 + maxPitch: 75 + rotationSmoothTime: 0.1 + distance: 5 + minDistance: 2 + maxDistance: 8 + zoomSpeed: 4 + distanceSmoothTime: 0.1 + obstructionRadius: 0.25 + obstructionMask: + serializedVersion: 2 + m_Bits: 4294967295 + lockCursor: 1 +--- !u!81 &1056472739 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056472736} + m_Enabled: 1 +--- !u!20 &1056472740 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1056472736} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!1 &1124421571 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1124421575} + - component: {fileID: 1124421574} + - component: {fileID: 1124421573} + - component: {fileID: 1124421572} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &1124421572 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124421571} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 5 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1124421573 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124421571} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1124421574 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124421571} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1124421575 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1124421571} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.5986, y: 0, z: -0.95271} + m_LocalScale: {x: 5.3009, y: 1, z: 3.5896} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1388409556 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 193682, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + m_PrefabInstance: {fileID: 2051203598} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1388409557 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1388409556} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9309e1c5110afc714b0b9b9d10323469, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.ThirdPersonCharacterController + moveSpeed: 5 + acceleration: 12 + deceleration: 18 + rotationSharpness: 12 + airControlPercent: 0.35 + jumpHeight: 1.6 + gravity: -20 + groundedGravity: -5 + cameraTransform: {fileID: 1056472737} +--- !u!143 &1388409558 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1388409556} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Height: 2 + m_Radius: 0.5 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0.99, z: 0} +--- !u!4 &1388409560 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + m_PrefabInstance: {fileID: 2051203598} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1888194194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1888194197} + - component: {fileID: 1888194196} + - component: {fileID: 1888194195} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1888194195 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1888194194} + m_Enabled: 1 +--- !u!20 &1888194196 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1888194194} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1888194197 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1888194194} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &2051203598 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 193682, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + propertyPath: m_Name + value: Witch + objectReference: {fileID: 0} + - target: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + propertyPath: m_LocalPosition.x + value: 3.4360476 + objectReference: {fileID: 0} + - target: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + propertyPath: m_LocalPosition.z + value: -2.4662037 + objectReference: {fileID: 0} + - target: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: + - {fileID: 175166, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 118938, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 196212, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 148926, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 157446, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 127684, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 105362, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 113388, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 170868, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 100918, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 121842, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 143904, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 168556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 150778, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 110758, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 107294, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 122390, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + - {fileID: 171546, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + m_AddedGameObjects: + - targetCorrespondingSourceObject: {fileID: 455556, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + insertIndex: -1 + addedObject: {fileID: 1056472737} + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 193682, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + insertIndex: -1 + addedObject: {fileID: 1388409558} + - targetCorrespondingSourceObject: {fileID: 193682, guid: b54daf0d815d7069abbc96eff093977e, type: 3} + insertIndex: -1 + addedObject: {fileID: 1388409557} + m_SourcePrefab: {fileID: 100100000, guid: b54daf0d815d7069abbc96eff093977e, type: 3} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1888194197} + - {fileID: 98592372} + - {fileID: 1124421575} + - {fileID: 2051203598} diff --git a/Scenes/CharacterScene.unity.meta b/Scenes/CharacterScene.unity.meta new file mode 100644 index 0000000..a6b111c --- /dev/null +++ b/Scenes/CharacterScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f7ec5dd369a7204f6b622d16da378f11 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Scenes/CharacterScene/NavMesh-Plane.asset b/Scenes/CharacterScene/NavMesh-Plane.asset new file mode 100644 index 0000000..e490877 Binary files /dev/null and b/Scenes/CharacterScene/NavMesh-Plane.asset differ diff --git a/Scenes/CharacterScene/NavMesh-Plane.asset.meta b/Scenes/CharacterScene/NavMesh-Plane.asset.meta new file mode 100644 index 0000000..2e33003 --- /dev/null +++ b/Scenes/CharacterScene/NavMesh-Plane.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 01f7d0e6f128a79a8ade52bc1643d6eb +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: