diff options
author | chai <215380520@qq.com> | 2024-03-22 15:14:05 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2024-03-22 15:14:05 +0800 |
commit | 6163a48a474d1600442137d776aa56ed7f7d5ec5 (patch) | |
tree | 97ed158cbb80653a1b3753a4cbfea1b58391a83c | |
parent | 6efd3e8c43a2249dc70952c222c5341bc76ab4ef (diff) |
* standing
-rw-r--r-- | ActiveRagdoll/Assets/TABG/Prefabs/human_rigging.prefab | 125 | ||||
-rw-r--r-- | ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs | 4 | ||||
-rw-r--r-- | ActiveRagdoll/Assets/TABG/Scripts/Data/Gravity.cs | 46 | ||||
-rw-r--r-- | ActiveRagdoll/Assets/TABG/Test.unity | 121 |
4 files changed, 166 insertions, 130 deletions
diff --git a/ActiveRagdoll/Assets/TABG/Prefabs/human_rigging.prefab b/ActiveRagdoll/Assets/TABG/Prefabs/human_rigging.prefab index 239241b..ea011e7 100644 --- a/ActiveRagdoll/Assets/TABG/Prefabs/human_rigging.prefab +++ b/ActiveRagdoll/Assets/TABG/Prefabs/human_rigging.prefab @@ -1201,6 +1201,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 65e8b62425fa0464cb55fe503c4ecf6f, type: 3} m_Name: m_EditorClassIdentifier: + sinceGrounded: 0 + sinceLanded: 0 + isGrounded: 0 + distanceToGround: 1 --- !u!114 &732440393331709508 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1483,6 +1487,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &6122181118401514978 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1495,6 +1502,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 81776d0149c84094eb151eb8cd90e148, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &360952041233165414 GameObject: m_ObjectHideFlags: 0 @@ -1732,6 +1740,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &2783424386060882346 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1744,6 +1755,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b0f204a40a6fa0844bd4ad08985a3824, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &1198478719857577481 GameObject: m_ObjectHideFlags: 0 @@ -1905,6 +1917,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &4878685260469331851 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1917,6 +1932,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: af25fb620b16ea04384efa2ca29c08d6, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &1254990767818926415 GameObject: m_ObjectHideFlags: 0 @@ -2182,6 +2198,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &7163679047628771628 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2194,6 +2213,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: cf0e7bf909bb4ff4ca0f30f91a28653d, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &2047971321291531494 GameObject: m_ObjectHideFlags: 0 @@ -2258,6 +2278,20 @@ MonoBehaviour: balance: {fileID: 0} knockback: {fileID: 0} rotate: {fileID: 0} + body: + hip: {fileID: 0} + armLeft: {fileID: 0} + armRight: {fileID: 0} + footLeft: {fileID: 0} + footRight: {fileID: 0} + handLeft: {fileID: 0} + handRight: {fileID: 0} + head: {fileID: 0} + kneeLeft: {fileID: 0} + kneeRight: {fileID: 0} + legLeft: {fileID: 0} + legRight: {fileID: 0} + torso: {fileID: 0} --- !u!1 &2132482246703060397 GameObject: m_ObjectHideFlags: 0 @@ -2423,6 +2457,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &6887620786272290106 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2435,6 +2472,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9e375330714645c4988cf20aecc99c48, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &2411311702239281492 GameObject: m_ObjectHideFlags: 0 @@ -2596,6 +2634,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &5216378010582810224 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2608,6 +2649,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 343ebe5625328c6489d85d551955d402, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &2474110595537587005 GameObject: m_ObjectHideFlags: 0 @@ -2769,6 +2811,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &8750515621544498666 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2781,6 +2826,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 743bb0295fc2b644c80f0e83a9d1f777, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &2581325547809608687 GameObject: m_ObjectHideFlags: 0 @@ -3246,6 +3292,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &4321150989774212268 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3258,6 +3307,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b869fc9e68992dd4190cf5ed40e60044, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &5459608688684196573 GameObject: m_ObjectHideFlags: 0 @@ -3465,6 +3515,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &3526346404085441777 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3477,6 +3530,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 508e927201861d245bd51ceb5b18eefc, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &5992969589425681271 GameObject: m_ObjectHideFlags: 0 @@ -3638,6 +3692,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &7057859769783231886 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3811,6 +3868,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &8659986707249222524 MonoBehaviour: m_ObjectHideFlags: 0 @@ -3823,6 +3883,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5df966c9f2b1ed54fbcf55ea8f03380b, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &7242023275942804698 GameObject: m_ObjectHideFlags: 0 @@ -4015,6 +4076,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: player: {fileID: 0} + active: 1 + sinceGrounded: 0 + allowedSteepnesAngle: 60 --- !u!114 &2037636450122013952 MonoBehaviour: m_ObjectHideFlags: 0 @@ -4027,6 +4091,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 9c9729c60c0c0324fae0eef3d1f7bbba, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &7540932285142806653 GameObject: m_ObjectHideFlags: 0 @@ -4185,6 +4250,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: b3a5fbc4ef0e67544a940cd268ecffba, type: 3} m_Name: m_EditorClassIdentifier: + rigidbody: {fileID: 0} --- !u!1 &7628504463291864053 GameObject: m_ObjectHideFlags: 0 @@ -4447,9 +4513,62 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: rigsToLift: - - {fileID: 5028902801156152278} - - {fileID: 7724590171357447542} - force: 0 + - rig: {fileID: 5028902801156152278} + force: 20 + - rig: {fileID: 7724590171357447542} + force: 20 + offset: 0.95 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.1818 + value: 1.2663 + inSlope: Infinity + outSlope: 0.010811341 + tangentMode: 71 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.264 + value: 1.278 + inSlope: 0.010811341 + outSlope: 0 + tangentMode: 1 + weightedMode: 1 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.3988 + value: 1.2757 + inSlope: 0 + outSlope: -0.2201391 + tangentMode: 65 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5428 + value: 1.244 + inSlope: -0.2201391 + outSlope: -2.183764 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 2.1033 + value: 0.02 + inSlope: -2.183764 + outSlope: 0 + tangentMode: 5 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 --- !u!1 &9207913841552632399 GameObject: m_ObjectHideFlags: 0 diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs b/ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs index 0c963ab..d52501b 100644 --- a/ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs +++ b/ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs @@ -43,13 +43,13 @@ namespace Rigging.Action //} //float max = forceCapCurve.Evaluate(forceCapTime); // 力的上限 float num = 0; - float max = 100; + float max = 10000; RigidbodyMovement[] array = rigsToLift; foreach (RigidbodyMovement rigidbodyMovment in array) { // 施加一个向上的垂直向上的力,把角色吊起来 Vector3 forceDir = Vector3.up; - float forceMagnitude = standingMulti * muscleMultiplier * rigidbodyMovment.force * Mathf.Clamp(curve.Evaluate(standingData.distanceToGround /*/ base.transform.localScale.x + num + offset*/ /*+ moveData.slopeVelocityStrenght * -0.2f*/), -100f, max); + float forceMagnitude = standingMulti * muscleMultiplier * rigidbodyMovment.force * Mathf.Clamp(curve.Evaluate(standingData.distanceToGround / base.transform.localScale.x + num + offset /*+ moveData.slopeVelocityStrenght * -0.2f*/), -100f, max); rigidbodyMovment.rig.AddForce( forceDir * forceMagnitude, ForceMode.Acceleration); } diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Data/Gravity.cs b/ActiveRagdoll/Assets/TABG/Scripts/Data/Gravity.cs index 2e24f81..a428536 100644 --- a/ActiveRagdoll/Assets/TABG/Scripts/Data/Gravity.cs +++ b/ActiveRagdoll/Assets/TABG/Scripts/Data/Gravity.cs @@ -7,17 +7,51 @@ namespace Rigging.Data public class Gravity : RiggingDataBase { - // Start is called before the first frame update - void Start() + + private StandingDataHandler standingData; + + private Rigidbody[] m_rigidbodies; + + protected override void OnStart() { - + base.OnStart(); + standingData = player.status.standingData; + m_rigidbodies = player.status.body.allRigs; } - // Update is called once per frame - void Update() + + protected override void OnFixedUpdate() { - + base.OnFixedUpdate(); + + //gravityMultiplier = Mathf.Clamp(ragdoll.notRagdollMultiplier, 0.3f, 1f); + //if (interaction.hasTranscended) + //{ + // gravityMultiplier *= 0.3f; + //} + if (!(standingData.sinceGrounded > 0f)) + { + return; + } + for (int i = 0; i < m_rigidbodies.Length; i++) + { + if ((bool)m_rigidbodies[i]) + { + float num = Mathf.Clamp(m_rigidbodies[i].drag / 7f, 1f, 2f); + //num *= gravityMultiplier * standingData.sinceGrounded * scalingGravity * player.stats.gravityMultiplier; + //gravForce = Vector3.down * num; + //if (player.stats.gravityMultiplier < 0.99f) + //{ + // gravForce += Vector3.up * 20f * (1f - player.stats.gravityMultiplier); + //} + + m_rigidbodies[i].AddForce(Vector3.down * 5, ForceMode.Acceleration); + } + } + } + + } }
\ No newline at end of file diff --git a/ActiveRagdoll/Assets/TABG/Test.unity b/ActiveRagdoll/Assets/TABG/Test.unity index 071f03c..e1b4d60 100644 --- a/ActiveRagdoll/Assets/TABG/Test.unity +++ b/ActiveRagdoll/Assets/TABG/Test.unity @@ -1336,12 +1336,6 @@ Transform: type: 3} m_PrefabInstance: {fileID: 8128778564773403800} m_PrefabAsset: {fileID: 0} ---- !u!54 &5240332616388624507 stripped -Rigidbody: - m_CorrespondingSourceObject: {fileID: 5028902801156152278, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - m_PrefabInstance: {fileID: 8128778564773403800} - m_PrefabAsset: {fileID: 0} --- !u!4 &6122181118401514974 stripped Transform: m_CorrespondingSourceObject: {fileID: 2610225499071172934, guid: fce18bbf37be1384eb1a089a94aac81d, @@ -1366,12 +1360,6 @@ Transform: type: 3} m_PrefabInstance: {fileID: 8128778564773403800} m_PrefabAsset: {fileID: 0} ---- !u!54 &7163679047628771628 stripped -Rigidbody: - m_CorrespondingSourceObject: {fileID: 7724590171357447542, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - m_PrefabInstance: {fileID: 8128778564773403800} - m_PrefabAsset: {fileID: 0} --- !u!137 &7644998464709928184 SkinnedMeshRenderer: m_ObjectHideFlags: 0 @@ -1450,118 +1438,13 @@ PrefabInstance: m_Modifications: - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, type: 3} - propertyPath: curve.m_Curve.Array.size - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: rigsToLift.Array.data[0].rig - value: - objectReference: {fileID: 5240332616388624507} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: rigsToLift.Array.data[1].rig - value: - objectReference: {fileID: 7163679047628771628} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} propertyPath: rigsToLift.Array.data[0].force - value: 20 + value: 100 objectReference: {fileID: 0} - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, type: 3} propertyPath: rigsToLift.Array.data[1].force - value: 20 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[1].time - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[2].time - value: 1.7437038 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[0].value - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[1].value - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[2].value - value: -0.0063738287 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[0].inSlope - value: Infinity - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[1].inSlope - value: Infinity - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[2].inSlope - value: -0.008570386 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[0].outSlope - value: -1 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[1].inWeight - value: 0.33333334 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[1].outSlope - value: Infinity - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[2].inWeight - value: 0.33333334 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[2].outSlope - value: -0.008570386 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[0].outWeight - value: 0.33333334 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[1].outWeight - value: 0.33333334 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[0].tangentMode - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[1].tangentMode - value: 103 - objectReference: {fileID: 0} - - target: {fileID: 576393797451185326, guid: fce18bbf37be1384eb1a089a94aac81d, - type: 3} - propertyPath: curve.m_Curve.Array.data[2].tangentMode - value: 34 + value: 150 objectReference: {fileID: 0} - target: {fileID: 1666344766112317020, guid: fce18bbf37be1384eb1a089a94aac81d, type: 3} |