From f1ca00030dc7dd04fee52af01e44e5e1cd095ba4 Mon Sep 17 00:00:00 2001 From: VDH Date: Mon, 8 Sep 2025 18:04:40 +0700 Subject: [PATCH] adjust --- Assets/Scenes/NPCRender.unity | 348 +++++++++++----------- Assets/Scripts/CharacterCtrl.cs | 201 +++++++------ Assets/Scripts/EC_GPDataType.cs | 11 + Assets/Scripts/EC_GPDataType.cs.meta | 2 + Assets/Scripts/Move/EC_HostPlayer.cs | 7 - Assets/Scripts/Move/EC_HostPlayer.cs.meta | 2 - Assets/Scripts/PlayerStateMachine.cs | 4 + ProjectSettings/TagManager.asset | 28 +- 8 files changed, 314 insertions(+), 289 deletions(-) create mode 100644 Assets/Scripts/EC_GPDataType.cs create mode 100644 Assets/Scripts/EC_GPDataType.cs.meta delete mode 100644 Assets/Scripts/Move/EC_HostPlayer.cs delete mode 100644 Assets/Scripts/Move/EC_HostPlayer.cs.meta diff --git a/Assets/Scenes/NPCRender.unity b/Assets/Scenes/NPCRender.unity index 4a30aeac04..0118dbc426 100644 --- a/Assets/Scenes/NPCRender.unity +++ b/Assets/Scenes/NPCRender.unity @@ -505,7 +505,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 10570390} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B021" m_TagString: Untagged m_Icon: {fileID: 0} @@ -567,7 +567,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 11513755} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8120" m_TagString: Untagged m_Icon: {fileID: 0} @@ -725,7 +725,7 @@ GameObject: - component: {fileID: 19544887} - component: {fileID: 19544890} - component: {fileID: 19544891} - m_Layer: 0 + m_Layer: 3 m_Name: A3DSkinnedMeshRenderer(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -953,7 +953,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 20996504} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8101" m_TagString: Untagged m_Icon: {fileID: 0} @@ -5782,7 +5782,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 74499514} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8033\u578B021" m_TagString: Untagged m_Icon: {fileID: 0} @@ -6314,7 +6314,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 91465124} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B101" m_TagString: Untagged m_Icon: {fileID: 0} @@ -8313,7 +8313,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 111739818} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B181" m_TagString: Untagged m_Icon: {fileID: 0} @@ -8519,7 +8519,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 115557945} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R Finger1 m_TagString: Untagged m_Icon: {fileID: 0} @@ -8597,7 +8597,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 119086036} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L Foot m_TagString: Untagged m_Icon: {fileID: 0} @@ -9006,7 +9006,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 129331722} - m_Layer: 0 + m_Layer: 3 m_Name: "\u4E0B\u5DF4010" m_TagString: Untagged m_Icon: {fileID: 0} @@ -11800,7 +11800,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 163459568} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B101" m_TagString: Untagged m_Icon: {fileID: 0} @@ -14271,7 +14271,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 174828898} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B121" m_TagString: Untagged m_Icon: {fileID: 0} @@ -15361,7 +15361,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 195859303} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8061" m_TagString: Untagged m_Icon: {fileID: 0} @@ -18217,7 +18217,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 229189978} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8042" m_TagString: Untagged m_Icon: {fileID: 0} @@ -18311,7 +18311,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 235783984} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B031" m_TagString: Untagged m_Icon: {fileID: 0} @@ -19382,7 +19382,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 274335198} - m_Layer: 0 + m_Layer: 3 m_Name: "\u7709\u578B021" m_TagString: Untagged m_Icon: {fileID: 0} @@ -19987,7 +19987,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 292096641} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B161" m_TagString: Untagged m_Icon: {fileID: 0} @@ -20458,7 +20458,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 306769634} - m_Layer: 0 + m_Layer: 3 m_Name: Bone04 m_TagString: Untagged m_Icon: {fileID: 0} @@ -20853,7 +20853,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 320773989} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B110" m_TagString: Untagged m_Icon: {fileID: 0} @@ -22490,7 +22490,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 335162295} - m_Layer: 0 + m_Layer: 3 m_Name: "\u7709\u578B011" m_TagString: Untagged m_Icon: {fileID: 0} @@ -24470,7 +24470,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 348653855} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L Forearm m_TagString: Untagged m_Icon: {fileID: 0} @@ -28209,7 +28209,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 372156341} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R Clavicle m_TagString: Untagged m_Icon: {fileID: 0} @@ -30733,7 +30733,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 380858269} - m_Layer: 0 + m_Layer: 3 m_Name: "\u7709\u578B012" m_TagString: Untagged m_Icon: {fileID: 0} @@ -31053,7 +31053,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 387576800} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B072" m_TagString: Untagged m_Icon: {fileID: 0} @@ -32361,7 +32361,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 418506667} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B040" m_TagString: Untagged m_Icon: {fileID: 0} @@ -35151,7 +35151,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 440880768} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B092" m_TagString: Untagged m_Icon: {fileID: 0} @@ -35214,7 +35214,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 446543210} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 Neck m_TagString: Untagged m_Icon: {fileID: 0} @@ -37698,7 +37698,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 470441381} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B082" m_TagString: Untagged m_Icon: {fileID: 0} @@ -39027,7 +39027,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 504167471} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8021" m_TagString: Untagged m_Icon: {fileID: 0} @@ -39122,7 +39122,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 509080283} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B010" m_TagString: Untagged m_Icon: {fileID: 0} @@ -39773,7 +39773,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 531539411} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B041" m_TagString: Untagged m_Icon: {fileID: 0} @@ -44010,7 +44010,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 544427527} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L Hand m_TagString: Untagged m_Icon: {fileID: 0} @@ -44043,7 +44043,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 544761938} - m_Layer: 0 + m_Layer: 3 m_Name: Bone02 m_TagString: Untagged m_Icon: {fileID: 0} @@ -44854,7 +44854,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 564415082} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8092" m_TagString: Untagged m_Icon: {fileID: 0} @@ -44982,7 +44982,7 @@ GameObject: - component: {fileID: 573762161} - component: {fileID: 573762160} - component: {fileID: 573762159} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -45408,7 +45408,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 582355770} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L Finger11 m_TagString: Untagged m_Icon: {fileID: 0} @@ -46565,7 +46565,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 607844868} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 Head m_TagString: Untagged m_Icon: {fileID: 0} @@ -46840,7 +46840,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 612993497} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B032" m_TagString: Untagged m_Icon: {fileID: 0} @@ -46965,7 +46965,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 614311609} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B072" m_TagString: Untagged m_Icon: {fileID: 0} @@ -47749,7 +47749,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 632653872} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B102" m_TagString: Untagged m_Icon: {fileID: 0} @@ -47816,7 +47816,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 634778762} - m_Layer: 0 + m_Layer: 3 m_Name: "\u7259\u9F7F020" m_TagString: Untagged m_Icon: {fileID: 0} @@ -48273,7 +48273,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 639024057} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B052" m_TagString: Untagged m_Icon: {fileID: 0} @@ -48641,7 +48641,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 651530504} - m_Layer: 0 + m_Layer: 3 m_Name: "\u98A7\u9AA8012" m_TagString: Untagged m_Icon: {fileID: 0} @@ -48738,7 +48738,7 @@ GameObject: - component: {fileID: 652658844} - component: {fileID: 652658843} - component: {fileID: 652658842} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -51160,7 +51160,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 664261096} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B142" m_TagString: Untagged m_Icon: {fileID: 0} @@ -51222,7 +51222,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 670364284} - m_Layer: 0 + m_Layer: 3 m_Name: "\u7709\u578B022" m_TagString: Untagged m_Icon: {fileID: 0} @@ -54105,7 +54105,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 718823517} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R Finger01 m_TagString: Untagged m_Icon: {fileID: 0} @@ -55227,7 +55227,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 735231260} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B060" m_TagString: Untagged m_Icon: {fileID: 0} @@ -55448,7 +55448,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 741230825} - m_Layer: 0 + m_Layer: 3 m_Name: "\u7709\u578B042" m_TagString: Untagged m_Icon: {fileID: 0} @@ -59453,7 +59453,7 @@ GameObject: - component: {fileID: 769510133} - component: {fileID: 769510132} - component: {fileID: 769510131} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -62237,7 +62237,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 793104632} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u988A011" m_TagString: Untagged m_Icon: {fileID: 0} @@ -63053,7 +63053,7 @@ GameObject: - component: {fileID: 809527831} - component: {fileID: 809527830} - component: {fileID: 809527829} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -63510,7 +63510,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 818595535} - m_Layer: 0 + m_Layer: 3 m_Name: Bone01 m_TagString: Untagged m_Icon: {fileID: 0} @@ -67777,7 +67777,7 @@ GameObject: - component: {fileID: 844271439} - component: {fileID: 844271438} - component: {fileID: 844271437} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -67990,7 +67990,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 845994499} - m_Layer: 0 + m_Layer: 3 m_Name: "\u7259\u9F7F010" m_TagString: Untagged m_Icon: {fileID: 0} @@ -68087,7 +68087,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 848196782} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L Finger0 m_TagString: Untagged m_Icon: {fileID: 0} @@ -68557,7 +68557,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 864245633} - m_Layer: 0 + m_Layer: 3 m_Name: CameraTarget m_TagString: Untagged m_Icon: {fileID: 0} @@ -68685,7 +68685,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 867778777} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L Thigh m_TagString: Untagged m_Icon: {fileID: 0} @@ -71245,7 +71245,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 879080752} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B011" m_TagString: Untagged m_Icon: {fileID: 0} @@ -73298,7 +73298,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 891703383} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B082" m_TagString: Untagged m_Icon: {fileID: 0} @@ -73657,7 +73657,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 903123680} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8031" m_TagString: Untagged m_Icon: {fileID: 0} @@ -73969,7 +73969,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 910546517} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L UpperArm m_TagString: Untagged m_Icon: {fileID: 0} @@ -74544,7 +74544,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 927132928} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B061" m_TagString: Untagged m_Icon: {fileID: 0} @@ -74575,7 +74575,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 927195058} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R UpperArm m_TagString: Untagged m_Icon: {fileID: 0} @@ -75650,7 +75650,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 931991659} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B171" m_TagString: Untagged m_Icon: {fileID: 0} @@ -76269,7 +76269,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 945815437} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 Spine m_TagString: Untagged m_Icon: {fileID: 0} @@ -77228,7 +77228,7 @@ GameObject: - component: {fileID: 960760104} - component: {fileID: 960760105} - component: {fileID: 960760107} - m_Layer: 0 + m_Layer: 3 m_Name: "\u6B66\u4FA0\u7537" m_TagString: Untagged m_Icon: {fileID: 0} @@ -77270,13 +77270,13 @@ CharacterController: m_ProvidesContacts: 0 m_Enabled: 1 serializedVersion: 3 - m_Height: 1.892426 + m_Height: 1.85 m_Radius: 0.35 m_SlopeLimit: 45 m_StepOffset: 0.3 - m_SkinWidth: 0.08 + m_SkinWidth: 0.02 m_MinMoveDistance: 0.001 - m_Center: {x: 0, y: 0.9315944, z: 0} + m_Center: {x: 0, y: 0.9, z: 0} --- !u!114 &960760107 MonoBehaviour: m_ObjectHideFlags: 0 @@ -77295,6 +77295,12 @@ MonoBehaviour: joystick: {fileID: 828724102} btnJump: {fileID: 0} btnRun: {fileID: 0} + isGrounded: 0 + extraGroundDistance: 0.05 + radiusEpsilon: 0.005 + groundMask: + serializedVersion: 2 + m_Bits: 1 --- !u!1 &961990122 GameObject: m_ObjectHideFlags: 0 @@ -77489,7 +77495,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 963400555} - m_Layer: 0 + m_Layer: 3 m_Name: Bone03 m_TagString: Untagged m_Icon: {fileID: 0} @@ -81502,7 +81508,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 988975499} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B042" m_TagString: Untagged m_Icon: {fileID: 0} @@ -81928,7 +81934,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 995061184} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R Thigh m_TagString: Untagged m_Icon: {fileID: 0} @@ -82617,7 +82623,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1012613678} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B081" m_TagString: Untagged m_Icon: {fileID: 0} @@ -82784,7 +82790,7 @@ GameObject: - component: {fileID: 1018182548} - component: {fileID: 1018182547} - component: {fileID: 1018182546} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -83137,7 +83143,7 @@ GameObject: - component: {fileID: 1021218749} - component: {fileID: 1021218748} - component: {fileID: 1021218747} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender m_TagString: Untagged m_Icon: {fileID: 0} @@ -84210,7 +84216,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1041031438} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R Foot m_TagString: Untagged m_Icon: {fileID: 0} @@ -84443,7 +84449,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1045751576} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B132" m_TagString: Untagged m_Icon: {fileID: 0} @@ -86336,7 +86342,7 @@ GameObject: - component: {fileID: 1073954750} - component: {fileID: 1073954749} - component: {fileID: 1073954748} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -86705,7 +86711,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1084690608} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 Spine2 m_TagString: Untagged m_Icon: {fileID: 0} @@ -87096,7 +87102,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1095010246} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8062" m_TagString: Untagged m_Icon: {fileID: 0} @@ -87988,7 +87994,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1114501914} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u988A012" m_TagString: Untagged m_Icon: {fileID: 0} @@ -88342,7 +88348,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1119797851} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R Hand m_TagString: Untagged m_Icon: {fileID: 0} @@ -88739,7 +88745,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1131145217} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B041" m_TagString: Untagged m_Icon: {fileID: 0} @@ -89434,7 +89440,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1154984131} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B070" m_TagString: Untagged m_Icon: {fileID: 0} @@ -92194,7 +92200,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1175694144} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B051" m_TagString: Untagged m_Icon: {fileID: 0} @@ -93305,7 +93311,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1211737359} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B062" m_TagString: Untagged m_Icon: {fileID: 0} @@ -94211,7 +94217,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1231756102} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R Finger11 m_TagString: Untagged m_Icon: {fileID: 0} @@ -94613,7 +94619,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1241327418} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8112" m_TagString: Untagged m_Icon: {fileID: 0} @@ -95668,7 +95674,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1262943750} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 Spine1 m_TagString: Untagged m_Icon: {fileID: 0} @@ -98871,7 +98877,7 @@ GameObject: - component: {fileID: 1301709988} - component: {fileID: 1301709987} - component: {fileID: 1301709986} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -101231,7 +101237,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1305789815} - m_Layer: 0 + m_Layer: 3 m_Name: "\u989D\u5934011" m_TagString: Untagged m_Icon: {fileID: 0} @@ -103084,7 +103090,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1326160932} - m_Layer: 0 + m_Layer: 3 m_Name: "\u989D\u5934012" m_TagString: Untagged m_Icon: {fileID: 0} @@ -103209,7 +103215,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1327375124} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 Pelvis m_TagString: Untagged m_Icon: {fileID: 0} @@ -107353,7 +107359,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1348311409} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8082" m_TagString: Untagged m_Icon: {fileID: 0} @@ -107479,7 +107485,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1355199282} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B190" m_TagString: Untagged m_Icon: {fileID: 0} @@ -107722,7 +107728,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1367239218} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L Finger01 m_TagString: Untagged m_Icon: {fileID: 0} @@ -107932,7 +107938,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1374157085} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8072" m_TagString: Untagged m_Icon: {fileID: 0} @@ -108009,7 +108015,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1374586566} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B062" m_TagString: Untagged m_Icon: {fileID: 0} @@ -108071,7 +108077,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1376982582} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8081" m_TagString: Untagged m_Icon: {fileID: 0} @@ -108102,7 +108108,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1378091210} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B090" m_TagString: Untagged m_Icon: {fileID: 0} @@ -110364,7 +110370,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1379368487} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B172" m_TagString: Untagged m_Icon: {fileID: 0} @@ -110585,7 +110591,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1388260348} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B081" m_TagString: Untagged m_Icon: {fileID: 0} @@ -111022,7 +111028,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1402882656} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R Finger0 m_TagString: Untagged m_Icon: {fileID: 0} @@ -111149,7 +111155,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1405014492} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8010" m_TagString: Untagged m_Icon: {fileID: 0} @@ -111212,7 +111218,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1407058734} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8033\u578B012" m_TagString: Untagged m_Icon: {fileID: 0} @@ -113160,7 +113166,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1422867359} - m_Layer: 0 + m_Layer: 3 m_Name: "\u7709\u578B032" m_TagString: Untagged m_Icon: {fileID: 0} @@ -116408,7 +116414,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1448191166} - m_Layer: 0 + m_Layer: 3 m_Name: "\u53E3\u8154010" m_TagString: Untagged m_Icon: {fileID: 0} @@ -116807,7 +116813,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1456330923} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B071" m_TagString: Untagged m_Icon: {fileID: 0} @@ -120015,7 +120021,7 @@ GameObject: - component: {fileID: 1488919924} - component: {fileID: 1488919923} - component: {fileID: 1488919922} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -122099,7 +122105,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1513213822} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u7403012" m_TagString: Untagged m_Icon: {fileID: 0} @@ -122538,7 +122544,7 @@ GameObject: - component: {fileID: 1519376251} - component: {fileID: 1519376250} - component: {fileID: 1519376249} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -124555,7 +124561,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1521402225} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8091" m_TagString: Untagged m_Icon: {fileID: 0} @@ -124872,7 +124878,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1531751104} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8116\u5B50010" m_TagString: Untagged m_Icon: {fileID: 0} @@ -126420,7 +126426,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1574255742} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R Calf m_TagString: Untagged m_Icon: {fileID: 0} @@ -126583,7 +126589,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1581551008} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L Toe0 m_TagString: Untagged m_Icon: {fileID: 0} @@ -127055,7 +127061,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1587070378} - m_Layer: 0 + m_Layer: 3 m_Name: "\u7709\u578B031" m_TagString: Untagged m_Icon: {fileID: 0} @@ -127118,7 +127124,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1587300352} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8033\u578B031" m_TagString: Untagged m_Icon: {fileID: 0} @@ -127307,7 +127313,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1592823476} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R Forearm m_TagString: Untagged m_Icon: {fileID: 0} @@ -127402,7 +127408,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1595145857} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B162" m_TagString: Untagged m_Icon: {fileID: 0} @@ -127433,7 +127439,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1595772548} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B020" m_TagString: Untagged m_Icon: {fileID: 0} @@ -127794,7 +127800,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1603942162} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B061" m_TagString: Untagged m_Icon: {fileID: 0} @@ -128053,7 +128059,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1608509108} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8033\u578B022" m_TagString: Untagged m_Icon: {fileID: 0} @@ -128244,7 +128250,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1610445248} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B071" m_TagString: Untagged m_Icon: {fileID: 0} @@ -129179,7 +129185,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1637469647} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B030" m_TagString: Untagged m_Icon: {fileID: 0} @@ -129519,7 +129525,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1647118849} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B012" m_TagString: Untagged m_Icon: {fileID: 0} @@ -129907,7 +129913,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1660005418} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8041" m_TagString: Untagged m_Icon: {fileID: 0} @@ -130301,7 +130307,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1674545467} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B010" m_TagString: Untagged m_Icon: {fileID: 0} @@ -130364,7 +130370,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1676596631} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B042" m_TagString: Untagged m_Icon: {fileID: 0} @@ -130458,7 +130464,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1682126468} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B081" m_TagString: Untagged m_Icon: {fileID: 0} @@ -130683,7 +130689,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1690560084} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8111" m_TagString: Untagged m_Icon: {fileID: 0} @@ -130778,7 +130784,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1692889866} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B051" m_TagString: Untagged m_Icon: {fileID: 0} @@ -131075,7 +131081,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1701684247} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8052" m_TagString: Untagged m_Icon: {fileID: 0} @@ -131138,7 +131144,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1704991185} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 R Toe0 m_TagString: Untagged m_Icon: {fileID: 0} @@ -131296,7 +131302,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1710957241} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B050" m_TagString: Untagged m_Icon: {fileID: 0} @@ -131812,7 +131818,7 @@ GameObject: - component: {fileID: 1722060356} - component: {fileID: 1722060355} - component: {fileID: 1722060354} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -132267,7 +132273,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1731842719} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B032" m_TagString: Untagged m_Icon: {fileID: 0} @@ -132451,7 +132457,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1739644012} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B141" m_TagString: Untagged m_Icon: {fileID: 0} @@ -133040,7 +133046,7 @@ GameObject: - component: {fileID: 1754681031} - component: {fileID: 1754681030} - component: {fileID: 1754681029} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender m_TagString: Untagged m_Icon: {fileID: 0} @@ -133316,7 +133322,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1756815654} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8051" m_TagString: Untagged m_Icon: {fileID: 0} @@ -134381,7 +134387,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1781852534} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8032" m_TagString: Untagged m_Icon: {fileID: 0} @@ -134539,7 +134545,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1783606326} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B022" m_TagString: Untagged m_Icon: {fileID: 0} @@ -137784,7 +137790,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1809410038} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B122" m_TagString: Untagged m_Icon: {fileID: 0} @@ -137850,7 +137856,7 @@ GameObject: - component: {fileID: 1811894291} - component: {fileID: 1811894290} - component: {fileID: 1811894289} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -142752,7 +142758,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1848668299} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B102" m_TagString: Untagged m_Icon: {fileID: 0} @@ -147059,7 +147065,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1874920727} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8033\u578B011" m_TagString: Untagged m_Icon: {fileID: 0} @@ -147811,7 +147817,7 @@ GameObject: - component: {fileID: 1895389550} - component: {fileID: 1895389549} - component: {fileID: 1895389548} - m_Layer: 0 + m_Layer: 3 m_Name: CustomMeshRender(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -148602,7 +148608,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1909708597} - m_Layer: 0 + m_Layer: 3 m_Name: "\u9F3B\u578B091" m_TagString: Untagged m_Icon: {fileID: 0} @@ -148679,7 +148685,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1911789278} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8022" m_TagString: Untagged m_Icon: {fileID: 0} @@ -149109,7 +149115,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1926793377} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B131" m_TagString: Untagged m_Icon: {fileID: 0} @@ -149641,7 +149647,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1935403418} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L Calf m_TagString: Untagged m_Icon: {fileID: 0} @@ -149806,7 +149812,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1942263718} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8033\u578B032" m_TagString: Untagged m_Icon: {fileID: 0} @@ -150181,7 +150187,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1952546491} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B022" m_TagString: Untagged m_Icon: {fileID: 0} @@ -150310,7 +150316,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1955921503} - m_Layer: 0 + m_Layer: 3 m_Name: "\u98A7\u9AA8011" m_TagString: Untagged m_Icon: {fileID: 0} @@ -150468,7 +150474,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1959291427} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8116\u5B50\u5BF9\u9F50" m_TagString: Untagged m_Icon: {fileID: 0} @@ -151875,7 +151881,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1995993749} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B021" m_TagString: Untagged m_Icon: {fileID: 0} @@ -152004,7 +152010,7 @@ GameObject: - component: {fileID: 1997511860} - component: {fileID: 1997511862} - component: {fileID: 1997511861} - m_Layer: 0 + m_Layer: 3 m_Name: A3DSkinnedMeshRenderer(Clone) m_TagString: Untagged m_Icon: {fileID: 0} @@ -152440,7 +152446,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2001561255} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u578B082" m_TagString: Untagged m_Icon: {fileID: 0} @@ -152739,7 +152745,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2008016686} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L Clavicle m_TagString: Untagged m_Icon: {fileID: 0} @@ -153103,7 +153109,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2017868710} - m_Layer: 0 + m_Layer: 3 m_Name: "\u7709\u578B041" m_TagString: Untagged m_Icon: {fileID: 0} @@ -153134,7 +153140,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2017890502} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B150" m_TagString: Untagged m_Icon: {fileID: 0} @@ -153542,7 +153548,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2028571851} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 L Finger1 m_TagString: Untagged m_Icon: {fileID: 0} @@ -153699,7 +153705,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2034378390} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B182" m_TagString: Untagged m_Icon: {fileID: 0} @@ -154776,7 +154782,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2068237208} - m_Layer: 0 + m_Layer: 3 m_Name: Bip01 m_TagString: Untagged m_Icon: {fileID: 0} @@ -154791,14 +154797,14 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2068237207} serializedVersion: 2 - m_LocalRotation: {x: -0, y: -1, z: -0, w: 0} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1327375124} m_Father: {fileID: 19544887} - m_LocalEulerAnglesHint: {x: -0.0000008537736, y: -90.00006, z: -18.500004} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!43 &2070228401 Mesh: m_ObjectHideFlags: 0 @@ -156883,7 +156889,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2096022256} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8102" m_TagString: Untagged m_Icon: {fileID: 0} @@ -157086,7 +157092,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2100461176} - m_Layer: 0 + m_Layer: 3 m_Name: "\u773C\u7403011" m_TagString: Untagged m_Icon: {fileID: 0} @@ -157372,7 +157378,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2112751378} - m_Layer: 0 + m_Layer: 3 m_Name: "\u8138\u76D8071" m_TagString: Untagged m_Icon: {fileID: 0} @@ -161561,7 +161567,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2124625098} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B052" m_TagString: Untagged m_Icon: {fileID: 0} @@ -161801,7 +161807,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 2132317222} - m_Layer: 0 + m_Layer: 3 m_Name: "\u5634\u578B031" m_TagString: Untagged m_Icon: {fileID: 0} diff --git a/Assets/Scripts/CharacterCtrl.cs b/Assets/Scripts/CharacterCtrl.cs index c66605462b..7595db959c 100644 --- a/Assets/Scripts/CharacterCtrl.cs +++ b/Assets/Scripts/CharacterCtrl.cs @@ -1,12 +1,10 @@ using CSNetwork.Protocols; using CSNetwork.Protocols.RPCData; -using System.Data; using System.Text; using TMPro; using UnityEngine; using UnityEngine.InputSystem; using UnityEngine.UI; -using UnityEngine.Windows; public class CharacterCtrl : MonoBehaviour { @@ -29,17 +27,127 @@ public class CharacterCtrl : MonoBehaviour [SerializeField] bool isGrounded = false; bool isRun = false; + // ====== Ground cast config ====== + [Header("Ground Cast")] + [Tooltip("Khoảng thêm ngoài skinWidth để SphereCast xuống (m ngắn)")] + [SerializeField] private float extraGroundDistance = 0.05f; + [Tooltip("Bớt bán kính một chút để tránh tự va vào capsule (epsilon)")] + [SerializeField] private float radiusEpsilon = 0.005f; + [Tooltip("Layer mặt đất")] + [SerializeField] private LayerMask groundMask; + [Tooltip("Layer mặt đất")] + [SerializeField] private float slopeToleranceDeg = 2f; + + // cache tùy chọn (không bắt buộc) + float ccRadius, ccSkin; + RaycastHit lastGroundHit; + private void Awake() { moveState = new PlayerMoveState(this); playerStateMachine = new PlayerStateMachine(); + + // Cache: không bắt buộc, nhưng gọn tay và ít gọi property lặp. + if (controller != null) + { + ccRadius = controller.radius; + ccSkin = controller.skinWidth; + } } private void Start() { playerStateMachine.InitState(moveState); + // btnJump.onClick.AddListener(HandleJump); + } - //btnJump.onClick.AddListener(HandleJump); + private void Update() + { + // Nếu có thay đổi runtime, có thể lấy lại mỗi vài giây/Start nếu bạn thích: + // ccRadius = controller.radius; ccSkin = controller.skinWidth; + + playerStateMachine.UpdateState(); + } + + public void HandleMovement() + { + // 1) Kiểm tra grounded bằng SphereCast ngắn dựa trên radius + skinWidth + isGrounded = GroundCheck(out lastGroundHit); + + // 2) Input tạm thời: giữ nguyên như bạn + if (UnityEngine.Input.GetKeyDown(KeyCode.LeftShift)) SetStatusRun(true); + if (UnityEngine.Input.GetKeyUp(KeyCode.LeftShift)) SetStatusRun(false); + if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) HandleJump(); + + // 3) Trọng lực / sticky + if (isGrounded && playerVelocity.y < 0f) + { + // Đè nhẹ để bám đất (tránh nhấp-nháy) + playerVelocity.y = -2f; + } + else + { + playerVelocity.y += gravityValue * Time.deltaTime; + } + + // 4) Chuyển động phẳng + float x = joystick.Horizontal; + float z = joystick.Vertical; + + Vector3 move = new Vector3(x, 0, z); + move = Vector3.ClampMagnitude(move, 1f); + + if (move != Vector3.zero) + { + transform.forward = move; + if (isRun) SetAnimRun(); + else SetAnimWalk(); + } + else + { + SetAnimIdle(); + } + + Vector3 finalMove = (move * playerSpeed) + (playerVelocity.y * Vector3.up); + controller.Move(finalMove * Time.deltaTime); + } + + private bool GroundCheck(out RaycastHit hit) + { + float radius = controller.radius; + float skin = controller.skinWidth; + float height = controller.height; + + // Tâm capsule theo world + Vector3 cWorld = transform.TransformPoint(controller.center); + float hemi = Mathf.Max(0f, (height * 0.5f) - radius); + + // Hai điểm top/bottom của capsule nhân vật (đang đứng) + Vector3 pTop = cWorld + Vector3.up * hemi; + Vector3 pBottom = cWorld - Vector3.up * hemi; + + // Ta tạo một "đoạn capsule ngắn" gần đáy để sweep xuống + // Nhấc đoạn bắt đầu lên 1 chút để không bắt đầu trong trạng thái giao nhau + Vector3 startBottom = pBottom + Vector3.up * (skin + 0.01f); + Vector3 startTop = startBottom + Vector3.up * (radius * 2f - 0.02f); // chiều cao đoạn ngắn ~2*radius + + float castRadius = Mathf.Max(0f, radius - radiusEpsilon); + float castDistance = skin + extraGroundDistance; // quãng sweep ngắn + + bool hitSomething = Physics.CapsuleCast( + startTop, startBottom, castRadius, + Vector3.down, out hit, castDistance, + groundMask, QueryTriggerInteraction.Ignore + ); + + if (!hitSomething) return false; + + // Lọc theo slope limit + float maxSlope = controller.slopeLimit + slopeToleranceDeg; + float slope = Vector3.Angle(hit.normal, Vector3.up); + if (slope > maxSlope) return false; + + return true; } private void HandleJump() @@ -66,113 +174,40 @@ public class CharacterCtrl : MonoBehaviour string roleName = "(Error decoding name)"; if (role.name != null && role.name.ByteArray != null) { - // Be careful with encoding, assume UTF8 is correct - roleName = Encoding.UTF8.GetString( - role.name.ByteArray, - 0, - role.name.Length - ); + roleName = Encoding.UTF8.GetString(role.name.ByteArray, 0, role.name.Length); } Vector3 pos = new Vector3(role.posx, role.posy, role.posz); - if(txtName != null) - { - txtName.text = roleName; - } + if (txtName != null) txtName.text = roleName; transform.position = pos; Debug.LogError("Pos Character = " + pos); } - private void Update() - { - playerStateMachine.UpdateState(); - } - public void HandleMovement() - { - isGrounded = controller.isGrounded; - - if (UnityEngine.Input.GetKeyDown(KeyCode.LeftShift)) - { - SetStatusRun(true); - } - if (UnityEngine.Input.GetKeyUp(KeyCode.LeftShift)) - { - SetStatusRun(false); - } - if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) - { - HandleJump(); - } - - - if (isGrounded && playerVelocity.y < 0) - { - playerVelocity.y = 0f; - } - - float x = joystick.Horizontal; - float z = joystick.Vertical; - - Vector3 move = new Vector3(x, 0, z); - move = Vector3.ClampMagnitude(move, 1f); - - if (move != Vector3.zero) - { - transform.forward = move; - if (isRun) - { - SetAnimRun(); - } - else - { - SetAnimWalk(); - } - } - else - { - SetAnimIdle(); - } - - playerVelocity.y += gravityValue * Time.deltaTime; - Vector3 finalMove = (move * playerSpeed) + (playerVelocity.y * Vector3.up); - controller.Move(finalMove * Time.deltaTime); - } private void SetAnimIdle() { - if(stateAnim == StateAnim.Idle || !isGrounded) - { - return; - } + if (stateAnim == StateAnim.Idle || !isGrounded) return; stateAnim = StateAnim.Idle; animator.SetTrigger("Idle"); } private void SetAnimRun() { - if (stateAnim == StateAnim.Run || !isGrounded) - { - return; - } + if (stateAnim == StateAnim.Run || !isGrounded) return; stateAnim = StateAnim.Run; animator.SetTrigger("Run"); } private void SetAnimWalk() { - if (stateAnim == StateAnim.Walk || !isGrounded) - { - return; - } + if (stateAnim == StateAnim.Walk || !isGrounded) return; stateAnim = StateAnim.Walk; animator.SetTrigger("Walk"); } private void SetAnimJump() { - if (stateAnim == StateAnim.Jump) - { - return; - } + if (stateAnim == StateAnim.Jump) return; stateAnim = StateAnim.Jump; + // Tạm dùng Idle trigger như code cũ của bạn animator.SetTrigger("Idle"); } } diff --git a/Assets/Scripts/EC_GPDataType.cs b/Assets/Scripts/EC_GPDataType.cs new file mode 100644 index 0000000000..7be3a4145a --- /dev/null +++ b/Assets/Scripts/EC_GPDataType.cs @@ -0,0 +1,11 @@ +using UnityEngine; + +struct cmd_player_move +{ + Vector3 vCurPos; + Vector3 vNextPos; + ushort use_time; + short sSpeed; // Move speed 8.8 fix-point + byte move_mode; // Walk run swim fly .... walk_back run_back + ushort stamp; // move command stamp +}; diff --git a/Assets/Scripts/EC_GPDataType.cs.meta b/Assets/Scripts/EC_GPDataType.cs.meta new file mode 100644 index 0000000000..7845a6d974 --- /dev/null +++ b/Assets/Scripts/EC_GPDataType.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: f59c799d38bfd9a4faa671a30dec48ae \ No newline at end of file diff --git a/Assets/Scripts/Move/EC_HostPlayer.cs b/Assets/Scripts/Move/EC_HostPlayer.cs deleted file mode 100644 index ff1dca6122..0000000000 --- a/Assets/Scripts/Move/EC_HostPlayer.cs +++ /dev/null @@ -1,7 +0,0 @@ -using UnityEngine; - -public class CECHostPlayer : MonoBehaviour -{ - - -} diff --git a/Assets/Scripts/Move/EC_HostPlayer.cs.meta b/Assets/Scripts/Move/EC_HostPlayer.cs.meta deleted file mode 100644 index fe44f0f5ea..0000000000 --- a/Assets/Scripts/Move/EC_HostPlayer.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: 7cd2ee670dc30154685fd720c71d3712 \ No newline at end of file diff --git a/Assets/Scripts/PlayerStateMachine.cs b/Assets/Scripts/PlayerStateMachine.cs index 76c3e17f6f..40c4955d57 100644 --- a/Assets/Scripts/PlayerStateMachine.cs +++ b/Assets/Scripts/PlayerStateMachine.cs @@ -3,6 +3,8 @@ using UnityEngine; public class PlayerStateMachine { PlayerState _state; + CharacterCtrl _characterCtrl; + public void InitState(PlayerState state) { if (_state != null) @@ -32,4 +34,6 @@ public class PlayerStateMachine { _state.Update(); } + + //TODO: tm OnMsgHstCorrectPos bn C++ } diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 6413d11ff5..2cda4488c5 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -2,13 +2,13 @@ %TAG !u! tag:unity3d.com,2011: --- !u!78 &1 TagManager: - serializedVersion: 2 + serializedVersion: 3 tags: [] layers: - Default - TransparentFX - Ignore Raycast - - + - Player - Water - UI - @@ -50,27 +50,3 @@ TagManager: - Light Layer 5 - Light Layer 6 - Light Layer 7 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -