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 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + @@ -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: