diff options
author | chai <215380520@qq.com> | 2024-03-22 13:58:13 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2024-03-22 13:58:13 +0800 |
commit | 6efd3e8c43a2249dc70952c222c5341bc76ab4ef (patch) | |
tree | a486ade58d3a33a9202801bb9f77cb22d7097dbd | |
parent | 439ec6a176719ac8695f93c8edfe564dde92cf4c (diff) |
*misc
-rw-r--r-- | ActiveRagdoll/Assets/TABG/Scripts/Action/Standing.cs | 62 | ||||
-rw-r--r-- | ActiveRagdoll/Assets/TABG/Scripts/RigidbodyMovement.cs | 15 | ||||
-rw-r--r-- | ActiveRagdoll/Assets/TABG/Scripts/RigidbodyMovement.cs.meta | 11 | ||||
-rw-r--r-- | ActiveRagdoll/Assets/TABG/Test.unity | 131 |
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} |