summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-03-22 13:58:13 +0800
committerchai <215380520@qq.com>2024-03-22 13:58:13 +0800
commit6efd3e8c43a2249dc70952c222c5341bc76ab4ef (patch)
treea486ade58d3a33a9202801bb9f77cb22d7097dbd
parent439ec6a176719ac8695f93c8edfe564dde92cf4c (diff)
*misc
-rw-r--r--ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs62
-rw-r--r--ActiveRagdoll/Assets/TABG/Scripts/RigidbodyMovement.cs15
-rw-r--r--ActiveRagdoll/Assets/TABG/Scripts/RigidbodyMovement.cs.meta11
-rw-r--r--ActiveRagdoll/Assets/TABG/Test.unity131
4 files changed, 193 insertions, 26 deletions
diff --git a/ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs b/ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs
index dd9a62c..0c963ab 100644
--- a/ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs
+++ b/ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs
@@ -1,3 +1,4 @@
+using Rigging.Data;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -9,37 +10,50 @@ namespace Rigging.Action
public class Standing : RiggingActionBase
{
- public Rigidbody[] rigsToLift; //Head, Torso
+ public RigidbodyMovement[] rigsToLift; //Head, Torso
- public float force;
+ public float offset = 0.95f;//0.95
+
+ private float muscleMultiplier = 1f;//1
+
+ private float standingMulti = 1f;
+
+ private StandingDataHandler standingData;
+
+ public AnimationCurve curve;
+
+ protected override void OnStart()
+ {
+ standingData = player.status.standingData;
+
+ }
protected override void OnFixedUpdate()
{
- foreach (var rig in rigsToLift)
- {
- rig.AddForce(Vector3.up * force, ForceMode.Acceleration);
- }
+ Stand(curve);
}
- //private void Stand(AnimationCurve curve)
- //{
- // float num = 0f;
- // if (input.isCrouching)
- // {
- // num = 0.35f;
- // }
- // float max = forceCapCurve.Evaluate(forceCapTime); // 力的上限
- // RigidbodyMovment[] array = rigsToLift;
- // foreach (RigidbodyMovment 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);
- // rigidbodyMovment.rig.AddForce(
- // forceDir * forceMagnitude, ForceMode.Acceleration);
- // }
- //}
+ private void Stand(AnimationCurve curve)
+ {
+ //float num = 0f;
+ //if (input.isCrouching)
+ //{
+ // num = 0.35f;
+ //}
+ //float max = forceCapCurve.Evaluate(forceCapTime); // 力的上限
+ float num = 0;
+ float max = 100;
+ 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);
+ rigidbodyMovment.rig.AddForce(
+ forceDir * forceMagnitude, ForceMode.Acceleration);
+ }
+ }
}
diff --git a/ActiveRagdoll/Assets/TABG/Scripts/RigidbodyMovement.cs b/ActiveRagdoll/Assets/TABG/Scripts/RigidbodyMovement.cs
new file mode 100644
index 0000000..860deca
--- /dev/null
+++ b/ActiveRagdoll/Assets/TABG/Scripts/RigidbodyMovement.cs
@@ -0,0 +1,15 @@
+using System;
+using UnityEngine;
+
+namespace Rigging
+{
+
+ [Serializable]
+ public class RigidbodyMovement
+ {
+ public Rigidbody rig;
+
+ public float force;
+ }
+
+}
diff --git a/ActiveRagdoll/Assets/TABG/Scripts/RigidbodyMovement.cs.meta b/ActiveRagdoll/Assets/TABG/Scripts/RigidbodyMovement.cs.meta
new file mode 100644
index 0000000..f7c9a06
--- /dev/null
+++ b/ActiveRagdoll/Assets/TABG/Scripts/RigidbodyMovement.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6014643120461a146826351e4f7ff27e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/ActiveRagdoll/Assets/TABG/Test.unity b/ActiveRagdoll/Assets/TABG/Test.unity
index 7e79202..071f03c 100644
--- a/ActiveRagdoll/Assets/TABG/Test.unity
+++ b/ActiveRagdoll/Assets/TABG/Test.unity
@@ -1223,7 +1223,7 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1871198445}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 3.68, y: 0.4, z: 0}
+ m_LocalPosition: {x: 3.68, y: 0.291, z: 0.709}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -1336,6 +1336,12 @@ 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,
@@ -1360,6 +1366,12 @@ 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
@@ -1436,6 +1448,121 @@ PrefabInstance:
m_Modification:
m_TransformParent: {fileID: 0}
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
+ 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
+ objectReference: {fileID: 0}
- target: {fileID: 1666344766112317020, guid: fce18bbf37be1384eb1a089a94aac81d,
type: 3}
propertyPath: m_RootOrder
@@ -1449,7 +1576,7 @@ PrefabInstance:
- target: {fileID: 1666344766112317020, guid: fce18bbf37be1384eb1a089a94aac81d,
type: 3}
propertyPath: m_LocalPosition.y
- value: 0.909
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 1666344766112317020, guid: fce18bbf37be1384eb1a089a94aac81d,
type: 3}