diff --git a/.idea/.idea.HALLUCINATE/.idea/workspace.xml b/.idea/.idea.HALLUCINATE/.idea/workspace.xml
index 93a4b70e..0425423b 100644
--- a/.idea/.idea.HALLUCINATE/.idea/workspace.xml
+++ b/.idea/.idea.HALLUCINATE/.idea/workspace.xml
@@ -5,14 +5,28 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -72,7 +86,7 @@
}
-
+
@@ -101,7 +115,7 @@
-
+
@@ -112,6 +126,7 @@
+
@@ -166,6 +181,10 @@
+
+
+
+
diff --git a/Assets/Animation/Idle (1).fbx b/Assets/Animation/Idle (1).fbx
new file mode 100644
index 00000000..2e460f5d
Binary files /dev/null and b/Assets/Animation/Idle (1).fbx differ
diff --git a/Assets/Animation/Idle (1).fbx.meta b/Assets/Animation/Idle (1).fbx.meta
new file mode 100644
index 00000000..37824906
--- /dev/null
+++ b/Assets/Animation/Idle (1).fbx.meta
@@ -0,0 +1,895 @@
+fileFormatVersion: 2
+guid: 31529d8a20bdc4b40b96e6f3d14c4577
+ModelImporter:
+ serializedVersion: 24200
+ internalIDToNameTable: []
+ externalObjects: {}
+ materials:
+ materialImportMode: 2
+ materialName: 0
+ materialSearch: 1
+ materialLocation: 1
+ animations:
+ legacyGenerateAnimations: 4
+ bakeSimulation: 0
+ resampleCurves: 1
+ optimizeGameObjects: 0
+ removeConstantScaleCurves: 0
+ motionNodeName:
+ animationImportErrors:
+ animationImportWarnings:
+ animationRetargetingWarnings:
+ animationDoRetargetingWarnings: 0
+ importAnimatedCustomProperties: 0
+ importConstraints: 0
+ animationCompression: 3
+ animationRotationError: 0.5
+ animationPositionError: 0.5
+ animationScaleError: 0.5
+ animationWrapMode: 0
+ extraExposedTransformPaths: []
+ extraUserProperties: []
+ clipAnimations:
+ - serializedVersion: 16
+ name: mixamo.com
+ takeName: mixamo.com
+ internalID: -203655887218126122
+ firstFrame: 0
+ lastFrame: 250
+ wrapMode: 0
+ orientationOffsetY: 0
+ level: 0.04
+ cycleOffset: 0
+ loop: 0
+ hasAdditiveReferencePose: 0
+ loopTime: 1
+ loopBlend: 0
+ loopBlendOrientation: 0
+ loopBlendPositionY: 1
+ loopBlendPositionXZ: 0
+ keepOriginalOrientation: 0
+ keepOriginalPositionY: 0
+ keepOriginalPositionXZ: 0
+ heightFromFeet: 1
+ mirror: 0
+ bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
+ curves: []
+ events: []
+ transformMask: []
+ maskType: 3
+ maskSource: {instanceID: 0}
+ additiveReferencePoseFrame: 0
+ isReadable: 0
+ meshes:
+ lODScreenPercentages: []
+ globalScale: 1
+ meshCompression: 0
+ addColliders: 0
+ useSRGBMaterialColor: 1
+ sortHierarchyByName: 1
+ importPhysicalCameras: 1
+ importVisibility: 1
+ importBlendShapes: 1
+ importCameras: 1
+ importLights: 1
+ nodeNameCollisionStrategy: 1
+ fileIdsGeneration: 2
+ swapUVChannels: 0
+ generateSecondaryUV: 0
+ useFileUnits: 1
+ keepQuads: 0
+ weldVertices: 1
+ bakeAxisConversion: 0
+ preserveHierarchy: 0
+ skinWeightsMode: 0
+ maxBonesPerVertex: 4
+ minBoneWeight: 0.001
+ optimizeBones: 1
+ generateMeshLods: 0
+ meshLodGenerationFlags: 0
+ maximumMeshLod: -1
+ meshOptimizationFlags: -1
+ indexFormat: 0
+ secondaryUVAngleDistortion: 8
+ secondaryUVAreaDistortion: 15.000001
+ secondaryUVHardAngle: 88
+ secondaryUVMarginMethod: 1
+ secondaryUVMinLightmapResolution: 40
+ secondaryUVMinObjectScale: 1
+ secondaryUVPackMargin: 4
+ useFileScale: 1
+ strictVertexDataChecks: 0
+ tangentSpace:
+ normalSmoothAngle: 60
+ normalImportMode: 0
+ tangentImportMode: 3
+ normalCalculationMode: 4
+ legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+ blendShapeNormalImportMode: 1
+ normalSmoothingSource: 0
+ referencedClips: []
+ importAnimation: 1
+ humanDescription:
+ serializedVersion: 3
+ human:
+ - boneName: mixamorig:Hips
+ humanName: Hips
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftUpLeg
+ humanName: LeftUpperLeg
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightUpLeg
+ humanName: RightUpperLeg
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftLeg
+ humanName: LeftLowerLeg
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightLeg
+ humanName: RightLowerLeg
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftFoot
+ humanName: LeftFoot
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightFoot
+ humanName: RightFoot
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:Spine
+ humanName: Spine
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:Spine1
+ humanName: Chest
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:Neck
+ humanName: Neck
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:Head
+ humanName: Head
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftShoulder
+ humanName: LeftShoulder
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightShoulder
+ humanName: RightShoulder
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftArm
+ humanName: LeftUpperArm
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightArm
+ humanName: RightUpperArm
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftForeArm
+ humanName: LeftLowerArm
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightForeArm
+ humanName: RightLowerArm
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHand
+ humanName: LeftHand
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHand
+ humanName: RightHand
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftToeBase
+ humanName: LeftToes
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightToeBase
+ humanName: RightToes
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandThumb1
+ humanName: Left Thumb Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandThumb2
+ humanName: Left Thumb Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandThumb3
+ humanName: Left Thumb Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandIndex1
+ humanName: Left Index Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandIndex2
+ humanName: Left Index Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandIndex3
+ humanName: Left Index Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandMiddle1
+ humanName: Left Middle Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandMiddle2
+ humanName: Left Middle Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandMiddle3
+ humanName: Left Middle Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandRing1
+ humanName: Left Ring Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandRing2
+ humanName: Left Ring Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandRing3
+ humanName: Left Ring Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandPinky1
+ humanName: Left Little Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandPinky2
+ humanName: Left Little Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:LeftHandPinky3
+ humanName: Left Little Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandThumb1
+ humanName: Right Thumb Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandThumb2
+ humanName: Right Thumb Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandThumb3
+ humanName: Right Thumb Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandIndex1
+ humanName: Right Index Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandIndex2
+ humanName: Right Index Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandIndex3
+ humanName: Right Index Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandMiddle1
+ humanName: Right Middle Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandMiddle2
+ humanName: Right Middle Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandMiddle3
+ humanName: Right Middle Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandRing1
+ humanName: Right Ring Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandRing2
+ humanName: Right Ring Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandRing3
+ humanName: Right Ring Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandPinky1
+ humanName: Right Little Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandPinky2
+ humanName: Right Little Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:RightHandPinky3
+ humanName: Right Little Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: mixamorig:Spine2
+ humanName: UpperChest
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ skeleton:
+ - name: Idle (1)(Clone)
+ parentName:
+ position: {x: 0, y: 0, z: 0}
+ rotation: {x: 0, y: 0, z: 0, w: 1}
+ scale: {x: 1, y: 1, z: 1}
+ - name: Beta_Surface
+ parentName: Idle (1)(Clone)
+ position: {x: -0, y: 0, z: 0}
+ rotation: {x: 0, y: -0, z: -0, w: 1}
+ scale: {x: 1, y: 1, z: 1}
+ - name: Beta_Joints
+ parentName: Idle (1)(Clone)
+ position: {x: -0, y: 0, z: 0}
+ rotation: {x: 0, y: -0, z: -0, w: 1}
+ scale: {x: 1, y: 1, z: 1}
+ - name: mixamorig:Hips
+ parentName: Idle (1)(Clone)
+ position: {x: -0.0014418326, y: 1.0719984, z: 0.01422837}
+ rotation: {x: 0.0064583654, y: -0.00000000448334, z: -0.0000002435388, w: 0.99997914}
+ scale: {x: 1, y: 1, z: 1.0000004}
+ - name: mixamorig:Spine
+ parentName: mixamorig:Hips
+ position: {x: 4.2558305e-12, y: 0.101824366, z: -3.9690472e-17}
+ rotation: {x: -0.08015574, y: 0.0000000041399137, z: 0.0000002414323, w: 0.9967824}
+ scale: {x: 1, y: 0.9999999, z: 0.99999976}
+ - name: mixamorig:Spine1
+ parentName: mixamorig:Spine
+ position: {x: 9.32854e-23, y: 0.10002675, z: 5.83388e-18}
+ rotation: {x: -0.0000000074505797, y: -0.0000000030325378, z: 6.066244e-10, w: 1}
+ scale: {x: 1, y: 1, z: 1}
+ - name: mixamorig:Spine2
+ parentName: mixamorig:Spine1
+ position: {x: -1.1375431e-16, y: 0.09322091, z: 0.000000002823681}
+ rotation: {x: 0.012885643, y: 0.0000000039992454, z: 0.00000003551031, w: 0.999917}
+ scale: {x: 1, y: 0.9999999, z: 1}
+ - name: mixamorig:Neck
+ parentName: mixamorig:Spine2
+ position: {x: -4.1474883e-12, y: 0.16865322, z: 5.7686385e-16}
+ rotation: {x: 0.0000000074505797, y: 0.0000000024026303, z: 0.000000004325728, w: 1}
+ scale: {x: 1, y: 1, z: 0.9999999}
+ - name: mixamorig:Head
+ parentName: mixamorig:Neck
+ position: {x: 0.0000000010756748, y: 0.09341923, z: 0.028410409}
+ rotation: {x: -0.000000014901159, y: -0.000000002549042, z: -0.0000000031295448, w: 1}
+ scale: {x: 1, y: 0.99999994, z: 0.99999994}
+ - name: mixamorig:HeadTop_End
+ parentName: mixamorig:Head
+ position: {x: -0.000000009856974, y: 0.2096278, z: 0.10122935}
+ rotation: {x: -0, y: -0, z: -3.7983684e-17, w: 1}
+ scale: {x: 0.99999994, y: 0.99999994, z: 0.9999998}
+ - name: mixamorig:RightShoulder
+ parentName: mixamorig:Spine2
+ position: {x: 0.0456997, y: 0.111958444, z: -0.008066318}
+ rotation: {x: -0.48443064, y: -0.57096374, z: 0.5261635, w: -0.4030872}
+ scale: {x: 0.99999976, y: 1, z: 1}
+ - name: mixamorig:RightArm
+ parentName: mixamorig:RightShoulder
+ position: {x: -3.151008e-17, y: 0.108381756, z: -9.694985e-18}
+ rotation: {x: 0.024616154, y: 0.0025623739, z: -0.103498496, w: -0.99432164}
+ scale: {x: 1, y: 1.0000007, z: 1.000001}
+ - name: mixamorig:RightForeArm
+ parentName: mixamorig:RightArm
+ position: {x: 9.964063e-11, y: 0.27841517, z: 3.5581792e-16}
+ rotation: {x: 0.000000040978193, y: 0.00000008684583, z: -0.000000041676685, w: 1}
+ scale: {x: 1.0000005, y: 0.9999997, z: 0.99999994}
+ - name: mixamorig:RightHand
+ parentName: mixamorig:RightForeArm
+ position: {x: -0.00000022858599, y: 0.2832884, z: 0.000000044725386}
+ rotation: {x: -0.000000039115548, y: -0.00000008684583, z: 0.000000035048288, w: 1}
+ scale: {x: 0.9999999, y: 1.0000001, z: 0.99999994}
+ - name: mixamorig:RightHandThumb1
+ parentName: mixamorig:RightHand
+ position: {x: -0.026818518, y: 0.02464805, z: 0.01573984}
+ rotation: {x: 0.116610914, y: -0.12356287, z: 0.33745033, w: 0.9258842}
+ scale: {x: 0.99999994, y: 1.0000002, z: 0.99999994}
+ - name: mixamorig:RightHandThumb2
+ parentName: mixamorig:RightHandThumb1
+ position: {x: 1.5692586e-16, y: 0.041889854, z: -9.679277e-17}
+ rotation: {x: -0.0023157152, y: 0.00117049, z: -0.009300122, w: 0.9999534}
+ scale: {x: 1.0000004, y: 1, z: 1.0000001}
+ - name: mixamorig:RightHandThumb3
+ parentName: mixamorig:RightHandThumb2
+ position: {x: 1.837671e-16, y: 0.03416271, z: 1.9955813e-16}
+ rotation: {x: -0.001664724, y: 0.000807705, z: -0.0069197947, w: 0.9999744}
+ scale: {x: 1.0000005, y: 1.0000014, z: 1.000001}
+ - name: mixamorig:RightHandThumb4
+ parentName: mixamorig:RightHandThumb3
+ position: {x: 1.4209324e-16, y: 0.025749773, z: -2.6613211e-16}
+ rotation: {x: 0.005774809, y: 0.117509305, z: 0.04874381, w: 0.99185807}
+ scale: {x: 1, y: 1.0000002, z: 1.0000004}
+ - name: mixamorig:RightHandIndex1
+ parentName: mixamorig:RightHand
+ position: {x: -0.02259835, y: 0.091082826, z: 0.0051786215}
+ rotation: {x: -0.00000063329935, y: -0.00000007008171, z: 0.00016409828, w: 1}
+ scale: {x: 1, y: 1.0000002, z: 0.9999998}
+ - name: mixamorig:RightHandIndex2
+ parentName: mixamorig:RightHandIndex1
+ position: {x: 8.564062e-17, y: 0.037, z: -9.3649935e-17}
+ rotation: {x: 0.0000001285129, y: 0.0000000504317, z: -0.000255589, w: 1}
+ scale: {x: 1.0000004, y: 1.0000002, z: 1.0000001}
+ - name: mixamorig:RightHandIndex3
+ parentName: mixamorig:RightHandIndex2
+ position: {x: 3.4287106e-15, y: 0.028499998, z: -8.893045e-12}
+ rotation: {x: -0.000000046563223, y: -0.000000013319806, z: 0.00008788769, w: 1}
+ scale: {x: 0.9999996, y: 1.0000001, z: 0.9999998}
+ - name: mixamorig:RightHandIndex4
+ parentName: mixamorig:RightHandIndex3
+ position: {x: -7.9067536e-15, y: 0.027721904, z: 5.114471e-12}
+ rotation: {x: 0.00000010792435, y: -0.0010026877, z: -0.00008697138, w: 0.9999996}
+ scale: {x: 1.0000005, y: 1.0000008, z: 1.0000008}
+ - name: mixamorig:RightHandMiddle1
+ parentName: mixamorig:RightHand
+ position: {x: 0.00000023687323, y: 0.09532501, z: 0.0000003985569}
+ rotation: {x: -0.000000944361, y: -0.000000032129694, z: 0.0005016503, w: 0.9999999}
+ scale: {x: 0.99999994, y: 1.0000001, z: 0.9999998}
+ - name: mixamorig:RightHandMiddle2
+ parentName: mixamorig:RightHandMiddle1
+ position: {x: 1.0026188e-16, y: 0.037, z: -2.8084325e-16}
+ rotation: {x: -0.00000007086521, y: -0.00000011348338, z: -0.000849817, w: 0.9999997}
+ scale: {x: 1.0000004, y: 1.0000008, z: 1.0000006}
+ - name: mixamorig:RightHandMiddle3
+ parentName: mixamorig:RightHandMiddle2
+ position: {x: 2.5163898e-15, y: 0.0295, z: -1.5411337e-10}
+ rotation: {x: 0.000000046571458, y: 0.00000012006358, z: 0.00032181732, w: 1}
+ scale: {x: 1.0000002, y: 1.0000001, z: 1.0000001}
+ - name: mixamorig:RightHandMiddle4
+ parentName: mixamorig:RightHandMiddle3
+ position: {x: -1.1329194e-15, y: 0.029466288, z: 7.2058734e-11}
+ rotation: {x: 0.00000015113521, y: -0.00092881854, z: -0.00016643056, w: 0.99999964}
+ scale: {x: 1.0000004, y: 1.0000002, z: 1.0000006}
+ - name: mixamorig:RightHandRing1
+ parentName: mixamorig:RightHand
+ position: {x: 0.01865133, y: 0.09103592, z: 0.0004306965}
+ rotation: {x: -0.00000009313226, y: 0.000000014202961, z: 0.00015598311, w: -1}
+ scale: {x: 1.0000001, y: 1.0000005, z: 0.9999998}
+ - name: mixamorig:RightHandRing2
+ parentName: mixamorig:RightHandRing1
+ position: {x: 5.1494657e-17, y: 0.03379273, z: -2.837085e-16}
+ rotation: {x: -2.9984903e-12, y: -9.523635e-10, z: -0.00022149843, w: -1}
+ scale: {x: 1, y: 1.0000005, z: 1.0000005}
+ - name: mixamorig:RightHandRing3
+ parentName: mixamorig:RightHandRing2
+ position: {x: -2.6225074e-15, y: 0.028896846, z: 8.202333e-12}
+ rotation: {x: 0.00000002235475, y: 0.000000023059483, z: 0.000112788795, w: 1}
+ scale: {x: 1.0000001, y: 1.0000001, z: 1.0000005}
+ - name: mixamorig:RightHandRing4
+ parentName: mixamorig:RightHandRing3
+ position: {x: -4.719501e-15, y: 0.026388155, z: 5.682296e-12}
+ rotation: {x: -0.00000018066889, y: -0.00014616907, z: 0.00079938595, w: 0.9999997}
+ scale: {x: 1.0000001, y: 1, z: 1.0000002}
+ - name: mixamorig:RightHandPinky1
+ parentName: mixamorig:RightHand
+ position: {x: 0.038062774, y: 0.08076676, z: 0.004867037}
+ rotation: {x: -0.0000045876945, y: 0.000000029337595, z: 0.0005205337, w: -0.9999999}
+ scale: {x: 0.99999994, y: 1, z: 0.99999994}
+ - name: mixamorig:RightHandPinky2
+ parentName: mixamorig:RightHandPinky1
+ position: {x: 1.0715117e-16, y: 0.036, z: -3.087779e-16}
+ rotation: {x: 0.000000050259125, y: 0.000000017097234, z: -0.00084619795, w: 0.9999997}
+ scale: {x: 1.0000002, y: 0.99999994, z: 0.9999996}
+ - name: mixamorig:RightHandPinky3
+ parentName: mixamorig:RightHandPinky2
+ position: {x: 5.2800265e-16, y: 0.020999998, z: -2.1163896e-10}
+ rotation: {x: 0.000000031725904, y: -0.000000041190713, z: 0.0004968443, w: 0.9999999}
+ scale: {x: 1, y: 0.9999996, z: 1.0000002}
+ - name: mixamorig:RightHandPinky4
+ parentName: mixamorig:RightHandPinky3
+ position: {x: -1.2959057e-15, y: 0.02115781, z: 1.4407352e-10}
+ rotation: {x: 0.00000005409056, y: 0.001569429, z: -0.00004126049, w: -0.99999875}
+ scale: {x: 1.0000002, y: 1.0000002, z: 0.9999999}
+ - name: mixamorig:LeftShoulder
+ parentName: mixamorig:Spine2
+ position: {x: -0.045704458, y: 0.11195644, z: -0.008066272}
+ rotation: {x: 0.4844227, y: -0.5709705, z: 0.5261617, w: 0.40308973}
+ scale: {x: 0.99999976, y: 0.99999976, z: 1}
+ - name: mixamorig:LeftArm
+ parentName: mixamorig:LeftShoulder
+ position: {x: 2.6006848e-17, y: 0.108377054, z: -9.237507e-18}
+ rotation: {x: -0.024606433, y: 0.00256142, z: -0.10350455, w: 0.9943213}
+ scale: {x: 1.0000004, y: 1.0000008, z: 1.0000006}
+ - name: mixamorig:LeftForeArm
+ parentName: mixamorig:LeftArm
+ position: {x: -9.0380454e-17, y: 0.2784152, z: -4.3119334e-17}
+ rotation: {x: -0, y: -2.3283059e-10, z: 0.0000000029540381, w: 1}
+ scale: {x: 1.0000002, y: 1.0000005, z: 1.0000005}
+ - name: mixamorig:LeftHand
+ parentName: mixamorig:LeftForeArm
+ position: {x: -0.00000005438735, y: 0.28328833, z: -0.0000000055642486}
+ rotation: {x: -0, y: -0, z: -0, w: 1}
+ scale: {x: 1, y: 0.99999994, z: 0.9999998}
+ - name: mixamorig:LeftHandThumb1
+ parentName: mixamorig:LeftHand
+ position: {x: 0.026817314, y: 0.024661448, z: 0.015761929}
+ rotation: {x: 0.11634545, y: 0.1233104, z: -0.33731902, w: 0.925999}
+ scale: {x: 0.99999994, y: 1.0000005, z: 1.0000004}
+ - name: mixamorig:LeftHandThumb2
+ parentName: mixamorig:LeftHandThumb1
+ position: {x: 8.920065e-17, y: 0.041870944, z: 1.1859406e-16}
+ rotation: {x: -0.0020669247, y: -0.0010428762, z: 0.008213387, w: 0.9999636}
+ scale: {x: 1.0000006, y: 1.0000005, z: 1.0000004}
+ - name: mixamorig:LeftHandThumb3
+ parentName: mixamorig:LeftHandThumb2
+ position: {x: 1.2823348e-17, y: 0.034183882, z: 5.503636e-16}
+ rotation: {x: -0.0015314698, y: -0.00074521796, z: 0.0060731685, w: 0.9999801}
+ scale: {x: 1, y: 1.0000004, z: 1}
+ - name: mixamorig:LeftHandThumb4
+ parentName: mixamorig:LeftHandThumb3
+ position: {x: -1.6462281e-16, y: 0.025805814, z: 2.600447e-17}
+ rotation: {x: 0.005153466, y: -0.12268279, z: -0.04165154, w: 0.99155813}
+ scale: {x: 0.99999994, y: 1.0000006, z: 1.0000006}
+ - name: mixamorig:LeftHandIndex1
+ parentName: mixamorig:LeftHand
+ position: {x: 0.022598628, y: 0.09109309, z: 0.005180343}
+ rotation: {x: 0.00000066123897, y: -0.0000000037252916, z: 0.00004413237, w: 1}
+ scale: {x: 0.99999994, y: 1, z: 0.99999994}
+ - name: mixamorig:LeftHandIndex2
+ parentName: mixamorig:LeftHandIndex1
+ position: {x: 6.4293255e-17, y: 0.037, z: -7.240398e-17}
+ rotation: {x: 0.00000037997918, y: 0.0000000036389816, z: -0.00010516241, w: 1}
+ scale: {x: 1.0000002, y: 1.0000008, z: 1.0000004}
+ - name: mixamorig:LeftHandIndex3
+ parentName: mixamorig:LeftHandIndex2
+ position: {x: 7.177584e-15, y: 0.028499998, z: 3.2100108e-16}
+ rotation: {x: 0.00000028498954, y: -0.00000008024019, z: 0.00006624324, w: 1}
+ scale: {x: 1, y: 1.0000004, z: 1.0000004}
+ - name: mixamorig:LeftHandIndex4
+ parentName: mixamorig:LeftHandIndex3
+ position: {x: -8.589727e-15, y: 0.027748656, z: 3.9775513e-16}
+ rotation: {x: 0.00000018451067, y: 0.00037770785, z: 0.000013122553, w: 1}
+ scale: {x: 1.0000005, y: 1.0000006, z: 1.000001}
+ - name: mixamorig:LeftHandMiddle1
+ parentName: mixamorig:LeftHand
+ position: {x: 0.0000003660436, y: 0.095334016, z: -0.00000032540473}
+ rotation: {x: 0.00000041909504, y: -0.000000078463906, z: 0.000031591684, w: 1}
+ scale: {x: 0.99999994, y: 1, z: 1}
+ - name: mixamorig:LeftHandMiddle2
+ parentName: mixamorig:LeftHandMiddle1
+ position: {x: 1.8484327e-17, y: 0.037, z: -4.1078256e-17}
+ rotation: {x: -0.000000100583335, y: 0.000000034220392, z: -0.000021171372, w: 1}
+ scale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
+ - name: mixamorig:LeftHandMiddle3
+ parentName: mixamorig:LeftHandMiddle2
+ position: {x: 2.870735e-14, y: 0.0295, z: -1.8927175e-16}
+ rotation: {x: -0.0000004488988, y: -0.000000045869534, z: -0.000020650577, w: 1}
+ scale: {x: 1.0000001, y: 1.0000001, z: 1}
+ - name: mixamorig:LeftHandMiddle4
+ parentName: mixamorig:LeftHandMiddle3
+ position: {x: 8.712009e-14, y: 0.029528635, z: -1.3157035e-15}
+ rotation: {x: 0.000000067754215, y: 0.001024144, z: -0.000027992844, w: 0.99999946}
+ scale: {x: 1.0000005, y: 1.0000005, z: 1.0000004}
+ - name: mixamorig:LeftHandRing1
+ parentName: mixamorig:LeftHand
+ position: {x: -0.018650811, y: 0.09104528, z: 0.00043028235}
+ rotation: {x: 0.0000006984919, y: -0.000000100815654, z: -0.0000063112593, w: 1}
+ scale: {x: 0.99999994, y: 0.9999998, z: 0.99999994}
+ - name: mixamorig:LeftHandRing2
+ parentName: mixamorig:LeftHandRing1
+ position: {x: 3.8807003e-17, y: 0.0315, z: -1.2637012e-16}
+ rotation: {x: -0, y: -0, z: 7.041892e-14, w: 1}
+ scale: {x: 1.0000004, y: 0.99999994, z: 1.0000002}
+ - name: mixamorig:LeftHandRing3
+ parentName: mixamorig:LeftHandRing2
+ position: {x: -0.000000026432891, y: 0.0295, z: 0.0000000052098597}
+ rotation: {x: -0, y: -0, z: -0, w: 1}
+ scale: {x: 1.0000001, y: 1, z: 1.0000004}
+ - name: mixamorig:LeftHandRing4
+ parentName: mixamorig:LeftHandRing3
+ position: {x: 0.0000002327433, y: 0.026443163, z: -0.000000014607575}
+ rotation: {x: -0.00000024089556, y: -0.00049339345, z: -0.000016111275, w: 0.9999999}
+ scale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
+ - name: mixamorig:LeftHandPinky1
+ parentName: mixamorig:LeftHand
+ position: {x: -0.038062632, y: 0.08077779, z: 0.00486877}
+ rotation: {x: -0.0000049956143, y: -0.000000084983164, z: -0.0020448472, w: 0.9999979}
+ scale: {x: 0.9999998, y: 0.9999998, z: 0.9999998}
+ - name: mixamorig:LeftHandPinky2
+ parentName: mixamorig:LeftHandPinky1
+ position: {x: 3.8940705e-17, y: 0.036, z: 2.5409893e-16}
+ rotation: {x: 0.00000069097445, y: 0.00000004250278, z: 0.00021070332, w: 1}
+ scale: {x: 1.0000005, y: 1.0000005, z: 1.0000007}
+ - name: mixamorig:LeftHandPinky3
+ parentName: mixamorig:LeftHandPinky2
+ position: {x: -2.4071785e-15, y: 0.021000002, z: 3.3381643e-16}
+ rotation: {x: 0.0000001694372, y: 0.000000035877957, z: 0.000067088746, w: 1}
+ scale: {x: 1.0000007, y: 1.0000007, z: 1.0000006}
+ - name: mixamorig:LeftHandPinky4
+ parentName: mixamorig:LeftHandPinky3
+ position: {x: -1.10373645e-14, y: 0.021255314, z: -4.7608096e-17}
+ rotation: {x: 0.00000008175554, y: 0.0007833085, z: 0.00029532777, w: 0.9999997}
+ scale: {x: 1, y: 1.0000002, z: 1.0000005}
+ - name: mixamorig:RightUpLeg
+ parentName: mixamorig:Hips
+ position: {x: 0.08207789, y: -0.06771764, z: -0.015122186}
+ rotation: {x: 0.000000003561873, y: 0.010356482, z: 0.9999464, w: -0.00000025446835}
+ scale: {x: 0.9999997, y: 1.0000001, z: 1}
+ - name: mixamorig:RightLeg
+ parentName: mixamorig:RightUpLeg
+ position: {x: -6.197275e-11, y: 0.44371462, z: -1.6627694e-15}
+ rotation: {x: -0.0380914, y: 5.511447e-10, z: -0.00000001818151, w: 0.99927425}
+ scale: {x: 0.99999994, y: 1, z: 1}
+ - name: mixamorig:RightFoot
+ parentName: mixamorig:RightLeg
+ position: {x: 5.538293e-11, y: 0.4452781, z: 1.8670634e-16}
+ rotation: {x: 0.4597401, y: -0.000000039345103, z: 0.00000014332177, w: 0.8880536}
+ scale: {x: 1.0000007, y: 1.0000006, z: 1.0000001}
+ - name: mixamorig:RightToeBase
+ parentName: mixamorig:RightFoot
+ position: {x: 1.2271307e-17, y: 0.13816866, z: 4.8857846e-17}
+ rotation: {x: 0.33524162, y: 0.000000024280403, z: 0.000000033355526, w: 0.94213223}
+ scale: {x: 1.0000007, y: 0.9999998, z: 1.0000002}
+ - name: mixamorig:RightToe_End
+ parentName: mixamorig:RightToeBase
+ position: {x: 3.3725423e-18, y: 0.09278121, z: 4.2890198e-17}
+ rotation: {x: -0.00000005960463, y: -0.011608072, z: 0.000000038417046, w: 0.99993265}
+ scale: {x: 1.0000012, y: 1.0000007, z: 1.0000007}
+ - name: mixamorig:LeftUpLeg
+ parentName: mixamorig:Hips
+ position: {x: -0.08207788, y: -0.06771803, z: -0.015122138}
+ rotation: {x: -0.0000000022302704, y: 0.010367958, z: 0.9999463, w: -0.00000026685234}
+ scale: {x: 1.0000004, y: 1.0000006, z: 0.9999999}
+ - name: mixamorig:LeftLeg
+ parentName: mixamorig:LeftUpLeg
+ position: {x: -6.468267e-11, y: 0.4437139, z: 3.7506209e-16}
+ rotation: {x: -0.038112443, y: -0.0000000055866285, z: -0.000000007812632, w: 0.9992735}
+ scale: {x: 1.0000007, y: 1.0000005, z: 0.9999999}
+ - name: mixamorig:LeftFoot
+ parentName: mixamorig:LeftLeg
+ position: {x: 5.5477796e-11, y: 0.44527847, z: -2.2030602e-16}
+ rotation: {x: 0.45974863, y: 0.000000022935112, z: 0.00000008212531, w: 0.88804907}
+ scale: {x: 1.0000005, y: 1.0000004, z: 1.0000001}
+ - name: mixamorig:LeftToeBase
+ parentName: mixamorig:LeftFoot
+ position: {x: -2.3797458e-17, y: 0.13816865, z: -3.4315254e-17}
+ rotation: {x: 0.33524144, y: 5.2457066e-10, z: 0.0000001361126, w: 0.9421323}
+ scale: {x: 1.0000001, y: 1.0000007, z: 0.9999991}
+ - name: mixamorig:LeftToe_End
+ parentName: mixamorig:LeftToeBase
+ position: {x: 4.3545176e-19, y: 0.09278137, z: -1.3126546e-17}
+ rotation: {x: -0, y: 0.011869159, z: 0.0000000060535954, w: 0.99992955}
+ scale: {x: 1.000001, y: 1.0000007, z: 1.0000005}
+ armTwist: 0.5
+ foreArmTwist: 0.5
+ upperLegTwist: 0.5
+ legTwist: 0.5
+ armStretch: 0.05
+ legStretch: 0.05
+ feetSpacing: 0
+ globalScale: 1
+ rootMotionBoneName:
+ hasTranslationDoF: 0
+ hasExtraRoot: 1
+ skeletonHasParents: 1
+ lastHumanDescriptionAvatarSource: {instanceID: 0}
+ autoGenerateAvatarMappingIfUnspecified: 1
+ animationType: 3
+ humanoidOversampling: 1
+ avatarSetup: 1
+ addHumanoidExtraRootOnlyWhenUsingAvatar: 1
+ importBlendShapeDeformPercent: 1
+ remapMaterialsIfMaterialImportModeIsNone: 0
+ additionalBone: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Animation/Idle.fbx.meta b/Assets/Animation/Idle.fbx.meta
index d283d01c..677f959b 100644
--- a/Assets/Animation/Idle.fbx.meta
+++ b/Assets/Animation/Idle.fbx.meta
@@ -38,19 +38,19 @@ ModelImporter:
lastFrame: 117
wrapMode: 0
orientationOffsetY: 0
- level: 0
+ level: -0.95
cycleOffset: 0
loop: 0
hasAdditiveReferencePose: 0
loopTime: 1
loopBlend: 0
loopBlendOrientation: 0
- loopBlendPositionY: 0
+ loopBlendPositionY: 1
loopBlendPositionXZ: 0
keepOriginalOrientation: 0
- keepOriginalPositionY: 1
+ keepOriginalPositionY: 0
keepOriginalPositionXZ: 0
- heightFromFeet: 0
+ heightFromFeet: 1
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
diff --git a/Assets/Animation/PLayer.controller b/Assets/Animation/PLayer.controller
index ec4e278b..0243ab6f 100644
--- a/Assets/Animation/PLayer.controller
+++ b/Assets/Animation/PLayer.controller
@@ -25,7 +25,8 @@ AnimatorState:
m_Name: Idle - Jump
m_Speed: 1
m_CycleOffset: 0
- m_Transitions: []
+ m_Transitions:
+ - {fileID: 1308214030082571529}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@@ -195,6 +196,30 @@ AnimatorController:
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
+ - m_Name: Grounded
+ m_Type: 4
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 9100000}
+ - m_Name: Fall
+ m_Type: 9
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 9100000}
+ - m_Name: Dash
+ m_Type: 9
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 9100000}
+ - m_Name: Grounded 0
+ m_Type: 4
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
@@ -208,6 +233,31 @@ AnimatorController:
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
+--- !u!1101 &1308214030082571529
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: Grounded
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -1295429138465032466}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0.1
+ m_TransitionOffset: 0
+ m_ExitTime: 0.86725664
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
--- !u!1107 &1532117994953529462
AnimatorStateMachine:
serializedVersion: 6
@@ -244,16 +294,19 @@ AnimatorStateTransition:
- m_ConditionMode: 1
m_ConditionEvent: Jump
m_EventTreshold: 0
+ - m_ConditionMode: 2
+ m_ConditionEvent: Grounded
+ m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -6199817182204923347}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
- m_TransitionDuration: 0.25
+ m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.767642
- m_HasExitTime: 1
+ m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
diff --git a/Assets/Animation/Standard Walk.fbx.meta b/Assets/Animation/Standard Walk.fbx.meta
index 7a7b798e..8579287c 100644
--- a/Assets/Animation/Standard Walk.fbx.meta
+++ b/Assets/Animation/Standard Walk.fbx.meta
@@ -45,12 +45,12 @@ ModelImporter:
loopTime: 1
loopBlend: 0
loopBlendOrientation: 0
- loopBlendPositionY: 0
+ loopBlendPositionY: 1
loopBlendPositionXZ: 0
keepOriginalOrientation: 0
- keepOriginalPositionY: 1
+ keepOriginalPositionY: 0
keepOriginalPositionXZ: 0
- heightFromFeet: 0
+ heightFromFeet: 1
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
diff --git a/Assets/Models/HumanM_Model.fbx.meta b/Assets/Models/HumanM_Model.fbx.meta
index d8208ac3..4cc70b51 100644
--- a/Assets/Models/HumanM_Model.fbx.meta
+++ b/Assets/Models/HumanM_Model.fbx.meta
@@ -82,8 +82,719 @@ ModelImporter:
importAnimation: 1
humanDescription:
serializedVersion: 3
- human: []
- skeleton: []
+ human:
+ - boneName: B-hips
+ humanName: Hips
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-thigh.L
+ humanName: LeftUpperLeg
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-thigh.R
+ humanName: RightUpperLeg
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-shin.L
+ humanName: LeftLowerLeg
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-shin.R
+ humanName: RightLowerLeg
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-foot.L
+ humanName: LeftFoot
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-foot.R
+ humanName: RightFoot
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-spine
+ humanName: Spine
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-chest
+ humanName: Chest
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-neck
+ humanName: Neck
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-head
+ humanName: Head
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-shoulder.L
+ humanName: LeftShoulder
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-shoulder.R
+ humanName: RightShoulder
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-upperArm.L
+ humanName: LeftUpperArm
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-upperArm.R
+ humanName: RightUpperArm
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-forearm.L
+ humanName: LeftLowerArm
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-forearm.R
+ humanName: RightLowerArm
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-hand.L
+ humanName: LeftHand
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-hand.R
+ humanName: RightHand
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-toe.L
+ humanName: LeftToes
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-toe.R
+ humanName: RightToes
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-jaw
+ humanName: Jaw
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-thumb01.L
+ humanName: Left Thumb Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-thumb02.L
+ humanName: Left Thumb Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-thumb03.L
+ humanName: Left Thumb Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-indexFinger01.L
+ humanName: Left Index Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-indexFinger02.L
+ humanName: Left Index Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-indexFinger03.L
+ humanName: Left Index Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-middleFinger01.L
+ humanName: Left Middle Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-middleFinger02.L
+ humanName: Left Middle Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-middleFinger03.L
+ humanName: Left Middle Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-ringFinger01.L
+ humanName: Left Ring Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-ringFinger02.L
+ humanName: Left Ring Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-ringFinger03.L
+ humanName: Left Ring Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-pinky01.L
+ humanName: Left Little Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-pinky02.L
+ humanName: Left Little Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-pinky03.L
+ humanName: Left Little Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-thumb01.R
+ humanName: Right Thumb Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-thumb02.R
+ humanName: Right Thumb Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-thumb03.R
+ humanName: Right Thumb Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-indexFinger01.R
+ humanName: Right Index Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-indexFinger02.R
+ humanName: Right Index Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-indexFinger03.R
+ humanName: Right Index Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-middleFinger01.R
+ humanName: Right Middle Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-middleFinger02.R
+ humanName: Right Middle Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-middleFinger03.R
+ humanName: Right Middle Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-ringFinger01.R
+ humanName: Right Ring Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-ringFinger02.R
+ humanName: Right Ring Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-ringFinger03.R
+ humanName: Right Ring Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-pinky01.R
+ humanName: Right Little Proximal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-pinky02.R
+ humanName: Right Little Intermediate
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ - boneName: B-pinky03.R
+ humanName: Right Little Distal
+ limit:
+ min: {x: 0, y: 0, z: 0}
+ max: {x: 0, y: 0, z: 0}
+ value: {x: 0, y: 0, z: 0}
+ length: 0
+ modified: 0
+ skeleton:
+ - name: HumanM_Model(Clone)
+ parentName:
+ position: {x: -0, y: 0, z: 0}
+ rotation: {x: 0, y: -0, z: -0, w: 1}
+ scale: {x: 1, y: 1, z: 1}
+ - name: HumanM_BodyMesh
+ parentName: HumanM_Model(Clone)
+ position: {x: -0, y: 0, z: 0}
+ rotation: {x: 0, y: -0, z: -0, w: 1}
+ scale: {x: 1, y: 1, z: 1}
+ - name: Rig
+ parentName: HumanM_Model(Clone)
+ position: {x: -0, y: 0, z: 0}
+ rotation: {x: 0, y: -0, z: -0, w: 1}
+ scale: {x: 1, y: 1, z: 1}
+ - name: B-root
+ parentName: Rig
+ position: {x: -0, y: 0, z: 0}
+ rotation: {x: 0, y: -0, z: -0, w: 1}
+ scale: {x: 1, y: 1, z: 1}
+ - name: B-spineProxy
+ parentName: B-root
+ position: {x: -0, y: 1.063237, z: 0.023323}
+ rotation: {x: 0.003002514, y: 0, z: -0, w: 0.9999955}
+ scale: {x: 1, y: 1, z: 1}
+ - name: B-hips
+ parentName: B-root
+ position: {x: -0, y: 0.9797119, z: 0.016772}
+ rotation: {x: 0.039127976, y: -0, z: -0, w: 0.9992342}
+ scale: {x: 1, y: 1, z: 1}
+ - name: B-spine
+ parentName: B-hips
+ position: {x: -0, y: 0.08378151, z: -0.000000380062}
+ rotation: {x: -0.036127582, y: -0, z: -0, w: 0.9993472}
+ scale: {x: 1, y: 0.99999994, z: 0.99999994}
+ - name: B-chest
+ parentName: B-spine
+ position: {x: -0, y: 0.20032859, z: 0.000000026720997}
+ rotation: {x: -0.036337737, y: -0, z: -0, w: 0.99933964}
+ scale: {x: 1, y: 0.99999964, z: 0.99999964}
+ - name: B-shoulder.R
+ parentName: B-chest
+ position: {x: -0, y: 0.191156, z: -0.005313748}
+ rotation: {x: -0.51111144, y: -0.45326263, z: -0.48454675, w: 0.5463814}
+ scale: {x: 1.0000001, y: 1, z: 1.0000002}
+ - name: B-upperArm.R
+ parentName: B-shoulder.R
+ position: {x: -0.00000057259496, y: 0.20157637, z: 0.00000020945822}
+ rotation: {x: 0.023701277, y: 0.70952326, z: -0.07322932, w: 0.7004659}
+ scale: {x: 1.0000008, y: 0.9999996, z: 1}
+ - name: B-forearm.R
+ parentName: B-upperArm.R
+ position: {x: 0.00000029779372, y: 0.2341377, z: -0.00000010364547}
+ rotation: {x: 0.0010380223, y: -0.0004234314, z: 0.0032018982, w: 0.9999943}
+ scale: {x: 0.99999934, y: 1.0000006, z: 0.99999946}
+ - name: B-hand.R
+ parentName: B-forearm.R
+ position: {x: -0.00000026537117, y: 0.19596447, z: 0.0000000011376525}
+ rotation: {x: 0.013655253, y: 0.7053685, z: 0.033098266, w: 0.7079359}
+ scale: {x: 1.0000005, y: 0.9999999, z: 1.0000013}
+ - name: B-handProp.R
+ parentName: B-hand.R
+ position: {x: 0.0036493945, y: 0.11645628, z: 0.025236836}
+ rotation: {x: -0.013668834, y: 0.012546043, z: 0.6760833, w: 0.7365916}
+ scale: {x: 1.0000006, y: 1.0000005, z: 0.9999996}
+ - name: B-indexFinger01.R
+ parentName: B-hand.R
+ position: {x: -0.039847255, y: 0.14592145, z: -0.0024733872}
+ rotation: {x: 0.019055065, y: -0.01495841, z: 0.03131582, w: 0.99921596}
+ scale: {x: 1.0000006, y: 0.9999999, z: 0.9999996}
+ - name: B-indexFinger02.R
+ parentName: B-indexFinger01.R
+ position: {x: -0.00000016483804, y: 0.051680062, z: -0.0000004189711}
+ rotation: {x: 0.040757094, y: 0.028769603, z: -0.0030869546, w: 0.9987501}
+ scale: {x: 1.0000002, y: 1.0000008, z: 1.000001}
+ - name: B-indexFinger03.R
+ parentName: B-indexFinger02.R
+ position: {x: -0.00000065176897, y: 0.038299132, z: 0.00000025667788}
+ rotation: {x: -0.0062385863, y: 0.0040234975, z: -0.010918366, w: 0.99991286}
+ scale: {x: 1, y: 1.0000005, z: 0.9999997}
+ - name: B-middleFinger01.R
+ parentName: B-hand.R
+ position: {x: -0.010262938, y: 0.14571612, z: -0.0098788645}
+ rotation: {x: -0.004699572, y: -0.0032570052, z: -0.0018007713, w: 0.999982}
+ scale: {x: 1.0000008, y: 0.99999976, z: 1.0000002}
+ - name: B-middleFinger02.R
+ parentName: B-middleFinger01.R
+ position: {x: -0.0000005974616, y: 0.05384352, z: -0.0000003771701}
+ rotation: {x: 0.039357472, y: 0.045738414, z: 0.0037785876, w: 0.99817073}
+ scale: {x: 0.9999998, y: 1.0000004, z: 1.0000004}
+ - name: B-middleFinger03.R
+ parentName: B-middleFinger02.R
+ position: {x: -0.00000031228402, y: 0.03966582, z: 0.0000007806046}
+ rotation: {x: 0.0049833055, y: -0.021227943, z: -0.0063239583, w: 0.9997422}
+ scale: {x: 0.9999998, y: 1.0000007, z: 0.9999998}
+ - name: B-ringFinger01.R
+ parentName: B-hand.R
+ position: {x: 0.017707428, y: 0.14186867, z: -0.0063086674}
+ rotation: {x: -0.007116044, y: 0.001772284, z: -0.03639964, w: 0.9993104}
+ scale: {x: 1.0000007, y: 1.0000001, z: 0.9999998}
+ - name: B-ringFinger02.R
+ parentName: B-ringFinger01.R
+ position: {x: -0.000000542884, y: 0.04994895, z: 0.00000035361504}
+ rotation: {x: 0.03796476, y: -0.002115096, z: 0.01253315, w: 0.99919826}
+ scale: {x: 0.9999996, y: 1, z: 1.0000004}
+ - name: B-ringFinger03.R
+ parentName: B-ringFinger02.R
+ position: {x: 0.00000043444734, y: 0.038347248, z: -0.000000056919788}
+ rotation: {x: -0.02091095, y: 0.04065237, z: 0.015794605, w: -0.99882966}
+ scale: {x: 1.0000006, y: 1.0000005, z: 1.0000001}
+ - name: B-pinky01.R
+ parentName: B-hand.R
+ position: {x: 0.04595776, y: 0.13234657, z: -0.0026849052}
+ rotation: {x: 0.011725712, y: 0.016482824, z: 0.044226043, w: -0.9988168}
+ scale: {x: 1.0000006, y: 1.0000005, z: 1.0000004}
+ - name: B-pinky02.R
+ parentName: B-pinky01.R
+ position: {x: -0.000000007593004, y: 0.042360805, z: -0.0000006170239}
+ rotation: {x: -0.038972165, y: -0.011178192, z: -0.009239687, w: -0.999135}
+ scale: {x: 1.0000001, y: 0.99999946, z: 0.99999934}
+ - name: B-pinky03.R
+ parentName: B-pinky02.R
+ position: {x: 0.000000490262, y: 0.03559031, z: 0.000000525607}
+ rotation: {x: -0.02210214, y: 0.021823257, z: -0.009211368, w: -0.9994751}
+ scale: {x: 0.99999994, y: 1.0000001, z: 1}
+ - name: B-thumb01.R
+ parentName: B-hand.R
+ position: {x: -0.043999806, y: 0.053600658, z: 0.014425339}
+ rotation: {x: -0.22472195, y: 0.6304506, z: 0.29821253, w: 0.68051565}
+ scale: {x: 0.9999992, y: 1, z: 1.0000005}
+ - name: B-thumb02.R
+ parentName: B-thumb01.R
+ position: {x: -0.00000024829808, y: 0.052145515, z: 0.0000002662714}
+ rotation: {x: 0.03817449, y: 0.013301992, z: -0.008045062, w: 0.99915016}
+ scale: {x: 1.000001, y: 0.9999997, z: 1.0000008}
+ - name: B-thumb03.R
+ parentName: B-thumb02.R
+ position: {x: 0.00000023047774, y: 0.038913652, z: 0.00000013830525}
+ rotation: {x: -0.06035438, y: 0.014396251, z: 0.0074286917, w: 0.9980456}
+ scale: {x: 0.9999996, y: 1.0000007, z: 0.9999992}
+ - name: B-neck
+ parentName: B-chest
+ position: {x: -0, y: 0.27073184, z: -0.00000024204712}
+ rotation: {x: 0.1032065, y: -0, z: -0, w: 0.99465996}
+ scale: {x: 1, y: 1.0000004, z: 1.0000004}
+ - name: B-head
+ parentName: B-neck
+ position: {x: -0, y: 0.074098095, z: 0.0000011746794}
+ rotation: {x: -0.06999011, y: -0, z: -0, w: 0.99754775}
+ scale: {x: 1, y: 0.9999999, z: 0.9999999}
+ - name: B-jaw
+ parentName: B-head
+ position: {x: -0, y: 0, z: 0}
+ rotation: {x: 0.7071117, y: -0.000004949783, z: -0.000004949714, w: 0.7071019}
+ scale: {x: 1, y: 0.9999999, z: 0.9999999}
+ - name: B-shoulder.L
+ parentName: B-chest
+ position: {x: -0, y: 0.191156, z: -0.005313748}
+ rotation: {x: -0.51111144, y: 0.45326263, z: 0.48454675, w: 0.5463814}
+ scale: {x: 1.0000001, y: 1.0000001, z: 1.0000002}
+ - name: B-upperArm.L
+ parentName: B-shoulder.L
+ position: {x: 0.00000057259496, y: 0.20157637, z: 0.00000020945822}
+ rotation: {x: 0.023826208, y: -0.7095106, z: 0.07335416, w: 0.70046157}
+ scale: {x: 1.0000002, y: 0.9999995, z: 0.99999976}
+ - name: B-forearm.L
+ parentName: B-upperArm.L
+ position: {x: -0.000000085940925, y: 0.2341381, z: -0.0000020371474}
+ rotation: {x: 0.00065944885, y: 0.00042495123, z: -0.0032002882, w: 0.99999464}
+ scale: {x: 0.9999996, y: 1.0000007, z: 0.99999964}
+ - name: B-hand.L
+ parentName: B-forearm.L
+ position: {x: -0.00000014965505, y: 0.19596392, z: -0.000002056581}
+ rotation: {x: 0.0137975905, y: -0.7053626, z: -0.03324069, w: 0.7079325}
+ scale: {x: 0.9999999, y: 1.0000004, z: 1.0000004}
+ - name: B-handProp.L
+ parentName: B-hand.L
+ position: {x: -0.0036493945, y: 0.11645614, z: 0.02523684}
+ rotation: {x: -0.0136688305, y: -0.012546046, z: -0.67608327, w: 0.73659164}
+ scale: {x: 0.9999996, y: 1.0000005, z: 0.9999996}
+ - name: B-indexFinger01.L
+ parentName: B-hand.L
+ position: {x: 0.039847255, y: 0.14592129, z: -0.0024733818}
+ rotation: {x: 0.019054117, y: 0.014957337, z: -0.031316232, w: 0.99921596}
+ scale: {x: 1.0000004, y: 0.99999994, z: 1.0000001}
+ - name: B-indexFinger02.L
+ parentName: B-indexFinger01.L
+ position: {x: 0.000000121531, y: 0.05168002, z: -0.0000003132513}
+ rotation: {x: 0.04076018, y: -0.0287692, z: 0.0030876298, w: 0.99875}
+ scale: {x: 1.0000004, y: 1.0000008, z: 0.99999994}
+ - name: B-indexFinger03.L
+ parentName: B-indexFinger02.L
+ position: {x: 0.0000006657549, y: 0.038299095, z: 0.00000026302325}
+ rotation: {x: -0.006238374, y: -0.004023682, z: 0.010918303, w: 0.9999129}
+ scale: {x: 1.0000001, y: 0.9999991, z: 1}
+ - name: B-middleFinger01.L
+ parentName: B-hand.L
+ position: {x: 0.010262938, y: 0.14571597, z: -0.009878859}
+ rotation: {x: -0.004700666, y: 0.003256559, z: 0.0018008165, w: 0.999982}
+ scale: {x: 1.0000008, y: 0.99999994, z: 1.0000004}
+ - name: B-middleFinger02.L
+ parentName: B-middleFinger01.L
+ position: {x: 0.0000005989536, y: 0.05384347, z: -0.00000026802326}
+ rotation: {x: 0.039368495, y: -0.04573897, z: -0.0037793913, w: 0.9981702}
+ scale: {x: 1.0000001, y: 1.0000002, z: 1.0000001}
+ - name: B-middleFinger03.L
+ parentName: B-middleFinger02.L
+ position: {x: 0.00000024472794, y: 0.039665613, z: -0.00000007511139}
+ rotation: {x: 0.004983082, y: 0.021227797, z: 0.0063240305, w: 0.99974227}
+ scale: {x: 0.9999996, y: 0.99999994, z: 1}
+ - name: B-ringFinger01.L
+ parentName: B-hand.L
+ position: {x: -0.017707428, y: 0.14186852, z: -0.0063086627}
+ rotation: {x: -0.007119676, y: -0.0017733867, z: 0.03639967, w: 0.9993104}
+ scale: {x: 1.0000006, y: 1.0000004, z: 0.9999997}
+ - name: B-ringFinger02.L
+ parentName: B-ringFinger01.L
+ position: {x: 0.000000539424, y: 0.04994888, z: -0.00000054509644}
+ rotation: {x: 0.03795643, y: 0.0021154573, z: -0.012531134, w: 0.9991986}
+ scale: {x: 0.99999964, y: 1, z: 1.000001}
+ - name: B-ringFinger03.L
+ parentName: B-ringFinger02.L
+ position: {x: -0.00000042212133, y: 0.038347226, z: 0.00000006269704}
+ rotation: {x: 0.020911373, y: 0.040652253, z: 0.015794776, w: 0.9988297}
+ scale: {x: 1.0000001, y: 1, z: 1}
+ - name: B-pinky01.L
+ parentName: B-hand.L
+ position: {x: -0.04595776, y: 0.1323464, z: -0.0026858994}
+ rotation: {x: -0.0117269205, y: 0.016482104, z: 0.044222333, w: 0.99881697}
+ scale: {x: 1.0000001, y: 0.99999934, z: 1.0000004}
+ - name: B-pinky02.L
+ parentName: B-pinky01.L
+ position: {x: -4.7400034e-10, y: 0.042361826, z: 0.00000049031206}
+ rotation: {x: 0.039000545, y: -0.011178301, z: -0.00924355, w: 0.99913394}
+ scale: {x: 1.0000004, y: 1.000001, z: 0.99999946}
+ - name: B-pinky03.L
+ parentName: B-pinky02.L
+ position: {x: -0.000000503181, y: 0.03559012, z: -0.0000004567936}
+ rotation: {x: 0.02209994, y: 0.021823762, z: -0.00921096, w: 0.9994751}
+ scale: {x: 1.0000007, y: 1.0000001, z: 1.000001}
+ - name: B-thumb01.L
+ parentName: B-hand.L
+ position: {x: 0.043999806, y: 0.053600606, z: 0.014425342}
+ rotation: {x: -0.2247226, y: -0.6304511, z: -0.29820973, w: 0.6805161}
+ scale: {x: 1, y: 0.9999992, z: 1.0000002}
+ - name: B-thumb02.L
+ parentName: B-thumb01.L
+ position: {x: 0.00000040659947, y: 0.052145515, z: 0.000000065670875}
+ rotation: {x: 0.038172252, y: -0.01330176, z: 0.00804352, w: 0.9991503}
+ scale: {x: 1, y: 1.0000006, z: 1.0000004}
+ - name: B-thumb03.L
+ parentName: B-thumb02.L
+ position: {x: -0.0000005391776, y: 0.038914427, z: 0.0000006627957}
+ rotation: {x: -0.060353376, y: -0.0143969515, z: -0.007428563, w: 0.9980456}
+ scale: {x: 0.9999998, y: 1.0000002, z: 0.9999992}
+ - name: B-thigh.L
+ parentName: B-hips
+ position: {x: -0.086950995, y: -0.054498807, z: 0.0009344498}
+ rotation: {x: 0.9976029, y: -0.03748416, z: 0.01396242, w: 0.056467}
+ scale: {x: 1.0000001, y: 0.9999999, z: 1.0000015}
+ - name: B-shin.L
+ parentName: B-thigh.L
+ position: {x: 0.000000291668, y: 0.4122319, z: -0.0000007366876}
+ rotation: {x: 0.06803759, y: -0.003843949, z: -0.036836635, w: 0.99699515}
+ scale: {x: 1.000001, y: 0.9999999, z: 1}
+ - name: B-foot.L
+ parentName: B-shin.L
+ position: {x: 0.000000012107979, y: 0.38807765, z: 0.0000007308742}
+ rotation: {x: -0.5175909, y: -0.009148009, z: -0.0052672485, w: 0.8555631}
+ scale: {x: 1.0000001, y: 1.0000008, z: 1.0000005}
+ - name: B-toe.L
+ parentName: B-foot.L
+ position: {x: 0.00000024583952, y: 0.17744446, z: -0.00000026636735}
+ rotation: {x: -0.0000003366731, y: 0.95776296, z: -0.2875591, w: -0.0000006244518}
+ scale: {x: 1.0000002, y: 0.99999946, z: 1.0000001}
+ - name: B-thigh.R
+ parentName: B-hips
+ position: {x: 0.086950995, y: -0.0544998, z: 0.000934528}
+ rotation: {x: 0.99760276, y: 0.03748327, z: -0.0139689315, w: 0.05646851}
+ scale: {x: 0.9999942, y: 1.0000004, z: 0.99998736}
+ - name: B-shin.R
+ parentName: B-thigh.R
+ position: {x: 0.0000012584915, y: 0.41223097, z: 0.0000012415915}
+ rotation: {x: 0.06803853, y: 0.003844356, z: 0.036835853, w: 0.9969951}
+ scale: {x: 0.99999976, y: 1.0000006, z: 1.0000002}
+ - name: B-foot.R
+ parentName: B-shin.R
+ position: {x: -0.00000058465486, y: 0.38807717, z: -0.0000006054801}
+ rotation: {x: -0.5175943, y: 0.00916136, z: 0.005274257, w: 0.85556096}
+ scale: {x: 1.0000008, y: 0.9999975, z: 1.0000012}
+ - name: B-toe.R
+ parentName: B-foot.R
+ position: {x: 0.000002517725, y: 0.17744789, z: 0.00000056846955}
+ rotation: {x: 0.00000019604337, y: 0.9577643, z: -0.28755447, w: 0.0000010998918}
+ scale: {x: 1.0000001, y: 1.0000006, z: 0.99999887}
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
diff --git a/Assets/Scripts/EnvironmentScanner.cs b/Assets/Scripts/EnvironmentScanner.cs
index 33ace919..8970957a 100644
--- a/Assets/Scripts/EnvironmentScanner.cs
+++ b/Assets/Scripts/EnvironmentScanner.cs
@@ -5,10 +5,10 @@ namespace OnlyScove.Scripts
public class EnvironmentScanner : MonoBehaviour
{
[Header("Obstacle Detection")]
- [SerializeField] private Vector3 forwardRayOffset = new Vector3(0, 2.5f, 0);
- [SerializeField] float forwardRayLength = 10f;
+ [SerializeField] private Vector3 forwardRayOffset = new Vector3(0, 1.5f, 0);
+ [SerializeField] float forwardRayLength = 1.5f;
[SerializeField] LayerMask obstacleLayer;
- [SerializeField] float heightRayLength;
+ [SerializeField] float heightRayLength = 2.5f;
[Header("Interaction Detection")]
[SerializeField] private Vector3 interactionOffset = new Vector3(0, 1.5f, 0);
diff --git a/Assets/Scripts/Network/BasicSpawner.cs b/Assets/Scripts/Network/BasicSpawner.cs
index f04e0321..f5044bc9 100644
--- a/Assets/Scripts/Network/BasicSpawner.cs
+++ b/Assets/Scripts/Network/BasicSpawner.cs
@@ -355,6 +355,7 @@ namespace Hallucinate.UI
{
data.Direction = PlayerStateMachine.Local.Input.MoveInput;
data.sprint = PlayerStateMachine.Local.Input.IsSprintHeld;
+ data.jump = PlayerStateMachine.Local.Input.ConsumeJumpInput();
if (PlayerStateMachine.Local.Cam != null)
data.rot = PlayerStateMachine.Local.Cam.PlanarRotation;
}
diff --git a/Assets/Scripts/Network/PlayerInputData.cs b/Assets/Scripts/Network/PlayerInputData.cs
index b1396da0..50e01c56 100644
--- a/Assets/Scripts/Network/PlayerInputData.cs
+++ b/Assets/Scripts/Network/PlayerInputData.cs
@@ -7,6 +7,7 @@ namespace OnlyScove.Scripts
{
public Vector2 Direction;
public NetworkBool sprint;
+ public NetworkBool jump;
public Quaternion rot;
}
}
diff --git a/Assets/Scripts/Player Controller/InputReader.cs b/Assets/Scripts/Player Controller/InputReader.cs
index b9eb55e8..60a67e6f 100644
--- a/Assets/Scripts/Player Controller/InputReader.cs
+++ b/Assets/Scripts/Player Controller/InputReader.cs
@@ -127,7 +127,19 @@ namespace OnlyScove.Scripts
public void OnJump(InputAction.CallbackContext context)
{
- if (context.performed) OnJumpEvent?.Invoke();
+ if (context.performed)
+ {
+ wasJumpPressed = true;
+ OnJumpEvent?.Invoke();
+ }
+ }
+
+ private bool wasJumpPressed;
+ public bool ConsumeJumpInput()
+ {
+ bool val = wasJumpPressed;
+ wasJumpPressed = false;
+ return val;
}
public void OnDodgeOrThrust(InputAction.CallbackContext context)
diff --git a/Assets/Scripts/Player Controller/PlayerAnimationHandler.cs b/Assets/Scripts/Player Controller/PlayerAnimationHandler.cs
index ae394559..8d184532 100644
--- a/Assets/Scripts/Player Controller/PlayerAnimationHandler.cs
+++ b/Assets/Scripts/Player Controller/PlayerAnimationHandler.cs
@@ -9,46 +9,153 @@ namespace OnlyScove.Scripts
[SerializeField] private string speedParamName = "Speed";
[SerializeField] private string velocityXParamName = "Velocity X";
[SerializeField] private string velocityZParamName = "Velocity Z";
+ [SerializeField] private string groundedParamName = "Grounded";
[SerializeField] private float animationDamping = 0.2f;
+ [Header("Visual Correction")]
+ [SerializeField] private float visualOffsetY = 0f;
+ [SerializeField] private Transform modelTransform;
+ private CharacterController controller;
+
private Animator anim;
private int speedHash;
private int velocityXHash;
private int velocityZHash;
- private bool hasSpeedParam;
- private bool hasVelocityXParam;
- private bool hasVelocityZParam;
+ private int groundedHash;
+
+ private readonly System.Collections.Generic.HashSet parameterHashes = new System.Collections.Generic.HashSet();
public void Initialize(Animator animator)
{
this.anim = animator;
+ this.controller = GetComponentInParent();
+
+ // Auto-assign modelTransform if null
+ if (modelTransform == null && anim != null) modelTransform = anim.transform;
+
if (anim != null)
{
+ Debug.Log($"[AnimationHandler] Animator found on: {anim.gameObject.name}");
+ parameterHashes.Clear();
foreach (AnimatorControllerParameter param in anim.parameters)
{
- if (param.name == speedParamName) hasSpeedParam = true;
- if (param.name == velocityXParamName) hasVelocityXParam = true;
- if (param.name == velocityZParamName) hasVelocityZParam = true;
+ parameterHashes.Add(param.nameHash);
}
+
+ int speedHashCheck = Animator.StringToHash(speedParamName);
+ if (!parameterHashes.Contains(speedHashCheck) && parameterHashes.Contains(Animator.StringToHash("Blend")))
+ {
+ speedParamName = "Blend";
+ speedHash = Animator.StringToHash(speedParamName);
+ Debug.Log($"[AnimationHandler] 'Speed' not found, using 'Blend' instead.");
+ }
+ }
+ else
+ {
+ Debug.LogError("[AnimationHandler] FAILED to find Animator! Please check your Prefab.");
}
speedHash = Animator.StringToHash(speedParamName);
velocityXHash = Animator.StringToHash(velocityXParamName);
velocityZHash = Animator.StringToHash(velocityZParamName);
+ groundedHash = Animator.StringToHash(groundedParamName);
}
- public void UpdateAnimator(float speed, Vector2 moveInput, float deltaTime)
+ private bool wasGroundedInAnimator;
+
+ public void UpdateAnimator(float speed, Vector2 moveInput, bool isGrounded, float deltaTime)
{
if (anim == null) return;
- if (hasSpeedParam) anim.SetFloat(speedHash, speed, animationDamping, deltaTime);
- if (hasVelocityXParam) anim.SetFloat(velocityXHash, moveInput.x * speed, animationDamping, deltaTime);
- if (hasVelocityZParam) anim.SetFloat(velocityZHash, moveInput.y * speed, animationDamping, deltaTime);
+ // Snap to zero if speed is very low to force Idle
+ float targetSpeed = speed < 0.05f ? 0f : speed;
+ float damping = (targetSpeed == 0f || targetSpeed > 0.9f) ? 0f : animationDamping;
+
+ if (parameterHashes.Contains(speedHash)) anim.SetFloat(speedHash, targetSpeed, damping, deltaTime);
+ if (parameterHashes.Contains(velocityXHash)) anim.SetFloat(velocityXHash, moveInput.x * targetSpeed, damping, deltaTime);
+ if (parameterHashes.Contains(velocityZHash)) anim.SetFloat(velocityZHash, moveInput.y * targetSpeed, damping, deltaTime);
+
+ // Quan trọng: Cập nhật biến Grounded cho Animator
+ if (parameterHashes.Contains(groundedHash)) anim.SetBool(groundedHash, isGrounded);
+
+ // Nếu đang ở trên mặt đất, đảm bảo reset các trạng thái nhảy/rơi
+ if (isGrounded)
+ {
+ SafeSetBool("IsJumping", false);
+ SafeSetBool("IsFalling", false);
+
+ var stateInfo = anim.GetCurrentAnimatorStateInfo(0);
+ if (stateInfo.IsName("Jump") || stateInfo.IsName("Fall") || stateInfo.IsName("Airborne"))
+ {
+ anim.CrossFadeInFixedTime("Locomotion Ground", 0.1f);
+ }
+ }
+
+ wasGroundedInAnimator = isGrounded;
+ }
+
+ public void SafeSetTrigger(string name)
+ {
+ if (anim == null) return;
+ int hash = Animator.StringToHash(name);
+ if (parameterHashes.Contains(hash)) anim.SetTrigger(hash);
+ }
+
+ public void SafeSetTrigger(int hash)
+ {
+ if (anim == null) return;
+ if (parameterHashes.Contains(hash)) anim.SetTrigger(hash);
+ }
+
+ public void SafeResetTrigger(string name)
+ {
+ if (anim == null) return;
+ int hash = Animator.StringToHash(name);
+ if (parameterHashes.Contains(hash)) anim.ResetTrigger(hash);
+ }
+
+ public void SafeResetTrigger(int hash)
+ {
+ if (anim == null) return;
+ if (parameterHashes.Contains(hash)) anim.ResetTrigger(hash);
+ }
+
+ public void SafeSetBool(string name, bool value)
+ {
+ if (anim == null) return;
+ int hash = Animator.StringToHash(name);
+ if (parameterHashes.Contains(hash)) anim.SetBool(hash, value);
+ }
+
+ public void SafeSetFloat(int hash, float value, float dampTime, float deltaTime)
+ {
+ if (anim == null) return;
+ if (parameterHashes.Contains(hash)) anim.SetFloat(hash, value, dampTime, deltaTime);
}
public void SetSpeed(float speed)
{
- if (anim != null && hasSpeedParam) anim.SetFloat(speedHash, speed);
+ if (anim != null && parameterHashes.Contains(speedHash))
+ anim.SetFloat(speedHash, speed);
+ }
+
+ public void ForceLocomotion()
+ {
+ if (anim != null) anim.CrossFadeInFixedTime("Locomotion Ground", 0.1f);
+ }
+
+ private void LateUpdate()
+ {
+ if (modelTransform != null && controller != null)
+ {
+ // Automatically snap mesh to the bottom of the CharacterController capsule
+ // This fixes hovering/tiptoeing issues regardless of animation offsets
+ Vector3 targetPos = modelTransform.localPosition;
+ float bottomY = controller.center.y - (controller.height / 2f);
+ targetPos.y = bottomY + visualOffsetY;
+
+ modelTransform.localPosition = targetPos;
+ }
}
}
}
diff --git a/Assets/Scripts/Player Controller/PlayerDashState.cs b/Assets/Scripts/Player Controller/PlayerDashState.cs
index abb02230..4fa83e9c 100644
--- a/Assets/Scripts/Player Controller/PlayerDashState.cs
+++ b/Assets/Scripts/Player Controller/PlayerDashState.cs
@@ -15,8 +15,8 @@ namespace OnlyScove.Scripts
{
dashTimer = dashDuration;
- // Fire the Dash animation trigger
- stateMachine.Anim.SetTrigger(dashHash);
+ // Safely fire the Dash animation trigger
+ stateMachine.AnimationHandler.SafeSetTrigger(dashHash);
stateMachine.Input.OnJumpEvent += OnJump;
diff --git a/Assets/Scripts/Player Controller/PlayerDodgeState.cs b/Assets/Scripts/Player Controller/PlayerDodgeState.cs
index 2604da02..31b083e3 100644
--- a/Assets/Scripts/Player Controller/PlayerDodgeState.cs
+++ b/Assets/Scripts/Player Controller/PlayerDodgeState.cs
@@ -14,7 +14,7 @@ namespace OnlyScove.Scripts
public override void Enter()
{
dodgeTimer = dodgeDuration;
- stateMachine.Anim.SetTrigger(dodgeHash);
+ stateMachine.AnimationHandler.SafeSetTrigger(dodgeHash);
Vector2 input = stateMachine.MoveInput;
if (input != Vector2.zero)
diff --git a/Assets/Scripts/Player Controller/PlayerFallState.cs b/Assets/Scripts/Player Controller/PlayerFallState.cs
index 78710cc8..89f98b93 100644
--- a/Assets/Scripts/Player Controller/PlayerFallState.cs
+++ b/Assets/Scripts/Player Controller/PlayerFallState.cs
@@ -25,7 +25,7 @@ namespace OnlyScove.Scripts
public override void Enter()
{
- stateMachine.Anim.SetTrigger(fallHash);
+ stateMachine.AnimationHandler.SafeSetTrigger(fallHash);
stateMachine.Input.OnDodgeEvent += OnThrustPressed;
stateMachine.Input.OnSprintEvent += OnAirDash;
}
@@ -50,6 +50,12 @@ namespace OnlyScove.Scripts
if (stateMachine.IsGrounded)
{
+ // Landing Reset Animator
+ stateMachine.AnimationHandler.SafeSetBool("IsJumping", false);
+ stateMachine.AnimationHandler.SafeSetBool("IsFalling", false);
+ stateMachine.AnimationHandler.SafeResetTrigger("Jump");
+ stateMachine.AnimationHandler.SafeResetTrigger("Fall");
+
// Landing Shake
if (!stateMachine.WasGrounded && stateMachine.VelocityY < -1f)
{
diff --git a/Assets/Scripts/Player Controller/PlayerIdleState.cs b/Assets/Scripts/Player Controller/PlayerIdleState.cs
index 45fdba93..5b31a547 100644
--- a/Assets/Scripts/Player Controller/PlayerIdleState.cs
+++ b/Assets/Scripts/Player Controller/PlayerIdleState.cs
@@ -4,27 +4,21 @@ namespace OnlyScove.Scripts
{
public class PlayerIdleState : PlayerBaseState
{
- private readonly int speedHash = Animator.StringToHash("Speed");
-
public PlayerIdleState(PlayerStateMachine stateMachine) : base(stateMachine) {}
public override void Enter()
{
- // Tạm thời bỏ ResetTrigger nếu chúng không tồn tại trong Animator của bạn
- // stateMachine.Anim.ResetTrigger("Jump");
- // stateMachine.Anim.ResetTrigger("Fall");
+ stateMachine.AnimationHandler.SafeResetTrigger("Jump");
+ stateMachine.AnimationHandler.SafeResetTrigger("Fall");
+ stateMachine.AnimationHandler.ForceLocomotion();
- stateMachine.Input.OnJumpEvent += OnJump;
stateMachine.Input.OnDodgeEvent += OnDodge;
stateMachine.Input.OnCrouchEvent += OnCrouch;
stateMachine.Input.OnInteractEvent += OnInteract;
}
- private readonly int speedXHash = Animator.StringToHash("Velocity X");
- private readonly int speedZHash = Animator.StringToHash("Velocity Z");
public override void Tick(float deltaTime)
{
- // Cập nhật trọng lực
if (stateMachine.IsGrounded && stateMachine.VelocityY < 0)
{
stateMachine.VelocityY = -2f;
@@ -34,14 +28,11 @@ namespace OnlyScove.Scripts
stateMachine.VelocityY += stateMachine.Gravity * deltaTime;
}
- // Sử dụng hàm Move tập trung để đồng bộ Animator và Vị trí
stateMachine.Move(new Vector3(0, stateMachine.VelocityY, 0), 0f, deltaTime);
- // QUAN TRỌNG: Đọc dữ liệu đã đồng bộ từ mạng (stateMachine.MoveInput)
if (stateMachine.MoveInput != Vector2.zero)
{
stateMachine.SwitchState(new PlayerMoveState(stateMachine));
- return;
}
}
@@ -49,28 +40,11 @@ namespace OnlyScove.Scripts
public override void Exit()
{
- stateMachine.Input.OnJumpEvent -= OnJump;
stateMachine.Input.OnDodgeEvent -= OnDodge;
stateMachine.Input.OnCrouchEvent -= OnCrouch;
stateMachine.Input.OnInteractEvent -= OnInteract;
}
- private void OnJump()
- {
- if (stateMachine.IsGrounded)
- {
- if (stateMachine.Scanner != null)
- {
- var hitData = stateMachine.Scanner.ObstacleCheck();
- if (hitData.forwardHitFound)
- {
- stateMachine.SwitchState(new PlayerParkourState(stateMachine));
- return;
- }
- }
- stateMachine.SwitchState(new PlayerJumpState(stateMachine, stateMachine.WalkSpeed));
- }
- }
private void OnDodge() => stateMachine.SwitchState(new PlayerDodgeState(stateMachine));
private void OnCrouch() => stateMachine.SwitchState(new PlayerCrouchState(stateMachine));
private void OnInteract() => stateMachine.SwitchState(new PlayerInteractState(stateMachine));
diff --git a/Assets/Scripts/Player Controller/PlayerJumpState.cs b/Assets/Scripts/Player Controller/PlayerJumpState.cs
index c054eb02..da3dd90c 100644
--- a/Assets/Scripts/Player Controller/PlayerJumpState.cs
+++ b/Assets/Scripts/Player Controller/PlayerJumpState.cs
@@ -25,14 +25,14 @@ namespace OnlyScove.Scripts
public override void Enter()
{
- // Sử dụng dữ liệu đồng bộ
- Vector2 input = stateMachine.MoveInput;
+ Debug.Log("[PlayerJumpState] Entered Jump State");
- stateMachine.Anim.ResetTrigger(jumpHash);
- stateMachine.Anim.SetTrigger(jumpHash);
+ stateMachine.AnimationHandler.SafeResetTrigger(jumpHash);
+ stateMachine.AnimationHandler.SafeSetTrigger(jumpHash);
+ stateMachine.AnimationHandler.SafeSetBool("IsJumping", true);
- // Physic formula: v = sqrt(h * -2 * g)
- stateMachine.VelocityY = Mathf.Sqrt(stateMachine.JumpHeight * -2f * stateMachine.Gravity);
+ // Sử dụng hàm Jump tập trung để đồng bộ vật lý và cooldown
+ stateMachine.Movement.Jump();
stateMachine.Input.OnSprintEvent += OnAirDash;
}
diff --git a/Assets/Scripts/Player Controller/PlayerMoveState.cs b/Assets/Scripts/Player Controller/PlayerMoveState.cs
index fb07d4ab..4bd4566c 100644
--- a/Assets/Scripts/Player Controller/PlayerMoveState.cs
+++ b/Assets/Scripts/Player Controller/PlayerMoveState.cs
@@ -4,23 +4,21 @@ namespace OnlyScove.Scripts
{
public class PlayerMoveState : PlayerBaseState
{
- private readonly int speedHash = Animator.StringToHash("Speed");
-
public PlayerMoveState(PlayerStateMachine stateMachine) : base(stateMachine) {}
public override void Enter()
{
- stateMachine.Input.OnJumpEvent += OnJump;
+ stateMachine.AnimationHandler.SafeResetTrigger("Jump");
+ stateMachine.AnimationHandler.SafeResetTrigger("Fall");
+ stateMachine.AnimationHandler.ForceLocomotion();
+
stateMachine.Input.OnDodgeEvent += OnDodge;
stateMachine.Input.OnCrouchEvent += OnCrouch;
stateMachine.Input.OnInteractEvent += OnInteract;
}
- private readonly int speedXHash = Animator.StringToHash("Velocity X");
- private readonly int speedZHash = Animator.StringToHash("Velocity Z");
public override void Tick(float deltaTime)
{
- // QUAN TRỌNG: Đọc trực tiếp từ stateMachine (Dữ liệu đã đồng bộ mạng)
Vector2 input = stateMachine.MoveInput;
float moveAmount = Mathf.Clamp01(Mathf.Abs(input.x) + Mathf.Abs(input.y));
@@ -53,7 +51,6 @@ namespace OnlyScove.Scripts
}
velocity.y = stateMachine.VelocityY;
- // Sử dụng hàm Move tập trung (0.7f là giá trị Speed cho Animator khi đi bộ)
stateMachine.Move(velocity, 0.7f, deltaTime);
stateMachine.Rotate(moveDirection, deltaTime);
}
@@ -62,29 +59,11 @@ namespace OnlyScove.Scripts
public override void Exit()
{
- stateMachine.Input.OnJumpEvent -= OnJump;
stateMachine.Input.OnDodgeEvent -= OnDodge;
stateMachine.Input.OnCrouchEvent -= OnCrouch;
stateMachine.Input.OnInteractEvent -= OnInteract;
}
- private void OnJump()
- {
- if (stateMachine.IsGrounded)
- {
- if (stateMachine.Scanner != null)
- {
- var hitData = stateMachine.Scanner.ObstacleCheck();
- if (hitData.forwardHitFound)
- {
- stateMachine.SwitchState(new PlayerParkourState(stateMachine));
- return;
- }
- }
- stateMachine.SwitchState(new PlayerJumpState(stateMachine, stateMachine.WalkSpeed));
- }
- }
-
private void OnDodge() => stateMachine.SwitchState(new PlayerDodgeState(stateMachine));
private void OnCrouch() => stateMachine.SwitchState(new PlayerCrouchState(stateMachine));
private void OnInteract() => stateMachine.SwitchState(new PlayerInteractState(stateMachine));
diff --git a/Assets/Scripts/Player Controller/PlayerMovement.cs b/Assets/Scripts/Player Controller/PlayerMovement.cs
index 04b6b24f..a5373483 100644
--- a/Assets/Scripts/Player Controller/PlayerMovement.cs
+++ b/Assets/Scripts/Player Controller/PlayerMovement.cs
@@ -22,25 +22,86 @@ namespace OnlyScove.Scripts
[field: SerializeField] public float GroundCheckRadius { get; private set; } = 0.2f;
[field: SerializeField] public Vector3 GroundCheckOffset { get; private set; }
[field: SerializeField] public LayerMask GroundMask { get; private set; }
+// Networked shadow properties
+[Networked] private NetworkBool _isGroundedNet { get; set; }
+[Networked] private NetworkBool _wasGroundedNet { get; set; }
+[Networked] private float _velocityYNet { get; set; }
+[Networked] public Vector3 NetworkedPosition { get; set; }
- [Networked] public bool IsGrounded { get; set; }
- [Networked] public bool WasGrounded { get; set; }
- [Networked] public float VelocityY { get; set; }
- [Networked] public Vector3 NetworkedPosition { get; set; }
+// Local backing fields for Offline mode
+private bool _isGroundedLocal;
+private bool _wasGroundedLocal;
+private float _velocityYLocal;
- private CharacterController controller;
+// Public wrappers that handle both Online and Offline
+public bool IsGrounded
+{
+ get => (Object != null && Object.IsValid) ? (bool)_isGroundedNet : _isGroundedLocal;
+ set { if (Object != null && Object.IsValid) _isGroundedNet = value; _isGroundedLocal = value; }
+}
- public void Initialize(CharacterController controller)
+public bool WasGrounded
+{
+ get => (Object != null && Object.IsValid) ? (bool)_wasGroundedNet : _wasGroundedLocal;
+ set { if (Object != null && Object.IsValid) _wasGroundedNet = value; _wasGroundedLocal = value; }
+}
+
+public float VelocityY
+{
+ get => (Object != null && Object.IsValid) ? _velocityYNet : _velocityYLocal;
+ set { if (Object != null && Object.IsValid) _velocityYNet = value; _velocityYLocal = value; }
+}
+
+private CharacterController controller;
+private float jumpCooldown = 0f;
+
+public void Initialize(CharacterController controller)
+{
+ this.controller = controller;
+ _isGroundedLocal = true; // Safe local initialization
+}
+
+public override void Spawned()
+{
+ // Initialize networked state once spawned (only on State Authority)
+ if (Object.HasStateAuthority)
+ {
+ _isGroundedNet = true;
+ _wasGroundedNet = true;
+ _velocityYNet = 0f;
+ }
+}
+
+ public void CheckGround(Transform playerTransform, float deltaTime)
{
- this.controller = controller;
- }
-
- public void CheckGround(Transform playerTransform)
- {
- if (Object == null || (!Object.HasStateAuthority && !Object.HasInputAuthority)) return;
+ if (jumpCooldown > 0)
+ {
+ jumpCooldown -= deltaTime;
+ WasGrounded = IsGrounded;
+ IsGrounded = false;
+ return;
+ }
WasGrounded = IsGrounded;
- IsGrounded = Physics.CheckSphere(playerTransform.TransformPoint(GroundCheckOffset), GroundCheckRadius, GroundMask);
+
+ bool sphereCheck = Physics.CheckSphere(playerTransform.TransformPoint(GroundCheckOffset), GroundCheckRadius, GroundMask);
+ bool ccCheck = (controller != null) && controller.isGrounded;
+
+ IsGrounded = sphereCheck || ccCheck;
+
+ if (Object != null && Object.IsValid && Object.HasStateAuthority)
+ {
+ // State authority updates the networked position for reconciliation
+ NetworkedPosition = playerTransform.position;
+ }
+ }
+
+ public void Jump()
+ {
+ // Physic formula: v = sqrt(h * -2 * g)
+ VelocityY = Mathf.Sqrt(JumpHeight * -2f * Gravity);
+ IsGrounded = false;
+ jumpCooldown = 0.15f; // Ngăn không cho dính đất trong 0.15s đầu
}
public void Move(CharacterController controller, Vector3 velocity, float deltaTime)
@@ -48,10 +109,6 @@ namespace OnlyScove.Scripts
if (controller != null && controller.enabled)
{
controller.Move(velocity * deltaTime);
- if (Object != null && Object.HasStateAuthority)
- {
- NetworkedPosition = transform.position;
- }
}
}
diff --git a/Assets/Scripts/Player Controller/PlayerParkourState.cs b/Assets/Scripts/Player Controller/PlayerParkourState.cs
index c6eb2979..4d038f7d 100644
--- a/Assets/Scripts/Player Controller/PlayerParkourState.cs
+++ b/Assets/Scripts/Player Controller/PlayerParkourState.cs
@@ -12,6 +12,7 @@ namespace OnlyScove.Scripts
public override void Enter()
{
+ Debug.Log("[PlayerParkourState] Entered Parkour State");
if (stateMachine.Anim != null && stateMachine.Anim.layerCount > 0)
{
// Play the Parkour animation (Step Up)
diff --git a/Assets/Scripts/Player Controller/PlayerRunState.cs b/Assets/Scripts/Player Controller/PlayerRunState.cs
index ad9472f0..457f7efd 100644
--- a/Assets/Scripts/Player Controller/PlayerRunState.cs
+++ b/Assets/Scripts/Player Controller/PlayerRunState.cs
@@ -4,22 +4,20 @@ namespace OnlyScove.Scripts
{
public class PlayerRunState : PlayerBaseState
{
- private readonly int speedHash = Animator.StringToHash("Speed");
- private readonly int speedXHash = Animator.StringToHash("Velocity X");
- private readonly int speedZHash = Animator.StringToHash("Velocity Z");
-
public PlayerRunState(PlayerStateMachine stateMachine) : base(stateMachine) {}
public override void Enter()
{
- stateMachine.Input.OnJumpEvent += OnJump;
+ stateMachine.AnimationHandler.SafeResetTrigger("Jump");
+ stateMachine.AnimationHandler.SafeResetTrigger("Fall");
+ stateMachine.AnimationHandler.ForceLocomotion();
+
stateMachine.Input.OnDodgeEvent += OnDodge;
stateMachine.Input.OnCrouchEvent += OnCrouch;
}
public override void Tick(float deltaTime)
{
- // ĐÚNG: Sử dụng dữ liệu đã đồng bộ qua mạng
Vector2 input = stateMachine.MoveInput;
float moveAmount = Mathf.Clamp01(Mathf.Abs(input.x) + Mathf.Abs(input.y));
@@ -52,7 +50,6 @@ namespace OnlyScove.Scripts
}
velocity.y = stateMachine.VelocityY;
- // Sử dụng hàm Move tập trung (1.0f là giá trị Speed cho Animator khi chạy)
stateMachine.Move(velocity, 1.0f, deltaTime);
stateMachine.Rotate(moveDirection, deltaTime);
}
@@ -61,28 +58,10 @@ namespace OnlyScove.Scripts
public override void Exit()
{
- stateMachine.Input.OnJumpEvent -= OnJump;
stateMachine.Input.OnDodgeEvent -= OnDodge;
stateMachine.Input.OnCrouchEvent -= OnCrouch;
}
- private void OnJump()
- {
- if (stateMachine.IsGrounded)
- {
- if (stateMachine.Scanner != null)
- {
- var hitData = stateMachine.Scanner.ObstacleCheck();
- if (hitData.forwardHitFound)
- {
- stateMachine.SwitchState(new PlayerParkourState(stateMachine));
- return;
- }
- }
- stateMachine.SwitchState(new PlayerJumpState(stateMachine, stateMachine.SprintSpeed));
- }
- }
-
private void OnDodge() => stateMachine.SwitchState(new PlayerDodgeState(stateMachine));
private void OnCrouch() => stateMachine.SwitchState(new PlayerCrouchState(stateMachine));
}
diff --git a/Assets/Scripts/Player Controller/PlayerStateMachine.cs b/Assets/Scripts/Player Controller/PlayerStateMachine.cs
index 8207c95b..3c4626e0 100644
--- a/Assets/Scripts/Player Controller/PlayerStateMachine.cs
+++ b/Assets/Scripts/Player Controller/PlayerStateMachine.cs
@@ -32,12 +32,12 @@ namespace OnlyScove.Scripts
public float VelocityY
{
- get => (Object != null && Object.IsValid && Movement != null) ? Movement.VelocityY : 0f;
- set { if (Object != null && Object.IsValid && Movement != null) Movement.VelocityY = value; }
+ get => (Movement != null) ? Movement.VelocityY : 0f;
+ set { if (Movement != null) Movement.VelocityY = value; }
}
- public bool IsGrounded => (Object != null && Object.IsValid && Movement != null) ? Movement.IsGrounded : true;
- public bool WasGrounded => (Object != null && Object.IsValid && Movement != null) ? Movement.WasGrounded : true;
+ public bool IsGrounded => (Movement != null) ? Movement.IsGrounded : true;
+ public bool WasGrounded => (Movement != null) ? Movement.WasGrounded : true;
public float WalkSpeed => Movement.WalkSpeed;
public float RunSpeed => Movement.RunSpeed;
@@ -106,6 +106,7 @@ namespace OnlyScove.Scripts
if (isOffline || (Object != null && Object.HasInputAuthority))
{
Local = this;
+
CameraController cameraController = GameObject.FindAnyObjectByType();
if (cameraController != null)
{
@@ -161,7 +162,9 @@ namespace OnlyScove.Scripts
bool isNetworked = Runner != null && Runner.IsRunning && Object != null && Object.IsValid;
float speedValue = (!isNetworked || Object.HasInputAuthority) ? localAnimatorSpeed : NetworkedSpeed;
Vector2 inputVector = (!isNetworked || Object.HasInputAuthority) ? MoveInput : NetworkedMoveInput;
- AnimationHandler.UpdateAnimator(speedValue, inputVector, deltaTime);
+
+ // Pass IsGrounded to handle air/ground transitions
+ AnimationHandler.UpdateAnimator(speedValue, inputVector, IsGrounded, deltaTime);
}
public override void FixedUpdateNetwork()
@@ -169,38 +172,64 @@ namespace OnlyScove.Scripts
bool isRunning = Runner != null && Runner.IsRunning;
if (isRunning && (Object == null || !Object.IsValid)) return;
+ float deltaTime = isRunning ? Runner.DeltaTime : Time.fixedDeltaTime;
+
if (GetInput(out PlayerInputData data))
{
MoveInput = data.Direction;
IsSprintHeld = (bool)data.sprint;
if (isRunning) NetworkedCameraRotation = data.rot;
+
+ if (data.jump) TriggerJump();
}
else if (!isRunning)
{
MoveInput = new Vector2(UnityEngine.Input.GetAxisRaw("Horizontal"), UnityEngine.Input.GetAxisRaw("Vertical"));
IsSprintHeld = UnityEngine.Input.GetKey(KeyCode.LeftShift);
+ if (Input.ConsumeJumpInput()) TriggerJump();
}
if (!isRunning || (Object != null && Object.IsValid && (Object.HasInputAuthority || Runner.IsServer)))
{
if (hasControl)
{
- Movement.CheckGround(transform);
+ Movement.CheckGround(transform, deltaTime);
Interaction.UpdateInteractables();
- currentState?.Tick(isRunning ? Runner.DeltaTime : Time.fixedDeltaTime);
+ currentState?.Tick(deltaTime);
}
}
}
+ public void TriggerJump()
+ {
+ if (!IsGrounded) return;
+
+ if (Scanner != null)
+ {
+ var hitData = Scanner.ObstacleCheck();
+ if (hitData.forwardHitFound && hitData.heightHitFound)
+ {
+ SwitchState(new PlayerParkourState(this));
+ return;
+ }
+ }
+
+ float jumpMoveSpeed = (IsSprintHeld) ? Movement.SprintSpeed : Movement.WalkSpeed;
+ SwitchState(new PlayerJumpState(this, jumpMoveSpeed));
+ }
+
public override void Render()
{
bool isRunning = Runner != null && Runner.IsRunning;
- if (isRunning && Object != null && Object.IsValid && !Object.HasInputAuthority)
+ if (isRunning && Object != null && Object.IsValid)
{
- // Smooth interpolation for proxies
- if (Movement.NetworkedPosition != Vector3.zero)
+ if (!Object.HasInputAuthority)
{
- transform.position = Vector3.Lerp(transform.position, Movement.NetworkedPosition, Runner.DeltaTime * 15f);
+ // Proxies
+ if (Movement.NetworkedPosition != Vector3.zero)
+ {
+ transform.position = Vector3.Lerp(transform.position, Movement.NetworkedPosition, Runner.DeltaTime * 20f);
+ }
}
UpdateAnimator(Runner.DeltaTime);
}
diff --git a/Assets/Scripts/Player Controller/PlayerThrustState.cs b/Assets/Scripts/Player Controller/PlayerThrustState.cs
index 0896f740..e3411295 100644
--- a/Assets/Scripts/Player Controller/PlayerThrustState.cs
+++ b/Assets/Scripts/Player Controller/PlayerThrustState.cs
@@ -10,7 +10,7 @@ namespace OnlyScove.Scripts
public override void Enter()
{
- stateMachine.Anim.SetTrigger(thrustHash);
+ stateMachine.AnimationHandler.SafeSetTrigger(thrustHash);
// Immediately set a massive downward velocity
stateMachine.VelocityY = stateMachine.ThrustDownwardForce;
diff --git a/Assets/TEST CUA TUAN/DEMO MAP.unity b/Assets/TEST CUA TUAN/DEMO MAP.unity
index 16847d2e..71be8943 100644
--- a/Assets/TEST CUA TUAN/DEMO MAP.unity
+++ b/Assets/TEST CUA TUAN/DEMO MAP.unity
@@ -119,11 +119,6 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
---- !u!4 &585493397 stripped
-Transform:
- m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- m_PrefabInstance: {fileID: 1104893376}
- m_PrefabAsset: {fileID: 0}
--- !u!1 &623021384
GameObject:
m_ObjectHideFlags: 0
@@ -217,63 +212,6 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1001 &1104893376
-PrefabInstance:
- m_ObjectHideFlags: 0
- serializedVersion: 2
- m_Modification:
- serializedVersion: 3
- m_TransformParent: {fileID: 0}
- m_Modifications:
- - target: {fileID: -8679921383154817045, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- propertyPath: m_LocalPosition.x
- value: 545.0824
- objectReference: {fileID: 0}
- - target: {fileID: -8679921383154817045, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- propertyPath: m_LocalPosition.y
- value: 0.000013752811
- objectReference: {fileID: 0}
- - target: {fileID: -8679921383154817045, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- propertyPath: m_LocalPosition.z
- value: 358.74283
- objectReference: {fileID: 0}
- - target: {fileID: -8679921383154817045, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- propertyPath: m_LocalRotation.w
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: -8679921383154817045, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- propertyPath: m_LocalRotation.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: -8679921383154817045, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- propertyPath: m_LocalRotation.y
- value: -0
- objectReference: {fileID: 0}
- - target: {fileID: -8679921383154817045, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- propertyPath: m_LocalRotation.z
- value: -0
- objectReference: {fileID: 0}
- - target: {fileID: -8679921383154817045, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- propertyPath: m_LocalEulerAnglesHint.x
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: -8679921383154817045, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- propertyPath: m_LocalEulerAnglesHint.y
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: -8679921383154817045, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- propertyPath: m_LocalEulerAnglesHint.z
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 919132149155446097, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
- propertyPath: m_Name
- value: HumanM_Model
- objectReference: {fileID: 0}
- m_RemovedComponents: []
- m_RemovedGameObjects: []
- m_AddedGameObjects: []
- m_AddedComponents: []
- m_SourcePrefab: {fileID: 100100000, guid: 8290c8e8479e3b744b22042adbe32801, type: 3}
--- !u!1001 &1302165004
PrefabInstance:
m_ObjectHideFlags: 0
@@ -329,11 +267,15 @@ PrefabInstance:
- target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
propertyPath: fpvTarget
value:
- objectReference: {fileID: 585493397}
+ objectReference: {fileID: 0}
+ - target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: inputReader
+ value:
+ objectReference: {fileID: 1871795457}
- target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
propertyPath: followTarget
value:
- objectReference: {fileID: 585493397}
+ objectReference: {fileID: 1871795458}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
@@ -466,11 +408,164 @@ MonoBehaviour:
m_ShadowLayerMask: 1
m_RenderingLayers: 1
m_ShadowRenderingLayers: 1
+--- !u!1001 &1871795452
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: -5076913349690967641, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: SortKey
+ value: 3570811081
+ objectReference: {fileID: 0}
+ - target: {fileID: 830356296960548640, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: Stats
+ value:
+ objectReference: {fileID: 1871795456}
+ - target: {fileID: 830356296960548640, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: Movement
+ value:
+ objectReference: {fileID: 1871795454}
+ - target: {fileID: 830356296960548640, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: Interaction
+ value:
+ objectReference: {fileID: 1871795455}
+ - target: {fileID: 830356296960548640, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: AnimationHandler
+ value:
+ objectReference: {fileID: 1871795453}
+ - target: {fileID: 1054594849095937263, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_Name
+ value: Player
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 12.97
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.21
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 19.8
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7730391503324595278, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: modelTransform
+ value:
+ objectReference: {fileID: 1871795458}
+ - target: {fileID: 8601091490777624370, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: k__BackingField.m_Bits
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 8915611492738107882, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_Center.y
+ value: 0.879235
+ objectReference: {fileID: 0}
+ - target: {fileID: 9098752589608501196, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_ApplyRootMotion
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+--- !u!114 &1871795453 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 7730391503324595278, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 965ec86f3b9695640bdc85e624d0e9e7, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerAnimationHandler
+--- !u!114 &1871795454 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 8601091490777624370, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 79bbcfd4d37b7834ebe0d61bb649714d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerMovement
+--- !u!114 &1871795455 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 517879385770431681, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9dcff2851697b4f4c8c25ef8381665ba, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerInteraction
+--- !u!114 &1871795456 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 7826563193135964281, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a1494b79b59fcdf4d9f7956dde31bc42, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerStats
+--- !u!114 &1871795457 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 5600577104145922999, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5962d8f2c8e40e240a4a4907c7b539fa, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.InputReader
+--- !u!4 &1871795458 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
--- !u!1660057539 &9223372036854775807
SceneRoots:
m_ObjectHideFlags: 0
m_Roots:
- {fileID: 1343192608}
- {fileID: 623021387}
- - {fileID: 1104893376}
- {fileID: 1302165004}
+ - {fileID: 1871795452}
diff --git a/Assets/_Recovery/0 (12).unity b/Assets/_Recovery/0 (12).unity
new file mode 100644
index 00000000..71be8943
--- /dev/null
+++ b/Assets/_Recovery/0 (12).unity
@@ -0,0 +1,571 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 10
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 0
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+ m_HaloStrength: 0.5
+ m_FlareStrength: 1
+ m_FlareFadeSpeed: 3
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 0
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_BakeOnSceneLoad: 0
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 1
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_ReflectionCompression: 2
+ m_MixedBakeMode: 2
+ m_BakeBackend: 2
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 1
+ m_PVRFilteringGaussRadiusAO: 1
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 20201, guid: 0000000000000000f000000000000000, type: 0}
+ m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 3
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ buildHeightMesh: 0
+ maxJobWorkers: 0
+ preserveTilesOutsideBounds: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
+--- !u!1 &623021384
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 623021387}
+ - component: {fileID: 623021386}
+ - component: {fileID: 623021385}
+ m_Layer: 0
+ m_Name: Terrain
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 2147483647
+ m_IsActive: 1
+--- !u!154 &623021385
+TerrainCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 623021384}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 2
+ m_TerrainData: {fileID: 15600000, guid: b039ec28e04d5a54a9880bdc1b2c687a, type: 2}
+ m_EnableTreeColliders: 1
+--- !u!218 &623021386
+Terrain:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 623021384}
+ m_Enabled: 1
+ serializedVersion: 6
+ m_TerrainData: {fileID: 15600000, guid: b039ec28e04d5a54a9880bdc1b2c687a, type: 2}
+ m_TreeDistance: 5000
+ m_TreeBillboardDistance: 50
+ m_TreeCrossFadeLength: 5
+ m_TreeMaximumFullLODCount: 50
+ m_DetailObjectDistance: 80
+ m_DetailObjectDensity: 1
+ m_HeightmapPixelError: 5
+ m_SplatMapDistance: 1000
+ m_HeightmapMinimumLODSimplification: 0
+ m_HeightmapMaximumLOD: 0
+ m_ShadowCastingMode: 2
+ m_DrawHeightmap: 1
+ m_DrawInstanced: 0
+ m_DrawTreesAndFoliage: 1
+ m_StaticShadowCaster: 0
+ m_IgnoreQualitySettings: 0
+ m_ReflectionProbeUsage: 1
+ m_MaterialTemplate: {fileID: 2100000, guid: 594ea882c5a793440b60ff72d896021e, type: 2}
+ m_BakeLightProbesForTrees: 1
+ m_PreserveTreePrototypeLayers: 0
+ m_DeringLightProbesForTrees: 1
+ m_ReceiveGI: 1
+ m_ScaleInLightmap: 0.0256
+ m_LightmapParameters: {fileID: 15203, guid: 0000000000000000f000000000000000, type: 0}
+ m_GroupingID: 0
+ m_RenderingLayerMask: 1
+ m_AllowAutoConnect: 1
+ m_EnableHeightmapRayTracing: 1
+ m_EnableTreesAndDetailsRayTracing: 0
+ m_TreeMotionVectorModeOverride: 3
+--- !u!4 &623021387
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 623021384}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1001 &1302165004
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 545.1284
+ objectReference: {fileID: 0}
+ - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: -0.00001
+ objectReference: {fileID: 0}
+ - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 359.10098
+ objectReference: {fileID: 0}
+ - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2207112960010484425, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 2771692228748849855, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: m_Name
+ value: Main Camera
+ objectReference: {fileID: 0}
+ - target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: fpvTarget
+ value:
+ objectReference: {fileID: 0}
+ - target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: inputReader
+ value:
+ objectReference: {fileID: 1871795457}
+ - target: {fileID: 3657229949309460766, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+ propertyPath: followTarget
+ value:
+ objectReference: {fileID: 1871795458}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: fb7874830b9e56341bf88f2a1123c677, type: 3}
+--- !u!1 &1343192606
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1343192608}
+ - component: {fileID: 1343192607}
+ - component: {fileID: 1343192609}
+ m_Layer: 0
+ m_Name: Directional Light
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!108 &1343192607
+Light:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1343192606}
+ m_Enabled: 1
+ serializedVersion: 12
+ m_Type: 1
+ m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+ m_Intensity: 1
+ m_Range: 10
+ m_SpotAngle: 30
+ m_InnerSpotAngle: 21.80208
+ m_CookieSize2D: {x: 0.5, y: 0.5}
+ m_Shadows:
+ m_Type: 2
+ m_Resolution: -1
+ m_CustomResolution: -1
+ m_Strength: 1
+ m_Bias: 0.05
+ m_NormalBias: 0.4
+ m_NearPlane: 0.2
+ m_CullingMatrixOverride:
+ e00: 1
+ e01: 0
+ e02: 0
+ e03: 0
+ e10: 0
+ e11: 1
+ e12: 0
+ e13: 0
+ e20: 0
+ e21: 0
+ e22: 1
+ e23: 0
+ e30: 0
+ e31: 0
+ e32: 0
+ e33: 1
+ m_UseCullingMatrixOverride: 0
+ m_Cookie: {fileID: 0}
+ m_DrawHalo: 0
+ m_Flare: {fileID: 0}
+ m_RenderMode: 0
+ m_CullingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_RenderingLayerMask: 1
+ m_Lightmapping: 4
+ m_LightShadowCasterMode: 0
+ m_AreaSize: {x: 1, y: 1}
+ m_BounceIntensity: 1
+ m_ColorTemperature: 6570
+ m_UseColorTemperature: 0
+ m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+ m_UseBoundingSphereOverride: 0
+ m_UseViewFrustumForShadowCasterCull: 1
+ m_ForceVisible: 0
+ m_ShadowRadius: 0
+ m_ShadowAngle: 0
+ m_LightUnit: 1
+ m_LuxAtDistance: 1
+ m_EnableSpotReflector: 1
+--- !u!4 &1343192608
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1343192606}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+ m_LocalPosition: {x: 0, y: 3, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!114 &1343192609
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1343192606}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.UniversalAdditionalLightData
+ m_UsePipelineSettings: 1
+ m_AdditionalLightsShadowResolutionTier: 2
+ m_CustomShadowLayers: 0
+ m_LightCookieSize: {x: 1, y: 1}
+ m_LightCookieOffset: {x: 0, y: 0}
+ m_SoftShadowQuality: 0
+ m_RenderingLayersMask:
+ serializedVersion: 0
+ m_Bits: 1
+ m_ShadowRenderingLayersMask:
+ serializedVersion: 0
+ m_Bits: 1
+ m_Version: 4
+ m_LightLayerMask: 1
+ m_ShadowLayerMask: 1
+ m_RenderingLayers: 1
+ m_ShadowRenderingLayers: 1
+--- !u!1001 &1871795452
+PrefabInstance:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Modification:
+ serializedVersion: 3
+ m_TransformParent: {fileID: 0}
+ m_Modifications:
+ - target: {fileID: -5076913349690967641, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: SortKey
+ value: 3570811081
+ objectReference: {fileID: 0}
+ - target: {fileID: 830356296960548640, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: Stats
+ value:
+ objectReference: {fileID: 1871795456}
+ - target: {fileID: 830356296960548640, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: Movement
+ value:
+ objectReference: {fileID: 1871795454}
+ - target: {fileID: 830356296960548640, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: Interaction
+ value:
+ objectReference: {fileID: 1871795455}
+ - target: {fileID: 830356296960548640, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: AnimationHandler
+ value:
+ objectReference: {fileID: 1871795453}
+ - target: {fileID: 1054594849095937263, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_Name
+ value: Player
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalPosition.x
+ value: 12.97
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalPosition.y
+ value: 1.21
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalPosition.z
+ value: 19.8
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalRotation.w
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalRotation.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalRotation.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalRotation.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.x
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.z
+ value: 0
+ objectReference: {fileID: 0}
+ - target: {fileID: 7730391503324595278, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: modelTransform
+ value:
+ objectReference: {fileID: 1871795458}
+ - target: {fileID: 8601091490777624370, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: k__BackingField.m_Bits
+ value: 1
+ objectReference: {fileID: 0}
+ - target: {fileID: 8915611492738107882, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_Center.y
+ value: 0.879235
+ objectReference: {fileID: 0}
+ - target: {fileID: 9098752589608501196, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ propertyPath: m_ApplyRootMotion
+ value: 0
+ objectReference: {fileID: 0}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
+ m_SourcePrefab: {fileID: 100100000, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+--- !u!114 &1871795453 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 7730391503324595278, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 965ec86f3b9695640bdc85e624d0e9e7, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerAnimationHandler
+--- !u!114 &1871795454 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 8601091490777624370, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 79bbcfd4d37b7834ebe0d61bb649714d, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerMovement
+--- !u!114 &1871795455 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 517879385770431681, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9dcff2851697b4f4c8c25ef8381665ba, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerInteraction
+--- !u!114 &1871795456 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 7826563193135964281, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a1494b79b59fcdf4d9f7956dde31bc42, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.PlayerStats
+--- !u!114 &1871795457 stripped
+MonoBehaviour:
+ m_CorrespondingSourceObject: {fileID: 5600577104145922999, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5962d8f2c8e40e240a4a4907c7b539fa, type: 3}
+ m_Name:
+ m_EditorClassIdentifier: Assembly-CSharp::OnlyScove.Scripts.InputReader
+--- !u!4 &1871795458 stripped
+Transform:
+ m_CorrespondingSourceObject: {fileID: 3154409663696148700, guid: 761bdf2e5c0cff4488527355acb975e5, type: 3}
+ m_PrefabInstance: {fileID: 1871795452}
+ m_PrefabAsset: {fileID: 0}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 1343192608}
+ - {fileID: 623021387}
+ - {fileID: 1302165004}
+ - {fileID: 1871795452}
diff --git a/Assets/_Recovery/0 (12).unity.meta b/Assets/_Recovery/0 (12).unity.meta
new file mode 100644
index 00000000..a7395e86
--- /dev/null
+++ b/Assets/_Recovery/0 (12).unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 0f1b1666322aeae46bb3c030cc0a23f9
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant: