diff options
| author | chai <215380520@qq.com> | 2024-05-19 16:05:01 +0800 |
|---|---|---|
| committer | chai <215380520@qq.com> | 2024-05-19 16:05:01 +0800 |
| commit | c5f145786f4c6d2fe4bea831dfc16e52228920a5 (patch) | |
| tree | a6ead7ea8266c767d58ed0f816dcd7a1dd75bd65 /GameCode/SimpleWalk.cs | |
| parent | 48b64e573a1709dc923cb9162b55be0246b3ff63 (diff) | |
* move
Diffstat (limited to 'GameCode/SimpleWalk.cs')
| -rw-r--r-- | GameCode/SimpleWalk.cs | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/GameCode/SimpleWalk.cs b/GameCode/SimpleWalk.cs deleted file mode 100644 index b6c7e54..0000000 --- a/GameCode/SimpleWalk.cs +++ /dev/null @@ -1,55 +0,0 @@ -using Pathfinding.RVO; -using UnityEngine; -using UnityEngine.Events; - -public class SimpleWalk : MonoBehaviour -{ - public RVOController rvo; - - public Transform animationRoot; - - public float bounceHeight = 0.5f; - - public AnimationCurve bounceCurve; - - public float bounceSpeed = 1f; - - private float bounceClock; - - private float clockDelta; - - private float velocitySqrtDeadzone = 0.15f; - - [HideInInspector] - public UnityEvent onGroundContact = new UnityEvent(); - - private float lastGroundContactTimeStamp; - - private Vector3 initialRootPos; - - private void Start() - { - initialRootPos = animationRoot.localPosition; - bounceClock = Random.value; - } - - private void Update() - { - if (rvo.velocity.sqrMagnitude > velocitySqrtDeadzone) - { - clockDelta = Time.deltaTime * bounceSpeed; - bounceClock += clockDelta; - animationRoot.transform.localPosition = Vector3.Lerp(initialRootPos, initialRootPos + Vector3.up * bounceHeight, bounceCurve.Evaluate(bounceClock)); - if (bounceClock % 1f <= clockDelta && Mathf.Abs(bounceClock - lastGroundContactTimeStamp) > 0.5f) - { - lastGroundContactTimeStamp = bounceClock; - onGroundContact.Invoke(); - } - } - else - { - animationRoot.transform.localPosition = initialRootPos; - bounceClock = 0f; - } - } -} |
