summaryrefslogtreecommitdiff
path: root/ActiveRagdoll/Assets/TABG/Scripts
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-03-22 15:14:05 +0800
committerchai <215380520@qq.com>2024-03-22 15:14:05 +0800
commit6163a48a474d1600442137d776aa56ed7f7d5ec5 (patch)
tree97ed158cbb80653a1b3753a4cbfea1b58391a83c /ActiveRagdoll/Assets/TABG/Scripts
parent6efd3e8c43a2249dc70952c222c5341bc76ab4ef (diff)
* standing
Diffstat (limited to 'ActiveRagdoll/Assets/TABG/Scripts')
-rw-r--r--ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs4
-rw-r--r--ActiveRagdoll/Assets/TABG/Scripts/Data/Gravity.cs46
2 files changed, 42 insertions, 8 deletions
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