diff --git a/Assets/Prefabs/Player/DebugSMPlayerPrefab.prefab b/Assets/Prefabs/Player/DebugSMPlayerPrefab.prefab new file mode 100644 index 0000000..b8768be --- /dev/null +++ b/Assets/Prefabs/Player/DebugSMPlayerPrefab.prefab @@ -0,0 +1,5619 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &191685617074861023 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7662038666226104086} + m_Layer: 0 + m_Name: mixamorig:RightHandIndex1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7662038666226104086 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 191685617074861023} + m_LocalRotation: {x: -0.014161041, y: -0.000046690257, z: 0.055065587, w: 0.99838233} + m_LocalPosition: {x: -0.0014964194, y: 0.0037174681, z: 0.000023099752} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2927332745791113659} + m_Father: {fileID: 199832898772979320} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &457742244737640425 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 860839699905624536} + m_Layer: 0 + m_Name: mixamorig:RightHandPinky1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &860839699905624536 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 457742244737640425} + m_LocalRotation: {x: -0.013808571, y: -0.0065519977, z: 0.054232053, w: 0.9984114} + m_LocalPosition: {x: 0.0013735761, y: 0.0037809396, z: 0.000027776015} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5907948036226535148} + m_Father: {fileID: 199832898772979320} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &470176735605524612 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3969278442297821354} + m_Layer: 0 + m_Name: mixamorig:RightHandMiddle3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3969278442297821354 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 470176735605524612} + m_LocalRotation: {x: -0.00000015946793, y: 0.000000044833545, z: 0.000000029802315, w: 1} + m_LocalPosition: {x: 0.0000000031314404, y: 0.0013527271, z: 2.558243e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1160117861033185689} + m_Father: {fileID: 4859507815261531836} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &659968476277868705 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1925498097177711731} + - component: {fileID: 8237075719730619008} + m_Layer: 0 + m_Name: Racer_L_Thigh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1925498097177711731 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659968476277868705} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 13 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &8237075719730619008 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 659968476277868705} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -6610222346446787076, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 4103965451747528627} + - {fileID: 8669144205054416749} + - {fileID: 7651374233674023408} + - {fileID: 5812657890528605903} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5812657890528605903} + m_AABB: + m_Center: {x: -0.0041651186, y: -0.014876848, z: 0.00065137853} + m_Extent: {x: 0.0036408168, y: 0.0076903426, z: 0.0042144093} + m_DirtyAABB: 0 +--- !u!1 &698200578810592637 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5955941340465369612} + - component: {fileID: 4639158320000145395} + m_Layer: 0 + m_Name: Racer_Abdomen + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5955941340465369612 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 698200578810592637} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &4639158320000145395 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 698200578810592637} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 3322242688188658278, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 6107527997929964892} + - {fileID: 855666514563682740} + - {fileID: 2190073626933027295} + - {fileID: 5812657890528605903} + - {fileID: 8740628033061521453} + - {fileID: 4244105450441584964} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5812657890528605903} + m_AABB: + m_Center: {x: 0.000000039115548, y: 0.004818677, z: 0.0006153784} + m_Extent: {x: 0.0053603095, y: 0.004359695, z: 0.0045392746} + m_DirtyAABB: 0 +--- !u!1 &713028324633626205 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4826947324913254686} + m_Layer: 0 + m_Name: mixamorig:LeftToeBase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4826947324913254686 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 713028324633626205} + m_LocalRotation: {x: 0.25823617, y: 0.024585094, z: -0.006573941, w: 0.9657466} + m_LocalPosition: {x: 2.1533207e-12, y: 0.006792404, z: 1.1648404e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2551791134346626248} + m_Father: {fileID: 4316928396777582465} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &824428640574780368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 813179215513095696} + - component: {fileID: 3488889312977227496} + m_Layer: 0 + m_Name: Racer_L_Knee + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &813179215513095696 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 824428640574780368} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &3488889312977227496 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 824428640574780368} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -3863438754762654814, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 4103965451747528627} + - {fileID: 8669144205054416749} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4103965451747528627} + m_AABB: + m_Center: {x: -0.00029923517, y: 0.021472832, z: -0.0010159109} + m_Extent: {x: 0.0022098313, y: 0.0016792659, z: 0.0015126225} + m_DirtyAABB: 0 +--- !u!1 &834483921342930052 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9038516073381064587} + m_Layer: 0 + m_Name: mixamorig:LeftHandIndex3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9038516073381064587 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 834483921342930052} + m_LocalRotation: {x: -0.00000011613509, y: -0.00000004470224, z: -0.00000005960465, w: 1} + m_LocalPosition: {x: 0.00000023605492, y: 0.0012959151, z: 5.8693428e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1668970156129522990} + m_Father: {fileID: 8148659716377239032} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &914269031852065083 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1065064008064692099} + m_Layer: 0 + m_Name: mixamorig:LeftHandRing2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1065064008064692099 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 914269031852065083} + m_LocalRotation: {x: -0.00000043476186, y: 0.000000014901141, z: -0.00000005960465, w: 1} + m_LocalPosition: {x: 0.0000012244967, y: 0.001197746, z: -4.00991e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3031458159403656971} + m_Father: {fileID: 4651949420925182447} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &916243637571042079 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5827288694444457909} + - component: {fileID: 916243637571042078} + - component: {fileID: 916243637571042067} + - component: {fileID: 916243637571042064} + m_Layer: 3 + m_Name: PlayerCam + m_TagString: PlayerCam + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5827288694444457909 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916243637571042079} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 3.73, z: -4.1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5759777694531189237} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &916243637571042078 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916243637571042079} + 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_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 6000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 255 + 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!81 &916243637571042067 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916243637571042079} + m_Enabled: 1 +--- !u!114 &916243637571042064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 916243637571042079} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f8178c747ab202f4bb17b33e02bf63a5, type: 3} + m_Name: + m_EditorClassIdentifier: + player: {fileID: 1707207228499037409} +--- !u!1 &1065437568532208907 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6107527997929964892} + m_Layer: 0 + m_Name: mixamorig:Spine + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6107527997929964892 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1065437568532208907} + m_LocalRotation: {x: -0.05589811, y: 0.0000013043609, z: -0.000015016944, w: 0.9984365} + m_LocalPosition: {x: -0, y: 0.0035204792, z: -0.0003954322} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 855666514563682740} + m_Father: {fileID: 5812657890528605903} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1462337523821174546 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4446552066699273401} + - component: {fileID: 6633325525230924320} + m_Layer: 0 + m_Name: Racer_L_Shoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4446552066699273401 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1462337523821174546} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &6633325525230924320 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1462337523821174546} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 7171577503198163421, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 855666514563682740} + - {fileID: 5417257256830001800} + - {fileID: 4244105450441584964} + - {fileID: 2190073626933027295} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 855666514563682740} + m_AABB: + m_Center: {x: -0.007070585, y: 0.006703707, z: -0.0004132311} + m_Extent: {x: 0.003409449, y: 0.0032990654, z: 0.002698132} + m_DirtyAABB: 0 +--- !u!1 &1474188496482332602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5812657890528605903} + m_Layer: 0 + m_Name: mixamorig:Hips + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5812657890528605903 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1474188496482332602} + m_LocalRotation: {x: -0.000000037237662, y: -0.0000004629012, z: 0.000015066375, w: 1} + m_LocalPosition: {x: -0.00000007714989, y: 0.046164256, z: -0.0007892634} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4103965451747528627} + - {fileID: 7651374233674023408} + - {fileID: 6107527997929964892} + m_Father: {fileID: 2088235644774667867} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1521707349228591301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1743267846503551736} + m_Layer: 0 + m_Name: mixamorig:RightHandThumb4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1743267846503551736 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1521707349228591301} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.0000008084615, y: 0.0012474011, z: 3.0050646e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 53596125200548010} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1615006149904301342 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3389602815704512536} + - component: {fileID: 4452213775082161952} + - component: {fileID: 4294750041305290919} + - component: {fileID: 3196960407361654525} + m_Layer: 0 + m_Name: Leg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3389602815704512536 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1615006149904301342} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.0435, z: 0} + m_LocalScale: {x: 0.01, y: 0.01, z: 0.01} + m_Children: + - {fileID: 3767772909335075234} + m_Father: {fileID: 2088235644774667867} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4452213775082161952 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1615006149904301342} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &4294750041305290919 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1615006149904301342} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!135 &3196960407361654525 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1615006149904301342} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &1655147020398655403 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6627823081098546380} + - component: {fileID: 7131606109033887664} + m_Layer: 0 + m_Name: Racer_Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6627823081098546380 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1655147020398655403} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &7131606109033887664 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1655147020398655403} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 776510218562140252, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5374612631285875928} + - {fileID: 4691672791524568482} + - {fileID: 2190073626933027295} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2190073626933027295} + m_AABB: + m_Center: {x: -6.9849193e-10, y: 0.012098646, z: 0.0026351595} + m_Extent: {x: 0.0033820346, y: 0.0055587008, z: 0.0049631405} + m_DirtyAABB: 0 +--- !u!1 &1707207228499037409 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2088235644774667867} + - component: {fileID: 5339804152290053153} + - component: {fileID: 1707207228499037468} + - component: {fileID: 1707207228499037471} + - component: {fileID: 1707207228499037470} + - component: {fileID: 1707207228499037465} + - component: {fileID: 1707207228499037464} + - component: {fileID: 1707207228499037467} + - component: {fileID: 1707207228499037414} + - component: {fileID: 1707207228499037413} + - component: {fileID: 1707207228499037412} + - component: {fileID: 1707207228499037411} + - component: {fileID: 1707207228499037410} + m_Layer: 0 + m_Name: T-Pose + m_TagString: ArcherTarget + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2088235644774667867 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 30, y: 30, z: 30} + m_Children: + - {fileID: 3389602815704512536} + - {fileID: 5812657890528605903} + - {fileID: 8777733353107640407} + m_Father: {fileID: 5759777694531189237} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!95 &5339804152290053153 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_Enabled: 1 + m_Avatar: {fileID: 9000000, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Controller: {fileID: 9100000, guid: 3961b2461b5859c4795471684ebe7749, type: 2} + m_CullingMode: 1 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!114 &1707207228499037468 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: addc2e37ff81c1b4989ec34b6150b4f7, type: 3} + m_Name: + m_EditorClassIdentifier: + maxVel: 45 + minVel: 18 + curVel: 0 + hardCapMaxVel: 90 + acc: 0.02 + jumpPow: 60 + jumpNum: 2 + traction: 5 + kickPow: 300 + recovTime: 3 + playerGrav: 200 + gravVel: 0 + hasGlider: 0 + hasGrapple: 0 + hasWallrun: 0 + hasNitro: 0 + hasDash: 0 + playerPoints: 15 +--- !u!114 &1707207228499037471 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5a5d879591af1084ab5d3a35fcd53086, type: 3} + m_Name: + m_EditorClassIdentifier: + networkItemList: [] + pStats: {fileID: 0} +--- !u!54 &1707207228499037470 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 0 + m_IsKinematic: 1 + m_Interpolate: 0 + m_Constraints: 0 + m_CollisionDetection: 0 +--- !u!136 &1707207228499037465 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.00910596 + m_Height: 0.07475639 + m_Direction: 1 + m_Center: {x: 0, y: 0.039544336, z: 0} +--- !u!143 &1707207228499037464 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Height: 0.07475639 + m_Radius: 0.00910596 + m_SlopeLimit: 45 + m_StepOffset: 0.3 + m_SkinWidth: 0.08 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0.03954434, z: 0} +--- !u!114 &1707207228499037467 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e96cb6065543e43c4a752faaa1468eb1, type: 3} + m_Name: + m_EditorClassIdentifier: + FixedSendsPerSecond: 20 + AssumeSyncedSends: 1 + InterpolatePosition: 1 + SnapDistance: 10 + InterpolateServer: 1 + MinMeters: 0.15 + MinDegrees: 1.5 + ExtrapolatePosition: 0 + MaxSendsToExtrapolate: 5 + Channel: + EnableRange: 0 + EnableNonProvokedResendChecks: 0 + DistanceSendrate: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 20 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 500 + value: 20 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 +--- !u!114 &1707207228499037414 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0ec82a74ea7992f44b37925faefa63b6, type: 3} + m_Name: + m_EditorClassIdentifier: + moveController: {fileID: 0} + pStats: {fileID: 0} + mSM: {fileID: 0} + curJumpNum: 0 + jumpHeld: 0 + coyJumpTimer: 0.1 + curCoyJumpTimer: 0.13 + lowJumpMultiplier: 0.001 + fallMultiplier: 1.6 + isGrounded: 0 + groundCheckDistance: 0.05 + isWallRunning: 0 + maxGrabDistance: 50 + hookPoint: {fileID: 0} + hookPoints: [] + hookPointIndex: 0 + distance: 0 + maxGrappleDistance: 25 + maxSwingSpeed: 50 + minSwingSpeed: 20 + swingAcc: 3 + maxSwingMom: 60 + release: 0 + tempRelease: {x: 0, y: 0, z: 0} + lerpRelease: {x: 0, y: 0, z: 0} + forceDirection: {x: 0, y: 0, z: 0} + eHeld: 0 +--- !u!114 &1707207228499037413 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f1cd2fe42d6a34c43bc4a8b65dfaf533, type: 3} + m_Name: + m_EditorClassIdentifier: + moveController: {fileID: 0} + pStats: {fileID: 0} + mSM: {fileID: 0} + driver: {fileID: 0} + dashItem: {fileID: 0} +--- !u!114 &1707207228499037412 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9e5dfab4fa1cb9547a860b23f54e51f8, type: 3} + m_Name: + m_EditorClassIdentifier: + cam: {fileID: 916243637571042078} + moveController: {fileID: 0} + rB: {fileID: 0} + capCol: {fileID: 0} + pStats: {fileID: 0} + aSM: {fileID: 0} + idleLimit: 0.3 + walkLimit: 10 + jogLimit: 20 + runLimit: 30 + vel: {x: 0, y: 0, z: 0} + driftVel: {x: 0, y: 0, z: 0} + calculatedCurVel: 0 + slideUp: {x: 0, y: 0, z: 0} + minAngle: -18 + maxAngle: 30 + sensitivity: 200 + dirHit: {x: 0, y: 0, z: 0} + distToGround: 0 +--- !u!114 &1707207228499037411 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 455a2b894b8cfef4bab705dde1a6784b, type: 3} + m_Name: + m_EditorClassIdentifier: + moveController: {fileID: 0} + pStats: {fileID: 0} + mSM: {fileID: 0} + driver: {fileID: 0} + nitroItem: {fileID: 0} + nitroVelBoost: 40 + nitroAccBoost: 0.4 +--- !u!114 &1707207228499037410 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1707207228499037409} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aae777136fbdb954083d81a3deeb7313, type: 3} + m_Name: + m_EditorClassIdentifier: + leg: {fileID: 0} + legHitbox: {fileID: 0} + moveController: {fileID: 0} + pStats: {fileID: 0} + mSM: {fileID: 0} + aSM: {fileID: 0} +--- !u!1 &1832820220301833206 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5203316679422439093} + m_Layer: 0 + m_Name: mixamorig:RightArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5203316679422439093 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1832820220301833206} + m_LocalRotation: {x: -0.18175445, y: 0.00610548, z: 0.021279853, w: 0.9830947} + m_LocalPosition: {x: 1.934119e-12, y: 0.0052589523, z: 1.5282041e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4099121001898918936} + m_Father: {fileID: 8740628033061521453} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1968296431403859785 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8740628033061521453} + m_Layer: 0 + m_Name: mixamorig:RightShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8740628033061521453 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1968296431403859785} + m_LocalRotation: {x: -0.56944364, y: -0.40933552, z: 0.5953777, w: -0.39205074} + m_LocalPosition: {x: 0.0024052279, y: 0.004356841, z: -0.00010951071} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5203316679422439093} + m_Father: {fileID: 2190073626933027295} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2190860473306802727 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6213921649287035749} + - component: {fileID: 2519489192943178396} + m_Layer: 0 + m_Name: Racer_R_Elbow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6213921649287035749 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2190860473306802727} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 20 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2519489192943178396 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2190860473306802727} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -7106453518941484726, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5203316679422439093} + - {fileID: 4099121001898918936} + - {fileID: 199832898772979320} + - {fileID: 2190073626933027295} + - {fileID: 8740628033061521453} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2190073626933027295} + m_AABB: + m_Center: {x: 0.017277747, y: 0.0025307056, z: -0.00035965635} + m_Extent: {x: 0.0023827176, y: 0.0008869646, z: 0.0020115785} + m_DirtyAABB: 0 +--- !u!1 &2220102679712799120 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5907948036226535148} + m_Layer: 0 + m_Name: mixamorig:RightHandPinky2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5907948036226535148 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2220102679712799120} + m_LocalRotation: {x: -0.0000003419444, y: -0.000000029464369, z: -0.000000029802315, w: 1} + m_LocalPosition: {x: -0.0000010404141, y: 0.00093569944, z: 6.0915223e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4134921058202820568} + m_Father: {fileID: 860839699905624536} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2431253955268178713 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 53596125200548010} + m_Layer: 0 + m_Name: mixamorig:RightHandThumb3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &53596125200548010 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2431253955268178713} + m_LocalRotation: {x: -0.000023548291, y: -0.0011833535, z: -0.02015577, w: 0.99979615} + m_LocalPosition: {x: 0.00006217427, y: 0.0015118346, z: 2.9593505e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1743267846503551736} + m_Father: {fileID: 7537452316314716461} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2445443570004941818 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7634195037947703218} + m_Layer: 0 + m_Name: mixamorig:LeftHandRing4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7634195037947703218 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2445443570004941818} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.0000003658728, y: 0.0010309403, z: 3.643321e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3031458159403656971} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2479133944627289217 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1522579387079044102} + m_Layer: 0 + m_Name: mixamorig:LeftHandThumb3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1522579387079044102 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2479133944627289217} + m_LocalRotation: {x: -0.000035924924, y: 0.0006454206, z: -0.055413347, w: 0.9984633} + m_LocalPosition: {x: -0.00000074104986, y: 0.0014648983, z: -5.349871e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3740758907906523563} + m_Father: {fileID: 4297669642374631530} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2617135760156192365 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 650652529075124828} + m_Layer: 0 + m_Name: mixamorig:LeftHandIndex1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &650652529075124828 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2617135760156192365} + m_LocalRotation: {x: -0.018361583, y: 0.000117137795, z: -0.05413971, w: 0.99836457} + m_LocalPosition: {x: 0.0015031022, y: 0.003667749, z: 0.000011886609} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8148659716377239032} + m_Father: {fileID: 4705200494044619891} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2657158947098229247 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1618540031100814447} + - component: {fileID: 6638754406398963638} + m_Layer: 0 + m_Name: Racer_L_Ankle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1618540031100814447 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2657158947098229247} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &6638754406398963638 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2657158947098229247} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -6709756282783593857, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 8669144205054416749} + - {fileID: 4316928396777582465} + - {fileID: 4826947324913254686} + - {fileID: 4103965451747528627} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4103965451747528627} + m_AABB: + m_Center: {x: 0.000064838794, y: 0.040794633, z: -0.0019431652} + m_Extent: {x: 0.0013289169, y: 0.0016544797, z: 0.0017182026} + m_DirtyAABB: 0 +--- !u!1 &2670950181328763004 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4705200494044619891} + m_Layer: 0 + m_Name: mixamorig:LeftHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4705200494044619891 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2670950181328763004} + m_LocalRotation: {x: 0.01526272, y: -0.056724187, z: 0.05509341, w: 0.9967518} + m_LocalPosition: {x: 8.228381e-12, y: 0.011272391, z: -9.0381955e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 650652529075124828} + - {fileID: 7629192189731931736} + - {fileID: 6526749476404311093} + - {fileID: 4651949420925182447} + - {fileID: 6736943419121876454} + m_Father: {fileID: 9054238932862308169} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2798076481495925533 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6759094978331097842} + m_Layer: 0 + m_Name: mixamorig:RightHandIndex3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6759094978331097842 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2798076481495925533} + m_LocalRotation: {x: -0.00000008686825, y: -0.00004684714, z: -0.0011085427, w: 0.9999994} + m_LocalPosition: {x: 0.00000024733268, y: 0.0012752824, z: 2.3540347e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8466088047813021805} + m_Father: {fileID: 2927332745791113659} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2856080700923384341 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 792397752550538600} + - component: {fileID: 5793104445357468756} + m_Layer: 0 + m_Name: Racer_R_Thigh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &792397752550538600 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2856080700923384341} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 28 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &5793104445357468756 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2856080700923384341} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -5173151976236256185, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7651374233674023408} + - {fileID: 6301246127647833962} + - {fileID: 5812657890528605903} + - {fileID: 4103965451747528627} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5812657890528605903} + m_AABB: + m_Center: {x: 0.0041645346, y: -0.014884865, z: 0.00067757943} + m_Extent: {x: 0.0036414284, y: 0.007690362, z: 0.00424061} + m_DirtyAABB: 0 +--- !u!1 &2979568567915086777 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8466088047813021805} + m_Layer: 0 + m_Name: mixamorig:RightHandIndex4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8466088047813021805 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2979568567915086777} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.000002107351, y: 0.0011455977, z: -7.528524e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 6759094978331097842} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2999741947158253863 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3677720723986851608} + m_Layer: 0 + m_Name: mixamorig:RightToeBase + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3677720723986851608 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2999741947158253863} + m_LocalRotation: {x: 0.25392774, y: -0.02546312, z: 0.0066873794, w: 0.9668649} + m_LocalPosition: {x: -4.881078e-11, y: 0.0068967696, z: -1.9580708e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8418413161215182778} + m_Father: {fileID: 1369498183251892172} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3080032876603343784 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4134921058202820568} + m_Layer: 0 + m_Name: mixamorig:RightHandPinky3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4134921058202820568 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3080032876603343784} + m_LocalRotation: {x: -0.00000030964267, y: -0.000000058928695, z: 0.000000059604645, w: 1} + m_LocalPosition: {x: 0.00000039054956, y: 0.0007429971, z: -8.8358236e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5714010008251956832} + m_Father: {fileID: 5907948036226535148} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3106229333706243310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8777733353107640407} + m_Layer: 0 + m_Name: Racer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8777733353107640407 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3106229333706243310} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0, z: 0} + m_LocalScale: {x: 0.39370078, y: 0.39370078, z: 0.39370078} + m_Children: + - {fileID: 5955941340465369612} + - {fileID: 41866535306080310} + - {fileID: 6627823081098546380} + - {fileID: 1618540031100814447} + - {fileID: 6586190623342319093} + - {fileID: 853205444402333482} + - {fileID: 1360165061313462950} + - {fileID: 1552474965142081887} + - {fileID: 6718524159880254948} + - {fileID: 6455492130359654162} + - {fileID: 813179215513095696} + - {fileID: 2345237914886046218} + - {fileID: 4446552066699273401} + - {fileID: 1925498097177711731} + - {fileID: 5670791438621962461} + - {fileID: 7274363713147771305} + - {fileID: 2279549598050612104} + - {fileID: 8263075708633233957} + - {fileID: 2951316007676565810} + - {fileID: 2981510842031995574} + - {fileID: 6213921649287035749} + - {fileID: 3927900198273269757} + - {fileID: 8915358416263082697} + - {fileID: 1312930581319202769} + - {fileID: 8188072263364747090} + - {fileID: 2917046457622661076} + - {fileID: 2358301949918083018} + - {fileID: 7332471362823344789} + - {fileID: 792397752550538600} + - {fileID: 9070562083410256822} + m_Father: {fileID: 2088235644774667867} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3194975341220055724 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1668970156129522990} + m_Layer: 0 + m_Name: mixamorig:LeftHandIndex4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1668970156129522990 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3194975341220055724} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.000000014381512, y: 0.0011575891, z: -1.700045e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 9038516073381064587} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3213077183580013768 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4691672791524568482} + m_Layer: 0 + m_Name: mixamorig:Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4691672791524568482 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3213077183580013768} + m_LocalRotation: {x: 0.055898234, y: 2.9856478e-14, z: 2.2940127e-13, w: 0.9984365} + m_LocalPosition: {x: -0, y: 0.0053139236, z: 9.736321e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5374612631285875928} + m_Father: {fileID: 2190073626933027295} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3295847548030379259 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9054238932862308169} + m_Layer: 0 + m_Name: mixamorig:LeftForeArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9054238932862308169 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3295847548030379259} + m_LocalRotation: {x: -0.00000019799118, y: -0.00072961993, z: 0.0000003070266, w: 0.99999976} + m_LocalPosition: {x: -1.8520109e-11, y: 0.009978064, z: -9.0070854e-13} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4705200494044619891} + m_Father: {fileID: 5417257256830001800} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3355984100625910403 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1466306153845439205} + m_Layer: 0 + m_Name: mixamorig:RightHandRing3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1466306153845439205 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3355984100625910403} + m_LocalRotation: {x: -0.00000030814587, y: 0.000000059327107, z: -0.000000029802344, w: 1} + m_LocalPosition: {x: 0.0000005338416, y: 0.001116844, z: -4.815341e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4266704111528531714} + m_Father: {fileID: 5526885659425411380} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3359909692014512069 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2345237914886046218} + - component: {fileID: 2903274210271279814} + m_Layer: 0 + m_Name: Racer_L_Leg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2345237914886046218 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3359909692014512069} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2903274210271279814 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3359909692014512069} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -5004171171394109850, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 8669144205054416749} + - {fileID: 4316928396777582465} + - {fileID: 4826947324913254686} + - {fileID: 4103965451747528627} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4103965451747528627} + m_AABB: + m_Center: {x: 0.0002228925, y: 0.030164544, z: -0.0017835025} + m_Extent: {x: 0.0026083526, y: 0.011703882, z: 0.006747634} + m_DirtyAABB: 0 +--- !u!1 &3454051986391715722 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3454051986391715721} + - component: {fileID: 3454051986391715726} + - component: {fileID: 3454051986391715727} + - component: {fileID: 3454051986391715720} + m_Layer: 10 + m_Name: Player Indicator Box + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3454051986391715721 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3454051986391715722} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 135, z: 0} + m_LocalScale: {x: 15, y: 15, z: 15} + m_Children: [] + m_Father: {fileID: 3454051987037357494} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3454051986391715726 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3454051986391715722} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3454051986391715727 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3454051986391715722} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 883992612da963d46ab2ec5ec6921110, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &3454051986391715720 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3454051986391715722} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &3454051987037357495 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3454051987037357494} + - component: {fileID: 3454051987037357493} + m_Layer: 3 + m_Name: Player Indicator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3454051987037357494 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3454051987037357495} + 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_Children: + - {fileID: 3454051987620051615} + - {fileID: 3454051986391715721} + m_Father: {fileID: 5759777694531189237} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3454051987037357493 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3454051987037357495} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5fa6e1b37cefd3b4f9823d9f4a3118e9, type: 3} + m_Name: + m_EditorClassIdentifier: + player: {fileID: 1707207228499037409} +--- !u!1 &3454051987620051608 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3454051987620051615} + - component: {fileID: 3454051987620051612} + - component: {fileID: 3454051987620051613} + - component: {fileID: 3454051987620051614} + m_Layer: 10 + m_Name: Player Indicator Line + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3454051987620051615 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3454051987620051608} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 68.5266, z: 0} + m_LocalScale: {x: 2, y: 127.63453, z: 2} + m_Children: [] + m_Father: {fileID: 3454051987037357494} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3454051987620051612 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3454051987620051608} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &3454051987620051613 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3454051987620051608} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 883992612da963d46ab2ec5ec6921110, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &3454051987620051614 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3454051987620051608} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &3495507459122929396 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2927332745791113659} + m_Layer: 0 + m_Name: mixamorig:RightHandIndex2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2927332745791113659 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3495507459122929396} + m_LocalRotation: {x: -0.000000018887118, y: 0.000022633552, z: -0.0009259584, w: 0.9999996} + m_LocalPosition: {x: 0.0000018600654, y: 0.0013716858, z: -2.9703767e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6759094978331097842} + m_Father: {fileID: 7662038666226104086} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3527824578773990301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4103965451747528627} + m_Layer: 0 + m_Name: mixamorig:LeftUpLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4103965451747528627 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3527824578773990301} + m_LocalRotation: {x: -0.0000039840615, y: 0.013628243, z: 0.99990696, w: -0.0006267788} + m_LocalPosition: {x: -0.0051394682, y: -0.0019558216, z: 0.0006702429} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8669144205054416749} + m_Father: {fileID: 5812657890528605903} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3543724896602272688 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8669144205054416749} + m_Layer: 0 + m_Name: mixamorig:LeftLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8669144205054416749 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3543724896602272688} + m_LocalRotation: {x: -0.061060395, y: 0.00007976911, z: -0.0013793262, w: 0.9981331} + m_LocalPosition: {x: 7.7549076e-18, y: 0.02156146, z: 1.338972e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4316928396777582465} + m_Father: {fileID: 4103965451747528627} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3547287142756680770 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3989817200647772077} + m_Layer: 0 + m_Name: mixamorig:LeftHandMiddle3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3989817200647772077 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3547287142756680770} + m_LocalRotation: {x: -0.00000022307272, y: -0.000000014901151, z: 3.3343803e-15, w: 1} + m_LocalPosition: {x: 0.000000005280159, y: 0.0013836664, z: -4.5564014e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 8461617944642211470} + m_Father: {fileID: 5018959327401307034} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3605718656898644841 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4859507815261531836} + m_Layer: 0 + m_Name: mixamorig:RightHandMiddle2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4859507815261531836 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3605718656898644841} + m_LocalRotation: {x: -0.00000038881305, y: -0.000000029802047, z: -0.000000029802308, w: 1} + m_LocalPosition: {x: -0.000000006986092, y: 0.0014630955, z: 7.590662e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3969278442297821354} + m_Father: {fileID: 2996992163829523035} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3695582366940120180 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7192031523904962614} + m_Layer: 0 + m_Name: mixamorig:HeadTop_End + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7192031523904962614 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3695582366940120180} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0, y: 0.008957659, z: 0.0023060606} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 5374612631285875928} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &3874531105820267574 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4266704111528531714} + m_Layer: 0 + m_Name: mixamorig:RightHandRing4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4266704111528531714 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3874531105820267574} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.000000057404332, y: 0.0010307258, z: 1.5840699e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1466306153845439205} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4047877756309058812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6718524159880254948} + - component: {fileID: 1756536347740671120} + m_Layer: 0 + m_Name: Racer_L_Hand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6718524159880254948 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4047877756309058812} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1756536347740671120 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4047877756309058812} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 5350346844764172220, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 4705200494044619891} + - {fileID: 650652529075124828} + - {fileID: 7629192189731931736} + - {fileID: 5018959327401307034} + - {fileID: 4651949420925182447} + - {fileID: 6526749476404311093} + - {fileID: 8148659716377239032} + - {fileID: 1065064008064692099} + - {fileID: 4297669642374631530} + - {fileID: 1522579387079044102} + - {fileID: 6736943419121876454} + - {fileID: 5128740387430272519} + - {fileID: 9038516073381064587} + - {fileID: 826624082289695996} + - {fileID: 3989817200647772077} + - {fileID: 3031458159403656971} + - {fileID: 9054238932862308169} + - {fileID: 5417257256830001800} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5417257256830001800} + m_AABB: + m_Center: {x: 0.0005104544, y: 0.025045592, z: 0.0008216265} + m_Extent: {x: 0.0030727473, y: 0.0043741167, z: 0.0027572557} + m_DirtyAABB: 0 +--- !u!1 &4076834560537868878 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4651949420925182447} + m_Layer: 0 + m_Name: mixamorig:LeftHandRing1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4651949420925182447 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4076834560537868878} + m_LocalRotation: {x: -0.01817659, y: 0.0035308946, z: -0.054201342, w: 0.99835837} + m_LocalPosition: {x: -0.0005167737, y: 0.004006599, z: -0.0000658525} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1065064008064692099} + m_Father: {fileID: 4705200494044619891} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4388959472648532925 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4244105450441584964} + m_Layer: 0 + m_Name: mixamorig:LeftShoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4244105450441584964 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4388959472648532925} + m_LocalRotation: {x: 0.56997716, y: -0.40895543, z: 0.5949605, w: 0.3923055} + m_LocalPosition: {x: -0.0024052279, y: 0.0043563955, z: -0.000105543535} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5417257256830001800} + m_Father: {fileID: 2190073626933027295} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4483494081617834069 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3927900198273269757} + - component: {fileID: 7019649137708643660} + m_Layer: 0 + m_Name: Racer_R_Foot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3927900198273269757 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4483494081617834069} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 21 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &7019649137708643660 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4483494081617834069} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -5812966439747792105, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 1369498183251892172} + - {fileID: 3677720723986851608} + - {fileID: 6301246127647833962} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 6301246127647833962} + m_AABB: + m_Center: {x: -0.00034632627, y: 0.021510983, z: 0.0034973423} + m_Extent: {x: 0.0025694363, y: 0.0048407204, z: 0.0058255894} + m_DirtyAABB: 0 +--- !u!1 &4530620666601348273 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 199832898772979320} + m_Layer: 0 + m_Name: mixamorig:RightHand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &199832898772979320 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4530620666601348273} + m_LocalRotation: {x: 0.011205674, y: 0.05417389, z: -0.054828834, w: 0.99696213} + m_LocalPosition: {x: 5.0597235e-12, y: 0.011272834, z: 9.447598e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7662038666226104086} + - {fileID: 2996992163829523035} + - {fileID: 860839699905624536} + - {fileID: 7348793227045508796} + - {fileID: 7947251388230739278} + m_Father: {fileID: 4099121001898918936} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4569536590223894377 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5526885659425411380} + m_Layer: 0 + m_Name: mixamorig:RightHandRing2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5526885659425411380 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4569536590223894377} + m_LocalRotation: {x: 0.00000027261595, y: -0.000000059327146, z: 0.000000059604613, w: 1} + m_LocalPosition: {x: -0.000000591246, y: 0.0011815743, z: 7.550235e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1466306153845439205} + m_Father: {fileID: 7348793227045508796} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4657826167432197394 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3767772909335075234} + - component: {fileID: 7575299769256707918} + - component: {fileID: 8566149901599326232} + - component: {fileID: 9176281754177461293} + m_Layer: 0 + m_Name: LegHitbox + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3767772909335075234 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4657826167432197394} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: -2.23, z: 0} + m_LocalScale: {x: 0.3, y: 4, z: 0.3} + m_Children: [] + m_Father: {fileID: 3389602815704512536} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7575299769256707918 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4657826167432197394} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8566149901599326232 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4657826167432197394} + m_Enabled: 0 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!65 &9176281754177461293 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4657826167432197394} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &4681379502263150042 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 853205444402333482} + - component: {fileID: 6742339687866371351} + m_Layer: 0 + m_Name: Racer_L_Elbow + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &853205444402333482 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4681379502263150042} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &6742339687866371351 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4681379502263150042} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 1378163318181974271, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5417257256830001800} + - {fileID: 9054238932862308169} + - {fileID: 4705200494044619891} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5417257256830001800} + m_AABB: + m_Center: {x: -0.00004382711, y: 0.010115141, z: -0.00005456526} + m_Extent: {x: 0.0020077715, y: 0.0022335667, z: 0.00087840063} + m_DirtyAABB: 0 +--- !u!1 &4690289710871524348 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6526749476404311093} + m_Layer: 0 + m_Name: mixamorig:LeftHandPinky1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6526749476404311093 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4690289710871524348} + m_LocalRotation: {x: -0.018093066, y: 0.0050680796, z: -0.054229345, w: 0.9983517} + m_LocalPosition: {x: -0.0014127243, y: 0.0037515378, z: 0.000019912626} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5128740387430272519} + m_Father: {fileID: 4705200494044619891} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4886218995611300833 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9070562083410256822} + - component: {fileID: 5241224268742193065} + m_Layer: 0 + m_Name: Racer_R_Wrist + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &9070562083410256822 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4886218995611300833} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 29 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &5241224268742193065 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4886218995611300833} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 7401632099491477959, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 4099121001898918936} + - {fileID: 199832898772979320} + - {fileID: 2996992163829523035} + - {fileID: 7947251388230739278} + - {fileID: 7348793227045508796} + - {fileID: 5203316679422439093} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5203316679422439093} + m_AABB: + m_Center: {x: -0.00004202628, y: 0.02118104, z: -0.00009331765} + m_Extent: {x: 0.001138476, y: 0.00081270374, z: 0.00080512697} + m_DirtyAABB: 0 +--- !u!1 &4896145854770190926 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2981510842031995574} + - component: {fileID: 6887018140120318692} + m_Layer: 0 + m_Name: Racer_R_Bicep + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2981510842031995574 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4896145854770190926} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 19 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &6887018140120318692 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4896145854770190926} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -3134900220690085376, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 8740628033061521453} + - {fileID: 5203316679422439093} + - {fileID: 2190073626933027295} + - {fileID: 4099121001898918936} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2190073626933027295} + m_AABB: + m_Center: {x: 0.012119338, y: 0.0021126806, z: -0.00095079973} + m_Extent: {x: 0.0045580757, y: 0.0037807566, z: 0.0026249436} + m_DirtyAABB: 0 +--- !u!1 &4995644544141249190 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2917046457622661076} + - component: {fileID: 3275002311731866724} + m_Layer: 0 + m_Name: Racer_R_Knee + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2917046457622661076 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4995644544141249190} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 25 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &3275002311731866724 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4995644544141249190} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 8042586510139064189, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7651374233674023408} + - {fileID: 6301246127647833962} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 7651374233674023408} + m_AABB: + m_Center: {x: 0.00029920816, y: 0.021470152, z: -0.0010497274} + m_Extent: {x: 0.00220985, y: 0.0016872957, z: 0.0015236048} + m_DirtyAABB: 0 +--- !u!1 &5194056738743129927 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5128740387430272519} + m_Layer: 0 + m_Name: mixamorig:LeftHandPinky2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5128740387430272519 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5194056738743129927} + m_LocalRotation: {x: -0.00000022358424, y: -0.00000004477729, z: -0.000000029802315, w: 1} + m_LocalPosition: {x: 0.0000006137783, y: 0.0009160237, z: -8.382937e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 826624082289695996} + m_Father: {fileID: 6526749476404311093} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5614818725309010913 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2132727943928245242} + m_Layer: 0 + m_Name: mixamorig:LeftHandPinky4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2132727943928245242 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5614818725309010913} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.00000042808972, y: 0.0007281622, z: -2.4106878e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 826624082289695996} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5645993291312268603 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7651374233674023408} + m_Layer: 0 + m_Name: mixamorig:RightUpLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7651374233674023408 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5645993291312268603} + m_LocalRotation: {x: 0.0000047777303, y: 0.014990991, z: 0.99988747, w: 0.0006563382} + m_LocalPosition: {x: 0.0051394682, y: -0.0019558216, z: 0.00069574895} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6301246127647833962} + m_Father: {fileID: 5812657890528605903} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &5779679087592743718 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7947251388230739278} + m_Layer: 0 + m_Name: mixamorig:RightHandThumb1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7947251388230739278 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5779679087592743718} + m_LocalRotation: {x: 0.20431024, y: 0.075329416, z: 0.2815761, w: 0.934504} + m_LocalPosition: {x: -0.0011338945, y: 0.0013828315, z: 0.00062633137} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7537452316314716461} + m_Father: {fileID: 199832898772979320} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6110191522209306162 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5018959327401307034} + m_Layer: 0 + m_Name: mixamorig:LeftHandMiddle2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5018959327401307034 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6110191522209306162} + m_LocalRotation: {x: 0.0000003317478, y: 0.000000014901165, z: -0.000000029802314, w: 1} + m_LocalPosition: {x: 0.00000009158286, y: 0.0014746819, z: 3.865899e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3989817200647772077} + m_Father: {fileID: 7629192189731931736} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6171473768347717485 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2190073626933027295} + m_Layer: 0 + m_Name: mixamorig:Spine2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2190073626933027295 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6171473768347717485} + m_LocalRotation: {x: -6.938894e-18, y: 0, z: -7.88861e-30, w: 1} + m_LocalPosition: {x: -0, y: 0.004723484, z: 9.3130165e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4244105450441584964} + - {fileID: 4691672791524568482} + - {fileID: 8740628033061521453} + m_Father: {fileID: 855666514563682740} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6390463001750101240 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6301246127647833962} + m_Layer: 0 + m_Name: mixamorig:RightLeg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6301246127647833962 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6390463001750101240} + m_LocalRotation: {x: -0.064631, y: -0.00008290593, z: 0.0013792791, w: 0.9979083} + m_LocalPosition: {x: 1.0574874e-17, y: 0.021561641, z: 4.998825e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1369498183251892172} + m_Father: {fileID: 7651374233674023408} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6526237145305710515 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2279549598050612104} + - component: {fileID: 6461950886816761091} + m_Layer: 0 + m_Name: Racer_NeckJoint + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2279549598050612104 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6526237145305710515} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 16 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &6461950886816761091 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6526237145305710515} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -4098399886720586844, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5374612631285875928} + - {fileID: 2190073626933027295} + - {fileID: 4691672791524568482} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2190073626933027295} + m_AABB: + m_Center: {x: 0.000000014202669, y: 0.009901384, z: 0.0017361147} + m_Extent: {x: 0.00197607, y: 0.0021843316, z: 0.0021843025} + m_DirtyAABB: 0 +--- !u!1 &6541391945546261009 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1312930581319202769} + - component: {fileID: 2466153675641703335} + m_Layer: 0 + m_Name: Racer_R_Hand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1312930581319202769 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6541391945546261009} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 23 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2466153675641703335 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6541391945546261009} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -6386051814162787299, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 199832898772979320} + - {fileID: 7662038666226104086} + - {fileID: 2996992163829523035} + - {fileID: 4859507815261531836} + - {fileID: 7348793227045508796} + - {fileID: 2927332745791113659} + - {fileID: 5526885659425411380} + - {fileID: 860839699905624536} + - {fileID: 7537452316314716461} + - {fileID: 53596125200548010} + - {fileID: 7947251388230739278} + - {fileID: 5907948036226535148} + - {fileID: 6759094978331097842} + - {fileID: 3969278442297821354} + - {fileID: 1466306153845439205} + - {fileID: 4134921058202820568} + - {fileID: 4099121001898918936} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 4099121001898918936} + m_AABB: + m_Center: {x: -0.0005473698, y: 0.015137818, z: 0.00095721544} + m_Extent: {x: 0.003133574, y: 0.004298076, z: 0.0026405382} + m_DirtyAABB: 0 +--- !u!1 &6554716114635598863 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8461617944642211470} + m_Layer: 0 + m_Name: mixamorig:LeftHandMiddle4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8461617944642211470 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6554716114635598863} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.00000009686793, y: 0.001244837, z: -1.6271668e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3989817200647772077} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6627330594142231767 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5670791438621962461} + - component: {fileID: 3510735489033422324} + m_Layer: 0 + m_Name: Racer_L_Wrist + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5670791438621962461 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6627330594142231767} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 14 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &3510735489033422324 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6627330594142231767} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 8981124598305865895, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 9054238932862308169} + - {fileID: 4705200494044619891} + - {fileID: 4651949420925182447} + - {fileID: 5417257256830001800} + - {fileID: 6736943419121876454} + - {fileID: 7629192189731931736} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5417257256830001800} + m_AABB: + m_Center: {x: -0.00021254687, y: 0.021183467, z: -0.00009602419} + m_Extent: {x: 0.00087159406, y: 0.00081862137, z: 0.0008141012} + m_DirtyAABB: 0 +--- !u!1 &6656366332210152844 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1160117861033185689} + m_Layer: 0 + m_Name: mixamorig:RightHandMiddle4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1160117861033185689 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6656366332210152844} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.000000003844349, y: 0.0012313649, z: 5.2111965e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3969278442297821354} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6723535502317482130 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7274363713147771305} + - component: {fileID: 2206309103768167570} + m_Layer: 0 + m_Name: Racer_Neck + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7274363713147771305 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6723535502317482130} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 15 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &2206309103768167570 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6723535502317482130} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -9169980309313795059, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5374612631285875928} + - {fileID: 2190073626933027295} + - {fileID: 4691672791524568482} + - {fileID: 8740628033061521453} + - {fileID: 4244105450441584964} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2190073626933027295} + m_AABB: + m_Center: {x: -0.0000195608, y: 0.0069260667, z: 0.0005372786} + m_Extent: {x: 0.00150984, y: 0.0026702243, z: 0.00219682} + m_DirtyAABB: 0 +--- !u!1 &6904301830608874220 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3740758907906523563} + m_Layer: 0 + m_Name: mixamorig:LeftHandThumb4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3740758907906523563 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6904301830608874220} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.00013635766, y: 0.0012328726, z: -1.1710521e-10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1522579387079044102} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &6955618578326703695 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4099121001898918936} + m_Layer: 0 + m_Name: mixamorig:RightForeArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4099121001898918936 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6955618578326703695} + m_LocalRotation: {x: 0.00000015617294, y: 0.00075385376, z: -0.000000070167026, w: 0.9999997} + m_LocalPosition: {x: -2.5815227e-12, y: 0.00997791, z: -2.7854613e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 199832898772979320} + m_Father: {fileID: 5203316679422439093} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7002858199126623283 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5417257256830001800} + m_Layer: 0 + m_Name: mixamorig:LeftArm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5417257256830001800 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7002858199126623283} + m_LocalRotation: {x: -0.18188153, y: -0.0063151494, z: -0.020419752, w: 0.98308814} + m_LocalPosition: {x: -2.5972872e-12, y: 0.0052589523, z: 2.2120515e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9054238932862308169} + m_Father: {fileID: 4244105450441584964} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7053551988629990270 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5759777694531189237} + - component: {fileID: 3946342612628723737} + m_Layer: 3 + m_Name: DebugSMPlayerPrefab + m_TagString: Player + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5759777694531189237 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7053551988629990270} + 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_Children: + - {fileID: 3454051987037357494} + - {fileID: 5827288694444457909} + - {fileID: 2088235644774667867} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3946342612628723737 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7053551988629990270} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + NetworkInstanceId: 0 + PrefabHash: 8672539184207985188 + PrefabHashGenerator: PlayerPrefab + AlwaysReplicateAsRoot: 0 + DontDestroyWithOwner: 0 +--- !u!1 &7143742861156867231 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8148659716377239032} + m_Layer: 0 + m_Name: mixamorig:LeftHandIndex2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8148659716377239032 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7143742861156867231} + m_LocalRotation: {x: 0.00000023965976, y: 0.000000088739554, z: 0.000000059604623, w: 1} + m_LocalPosition: {x: -0.00000022170826, y: 0.0013937525, z: 2.3413573e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 9038516073381064587} + m_Father: {fileID: 650652529075124828} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7150452095416082925 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1552474965142081887} + - component: {fileID: 6882667369451006885} + m_Layer: 0 + m_Name: Racer_L_Forearm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1552474965142081887 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7150452095416082925} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &6882667369451006885 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7150452095416082925} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 3897173783277542301, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5417257256830001800} + - {fileID: 9054238932862308169} + - {fileID: 4705200494044619891} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5417257256830001800} + m_AABB: + m_Center: {x: 0.000019803934, y: 0.014963073, z: 0.00008001807} + m_Extent: {x: 0.0017788988, y: 0.0060249874, z: 0.0019803941} + m_DirtyAABB: 0 +--- !u!1 &7261431598430500489 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8188072263364747090} + - component: {fileID: 8201366505514894708} + m_Layer: 0 + m_Name: Racer_R_Hip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8188072263364747090 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7261431598430500489} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 24 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &8201366505514894708 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7261431598430500489} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -1483382761512165204, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7651374233674023408} + - {fileID: 5812657890528605903} + - {fileID: 4103965451747528627} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5812657890528605903} + m_AABB: + m_Center: {x: 0.004079847, y: -0.0053797523, z: -0.00021201861} + m_Extent: {x: 0.0037124506, y: 0.0038209725, z: 0.0038161397} + m_DirtyAABB: 0 +--- !u!1 &7313936845228716556 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2996992163829523035} + m_Layer: 0 + m_Name: mixamorig:RightHandMiddle1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2996992163829523035 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7313936845228716556} + m_LocalRotation: {x: -0.013996308, y: -0.0031081843, z: 0.05418348, w: 0.9984281} + m_LocalPosition: {x: -0.00043698907, y: 0.0040162564, z: -0.00011413136} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4859507815261531836} + m_Father: {fileID: 199832898772979320} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7316628265510257526 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6455492130359654162} + - component: {fileID: 5952236221231775348} + m_Layer: 0 + m_Name: Racer_L_Hip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6455492130359654162 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7316628265510257526} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &5952236221231775348 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7316628265510257526} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -6743741455230899256, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 4103965451747528627} + - {fileID: 5812657890528605903} + - {fileID: 7651374233674023408} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5812657890528605903} + m_AABB: + m_Center: {x: -0.004080033, y: -0.0053775217, z: -0.000212749} + m_Extent: {x: 0.003712216, y: 0.0038109757, z: 0.0038136113} + m_DirtyAABB: 0 +--- !u!1 &7357803761960500110 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7629192189731931736} + m_Layer: 0 + m_Name: mixamorig:LeftHandMiddle1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7629192189731931736 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7357803761960500110} + m_LocalRotation: {x: -0.018187111, y: 0.0033293215, z: -0.05419799, w: 0.998359} + m_LocalPosition: {x: 0.00042639548, y: 0.0039214287, z: -0.00014512942} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5018959327401307034} + m_Father: {fileID: 4705200494044619891} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7375664010308476343 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 855666514563682740} + m_Layer: 0 + m_Name: mixamorig:Spine1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &855666514563682740 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7375664010308476343} + m_LocalRotation: {x: -6.938894e-18, y: -1.1850553e-13, z: 6.7309954e-13, w: 1} + m_LocalPosition: {x: -0, y: 0.004133051, z: 2.0869128e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2190073626933027295} + m_Father: {fileID: 6107527997929964892} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7436209311881506612 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7537452316314716461} + m_Layer: 0 + m_Name: mixamorig:RightHandThumb2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7537452316314716461 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7436209311881506612} + m_LocalRotation: {x: -0.0000000063723387, y: -0.00004481312, z: 0.04110582, w: 0.9991548} + m_LocalPosition: {x: -0.00006298258, y: 0.0015145214, z: 5.163432e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 53596125200548010} + m_Father: {fileID: 7947251388230739278} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7677496891928064395 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8263075708633233957} + - component: {fileID: 6419081493301443253} + m_Layer: 0 + m_Name: Racer_Pelvis + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8263075708633233957 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7677496891928064395} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 17 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &6419081493301443253 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7677496891928064395} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 6121094074059513249, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 7651374233674023408} + - {fileID: 5812657890528605903} + - {fileID: 4103965451747528627} + - {fileID: 6107527997929964892} + - {fileID: 855666514563682740} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5812657890528605903} + m_AABB: + m_Center: {x: -4.656613e-10, y: -0.0025021052, z: -0.00003002421} + m_Extent: {x: 0.0065007545, y: 0.005963332, z: 0.005698233} + m_DirtyAABB: 0 +--- !u!1 &7733164027921842407 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1360165061313462950} + - component: {fileID: 5603369540012580977} + m_Layer: 0 + m_Name: Racer_L_Foot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1360165061313462950 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7733164027921842407} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &5603369540012580977 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7733164027921842407} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -8458005259421999579, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 4316928396777582465} + - {fileID: 4826947324913254686} + - {fileID: 8669144205054416749} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 8669144205054416749} + m_AABB: + m_Center: {x: 0.0003418594, y: 0.021516271, z: 0.0034187743} + m_Extent: {x: 0.002572557, y: 0.004907053, z: 0.005837313} + m_DirtyAABB: 0 +--- !u!1 &7979928095809559194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8915358416263082697} + - component: {fileID: 1843163731039608208} + m_Layer: 0 + m_Name: Racer_R_Forearm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8915358416263082697 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7979928095809559194} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 22 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &1843163731039608208 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7979928095809559194} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -1264438381242842688, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5203316679422439093} + - {fileID: 4099121001898918936} + - {fileID: 199832898772979320} + - {fileID: 2996992163829523035} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5203316679422439093} + m_AABB: + m_Center: {x: -0.000026121968, y: 0.014965199, z: 0.00008089142} + m_Extent: {x: 0.0017814038, y: 0.0060273013, z: 0.0019808144} + m_DirtyAABB: 0 +--- !u!1 &7990061278758385955 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1369498183251892172} + m_Layer: 0 + m_Name: mixamorig:RightFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1369498183251892172 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7990061278758385955} + m_LocalRotation: {x: 0.5348096, y: -0.029015569, z: 0.019397588, w: 0.8442515} + m_LocalPosition: {x: -1.5135281e-12, y: 0.01887487, z: 3.6376374e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 3677720723986851608} + m_Father: {fileID: 6301246127647833962} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8088225023796855887 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7348793227045508796} + m_Layer: 0 + m_Name: mixamorig:RightHandRing1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7348793227045508796 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8088225023796855887} + m_LocalRotation: {x: -0.013988671, y: -0.003241384, z: 0.054186013, w: 0.9984276} + m_LocalPosition: {x: 0.0005598324, y: 0.003994302, z: -0.00007866586} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 5526885659425411380} + m_Father: {fileID: 199832898772979320} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8114054415995499613 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6736943419121876454} + m_Layer: 0 + m_Name: mixamorig:LeftHandThumb1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6736943419121876454 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8114054415995499613} + m_LocalRotation: {x: 0.20096287, y: -0.070286326, z: -0.2584109, w: 0.94228315} + m_LocalPosition: {x: 0.001156476, y: 0.0014058166, z: 0.0006783863} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4297669642374631530} + m_Father: {fileID: 4705200494044619891} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8260426244966965078 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7332471362823344789} + - component: {fileID: 8230759307158574386} + m_Layer: 0 + m_Name: Racer_R_Shoulder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7332471362823344789 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8260426244966965078} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 27 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &8230759307158574386 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8260426244966965078} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 4811320721298521096, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 855666514563682740} + - {fileID: 8740628033061521453} + - {fileID: 5203316679422439093} + - {fileID: 2190073626933027295} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 855666514563682740} + m_AABB: + m_Center: {x: 0.0070707556, y: 0.0067039644, z: -0.00041320152} + m_Extent: {x: 0.00341302, y: 0.003298857, z: 0.002703129} + m_DirtyAABB: 0 +--- !u!1 &8299102628176869873 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2551791134346626248} + m_Layer: 0 + m_Name: mixamorig:LeftToe_End + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2551791134346626248 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8299102628176869873} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.4580756e-13, y: 0.002509616, z: 1.6562761e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4826947324913254686} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8348354618677995097 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5714010008251956832} + m_Layer: 0 + m_Name: mixamorig:RightHandPinky4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5714010008251956832 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8348354618677995097} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0.0000006498948, y: 0.00069878245, z: 2.5020671e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4134921058202820568} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8369357158186245267 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8418413161215182778} + m_Layer: 0 + m_Name: mixamorig:RightToe_End + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8418413161215182778 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8369357158186245267} + m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4.269201e-12, y: 0.002538837, z: -1.5786362e-12} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3677720723986851608} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8373806121877670633 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2951316007676565810} + - component: {fileID: 5530983236450105214} + m_Layer: 0 + m_Name: Racer_R_Ankle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2951316007676565810 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8373806121877670633} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 18 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &5530983236450105214 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8373806121877670633} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: 6546131747772155208, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 1369498183251892172} + - {fileID: 6301246127647833962} + - {fileID: 3677720723986851608} + - {fileID: 7651374233674023408} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 7651374233674023408} + m_AABB: + m_Center: {x: -0.00006485847, y: 0.0407907, z: -0.0020164466} + m_Extent: {x: 0.001329503, y: 0.0016530082, z: 0.0017146138} + m_DirtyAABB: 0 +--- !u!1 &8424259676270506077 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2358301949918083018} + - component: {fileID: 3706952991589254189} + m_Layer: 0 + m_Name: Racer_R_Leg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2358301949918083018 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8424259676270506077} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 26 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &3706952991589254189 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8424259676270506077} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -8500115524859071965, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 1369498183251892172} + - {fileID: 6301246127647833962} + - {fileID: 3677720723986851608} + - {fileID: 7651374233674023408} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 7651374233674023408} + m_AABB: + m_Center: {x: -0.00022288691, y: 0.030140802, z: -0.0019018627} + m_Extent: {x: 0.0026084092, y: 0.01171752, z: 0.006279033} + m_DirtyAABB: 0 +--- !u!1 &8437142361430172737 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 826624082289695996} + m_Layer: 0 + m_Name: mixamorig:LeftHandPinky3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &826624082289695996 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8437142361430172737} + m_LocalRotation: {x: -0.0000002339575, y: 0.000000074431625, z: -0.000000029802326, w: 1} + m_LocalPosition: {x: -0.00000018569618, y: 0.00076374895, z: -2.4635904e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2132727943928245242} + m_Father: {fileID: 5128740387430272519} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8582821191124292124 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 41866535306080310} + - component: {fileID: 331036522926199054} + m_Layer: 0 + m_Name: Racer_Chest + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &41866535306080310 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8582821191124292124} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &331036522926199054 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8582821191124292124} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -1428409747177077501, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5374612631285875928} + - {fileID: 2190073626933027295} + - {fileID: 4691672791524568482} + - {fileID: 8740628033061521453} + - {fileID: 5203316679422439093} + - {fileID: 6107527997929964892} + - {fileID: 855666514563682740} + - {fileID: 5812657890528605903} + - {fileID: 5417257256830001800} + - {fileID: 4244105450441584964} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 5812657890528605903} + m_AABB: + m_Center: {x: -0.00003740564, y: 0.013385845, z: -0.0006240462} + m_Extent: {x: 0.009690173, y: 0.007423591, z: 0.005915595} + m_DirtyAABB: 0 +--- !u!1 &8594781417294519866 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3031458159403656971} + m_Layer: 0 + m_Name: mixamorig:LeftHandRing3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3031458159403656971 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8594781417294519866} + m_LocalRotation: {x: -0.00000019175847, y: -0.000000029802308, z: 0.00000005960465, w: 1} + m_LocalPosition: {x: -0.00000085865275, y: 0.0011068768, z: 2.9050099e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7634195037947703218} + m_Father: {fileID: 1065064008064692099} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8674246168655115524 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4316928396777582465} + m_Layer: 0 + m_Name: mixamorig:LeftFoot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4316928396777582465 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8674246168655115524} + m_LocalRotation: {x: 0.5290099, y: 0.02981642, z: -0.019593261, w: 0.84786534} + m_LocalPosition: {x: -1.07767e-12, y: 0.018864846, z: 1.901105e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4826947324913254686} + m_Father: {fileID: 8669144205054416749} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8950631168716862164 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5374612631285875928} + m_Layer: 0 + m_Name: mixamorig:Head + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5374612631285875928 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8950631168716862164} + m_LocalRotation: {x: 0, y: -0, z: -1.1872493e-36, w: 1} + m_LocalPosition: {x: -0, y: 0.0029598908, z: 0.00076199416} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7192031523904962614} + m_Father: {fileID: 4691672791524568482} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &9025226193368634384 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4297669642374631530} + m_Layer: 0 + m_Name: mixamorig:LeftHandThumb2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4297669642374631530 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9025226193368634384} + m_LocalRotation: {x: 0.0000643902, y: 0.001447149, z: -0.044204544, w: 0.9990215} + m_LocalPosition: {x: 0.00013709861, y: 0.0015480785, z: 2.4180208e-11} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1522579387079044102} + m_Father: {fileID: 6736943419121876454} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &9078387202660616446 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6586190623342319093} + - component: {fileID: 7648313984317539310} + m_Layer: 0 + m_Name: Racer_L_Bicep + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6586190623342319093 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9078387202660616446} + 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_Children: [] + m_Father: {fileID: 8777733353107640407} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!137 &7648313984317539310 +SkinnedMeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9078387202660616446} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 3 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 05c45b28487e83644b86b6d81af4d17d, 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_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + serializedVersion: 2 + m_Quality: 0 + m_UpdateWhenOffscreen: 0 + m_SkinnedMotionVectors: 1 + m_Mesh: {fileID: -7720411555308266550, guid: ecf036921b55f9e44b0a6bd68f129dfc, type: 3} + m_Bones: + - {fileID: 5417257256830001800} + - {fileID: 4244105450441584964} + - {fileID: 2190073626933027295} + - {fileID: 9054238932862308169} + m_BlendShapeWeights: [] + m_RootBone: {fileID: 2190073626933027295} + m_AABB: + m_Center: {x: -0.011832181, y: 0.002205899, z: -0.0009598391} + m_Extent: {x: 0.004267955, y: 0.0036587548, z: 0.0025820034} + m_DirtyAABB: 0 diff --git a/Assets/Prefabs/Player/DebugSMPlayerPrefab.prefab.meta b/Assets/Prefabs/Player/DebugSMPlayerPrefab.prefab.meta new file mode 100644 index 0000000..13b9e19 --- /dev/null +++ b/Assets/Prefabs/Player/DebugSMPlayerPrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0ea305f96ab853340bb9f0ed320dac08 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Demos/MovementScene.unity b/Assets/Scenes/Demos/MovementScene.unity index bf95c96..dd18ed8 100644 --- a/Assets/Scenes/Demos/MovementScene.unity +++ b/Assets/Scenes/Demos/MovementScene.unity @@ -2715,7 +2715,7 @@ Transform: m_LocalScale: {x: 10, y: 10, z: 10} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1781357367 GameObject: @@ -2907,67 +2907,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1806935633} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1001 &1935079347 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_RootOrder - value: 9 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 297879044457584256, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3039877022422189067, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_Name - value: DebugPlayerPrefab 1 - objectReference: {fileID: 0} - - target: {fileID: 3039877022422189067, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 6adb8bcc65ee3a54da64d7c65225f219, type: 3} --- !u!1 &1985880502 GameObject: m_ObjectHideFlags: 0 @@ -3094,104 +3033,60 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2061208975} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1001 &5975360321193801336 +--- !u!1001 &4713506341404860824 PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 2080873442886702253, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: m_Name - value: NetworkSMPlayerPrefab - objectReference: {fileID: 0} - - target: {fileID: 2080873442886702253, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3669633515805984294, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + - target: {fileID: 5759777694531189237, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: m_RootOrder - value: 11 + value: 10 objectReference: {fileID: 0} - - target: {fileID: 3669633515805984294, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + - target: {fileID: 5759777694531189237, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: m_LocalPosition.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 3669633515805984294, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + - target: {fileID: 5759777694531189237, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: m_LocalPosition.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 3669633515805984294, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + - target: {fileID: 5759777694531189237, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 3669633515805984294, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + - target: {fileID: 5759777694531189237, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: 3669633515805984294, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + - target: {fileID: 5759777694531189237, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: m_LocalRotation.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 3669633515805984294, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + - target: {fileID: 5759777694531189237, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: m_LocalRotation.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 3669633515805984294, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + - target: {fileID: 5759777694531189237, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 3669633515805984294, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + - target: {fileID: 5759777694531189237, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 3669633515805984294, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + - target: {fileID: 5759777694531189237, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 3669633515805984294, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + - target: {fileID: 5759777694531189237, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 7688428083034862280, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7688428083034862287, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: hasGrapple - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7688428083034862387, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7688428083034862389, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7688428083034862390, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7688428083034862391, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8193413098731078848, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8193413098731078861, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8193413098731078862, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8193413098731078863, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} - propertyPath: m_Enabled - value: 1 + - target: {fileID: 7053551988629990270, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} + propertyPath: m_Name + value: DebugSMPlayerPrefab objectReference: {fileID: 0} m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 1e178f956ddfe5143b2b9e77e76db7f0, type: 3} + m_SourcePrefab: {fileID: 100100000, guid: 0ea305f96ab853340bb9f0ed320dac08, type: 3} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine.meta new file mode 100644 index 0000000..ef2f7b3 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81aece4494aeb5742af48a30e67985f9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState.meta new file mode 100644 index 0000000..64122d7 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bf5c68e36c240fd4d9b4e0d050b61ff6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial.meta new file mode 100644 index 0000000..0b763bb --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3dd0e9bfb82a6a1479a798cb507f75b3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialFallingState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialFallingState.cs new file mode 100644 index 0000000..03f9c63 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialFallingState.cs @@ -0,0 +1,53 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dAerialFallingState : dAerialBaseState +{ + public override void EnterState(dAerialStateManager aSM, dAerialBaseState previousState){ + + } + + public override void ExitState(dAerialStateManager aSM, dAerialBaseState nextState){ + + } + + public override void UpdateState(dAerialStateManager aSM){ + + //if Grav Vel > 0 then jumping + if(aSM.pStats.GravVel > 0 && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.JumpingState); + } + + //if jump has been pressed and has glider and is in a state that allows it glide + else if(Input.GetButton("Jump") && aSM.pStats.HasGlider && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.GlidingState); + } + + //if is grounded then grounded + else if(aSM.isGrounded){ + aSM.SwitchState(aSM.GroundedState); + } + + //if is wallrunning ands is in a state that allows it wallrun + else if(aSM.isWallRunning && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.WallRunState); + } + + //if grapple is possible and in state that allows it grapple air + else if(aSM.CheckGrapple() && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.GrappleAirState); + } + } + + public override void FixedUpdateState(dAerialStateManager aSM){ + + //Default gravity calculation + aSM.GravityCalculation(aSM.pStats.PlayerGrav); + + //if grapple released apply release force + if(aSM.pStats.HasGrapple){ + aSM.GrappleReleaseForce(); + } + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialFallingState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialFallingState.cs.meta new file mode 100644 index 0000000..3f88686 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialFallingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6722fdbb94c5381478060247e52825a2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGlidingState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGlidingState.cs new file mode 100644 index 0000000..71c6d10 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGlidingState.cs @@ -0,0 +1,55 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dAerialGlidingState : dAerialBaseState +{ + float tempTraction; // temp traction to store the actual player traction + + public override void EnterState(dAerialStateManager aSM, dAerialBaseState previousState){ + + //Modify base traction + tempTraction = aSM.pStats.Traction; + aSM.pStats.Traction = 1.0f; + } + + public override void ExitState(dAerialStateManager aSM, dAerialBaseState nextState){ + + //return traction to normal + aSM.pStats.Traction = tempTraction; + } + + public override void UpdateState(dAerialStateManager aSM){ + + //if not holding jump fall + if(!Input.GetButton("Jump") || (aSM.mSM.currentState == aSM.mSM.RagdollState)){ + aSM.SwitchState(aSM.FallingState); + } + + //if is grounded then grounded + else if(aSM.isGrounded){ + aSM.SwitchState(aSM.GroundedState); + } + + //if isWallrunning and in state that allows it wallrun + else if(aSM.isWallRunning){ + aSM.SwitchState(aSM.WallRunState); + } + + //if can grapple and in state that allows it grapple + else if(aSM.CheckGrapple()){ + aSM.SwitchState(aSM.GrappleAirState); + } + } + + public override void FixedUpdateState(dAerialStateManager aSM){ + + //modified gravity calculation to fall slower + aSM.GravityCalculation(9); + + //if grapple released apply release force + if(aSM.pStats.HasGrapple){ + aSM.GrappleReleaseForce(); + } + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGlidingState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGlidingState.cs.meta new file mode 100644 index 0000000..e9c5543 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGlidingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ca88991fb50bfa3448684da56843b7c4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGroundedState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGroundedState.cs new file mode 100644 index 0000000..02ae3cc --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGroundedState.cs @@ -0,0 +1,39 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dAerialGroundedState : dAerialBaseState +{ + public override void EnterState(dAerialStateManager aSM, dAerialBaseState previousState){ + + //release is false if grounded + aSM.release = false; + } + + public override void ExitState(dAerialStateManager aSM, dAerialBaseState nextState){ + + } + + public override void UpdateState(dAerialStateManager aSM){ + + //if grav vel < 0 then falling + if(aSM.pStats.GravVel < 0 || (aSM.pStats.GravVel > 0 && (aSM.mSM.currentState == aSM.mSM.SlideState || aSM.mSM.currentState == aSM.mSM.RagdollState || aSM.mSM.currentState == aSM.mSM.RecoveringState))){ + aSM.SwitchState(aSM.FallingState); + } + //if grav vel > 0 then jumping + else if(aSM.pStats.GravVel > 0 && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.JumpingState); + } + + //can grapple and in state that allows grapple + else if(aSM.CheckGrapple() && (aSM.mSM.currentState != aSM.mSM.SlideState && aSM.mSM.currentState != aSM.mSM.RagdollState && aSM.mSM.currentState != aSM.mSM.RecoveringState)){ + aSM.SwitchState(aSM.GrappleGroundedState); + } + } + + public override void FixedUpdateState(dAerialStateManager aSM){ + + //base gravity calculations + aSM.GravityCalculation(aSM.pStats.PlayerGrav); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGroundedState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGroundedState.cs.meta new file mode 100644 index 0000000..fed6ac7 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialGroundedState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f824e83f9c831674c9253c243b68f8c1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialJumpingState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialJumpingState.cs new file mode 100644 index 0000000..6fe003c --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialJumpingState.cs @@ -0,0 +1,49 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dAerialJumpingState : dAerialBaseState +{ + + public override void EnterState(dAerialStateManager aSM, dAerialBaseState previousState){ + + } + + public override void ExitState(dAerialStateManager aSM, dAerialBaseState nextState){ + + } + + public override void UpdateState(dAerialStateManager aSM){ + + //if grav vel < 0 falling + if(aSM.pStats.GravVel < 0 || aSM.mSM.currentState == aSM.mSM.RagdollState){ + aSM.SwitchState(aSM.FallingState); + } + + //if is grounded then grounded + else if(aSM.isGrounded){ + aSM.SwitchState(aSM.GroundedState); + } + + //if is wall running and in a state that allows it wallrun + else if(aSM.isWallRunning){ + aSM.SwitchState(aSM.WallRunState); + } + + //if can grapple and in a state that allows it grapple + else if(aSM.CheckGrapple()){ + aSM.SwitchState(aSM.GrappleAirState); + } + } + + public override void FixedUpdateState(dAerialStateManager aSM){ + + //default gravity calculations + aSM.GravityCalculation(aSM.pStats.PlayerGrav); + + //if grapple release then apply grapple release force + if(aSM.pStats.HasGrapple){ + aSM.GrappleReleaseForce(); + } + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialJumpingState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialJumpingState.cs.meta new file mode 100644 index 0000000..162cc7d --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugAerial/dAerialJumpingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8aafe153a83557c41a009cceb1732e4c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple.meta new file mode 100644 index 0000000..4302184 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 52972830fdc64d84daf7f72a716ed494 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleAirState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleAirState.cs new file mode 100644 index 0000000..69be863 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleAirState.cs @@ -0,0 +1,253 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dAerialGrappleAirState : dAerialBaseState +{ + + bool spaceHeld = true; + float ropeLength; // current rope length + float inclinationAngle; // inclination angle + float theta = -1; // theta for rope angle + Vector3 hookPointRight; // right vector of the hook point + Vector3 curXZDir; // current straight line between player and hook point ignoring y axis + Vector3 oldXZDir; // old straight line between player and hook point ignoring y axis + + Vector3 swingDirection; // Swing direction + float swingSpeed = 10; // cur swing speed + Vector3 tensionDirection; // tension direction + float tensionForce; // tension force amplifier + + float swingMom; // swing Mom amplifier + float oldSwingMom; // old swing Momentum amplifier + Vector3 momDirection; // momentum direction + Vector3 tensionMomDirection; // tension momentum direction + + public override void EnterState(dAerialStateManager aSM, dAerialBaseState previousState){ + + //refresh jump number + aSM.curJumpNum = 0; + + //rope length limit + ropeLength = Vector3.Distance(aSM.transform.position, aSM.hookPoint.transform.position); + if(ropeLength > aSM.maxGrappleDistance){ + ropeLength = aSM.maxGrappleDistance; + } + + //old and cur direction vector for player to hookpoint + oldXZDir = (new Vector3(aSM.hookPoint.transform.position.x,0,aSM.hookPoint.transform.position.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized; + curXZDir = (new Vector3(aSM.hookPoint.transform.position.x,0,aSM.hookPoint.transform.position.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized; + + //swing momentum calculation + swingMom = CalculateSwingMom(aSM.mSM.driftVel.magnitude * 50f, aSM); + oldSwingMom = swingMom; + + //Initialize variables + aSM.pStats.GravVel = -1; // grav vel is adjusted so things work + aSM.release = false; // player hasn't released + aSM.lerpRelease = Vector3.zero; // reset lerp release + spaceHeld = true; + } + + public override void ExitState(dAerialStateManager aSM, dAerialBaseState nextState){ + + //If not going into grapple grounded state + if(nextState != aSM.GrappleGroundedState){ + aSM.release = true; + aSM.pStats.GravVel = 0; + aSM.forceDirection = Vector3.zero; + } + + //If going into grapple grounded state + else{ + aSM.pStats.GravVel = 0; + aSM.forceDirection = Vector3.zero; + } + } + + public override void UpdateState(dAerialStateManager aSM){ + + //if pressing E or ragdolling then falling + if(((Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.JoystickButton2)) && !aSM.eHeld) || (aSM.mSM.currentState == aSM.mSM.RagdollState)){ + aSM.SwitchState(aSM.FallingState); + } + else if((Input.GetKeyUp(KeyCode.E) || Input.GetKeyUp(KeyCode.JoystickButton2)) && aSM.eHeld){ + aSM.eHeld = false; + } + + //if pressing Jump then jump + else if(Input.GetButton("Jump") && !spaceHeld){ + aSM.SwitchState(aSM.JumpingState); + } + else if(!(Input.GetButton("Jump")) && spaceHeld){ + spaceHeld = false; + } + + //if grounded then grapple grounded + else if(aSM.isGrounded){ + aSM.SwitchState(aSM.GrappleGroundedState); + } + + //if wallrunning then wallrun + else if(aSM.isWallRunning){ + aSM.SwitchState(aSM.WallRunState); + } + + } + + public override void FixedUpdateState(dAerialStateManager aSM){ + + ////////ADD A LINE RENDERER WHEN WE GET THE HAND MODEL + //Draw Line between player and hookpoint for debug purposes + Debug.DrawRay(aSM.transform.position, (aSM.hookPoint.transform.position - aSM.transform.position)); //Visual of line + + //Calculate tether force direction based on hookpoint + if (Vector3.Distance(aSM.transform.position, aSM.hookPoint.transform.position) >= ropeLength ) + { + aSM.forceDirection = CalculateForceDirection(1, aSM.pStats.GravVel, aSM.hookPoint.transform.position, aSM) + RopeLengthOffset(aSM.hookPoint.transform.position, Vector3.Distance(aSM.transform.position, aSM.hookPoint.transform.position), aSM); + } + else{ + aSM.forceDirection = Vector3.zero; + } + + //Move player based on their inputs + aSM.moveController.Move(SwingMoveController(aSM)); + + //if Swing Momentum isn't zero then move player + if(swingMom != 0){ + aSM.moveController.Move(CalculateMomentumDirection(aSM.pStats.GravVel, aSM.hookPoint.transform.position, aSM)); + swingMom -= .5f; + } + if(swingMom<0) swingMom = 0; + + //Calculate temp release at every position + aSM.tempRelease = CalculateSwingReleaseForce(); + + //Apply default gravity + aSM.GravityCalculation(aSM.pStats.PlayerGrav); + + } + + //Calculate the tether direction vector and how much force that vector needs + Vector3 CalculateForceDirection(float mass, float g, Vector3 hPoint, dAerialStateManager aSM){ + + //tension direction and angle calculation + tensionDirection = (hPoint - aSM.transform.position).normalized; + inclinationAngle = Vector3.Angle((aSM.transform.position - hPoint).normalized, -aSM.transform.up); + theta = Mathf.Deg2Rad * inclinationAngle; + if(theta<=.1) theta = 0; + + //How much force the tension needs + tensionForce = mass * -g * Mathf.Cos(theta); + + //force direction calculation based on tension direction and force + Vector3 fDirection = tensionDirection * tensionForce; + + //return force direction + return fDirection; + + } + + Vector3 CalculateMomentumDirection(float g, Vector3 hPoint, dAerialStateManager aSM){ + + tensionMomDirection = (hPoint - aSM.transform.position).normalized; + hookPointRight = Vector3.Cross(oldXZDir, aSM.transform.up).normalized; + momDirection = -1 * Vector3.Cross(hookPointRight, tensionMomDirection).normalized; + + //if player is on the other side of hookpoint and swingMom is lower then update oldXZDir + if(oldXZDir != curXZDir && swingMom <= (oldSwingMom*(.75f))){ + oldSwingMom = swingMom; + oldXZDir = (new Vector3(aSM.hookPoint.transform.position.x,0,aSM.hookPoint.transform.position.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized; + } + + //current line between hookpoint and player + curXZDir = (new Vector3(hPoint.x,0,hPoint.z) - new Vector3(aSM.transform.position.x,0,aSM.transform.position.z)).normalized; + Debug.DrawRay(aSM.transform.position, momDirection * Time.deltaTime* 100, Color.green); + + //return momentum dir * mom force + return (momDirection * Time.deltaTime * swingMom); + + } + + //Calculates the players initial swing momentum using their height and their current velocity + float CalculateSwingMom(float playerSpeed, dAerialStateManager aSM){ + + //Calculate the players height compared to the lowest point in the swing + float swingHeight = aSM.transform.position.y - (aSM.hookPoint.transform.position.y - ropeLength); + if(swingHeight <= 1){ + swingHeight = 1; + } + + //calculates swing momentum based on height ands speed + float sMom = playerSpeed + (swingHeight * 2.5f); + if(sMom > aSM.maxSwingMom){ + sMom = aSM.maxSwingMom; + } + + //returns swing momentum + return sMom; + + } + + //Special movement for the player while they swing + Vector3 SwingMoveController(dAerialStateManager aSM){ + + //WASD input + float inputVert = Input.GetAxis("Vertical"); + float inputHor = Input.GetAxis("Horizontal"); + + //input is zero when nothing is pressed to prevent button easing values + if((!Input.GetKey(KeyCode.W) && !Input.GetKey(KeyCode.S))) inputVert = 0; + if((!Input.GetKey(KeyCode.A) && !Input.GetKey(KeyCode.D))) inputHor = 0; + + //Swingspeed build up + if((inputVert != 0 || inputHor != 0) && swingSpeed < aSM.maxSwingSpeed){ + swingSpeed += aSM.swingAcc; + } + else if((inputVert != 0 || inputHor != 0) && swingSpeed >= aSM.maxSwingSpeed){ + swingSpeed = aSM.maxSwingSpeed; + } + else if((inputVert == 0 && inputHor == 0)){ + swingSpeed = aSM.minSwingSpeed; + } + + //Swing direction based on player input + swingDirection = Vector3.Cross(tensionDirection, ((aSM.transform.right * -inputVert) + (aSM.transform.forward * inputHor))).normalized; + + //Swing movement with swing speed added + Vector3 swingMovement = (swingDirection * Time.deltaTime * swingSpeed); + + //returns swing movement vector + return (swingMovement); + + } + + Vector3 RopeLengthOffset(Vector3 hPoint, float curDistance, dAerialStateManager aSM){ + + //How powerful our offset movement has to be + float offsetPower = ((curDistance - ropeLength) * 200f); + + //The direction we need to apply force to offset when the rope gets lengthened beyond the necessary point + Vector3 tenDirOffset = (hPoint - aSM.transform.position).normalized; + + //returns rope offset direction * power + return tenDirOffset * offsetPower * Time.deltaTime; + + } + + Vector3 CalculateSwingReleaseForce(){ + + //Swing release direction + Vector3 releaseSwingForceDirection = momDirection * ((swingMom) + 10); + releaseSwingForceDirection = new Vector3(releaseSwingForceDirection.x,0,releaseSwingForceDirection.z); + + //if swingMom is low there is no release force + if(swingMom < 2){ + return Vector3.zero; + } + + //return swing release direction + return releaseSwingForceDirection * Time.deltaTime; + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleAirState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleAirState.cs.meta new file mode 100644 index 0000000..797f776 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleAirState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f0b365af54acfc546a6f5e6058270882 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleGroundedState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleGroundedState.cs new file mode 100644 index 0000000..20e7325 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleGroundedState.cs @@ -0,0 +1,46 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dAerialGrappleGroundedState : dAerialBaseState +{ + public override void EnterState(dAerialStateManager aSM, dAerialBaseState previousState){ + + aSM.release = false; // release is false when grounded + + } + + public override void ExitState(dAerialStateManager aSM, dAerialBaseState nextState){ + + } + + public override void UpdateState(dAerialStateManager aSM){ + + //if E is pressed or ragdolling then grounded + if(((Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.JoystickButton2)) && !aSM.eHeld) || (aSM.mSM.currentState == aSM.mSM.RagdollState)){ + aSM.SwitchState(aSM.GroundedState); + } + else if((Input.GetKeyUp(KeyCode.E) || Input.GetKeyUp(KeyCode.JoystickButton2)) && aSM.eHeld){ + aSM.eHeld = false; + } + + //if not grounded and gravVel < 0 then grapple air + else if(!aSM.isGrounded && aSM.pStats.GravVel < 0){ + aSM.SwitchState(aSM.GrappleAirState); + } + + //if distance between player and hookpoint is too far then grounded + else if(Vector3.Distance(aSM.transform.position, aSM.hookPoint.transform.position) > aSM.maxGrappleDistance){ + aSM.SwitchState(aSM.GroundedState); + } + + + } + + public override void FixedUpdateState(dAerialStateManager aSM){ + Debug.DrawRay(aSM.transform.position, (aSM.hookPoint.transform.position - aSM.transform.position)); //Visual of line + + //Default gravity calculation + aSM.GravityCalculation(aSM.pStats.PlayerGrav); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleGroundedState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleGroundedState.cs.meta new file mode 100644 index 0000000..cb921ca --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugGrapple/dAerialGrappleGroundedState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 080d941405d7f1d41bf2647c10ddc38e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun.meta new file mode 100644 index 0000000..5351ed2 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4a887c15969bc4b4786be862437bf8d8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallIdleState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallIdleState.cs new file mode 100644 index 0000000..97441f4 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallIdleState.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dAerialWallIdleState : dAerialBaseState +{ + + public override void EnterState(dAerialStateManager aSM, dAerialBaseState previousState){ + + } + + public override void ExitState(dAerialStateManager aSM, dAerialBaseState nextState){ + + } + + public override void UpdateState(dAerialStateManager aSM){ + + } + + public override void FixedUpdateState(dAerialStateManager aSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallIdleState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallIdleState.cs.meta new file mode 100644 index 0000000..b0d034a --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallIdleState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 12bfb64019585454cae0871e081e007d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallRunState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallRunState.cs new file mode 100644 index 0000000..a488287 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallRunState.cs @@ -0,0 +1,48 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dAerialWallRunState : dAerialBaseState +{ + bool spaceHeld = true; + + public override void EnterState(dAerialStateManager aSM, dAerialBaseState previousState){ + + aSM.pStats.GravVel = 0; // on entering reset grav vel + spaceHeld = true; // prevent accidental wall jumping + + } + + public override void ExitState(dAerialStateManager aSM, dAerialBaseState nextState){ + + } + + public override void UpdateState(dAerialStateManager aSM){ + + //if not wallrunning or are ragdolling then falling + if(!aSM.isWallRunning || (aSM.mSM.currentState == aSM.mSM.RagdollState)){ + aSM.SwitchState(aSM.FallingState); + } + + //if space is pressed then jumping + else if(Input.GetButton("Jump") && !spaceHeld){ + aSM.SwitchState(aSM.JumpingState); + } + else if(!Input.GetButton("Jump") && spaceHeld){ + spaceHeld = false; + } + + //if able to grapple then grapple + else if(aSM.CheckGrapple()){ + aSM.SwitchState(aSM.GrappleAirState); + } + + } + + public override void FixedUpdateState(dAerialStateManager aSM){ + + //Modified gravity calculation for wallrun + aSM.GravityCalculation(2); + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallRunState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallRunState.cs.meta new file mode 100644 index 0000000..9d490d3 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/DebugWallRun/dAerialWallRunState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2c42c07686ce0844baee41facfcda6fa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialBaseState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialBaseState.cs new file mode 100644 index 0000000..43fc3ed --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialBaseState.cs @@ -0,0 +1,12 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class dAerialBaseState +{ + public abstract void EnterState(dAerialStateManager aSM, dAerialBaseState previousState); + public abstract void ExitState(dAerialStateManager aSM, dAerialBaseState nextState); + public abstract void UpdateState(dAerialStateManager aSM); + public abstract void FixedUpdateState(dAerialStateManager aSM); + +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialBaseState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialBaseState.cs.meta new file mode 100644 index 0000000..57cc0e9 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialBaseState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 93c036f34a4238f42bc6f28d1c94756e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialStateManager.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialStateManager.cs new file mode 100644 index 0000000..e911738 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugAerialState/dAerialStateManager.cs @@ -0,0 +1,518 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System.Linq; +using MLAPI; +using UnityEngine.Rendering; + +public class dAerialStateManager : NetworkBehaviour +{ + ////Player States + public dAerialBaseState currentState; + public dAerialBaseState previousState; + + //Aerial States + public dAerialFallingState FallingState = new dAerialFallingState(); + public dAerialGlidingState GlidingState = new dAerialGlidingState(); + public dAerialGroundedState GroundedState = new dAerialGroundedState(); + public dAerialJumpingState JumpingState = new dAerialJumpingState(); + + //Wallrunning States + public dAerialWallRunState WallRunState = new dAerialWallRunState(); + public dAerialWallIdleState WallIdleState = new dAerialWallIdleState(); + + //Grappling States + public dAerialGrappleGroundedState GrappleGroundedState = new dAerialGrappleGroundedState(); + public dAerialGrappleAirState GrappleAirState = new dAerialGrappleAirState(); + //// + + ////Objects Sections + GameObject parentObj; // Parent object + //// + + ////Components Section + public CharacterController moveController; // Character Controller + Rigidbody rB; // Players Rigidbody + Animator animator; // Animation Controller + //// + + ////Scripts Section + public PlayerStats pStats; // Player Stats + public dMoveStateManager mSM; + //// + + ////Variables Section + //Jump Variables + public int curJumpNum; // current Jumps Used + public bool jumpHeld; // Jump is Held + bool jumpPressed; // Jamp was pressed + public float coyJumpTimer = 0.1f; // Default Coyote Jump time + public float curCoyJumpTimer = 0.1f; // current Coyote Jump time + public float lowJumpMultiplier; // Short jump multiplier + public float fallMultiplier; // High Jump Multiplier + + //Gravity Variables// + float maxG = -100; // max downwards velocity + + //Ground Check + public bool isGrounded; // is player grounded + public float groundCheckDistance = 0.05f; // offset distance to check ground + const float jumpGroundingPreventionTime = 0.2f; // delay so player doesn't get snapped to ground while jumping + const float groundCheckDistanceInAir = 0.07f; // How close we have to get to ground to start checking for grounded again + Ray groundRay; // ground ray + RaycastHit groundHit; // ground raycast + + //Wallrun + float wallMaxDistance = 3f; // distance to wall that player can attach from + float minimumHeight = .1f; // minimum height player has to be + [Range(0.0f, 1.0f)] + float normalizedAngleThreshold = 0.1f; // angle player can attach to wall from + float jumpDuration = .02f; // jump duration + float wallBouncing = 3; // wall bouncing + Vector3[] directions; // cardinal direction to attach to wall + RaycastHit[] hits; // where we hit wall + public bool isWallRunning = false; // if player is wallrunning + Vector3 lastWallPosition; // last wall position + Vector3 lastWallNormal; // last wall normal + float elapsedTimeSinceJump = 0; // time since jump + float elapsedTimeSinceWallAttach = 0; // time since attached to wall + float elapsedTimeSinceWallDetatch = 0; // time since detached + bool jumping; // is player jumping + + //Impact Variables + float mass = 5.0F; // mass variable for Impact + Vector3 impact = Vector3.zero; // Impact Vector + + //Grapple Variables + public float maxGrabDistance = 50;// Max Distance can cast grapple + public GameObject hookPoint; // Actual Hook points + public GameObject[] hookPoints; // Hook point list + public int hookPointIndex; // Hook point Index + public float distance; // distance of hookpoints + public float maxGrappleDistance = 25; // Max Rope Length + public float maxSwingSpeed = 50; // max swing speed + public float minSwingSpeed = 20; // min swing speed + public float swingAcc = 3f; // swing acceleration + public float maxSwingMom = 60; // max swing momentum + public bool release = false; // has player ungrappled + public Vector3 tempRelease; // temporary release force vector + public Vector3 lerpRelease; // lerped release force vector + public Vector3 forceDirection; // force direction vector + public bool eHeld; // is e being held + //// + + void Awake(){ + + ////Initialize Player Components + moveController = GetComponent(); // set Character Controller + rB = GetComponent(); //set Rigid Body + parentObj = transform.parent.gameObject; // set parent object + animator = GetComponent(); // set animator + //// + + ////Initialize Scripts + pStats = GetComponent(); // set PlayerStats + mSM = GetComponent(); // set move state manager + //// + } + + void Start(){ + //players starting state + currentState = GroundedState; + previousState = GroundedState; + currentState.EnterState(this, previousState); + + ////Initialize Variables + //Wallrun Variables + directions = new Vector3[]{ + Vector3.right, + Vector3.right + Vector3.forward, + Vector3.forward, + Vector3.left + Vector3.forward, + Vector3.left + }; + + //Grapple Variables + hookPoints = GameObject.FindGameObjectsWithTag("HookPoint"); + //// + } + + void Update(){ + + //if (!IsLocalPlayer) { return; } + + //calls any logic in the update state from current state + currentState.UpdateState(this); + } + + void FixedUpdate(){ + + //if (!IsLocalPlayer) { return; } + + //calls any logic in the fixed update state from current state + currentState.FixedUpdateState(this); + + //Some functions that need to be active if move controller is active + if(moveController.enabled){ + + //Allows player to jump + Jump(); + + //checks ground + GroundCheck(); + + //Applies downwards movement + DownwardMovement(); + + //if player has wallrun then do wall run routine + if(pStats.HasWallrun){ + WallRunRoutine(); + } + + //Dissipates Impact + DissipateImpact(); + } + + else{ + + //Gravity without moveController + pStats.GravVel -= pStats.PlayerGrav * Time.deltaTime; + rB.AddForce(new Vector3(0,pStats.GravVel,0)); + } + + + + } + + public void SwitchState(dAerialBaseState state){ + + currentState.ExitState(this, state); + + //Sets the previous State + previousState = currentState; + + //updates current state and calls logic for entering + currentState = state; + currentState.EnterState(this, previousState); + } + + + ////Jump & Gravity Calculations + //Uses Given gravity to apply a downwards force while allowing coyote Jump and short hops + public void GravityCalculation(float grav){ + if(moveController.enabled){ + + //apply slight upwards force for jump smoothing when g < 0 + if(pStats.GravVel < 0){ + pStats.GravVel += grav * (fallMultiplier - 1) * Time.deltaTime; + } + + //apply smaller upwards force if jump is released early when jumping creating a short jump + else if (pStats.GravVel > 0 && !Input.GetButton("Jump")){ + pStats.GravVel += grav * (lowJumpMultiplier - 1) * Time.deltaTime; + } + + //apply gravity if not grounded and coyote timer is less than 0 + if((isGrounded == false && curCoyJumpTimer <= 0) || currentState == GrappleAirState){ + pStats.GravVel -= grav * Time.deltaTime; + } + //else don't apply gravity + else{ + pStats.GravVel = 0; + } + + //Caps out the players downwards speed + if(pStats.GravVel < maxG){ + pStats.GravVel = maxG; + } + } + } + + //Checks if player is grounded + void GroundCheck(){ + // Make sure that the ground check distance while already in air is very small, to prevent suddenly snapping to ground + float chosenGroundCheckDistance = isGrounded ? (moveController.skinWidth + groundCheckDistance) : groundCheckDistanceInAir; + + // reset values before the ground check + isGrounded = false; + groundRay = new Ray(moveController.transform.position, Vector3.down); + + if (Physics.Raycast(groundRay, out groundHit, moveController.height + groundCheckDistance) && !jumpPressed) + { + // Only consider this a valid ground hit if the ground normal goes in the same direction as the character up + if (Vector3.Dot(groundHit.normal, transform.up) > 0f) + { + isGrounded = true; + // handle snapping to the ground + if (groundHit.distance > moveController.skinWidth && currentState != GrappleAirState) + { + moveController.Move(Vector3.down * groundHit.distance); + } + } + } + } + + //Actually applies the downwards movement + void DownwardMovement(){ + Vector3 moveY = new Vector3(0,pStats.GravVel,0) * Time.deltaTime; + + + + if(currentState == GrappleAirState){ + moveY = (new Vector3(0,pStats.GravVel,0) + forceDirection) * Time.deltaTime; + } + + moveController.Move(moveY); + + } + + //applies Jump values and Variables + void Jump(){ + //If space/south gamepad button is pressed apply an upwards force to the player + if (Input.GetAxis("Jump") != 0 && !jumpHeld && curJumpNum < pStats.JumpNum) + { + if(currentState == WallRunState){ + AddImpact((GetWallJumpDirection()), pStats.JumpPow * 8.5f); + pStats.GravVel = pStats.JumpPow; + curJumpNum = 0; + } + else{ + pStats.GravVel = pStats.JumpPow; + } + + + curJumpNum++; + jumpHeld = true; + jumpPressed = true; + } + + //If grounded no jumps have been used and coyote Timer is refreshed + if(isGrounded && pStats.GravVel == 0){ + curCoyJumpTimer = coyJumpTimer; + curJumpNum = 0; + } + //else start the coyote timer + else curCoyJumpTimer -= Time.deltaTime; + + //if jump is being held coyote timer is zero + if(jumpHeld) curCoyJumpTimer = 0; + + //If space/south face gamepad button isn't being pressed then jump is false + if (Input.GetAxis("Jump") == 0){ + jumpHeld = false; + } + + if(pStats.GravVel < 0){ + jumpPressed = false; + } + } + + //Apply Impact for when force needs to be applied without ragdolling + public void AddImpact(Vector3 dir, float force){ + //if (!IsLocalPlayer) { return; } + + //Normalize direction multiply by force and add it to the impact + dir.Normalize(); + if (dir.y < 0) dir.y = -dir.y; // reflect down force on the ground + impact += dir.normalized * force / mass; + } + + //Dissipates Impact Force + void DissipateImpact(){ + //if suffiecient impact magnitude is applied then move player + if (impact.magnitude > 0.2F) moveController.Move(impact * Time.deltaTime); + + // consumes the impact energy each cycle: + impact = Vector3.Lerp(impact, Vector3.zero, 5*Time.deltaTime); + } + //// + + ////Wallrun Functions + //Checks if they can wallrun + public bool CanWallRun(){ + float verticalAxis = Input.GetAxisRaw("Vertical"); + return !isGrounded && verticalAxis > 0 && !Physics.Raycast(transform.position, Vector3.down, minimumHeight); + } + + //checks if they can attach + bool CanAttach(){ + if(jumping) + { + elapsedTimeSinceJump += Time.deltaTime; + if(elapsedTimeSinceJump > jumpDuration) + { + elapsedTimeSinceJump = 0; + jumping = false; + } + return false; + } + return true; + } + + //On Wall calulations + void OnWall(RaycastHit hit){ + float d = Vector3.Dot(hit.normal, Vector3.up); + if(d >= -normalizedAngleThreshold && d <= normalizedAngleThreshold) + { + Vector3 alongWall = Vector3.Cross(hit.normal, Vector3.up); + float vertical = Input.GetAxisRaw("Vertical"); + //Vector3 alongWall = transform.TransformDirection(Vector3.forward); + + // Debug.DrawRay(transform.position, alongWall.normalized * 10, Color.green); + // Debug.DrawRay(transform.position, lastWallNormal * 10, Color.magenta); + + Vector3 moveToSet = alongWall * vertical * mSM.PlayerSpeed() * Time.deltaTime; + Vector3 velNorm = mSM.vel; + velNorm.Normalize(); + + moveToSet = new Vector3(moveToSet.x * -velNorm.x, moveToSet.y, moveToSet.z * -velNorm.z); + + Vector3 moveToSetNorm = moveToSet; + moveToSetNorm.Normalize(); + + if((moveToSetNorm.x < 0 && velNorm.x > 0)){ + moveToSet.x = (moveToSet.x * -velNorm.x); + } + else if((moveToSetNorm.x > 0 && velNorm.x < 0) ){ + moveToSet.x = (-moveToSet.x * -velNorm.x); + } + + if((moveToSetNorm.z < 0 && velNorm.z > 0)){ + moveToSet.z = (moveToSet.z * -velNorm.z); + } + else if((moveToSetNorm.z > 0 && velNorm.z < 0)){ + moveToSet.z = (-moveToSet.z * -velNorm.z); + } + + moveToSet.y = 0; + // + + mSM.vel = moveToSet; + if(!isWallRunning){ + isWallRunning = true; + } + + if(curJumpNum == mSM.pStats.JumpNum){ + curJumpNum = 0; + } + + } + } + + //Calculate wall direction + float CalculateSide(){ + if(isWallRunning) + { + Vector3 heading = lastWallPosition - transform.position; + Vector3 perp = Vector3.Cross(transform.forward, heading); + float dir = Vector3.Dot(perp, transform.up); + return dir; + } + return 0; + } + + //The Wallrun Routine itself + void WallRunRoutine(){ + //if (!IsLocalPlayer) { return; } + + isWallRunning = false; + + hits = new RaycastHit[directions.Length]; + + if(jumpHeld) + { + jumping = true; + } + + if(CanAttach()) + { + for(int i=0; i h.collider != null).OrderBy(h => h.distance).ToArray(); + if(hits.Length > 0) + { + if(hits[0].collider.tag == "WallRun") + { + OnWall(hits[0]); + lastWallPosition = hits[0].point; + lastWallNormal = hits[0].normal; + } + } + } + } + + if(isWallRunning) + { + elapsedTimeSinceWallDetatch = 0; + elapsedTimeSinceWallAttach += Time.deltaTime; + } + else + { + elapsedTimeSinceWallAttach = 0; + elapsedTimeSinceWallDetatch += Time.deltaTime; + } + } + + //The Direction the player jumps on wall detachment + public Vector3 GetWallJumpDirection(){ + return lastWallNormal * wallBouncing + (transform.up); + } + //// + + ////Grapple Functions + //Checks if the player can grapple + public bool CheckGrapple(){ + if ((Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.JoystickButton2)) && pStats.HasGrapple) //If grapple button is hit + { + hookPointIndex = FindHookPoint(); //Find the nearest hook point within max distance + if (hookPointIndex != -1) //If there is a hookpoint + { + hookPoint = hookPoints[hookPointIndex]; //The point we are grappling from + eHeld = true; + return true; + } + } + return false; + } + + //Finds the nearest hook to the player + int FindHookPoint() + { + float least = maxGrabDistance; + int index = -1; + for(int i = 0; i(); // set Character Controller + animator = GetComponent(); // set animator + //driver = GameObject.Find("Canvas").GetComponent(); + //// + + ////Initialize Scripts + pStats = GetComponent(); // set PlayerStats + mSM = GetComponent(); // set move state manager + //// + } + + void Start(){ + //players starting state + currentState = NoneState; + previousState = NoneState; + currentState.EnterState(this, previousState); + } + + void Update(){ + + //if (!IsLocalPlayer) { return; } + + //calls any logic in the update state from current state + currentState.UpdateState(this); + } + + void FixedUpdate(){ + + //if (!IsLocalPlayer) { return; } + + //calls any logic in the fixed update state from current state + currentState.FixedUpdateState(this); + } + + public void SwitchState(dDashBaseState state){ + + currentState.ExitState(this, state); + + //Sets the previous State + previousState = currentState; + + //updates current state and calls logic for entering + currentState = state; + currentState.EnterState(this, previousState); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugDashState/dDashStateManager.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugDashState/dDashStateManager.cs.meta new file mode 100644 index 0000000..bf078ae --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugDashState/dDashStateManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f1cd2fe42d6a34c43bc4a8b65dfaf533 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState.meta new file mode 100644 index 0000000..9d4473e --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd9b3de0a138bb04085f406977c19fc2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugGrapple.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugGrapple.meta new file mode 100644 index 0000000..7f18632 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugGrapple.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63098b3acaf04be4196860ffe4d590b8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugGrapple/dMoveGrappleAirState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugGrapple/dMoveGrappleAirState.cs new file mode 100644 index 0000000..e39b3cd --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugGrapple/dMoveGrappleAirState.cs @@ -0,0 +1,37 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dMoveGrappleAirState : dMoveBaseState +{ + public override void EnterState(dMoveStateManager mSM, dMoveBaseState previousState){ + mSM.driftVel = Vector3.zero; // clears driftVel + } + + public override void ExitState(dMoveStateManager mSM, dMoveBaseState nextState){ + + } + + public override void UpdateState(dMoveStateManager mSM){ + + //checks if aerial state manager is no longer air grappling + if(mSM.aSM.currentState != mSM.aSM.GrappleAirState){ + //Determine which state to go into based on player speed + if(mSM.calculatedCurVel < mSM.walkLimit){ + mSM.SwitchState(mSM.WalkState); + } + else if(mSM.calculatedCurVel < mSM.runLimit){ + mSM.SwitchState(mSM.JogState); + } + else{ + mSM.SwitchState(mSM.RunState); + } + } + } + + public override void FixedUpdateState(dMoveStateManager mSM){ + //Directional movement to prevent weird movement issue + mSM.DirectionalMovement(); + } + +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugGrapple/dMoveGrappleAirState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugGrapple/dMoveGrappleAirState.cs.meta new file mode 100644 index 0000000..d8ae2f9 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugGrapple/dMoveGrappleAirState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fc780835fa45ef446ae5d2b3594a171f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated.meta new file mode 100644 index 0000000..ac02edb --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f072fdd4378642b45b9ae0387da42e0c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRagdollState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRagdollState.cs new file mode 100644 index 0000000..2cf9cce --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRagdollState.cs @@ -0,0 +1,59 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dMoveRagdollState : dMoveBaseState +{ + + float ragTime; // ragdoll timer + Vector3 prevRot; // previous rotation before ragdolled + bool beginRagTimer = false; // whether ragtimer has started + + public override void EnterState(dMoveStateManager mSM, dMoveBaseState previousState){ + + ragTime = mSM.pStats.RecovTime; // how long to be ragdolled + prevRot = mSM.transform.localEulerAngles; // save previous rotation + mSM.capCol.enabled = true; // enable capsule collider + mSM.moveController.enabled = false; // disable move controller + mSM.rB.isKinematic = false; // disable kinematic + mSM.rB.detectCollisions = true; // detect collisions + + //apply force + mSM.rB.AddForce(mSM.dirHit, ForceMode.Impulse); + } + + public override void ExitState(dMoveStateManager mSM, dMoveBaseState nextState){ + + mSM.pStats.GravVel = 50; // resets gravVel + mSM.capCol.enabled = false; // disable capsule collider + mSM.moveController.enabled = true; // enable move controller + mSM.rB.isKinematic = true; // enable kinematic + mSM.rB.detectCollisions = false; // detect collisions false + mSM.transform.localEulerAngles = prevRot; // reset player rotation + } + + public override void UpdateState(dMoveStateManager mSM){ + + //if player hasn't touched the ground don't start timer + if(!beginRagTimer){ + beginRagTimer = Physics.Raycast(mSM.transform.position, -Vector3.up, mSM.distToGround + 1f); + } + + //start timer + else{ + ragTime -= Time.deltaTime; + } + + } + + public override void FixedUpdateState(dMoveStateManager mSM){ + + //if ragtimer is over then recover + if(ragTime <= 0 && beginRagTimer){ + ragTime = 0; + beginRagTimer = false; + + mSM.SwitchState(mSM.RecoveringState); + } + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRagdollState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRagdollState.cs.meta new file mode 100644 index 0000000..d9458ca --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRagdollState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1a433937d5c90394886371cef684677b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRecoveringState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRecoveringState.cs new file mode 100644 index 0000000..00c8c6b --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRecoveringState.cs @@ -0,0 +1,26 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dMoveRecoveringState : dMoveBaseState +{ + ////// ADD SOMETHING THAT CHECKS ANIMATION FINISH BEFORE GO TO IDLE + + public override void EnterState(dMoveStateManager mSM, dMoveBaseState previousState){ + mSM.CancelMomentum(); // reset player variables + } + + public override void ExitState(dMoveStateManager mSM, dMoveBaseState nextState){ + + } + + public override void UpdateState(dMoveStateManager mSM){ + + //swap to idle state + mSM.SwitchState(mSM.IdleState); + } + + public override void FixedUpdateState(dMoveStateManager mSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRecoveringState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRecoveringState.cs.meta new file mode 100644 index 0000000..e60ccfd --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugIncapacitated/dMoveRecoveringState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 16249e3341f73f64c968404554cbee6d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide.meta new file mode 100644 index 0000000..72cf5f5 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aee8a986bb3d20b4d9bc8838fe1ceae1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchState.cs new file mode 100644 index 0000000..20fdda5 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchState.cs @@ -0,0 +1,59 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dMoveCrouchState : dMoveBaseState +{ + + //Slide Variables + RaycastHit slideRay; // slide raycast + + public override void EnterState(dMoveStateManager mSM, dMoveBaseState previousState){ + + //if not coming from slide state then rotate player and adjust height + if(previousState != mSM.SlideState){ + mSM.pStats.CurVel = 0; + mSM.gameObject.transform.eulerAngles = new Vector3(mSM.transform.localEulerAngles.x - 90, mSM.transform.localEulerAngles.y, mSM.transform.localEulerAngles.z); + mSM.moveController.height *= .5f; + } + } + + public override void ExitState(dMoveStateManager mSM, dMoveBaseState nextState){ + + //if next state isn't crouch walk revert rotation, speed, and height + if(nextState != mSM.CrouchWalkState){ + mSM.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0); + mSM.pStats.CurVel = mSM.calculatedCurVel; + mSM.moveController.height *= 2.0f; + } + + } + + public override void UpdateState(dMoveStateManager mSM){ + + } + + public override void FixedUpdateState(dMoveStateManager mSM){ + mSM.transform.Rotate(Vector3.forward * -mSM.sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); + + ///////ONCE WE HAVE IT SO SLIDE DOESNT ROTATE PLAYER MOVE THIS TO UPDATE + //If player isn't pressing either Q or the joystick button they stop crouching if nothing is above them + if((!Input.GetKey(KeyCode.JoystickButton1) && !Input.GetKey(KeyCode.Q))){ + if ((Physics.Raycast(mSM.gameObject.transform.position, mSM.slideUp, out slideRay, 5f) == false)){ + + mSM.SwitchState(mSM.IdleState); + } + else{ + Debug.Log("Object above you"); + } + } + + /* + //If falling stop sliding and go to wasd states + if(mSM.aSM.currentState == mSM.aSM.FallingState){ + ExitCrouchState(mSM); + mSM.SwitchState(mSM.IdleState); + } + */ + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchState.cs.meta new file mode 100644 index 0000000..2195174 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 68982636ca83cdf4a951928206dd334f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchWalkState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchWalkState.cs new file mode 100644 index 0000000..fc94b2f --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchWalkState.cs @@ -0,0 +1,40 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dMoveCrouchWalkState : dMoveBaseState +{ + public override void EnterState(dMoveStateManager mSM, dMoveBaseState previousState){ + + } + + public override void ExitState(dMoveStateManager mSM, dMoveBaseState nextState){ + + } + + public override void UpdateState(dMoveStateManager mSM){ + + } + + public override void FixedUpdateState(dMoveStateManager mSM){ + + /* + if(mSM.aSM.currentState == mSM.aSM.FallingState){ + //Determine which state to go into based on player speed + if(mSM.calculatedCurVel < mSM.walkLimit){ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.WalkState); + } + else if(mSM.calculatedCurVel < mSM.runLimit){ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.JogState); + } + else{ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.RunState); + } + } + */ + } + +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchWalkState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchWalkState.cs.meta new file mode 100644 index 0000000..b33f25d --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveCrouchWalkState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1ace36bef6e24634d9c051e1530efd99 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveSlideState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveSlideState.cs new file mode 100644 index 0000000..b5ad155 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveSlideState.cs @@ -0,0 +1,97 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dMoveSlideState : dMoveBaseState +{ + //Slide Variables + float originalTraction; // Traction before slide started + RaycastHit slideRay; // slide raycast + + public override void EnterState(dMoveStateManager mSM, dMoveBaseState previousState){ + + //Rotate player and adjust height and adjust traction + mSM.pStats.CurVel = 0; + originalTraction = mSM.pStats.Traction; + mSM.gameObject.transform.eulerAngles = new Vector3(mSM.transform.eulerAngles.x - 90, mSM.transform.eulerAngles.y, mSM.transform.eulerAngles.z); + mSM.moveController.height *= .5f; + mSM.pStats.Traction = 0.01f; + } + + public override void ExitState(dMoveStateManager mSM, dMoveBaseState nextState){ + + //if next state isn't crouch then revert player rotation, height, and traction + if(nextState != mSM.CrouchState){ + mSM.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0); + mSM.pStats.CurVel = mSM.calculatedCurVel; + mSM.pStats.Traction = originalTraction; + mSM.moveController.height *= 2.0f; + } + + //if state is crouch revert traction + else{ + mSM.pStats.Traction = originalTraction; + } + } + + public override void UpdateState(dMoveStateManager mSM){ + + //if player comes to a stop while sliding they crouch + if(mSM.calculatedCurVel < mSM.idleLimit){ + mSM.SwitchState(mSM.CrouchState); + } + + } + + public override void FixedUpdateState(dMoveStateManager mSM){ + + //counter rotates player so they don't rotate when camera is turned + mSM.transform.Rotate(Vector3.forward * -mSM.sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); + + //steadily increase traction + mSM.pStats.Traction += .004f; + + ///////ONCE WE HAVE IT SO SLIDE DOESNT ROTATE PLAYER MOVE THIS TO UPDATE + if((!Input.GetKey(KeyCode.JoystickButton1) && !Input.GetKey(KeyCode.Q))){ + if ((Physics.Raycast(mSM.gameObject.transform.position, mSM.slideUp, out slideRay, 5f) == false)){ + + //Determine which state to go into based on player speed + if(mSM.calculatedCurVel < mSM.walkLimit){ + mSM.SwitchState(mSM.WalkState); + } + else if(mSM.calculatedCurVel < mSM.runLimit){ + mSM.SwitchState(mSM.JogState); + } + else{ + mSM.SwitchState(mSM.RunState); + } + } + else{ + Debug.Log("Object above you"); + } + + } + + /* + //If falling stop sliding and go to wasd states + if(mSM.aSM.currentState == mSM.aSM.FallingState){ + //Determine which state to go into based on player speed + if(mSM.calculatedCurVel < mSM.walkLimit){ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.WalkState); + } + else if(mSM.calculatedCurVel < mSM.runLimit){ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.JogState); + } + else{ + SlideToMoveState(mSM); + mSM.SwitchState(mSM.RunState); + } + } + */ + + //actual slide movement + mSM.SlideMovement(); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveSlideState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveSlideState.cs.meta new file mode 100644 index 0000000..fe47a2d --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugSlide/dMoveSlideState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 97a1f49e89c304c40a6cb668ea8d8de4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD.meta new file mode 100644 index 0000000..ff4a54f --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 094431cb9d3653a43992b9dc8a0103d1 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveIdleState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveIdleState.cs new file mode 100644 index 0000000..3261b82 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveIdleState.cs @@ -0,0 +1,33 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dMoveIdleState : dMoveBaseState +{ + public override void EnterState(dMoveStateManager mSM, dMoveBaseState previousState){ + + } + + public override void ExitState(dMoveStateManager mSM, dMoveBaseState nextState){ + + } + + public override void UpdateState(dMoveStateManager mSM){ + + //Move to Walk State after speed increases + if(mSM.calculatedCurVel >= mSM.idleLimit){ + mSM.SwitchState(mSM.WalkState); + } + + //If Q or joystick button1 crouch state + else if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && (mSM.aSM.currentState != mSM.aSM.FallingState && mSM.aSM.currentState != mSM.aSM.WallRunState && mSM.aSM.currentState != mSM.aSM.WallIdleState && mSM.aSM.currentState != mSM.aSM.GrappleGroundedState)){ + mSM.SwitchState(mSM.CrouchState); + } + } + + public override void FixedUpdateState(dMoveStateManager mSM){ + + //actual directional movement + mSM.DirectionalMovement(); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveIdleState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveIdleState.cs.meta new file mode 100644 index 0000000..3857582 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveIdleState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0d01001f0372d1c47a52e1fc1f304d2e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveJogState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveJogState.cs new file mode 100644 index 0000000..5f83367 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveJogState.cs @@ -0,0 +1,37 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dMoveJogState : dMoveBaseState +{ + public override void EnterState(dMoveStateManager mSM, dMoveBaseState previousState){ + + } + + public override void ExitState(dMoveStateManager mSM, dMoveBaseState nextState){ + + } + + public override void UpdateState(dMoveStateManager mSM){ + + //move to run state if speed increases + if(mSM.calculatedCurVel >= mSM.runLimit){ + mSM.SwitchState(mSM.RunState); + } + //move to walk if speed decreases + else if(mSM.calculatedCurVel < mSM.walkLimit){ + mSM.SwitchState(mSM.WalkState); + } + + //move to slide if Q or JoystickButton1 + else if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && (mSM.aSM.currentState != mSM.aSM.FallingState && mSM.aSM.currentState != mSM.aSM.WallRunState && mSM.aSM.currentState != mSM.aSM.WallIdleState && mSM.aSM.currentState != mSM.aSM.GrappleGroundedState)){ + mSM.SwitchState(mSM.SlideState); + } + } + + public override void FixedUpdateState(dMoveStateManager mSM){ + + //actual directional movment + mSM.DirectionalMovement(); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveJogState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveJogState.cs.meta new file mode 100644 index 0000000..97d95be --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveJogState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e8c43483291311242a8bfaaeb5a7728c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveRunState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveRunState.cs new file mode 100644 index 0000000..6a7cc45 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveRunState.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dMoveRunState : dMoveBaseState +{ + public override void EnterState(dMoveStateManager mSM, dMoveBaseState previousState){ + + } + + public override void ExitState(dMoveStateManager mSM, dMoveBaseState nextState){ + + } + + public override void UpdateState(dMoveStateManager mSM){ + + //move to Jog if speed decreases + if(mSM.calculatedCurVel < mSM.runLimit){ + mSM.SwitchState(mSM.JogState); + } + + //move to slide if Q or JoystickButton1 + else if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && (mSM.aSM.currentState != mSM.aSM.FallingState && mSM.aSM.currentState != mSM.aSM.WallRunState && mSM.aSM.currentState != mSM.aSM.WallIdleState && mSM.aSM.currentState != mSM.aSM.GrappleGroundedState)){ + mSM.SwitchState(mSM.SlideState); + } + } + + public override void FixedUpdateState(dMoveStateManager mSM){ + //actual direction movement + mSM.DirectionalMovement(); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveRunState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveRunState.cs.meta new file mode 100644 index 0000000..fc7f677 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveRunState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6e0d2cf4d9d69a749a2df71f0c77f78c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveWalkState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveWalkState.cs new file mode 100644 index 0000000..d96998f --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveWalkState.cs @@ -0,0 +1,36 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dMoveWalkState : dMoveBaseState +{ + public override void EnterState(dMoveStateManager mSM, dMoveBaseState previousState){ + + } + + public override void ExitState(dMoveStateManager mSM, dMoveBaseState nextState){ + + } + + public override void UpdateState(dMoveStateManager mSM){ + + //move to Jog if speed increases + if(mSM.calculatedCurVel >= mSM.jogLimit){ + mSM.SwitchState(mSM.JogState); + } + //move to Idle if speed decreases + else if(mSM.calculatedCurVel < mSM.idleLimit){ + mSM.SwitchState(mSM.IdleState); + } + + //move to slide if Q or JoystickButton1 + else if((Input.GetKey(KeyCode.JoystickButton1) || Input.GetKey(KeyCode.Q)) && (mSM.aSM.currentState != mSM.aSM.FallingState && mSM.aSM.currentState != mSM.aSM.WallRunState && mSM.aSM.currentState != mSM.aSM.WallIdleState && mSM.aSM.currentState != mSM.aSM.GrappleGroundedState)){ + mSM.SwitchState(mSM.SlideState); + } + } + + public override void FixedUpdateState(dMoveStateManager mSM){ + //actual directional movemnt + mSM.DirectionalMovement(); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveWalkState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveWalkState.cs.meta new file mode 100644 index 0000000..a683f67 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/DebugWASD/dMoveWalkState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 158973e7b7bff7843977ff34ddea87f7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveBaseState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveBaseState.cs new file mode 100644 index 0000000..ff6e531 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveBaseState.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class dMoveBaseState +{ + public abstract void EnterState(dMoveStateManager mSM, dMoveBaseState previousState); + public abstract void ExitState(dMoveStateManager mSM, dMoveBaseState nextState); + public abstract void UpdateState(dMoveStateManager mSM); + public abstract void FixedUpdateState(dMoveStateManager mSM); +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveBaseState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveBaseState.cs.meta new file mode 100644 index 0000000..f4344f2 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveBaseState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 04e8eb3bf333b6446ace02183df6dc52 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveStateManager.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveStateManager.cs new file mode 100644 index 0000000..2deaac6 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveStateManager.cs @@ -0,0 +1,276 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using MLAPI; + +public class dMoveStateManager : NetworkBehaviour +{ + ////Player States + public dMoveBaseState currentState; + public dMoveBaseState previousState; + + //WASD States + public dMoveIdleState IdleState = new dMoveIdleState(); + public dMoveWalkState WalkState = new dMoveWalkState(); + public dMoveJogState JogState = new dMoveJogState(); + public dMoveRunState RunState = new dMoveRunState(); + + //Slide States + public dMoveSlideState SlideState = new dMoveSlideState(); + public dMoveCrouchState CrouchState = new dMoveCrouchState(); + public dMoveCrouchWalkState CrouchWalkState = new dMoveCrouchWalkState(); + + //Incapitated States + public dMoveRagdollState RagdollState = new dMoveRagdollState(); + public dMoveRecoveringState RecoveringState = new dMoveRecoveringState(); + + //Grapple States + public dMoveGrappleAirState GrappleAirState = new dMoveGrappleAirState(); + //// + + ////Objects Sections + private GameObject parentObj; // Parent object + public Camera cam; // Camera object + //// + + ////Components Section + public CharacterController moveController; // Character Controller + public Rigidbody rB; // Players Rigidbody + public CapsuleCollider capCol; // Players Capsule Collider + private Animator animator; // Animation Controller + //// + + ////Scripts Section + public PlayerStats pStats; // Player Stats + public dAerialStateManager aSM; + //// + + ////State Transition Variables + public float idleLimit = .3f; + public float walkLimit = 10.0f; + public float jogLimit = 20f; + public float runLimit = 30f; + //// + + ////Player Variables Section + //Speed Variables + public Vector3 vel; // moveZ + moveX + private Vector3 moveZ; // Local Horizontal Vector + private Vector3 moveX; // Local Vertical Vector + public Vector3 driftVel; // Lerped Movement Vector + public float calculatedCurVel; // calculated current vel using driftVel + + //Slide Variables + public Vector3 slideUp; // Slide upwards direction + + //Camera Variables + private Vector3 camRotation; // cameras camera rotation vector + [Range(-45, -15)] + public int minAngle = -18; // minimum downwards cam angle + [Range(30, 80)] + public int maxAngle = 30; // Max upwards cam angle + [Range(50, 500)] + public int sensitivity = 200; // Camera sensitivity + + //Ragdoll Variables + public Vector3 dirHit; // Direction hit + public float distToGround; // distance to ground + //// + + + void Awake(){ + + ////Initialize Player Components + moveController = GetComponent(); // set Character Controller + rB = GetComponent(); //set Rigid Body + capCol = GetComponent(); // set Capsule Collider + capCol.enabled = true; + parentObj = transform.parent.gameObject; // set parent object + animator = GetComponent(); // set animator + //// + + ////Initialize Scripts + pStats = GetComponent(); // set PlayerStats + aSM = GetComponent(); // aerial state manager + //// + } + + // Start is called before the first frame update + void Start() + { + //players starting state + currentState = IdleState; + previousState = IdleState; + currentState.EnterState(this, previousState); + + //Slide Upwards Variable + slideUp = GetComponentInParent().up; // get parents up direction + distToGround = GetComponent().bounds.extents.y; // set players distance to ground + + //if (!IsLocalPlayer) { return; } + Cursor.lockState = CursorLockMode.Locked; // Lock cursor on start if you are the local player + } + + // Update is called once per frame + void Update() + { + //if (!IsLocalPlayer) { return; } + + //calculates vel using driftVel will need to be relocated + calculatedCurVel = driftVel.magnitude * 50f; + + //if grappling in aerial state manager swap to grapple here + if(currentState != GrappleAirState){ + if(aSM.currentState == aSM.GrappleAirState && (currentState != SlideState && currentState != RagdollState && currentState != RecoveringState)){ + SwitchState(GrappleAirState); + } + } + + //calls any logic in the update state from current state + currentState.UpdateState(this); + } + + void FixedUpdate(){ + + //if (!IsLocalPlayer) { return; } + + //if camera is enabled then rotate + if(cam.enabled) Rotation(); + else Debug.Log("Cam Disabled"); + + //calls any logic in the fixed update state from current state + currentState.FixedUpdateState(this); + } + + public void SwitchState(dMoveBaseState state){ + + currentState.ExitState(this, state); + + //Sets the previous State + previousState = currentState; + + //updates current state and calls logic for entering + currentState = state; + currentState.EnterState(this, previousState); + } + + + ////Broad Functions + //Player Speed Calculator + public float PlayerSpeed(){ + //If nothing is pressed speed is 0 + if ((Input.GetAxis("Vertical") == 0.0f && Input.GetAxis("Horizontal") == 0.0f)) + { + pStats.CurVel = 0.0f; + return pStats.CurVel; + } + //If current speed is below min when pressed set to minimum speed + else if (pStats.CurVel < pStats.MinVel) + { + pStats.CurVel = pStats.MinVel; + return pStats.MinVel; + } + // while the speed is below max speed slowly increase it + else if ((pStats.CurVel >= pStats.MinVel) && (pStats.CurVel < pStats.MaxVel)) + { + pStats.CurVel += pStats.Acc; + return pStats.CurVel; + } + //If the players speed is above or equal to max speed set speed to max + else if (pStats.CurVel >= pStats.MaxVel) + { + pStats.CurVel = pStats.MaxVel; + return pStats.CurVel; + + } + //case if somehow they escape this check + else{ + Debug.Log("Something has gone wrong with the PlayerSpeed()"); + return -1; + } + } + + //Wasd movement using player speed + public void DirectionalMovement(){ + //Keyboard inputs + //Checks if movement keys have been pressed and calculates correct vector + moveX = transform.right * Input.GetAxis("Horizontal") * Time.deltaTime * PlayerSpeed(); + moveZ = transform.forward * Input.GetAxis("Vertical") * Time.deltaTime * PlayerSpeed(); + + vel = moveX + moveZ; + Vector3 moveXZ = new Vector3(vel.x, 0, vel.z); + driftVel = Vector3.Lerp(driftVel, moveXZ, pStats.Traction * Time.deltaTime); + if(currentState == GrappleAirState){ + driftVel = Vector3.zero; + } + + //Actually move he player + moveController.Move(driftVel); + } + + //Slide movement + public void SlideMovement(){ + + moveX = Vector3.zero; + moveZ = Vector3.zero; + + //Adds vectors based on movement keys and other conditions to check what the + //player vector should be under the circumstances + vel = moveX + moveZ; + Vector3 moveXZ = new Vector3(vel.x, 0, vel.z); + driftVel = Vector3.Lerp(driftVel, moveXZ, pStats.Traction * Time.deltaTime); + + //Actually move he player + moveController.Move(driftVel); + } + + //Camera and player rotation + private void Rotation(){ + //If moveController is enabled allow Camera control + if(moveController.enabled){ + //if input is received from Mouse X + if (Input.GetAxis("Mouse X") != 0){ + transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("Mouse X")); + } + + //if input is received from right analog stick (horizontal) + else if(Input.GetAxis("HorizontalCam") != 0){ + transform.parent.Rotate(Vector3.up * sensitivity * Time.deltaTime * Input.GetAxis("HorizontalCam")); + } + + //if input is if input is received from Mouse Y + if (Input.GetAxis("Mouse Y") != 0) + { + camRotation.x -= Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime; + camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle); + cam.transform.localEulerAngles = camRotation; + } + + //if input is received from right analog stick (vertical) + else if (Input.GetAxis("VerticalTurn") != 0){ + camRotation.x -= Input.GetAxis("VerticalTurn") * sensitivity * Time.deltaTime; + camRotation.x = Mathf.Clamp(camRotation.x, minAngle, maxAngle); + cam.transform.localEulerAngles = camRotation; + } + } + } + + //Get hit into a ragdoll + public void GetHit(Vector3 dir, float force){ + //if (!IsLocalPlayer) { return; } + dir.Normalize(); + dirHit = dir * force; + SwitchState(RagdollState); + } + + //remove player momentum + public void CancelMomentum(){ + pStats.CurVel = 0; + vel = Vector3.zero; + moveX = Vector3.zero; + moveZ = Vector3.zero; + driftVel = Vector3.zero; + } + //// + +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveStateManager.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveStateManager.cs.meta new file mode 100644 index 0000000..1d63d09 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugMoveState/dMoveStateManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9e5dfab4fa1cb9547a860b23f54e51f8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState.meta new file mode 100644 index 0000000..38c537a --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e45fd7b4c1454174b8550c7972e492cc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro.meta new file mode 100644 index 0000000..ae4257c --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b01e94869f67a4b419906fd52ad3bd4c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroCooldownState.cs new file mode 100644 index 0000000..845d3ac --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroCooldownState.cs @@ -0,0 +1,43 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dNitroCooldownState : dNitroBaseState +{ + bool cooldown = false; // whether or not cooldown has ended + + public override void EnterState(dNitroStateManager nSM, dNitroBaseState previousState){ + cooldown = false; // cooldown hasn't ended + + //start cooldown + nSM.StartCoroutine(startCoolDown(nSM)); + } + + public override void ExitState(dNitroStateManager nSM, dNitroBaseState nextState){ + + } + + public override void UpdateState(dNitroStateManager nSM){ + + //if off cooldown and incapacitated then incapacitated + if(cooldown && (nSM.mSM.currentState == nSM.mSM.RagdollState || nSM.mSM.currentState == nSM.mSM.RecoveringState)){ + nSM.SwitchState(nSM.IncapacitatedState); + } + + //if off cooldown then None + else if(cooldown){ + nSM.SwitchState(nSM.NoneState); + } + } + + public override void FixedUpdateState(dNitroStateManager nSM){ + + } + + //cooldown timer + private IEnumerator startCoolDown(dNitroStateManager nSM){ + //nSM.driver.startUICooldown("Nitro"); + yield return new WaitForSeconds(nSM.nitroItem.cooldownM); + cooldown = true; + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroCooldownState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroCooldownState.cs.meta new file mode 100644 index 0000000..87876f0 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroCooldownState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0fb7f3ef3c9577f4287b92706af55e2f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroIncapacitatedState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroIncapacitatedState.cs new file mode 100644 index 0000000..2c6d622 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroIncapacitatedState.cs @@ -0,0 +1,26 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dNitroIncapacitatedState : dNitroBaseState +{ + public override void EnterState(dNitroStateManager nSM, dNitroBaseState previousState){ + + } + + public override void ExitState(dNitroStateManager nSM, dNitroBaseState nextState){ + + } + + public override void UpdateState(dNitroStateManager nSM){ + + //if no longer incapacitated then None + if(nSM.mSM.currentState != nSM.mSM.RagdollState && nSM.mSM.currentState != nSM.mSM.RecoveringState){ + nSM.SwitchState(nSM.NoneState); + } + } + + public override void FixedUpdateState(dNitroStateManager nSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroIncapacitatedState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroIncapacitatedState.cs.meta new file mode 100644 index 0000000..76fd64d --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroIncapacitatedState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1508acc725507574c8ed912792441f18 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNitroingState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNitroingState.cs new file mode 100644 index 0000000..e4c856d --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNitroingState.cs @@ -0,0 +1,47 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dNitroNitroingState : dNitroBaseState +{ + + private float tempTimer; // temporary timer + private float actualMaxVel; // actual max velocity + private float actualAcc; // actual acceleration + + public override void EnterState(dNitroStateManager nSM, dNitroBaseState previousState){ + actualMaxVel = nSM.pStats.MaxVel; // saves previous max velocity + actualAcc = nSM.pStats.Acc; // saves previous max acc + nSM.pStats.Acc += nSM.nitroAccBoost; // increases acceleration + nSM.pStats.MaxVel += nSM.nitroVelBoost; // increases max velocity + + tempTimer = 5; // how long we will be sped up + } + + public override void ExitState(dNitroStateManager nSM, dNitroBaseState nextState){ + nSM.pStats.Acc = actualAcc; // reset acceleration + nSM.pStats.MaxVel = actualMaxVel; // reset maximum velocity + } + + public override void UpdateState(dNitroStateManager nSM){ + + //if still nitroing decrease timer + if(tempTimer > 0){ + tempTimer -= .02f; + } + + //otherwise cooldown + else{ + nSM.SwitchState(nSM.CooldownState); + } + + //if ragdolling then cooldown + if(nSM.mSM.currentState == nSM.mSM.RagdollState){ + nSM.SwitchState(nSM.CooldownState); + } + } + + public override void FixedUpdateState(dNitroStateManager nSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNitroingState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNitroingState.cs.meta new file mode 100644 index 0000000..bd77355 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNitroingState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a43417b0cdae78446b79108e34bbf903 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNoneState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNoneState.cs new file mode 100644 index 0000000..b9e1fe4 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNoneState.cs @@ -0,0 +1,38 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dNitroNoneState : dNitroBaseState +{ + public override void EnterState(dNitroStateManager nSM, dNitroBaseState previousState){ + + } + + public override void ExitState(dNitroStateManager nSM, dNitroBaseState nextState){ + + } + + public override void UpdateState(dNitroStateManager nSM){ + + //if player has nitro + if(nSM.pStats.HasNitro){ + + //if ragdolling then incapacitiated + if(nSM.mSM.currentState == nSM.mSM.RagdollState){ + nSM.SwitchState(nSM.IncapacitatedState); + } + + //if pressing left shift then nitroing + else if ((Input.GetKeyDown(KeyCode.LeftShift) || Input.GetKeyDown(KeyCode.JoystickButton8))) + { + nSM.SwitchState(nSM.NitroingState); + } + + } + + } + + public override void FixedUpdateState(dNitroStateManager nSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNoneState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNoneState.cs.meta new file mode 100644 index 0000000..3ef1105 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/DebugNitro/dNitroNoneState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 62a4ada9bb0dd0a43b2218ddcb3a71f4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroBaseState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroBaseState.cs new file mode 100644 index 0000000..f8e2118 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroBaseState.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class dNitroBaseState +{ + public abstract void EnterState(dNitroStateManager nSM, dNitroBaseState previousState); + public abstract void ExitState(dNitroStateManager nSM, dNitroBaseState nextState); + public abstract void UpdateState(dNitroStateManager nSM); + public abstract void FixedUpdateState(dNitroStateManager nSM); +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroBaseState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroBaseState.cs.meta new file mode 100644 index 0000000..df6ba0e --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroBaseState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0695391761689164ca7276b45f57ece3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroStateManager.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroStateManager.cs new file mode 100644 index 0000000..b100836 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroStateManager.cs @@ -0,0 +1,96 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using MLAPI; + +public class dNitroStateManager : NetworkBehaviour +{ + ////Player States + public dNitroBaseState currentState; + public dNitroBaseState previousState; + + //Nitro States + public dNitroNoneState NoneState = new dNitroNoneState(); + public dNitroIncapacitatedState IncapacitatedState = new dNitroIncapacitatedState(); + public dNitroCooldownState CooldownState = new dNitroCooldownState(); + public dNitroNitroingState NitroingState = new dNitroNitroingState(); + //// + + ////Objects Sections + GameObject parentObj; // Parent object + //// + + ////Components Section + public CharacterController moveController; // Character Controller + Rigidbody rB; // Players Rigidbody + CapsuleCollider capCol; // Players Capsule Collider + Animator animator; // Animation Controller + //// + + ////Scripts Section + public PlayerStats pStats; // Player Stats + public dMoveStateManager mSM; // move state manager + public CoolDown driver; // cooldown driver + //// + + ////Items Section + public SpecialItem nitroItem; // nitro item + //// + + ////Variables Section + public float nitroVelBoost = 40; + public float nitroAccBoost = .4f; + + void Awake(){ + + ////Initialize Player Components + moveController = GetComponent(); // set Character Controller + rB = GetComponent(); //set Rigid Body + capCol = GetComponent(); // set Capsule Collider + capCol.enabled = true; + parentObj = transform.parent.gameObject; // set parent object + animator = GetComponent(); // set animator + //driver = GameObject.Find("Canvas").GetComponent(); + //// + + ////Initialize Scripts + pStats = GetComponent(); // set PlayerStats + mSM = GetComponent(); // set move state manager + //// + } + + void Start(){ + //players starting state + currentState = NoneState; + previousState = NoneState; + currentState.EnterState(this, previousState); + } + + void Update(){ + + //if (!IsLocalPlayer) { return; } + + //calls any logic in the update state from current state + currentState.UpdateState(this); + } + + void FixedUpdate(){ + + //if (!IsLocalPlayer) { return; } + + //calls any logic in the fixed update state from current state + currentState.FixedUpdateState(this); + } + + public void SwitchState(dNitroBaseState state){ + + currentState.ExitState(this, state); + + //Sets the previous State + previousState = currentState; + + //updates current state and calls logic for entering + currentState = state; + currentState.EnterState(this, previousState); + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroStateManager.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroStateManager.cs.meta new file mode 100644 index 0000000..ba62008 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugNitroState/dNitroStateManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 455a2b894b8cfef4bab705dde1a6784b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState.meta new file mode 100644 index 0000000..5c0a8a6 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 780d9208d30e9c6459ae00ff49272e51 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch.meta new file mode 100644 index 0000000..dc79901 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cbd26ea59a5c21a4284c123c05406717 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirKickState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirKickState.cs new file mode 100644 index 0000000..d5ba89f --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirKickState.cs @@ -0,0 +1,52 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dOffenseAirKickState : dOffenseBaseState +{ + + private float legRotation = 0; // angle for leg rotation + bool kicked = false; // whether they have kicked or not + + public override void EnterState(dOffenseStateManager oSM, dOffenseBaseState previousState){ + + oSM.leg.SetActive(true); // activate leg + legRotation = -90; + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); // rotate leg + kicked = false; // haven't kicked + + //start kicking routine + oSM.StartCoroutine(kicking(8f)); + } + + public override void ExitState(dOffenseStateManager oSM, dOffenseBaseState nextState){ + legRotation = 0; // reset leg angle + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); // rotate leg + oSM.leg.SetActive(false); // reset leg angle + } + + public override void UpdateState(dOffenseStateManager oSM){ + + //if incapacitated then cooldown + if((oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } + + //if kicked or grounded then cooldown + if(kicked || (oSM.aSM.currentState == oSM.aSM.GroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } + } + + public override void FixedUpdateState(dOffenseStateManager oSM){ + + //jitter player upwards because of a weird issue with collider + oSM.moveController.Move(new Vector3(0,.002f,0)); + } + + //kicking timer + private IEnumerator kicking(float waitTime){ + yield return new WaitForSeconds(waitTime); + kicked = true; + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirKickState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirKickState.cs.meta new file mode 100644 index 0000000..3c0699d --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirKickState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1979beb1f8855ca419e5694da5cd0c26 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirPunchState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirPunchState.cs new file mode 100644 index 0000000..a1ba322 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirPunchState.cs @@ -0,0 +1,52 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dOffenseAirPunchState : dOffenseBaseState +{ + + private float legRotation = 0; // angle for leg rotation + bool kicked = false; // whether they have kicked or not + + public override void EnterState(dOffenseStateManager oSM, dOffenseBaseState previousState){ + + oSM.leg.SetActive(true); // activate leg + legRotation = -90; + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); // rotate leg + kicked = false; // haven't kicked + + //start kicking routine + oSM.StartCoroutine(kicking(8f)); + } + + public override void ExitState(dOffenseStateManager oSM, dOffenseBaseState nextState){ + legRotation = 0; // reset leg angle + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); // rotate leg + oSM.leg.SetActive(false); // reset leg angle + } + + public override void UpdateState(dOffenseStateManager oSM){ + + //if incapacitated then cooldown + if((oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } + + //if kicked or grounded then cooldown + if(kicked || (oSM.aSM.currentState == oSM.aSM.GroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } + } + + public override void FixedUpdateState(dOffenseStateManager oSM){ + + //jitter player upwards because of a weird issue with collider + oSM.moveController.Move(new Vector3(0,.002f,0)); + } + + //kicking timer + private IEnumerator kicking(float waitTime){ + yield return new WaitForSeconds(waitTime); + kicked = true; + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirPunchState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirPunchState.cs.meta new file mode 100644 index 0000000..f171d57 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseAirPunchState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 639f429564de9864292274ce4630d8b8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseKickState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseKickState.cs new file mode 100644 index 0000000..e330b1e --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseKickState.cs @@ -0,0 +1,60 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dOffenseKickState : dOffenseBaseState +{ + + float legRotation = 0; // angle for leg rotation + bool kicked = false; // whether they have kicked or not + + + public override void EnterState(dOffenseStateManager oSM, dOffenseBaseState previousState){ + + oSM.leg.SetActive(true); // activate leg + kicked = false; // haven't kicked + + //start kicking routine + oSM.StartCoroutine(kicking(1f)); + } + + public override void ExitState(dOffenseStateManager oSM, dOffenseBaseState nextState){ + legRotation = 0; // reset leg angle + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); // rotate leg + oSM.leg.SetActive(false); // reset leg angle + } + + public override void UpdateState(dOffenseStateManager oSM){ + + //if incapacitated then cooldown + if((oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } + + //if kicked then cooldown + if(kicked){ + oSM.SwitchState(oSM.CooldownState); + } + } + + public override void FixedUpdateState(dOffenseStateManager oSM){ + + //if leg isn't fully extended rotate it + if(legRotation > -90){ + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); + legRotation -= 20; + } + else{ + legRotation = -90; + } + + //jitter player upwards because of a weird issue with collider + oSM.moveController.Move(new Vector3(0,.002f,0)); + } + + //kicking timer + private IEnumerator kicking(float waitTime){ + yield return new WaitForSeconds(waitTime); + kicked = true; + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseKickState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseKickState.cs.meta new file mode 100644 index 0000000..a78ac05 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffenseKickState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2b4d338e2fa79844b8a2a385e9534520 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffensePunchState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffensePunchState.cs new file mode 100644 index 0000000..7d7799a --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffensePunchState.cs @@ -0,0 +1,60 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dOffensePunchState : dOffenseBaseState +{ + + float legRotation = 0; // angle for leg rotation + bool kicked = false; // whether they have kicked or not + + + public override void EnterState(dOffenseStateManager oSM, dOffenseBaseState previousState){ + + oSM.leg.SetActive(true); // activate leg + kicked = false; // haven't kicked + + //start kicking routine + oSM.StartCoroutine(kicking(1f)); + } + + public override void ExitState(dOffenseStateManager oSM, dOffenseBaseState nextState){ + legRotation = 0; // reset leg angle + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); // rotate leg + oSM.leg.SetActive(false); // deactivate leg + } + + public override void UpdateState(dOffenseStateManager oSM){ + + //if incapacitated then cooldown + if((oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.CooldownState); + } + + //if kicked then cooldown + if(kicked){ + oSM.SwitchState(oSM.CooldownState); + } + } + + public override void FixedUpdateState(dOffenseStateManager oSM){ + + //if leg isn't fully extended rotate it + if(legRotation > -90){ + oSM.leg.transform.eulerAngles = new Vector3(legRotation, oSM.leg.transform.eulerAngles.y, oSM.leg.transform.eulerAngles.z); + legRotation -= 20; + } + else{ + legRotation = -90; + } + + //jitter player upwards because of a weird issue with collider + oSM.moveController.Move(new Vector3(0,.002f,0)); + } + + //kicking timer + private IEnumerator kicking(float waitTime){ + yield return new WaitForSeconds(waitTime); + kicked = true; + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffensePunchState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffensePunchState.cs.meta new file mode 100644 index 0000000..d5a5cda --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugKick&Punch/dOffensePunchState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 190b69b70a6fd684aabaee22d13b1d41 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense.meta new file mode 100644 index 0000000..60dbbb9 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1b4008d8f961aaa4cac36f186b176641 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseCooldownState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseCooldownState.cs new file mode 100644 index 0000000..74d1da4 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseCooldownState.cs @@ -0,0 +1,42 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dOffenseCooldownState : dOffenseBaseState +{ + bool cooldown = false; // whether or not cooldown is over + + public override void EnterState(dOffenseStateManager oSM, dOffenseBaseState previousState){ + cooldown = false; // cooldown isn't over + + //start cooldown + oSM.StartCoroutine(kickCooldown()); + } + + public override void ExitState(dOffenseStateManager oSM, dOffenseBaseState nextState){ + + } + + public override void UpdateState(dOffenseStateManager oSM){ + + //if cooldown over and incapacitated then incapacitated + if(cooldown && (oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.IncapacitatedState); + } + + //if cooldown over then None + else if(cooldown){ + oSM.SwitchState(oSM.NoneState); + } + } + + public override void FixedUpdateState(dOffenseStateManager oSM){ + + } + + //kick cooldown + private IEnumerator kickCooldown(){ + yield return new WaitForSeconds(.5f); + cooldown = true; + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseCooldownState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseCooldownState.cs.meta new file mode 100644 index 0000000..8b1b8f4 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseCooldownState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6057e16fd22e5bc4893db0d4392988d2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseIncapacitatedState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseIncapacitatedState.cs new file mode 100644 index 0000000..8d13608 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseIncapacitatedState.cs @@ -0,0 +1,26 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dOffenseIncapacitatedState : dOffenseBaseState +{ + public override void EnterState(dOffenseStateManager oSM, dOffenseBaseState previousState){ + + } + + public override void ExitState(dOffenseStateManager oSM, dOffenseBaseState nextState){ + + } + + public override void UpdateState(dOffenseStateManager oSM){ + + //if no longer incapacitated then None + if((oSM.mSM.currentState != oSM.mSM.RagdollState && oSM.mSM.currentState != oSM.mSM.SlideState && oSM.mSM.currentState != oSM.mSM.CrouchState && oSM.mSM.currentState != oSM.mSM.CrouchWalkState) && (oSM.aSM.currentState != oSM.aSM.WallRunState && oSM.aSM.currentState != oSM.aSM.WallIdleState && oSM.aSM.currentState != oSM.aSM.GrappleAirState && oSM.aSM.currentState != oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.NoneState); + } + } + + public override void FixedUpdateState(dOffenseStateManager oSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseIncapacitatedState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseIncapacitatedState.cs.meta new file mode 100644 index 0000000..ff3fd00 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseIncapacitatedState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a65473cdff4d4d343bd9fea0d2abf01b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseNoneState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseNoneState.cs new file mode 100644 index 0000000..a969d43 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseNoneState.cs @@ -0,0 +1,55 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class dOffenseNoneState : dOffenseBaseState +{ + public override void EnterState(dOffenseStateManager oSM, dOffenseBaseState previousState){ + + } + + public override void ExitState(dOffenseStateManager oSM, dOffenseBaseState nextState){ + + } + + public override void UpdateState(dOffenseStateManager oSM){ + + //if incapacitated then incapacitated + if((oSM.mSM.currentState == oSM.mSM.RagdollState || oSM.mSM.currentState == oSM.mSM.SlideState || oSM.mSM.currentState == oSM.mSM.CrouchState || oSM.mSM.currentState == oSM.mSM.CrouchWalkState) || (oSM.aSM.currentState == oSM.aSM.WallRunState || oSM.aSM.currentState == oSM.aSM.WallIdleState || oSM.aSM.currentState == oSM.aSM.GrappleAirState || oSM.aSM.currentState == oSM.aSM.GrappleGroundedState)){ + oSM.SwitchState(oSM.IncapacitatedState); + } + + //if grounded then grounded kick states + else if(oSM.aSM.currentState == oSM.aSM.GroundedState && (Input.GetKeyDown(KeyCode.F) || Input.GetAxis("Kick") != 0)){ + + //if power is above 300 then punch + if(oSM.pStats.KickPow > 300){ + oSM.SwitchState(oSM.PunchState); + } + + //otherwise kick + else{ + oSM.SwitchState(oSM.KickState); + } + + } + + //if in the air + else if((Input.GetKeyDown(KeyCode.F) || Input.GetAxis("Kick") != 0)){ + + //if power is above 300 air punch + if(oSM.pStats.KickPow > 300){ + oSM.SwitchState(oSM.AirPunchState); + } + + //otherwise air kick + else{ + oSM.SwitchState(oSM.AirKickState); + } + } + } + + public override void FixedUpdateState(dOffenseStateManager oSM){ + + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseNoneState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseNoneState.cs.meta new file mode 100644 index 0000000..2d7f03c --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/DebugOffense/dOffenseNoneState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 207ecd38b476de8458c6f495c74f01c5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseBaseState.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseBaseState.cs new file mode 100644 index 0000000..d191265 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseBaseState.cs @@ -0,0 +1,11 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class dOffenseBaseState +{ + public abstract void EnterState(dOffenseStateManager oSM, dOffenseBaseState previousState); + public abstract void ExitState(dOffenseStateManager oSM, dOffenseBaseState nextState); + public abstract void UpdateState(dOffenseStateManager oSM); + public abstract void FixedUpdateState(dOffenseStateManager oSM); +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseBaseState.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseBaseState.cs.meta new file mode 100644 index 0000000..b878595 --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseBaseState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 48e9373052af5ca40b2f91cfb88cd315 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseStateManager.cs b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseStateManager.cs new file mode 100644 index 0000000..f2d9ebb --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseStateManager.cs @@ -0,0 +1,119 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using MLAPI; + +public class dOffenseStateManager : NetworkBehaviour +{ + ////Player States + public dOffenseBaseState currentState; + public dOffenseBaseState previousState; + + //Offense States + public dOffenseNoneState NoneState = new dOffenseNoneState(); + public dOffenseIncapacitatedState IncapacitatedState = new dOffenseIncapacitatedState(); + public dOffenseCooldownState CooldownState = new dOffenseCooldownState(); + + //Kick&Punch States + public dOffenseKickState KickState = new dOffenseKickState(); + public dOffenseAirKickState AirKickState = new dOffenseAirKickState(); + public dOffensePunchState PunchState = new dOffensePunchState(); + public dOffenseAirPunchState AirPunchState = new dOffenseAirPunchState(); + //// + + ////Objects Sections + GameObject parentObj; // Parent object + public GameObject leg; // leg object + public GameObject legHitbox; // leg hitbox + //// + + ////Components Section + public CharacterController moveController; // Character Controller + Rigidbody rB; // Players Rigidbody + CapsuleCollider capCol; // Players Capsule Collider + Animator animator; // Animation Controller + //// + + ////Scripts Section + public PlayerStats pStats; // Player Stats + public dMoveStateManager mSM; // move state manager + public dAerialStateManager aSM; // aerial state manager + //// + + void Awake(){ + + ////Initialize Player Components + moveController = GetComponent(); // set Character Controller + rB = GetComponent(); //set Rigid Body + capCol = GetComponent(); // set Capsule Collider + capCol.enabled = true; + animator = GetComponent(); // set animator + //// + + ////Initialize Player Objects + leg = transform.Find("Leg").gameObject; // Set Leg Object + legHitbox = leg.transform.Find("LegHitbox").gameObject; // Set Leg Hitbox + leg.SetActive(false); + parentObj = transform.parent.gameObject; // set parent object + //// + + ////Initialize Scripts + pStats = GetComponent(); // set PlayerStats + mSM = GetComponent(); // set move state manager + aSM = GetComponent(); // set aerial state manager + //// + } + + void Start(){ + //players starting state + currentState = NoneState; + previousState = NoneState; + currentState.EnterState(this, previousState); + } + + void Update(){ + + //if (!IsLocalPlayer) { return; } + + //calls any logic in the update state from current state + currentState.UpdateState(this); + } + + void FixedUpdate(){ + + //if (!IsLocalPlayer) { return; } + + //calls any logic in the fixed update state from current state + currentState.FixedUpdateState(this); + } + + public void SwitchState(dOffenseBaseState state){ + + currentState.ExitState(this, state); + + //Sets the previous State + previousState = currentState; + + //updates current state and calls logic for entering + currentState = state; + currentState.EnterState(this, previousState); + } + + //Collision checker for the leg + private void OnCollisionEnter(Collision collision) + { + if (!IsLocalPlayer) { return; } + Collider myCollider = collision.contacts[0].thisCollider; + if (collision.transform.CompareTag("kickable") && myCollider == legHitbox.GetComponent()){ + if(collision.gameObject.GetComponent().isKinematic == true){ + collision.gameObject.GetComponent().isKinematic = false; + } + Vector3 direction = this.transform.forward; + Debug.Log(direction); + collision.rigidbody.AddForce(direction * pStats.KickPow, ForceMode.Impulse); + } + if (collision.transform.CompareTag("destroyable") && myCollider == legHitbox.GetComponent()){ + collision.transform.gameObject.GetComponent().damage(pStats.KickPow); + } + } +} diff --git a/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseStateManager.cs.meta b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseStateManager.cs.meta new file mode 100644 index 0000000..618abff --- /dev/null +++ b/Assets/Scripts/PlayerScripts/DebugStateMachine/DebugOffenseState/dOffenseStateManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: aae777136fbdb954083d81a3deeb7313 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialBaseState.cs b/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialBaseState.cs index 40265d4..1001fa9 100644 --- a/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialBaseState.cs +++ b/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialBaseState.cs @@ -2,6 +2,7 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; +//Add generics public abstract class AerialBaseState { public abstract void EnterState(AerialStateManager aSM, AerialBaseState previousState); diff --git a/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialStateManager.cs b/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialStateManager.cs index af42a0b..0ba9b44 100644 --- a/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialStateManager.cs +++ b/Assets/Scripts/PlayerScripts/NetworkedStateMachines/AerialState/AerialStateManager.cs @@ -5,6 +5,8 @@ using System.Linq; using MLAPI; using UnityEngine.Rendering; +//Look into state set + public class AerialStateManager : NetworkBehaviour { ////Player States