You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity慢动作技能冷却与持续时长控制实现问询

实现带冷却和时长限制的Unity慢动作技能

直接给你修改后的完整代码,关键逻辑都加了注释,编辑器里就能调整参数:

using UnityEngine;

public class SlowMotionSkill : MonoBehaviour
{
    // 慢动作的时间缩放比例,数值越小越慢
    [SerializeField] private float slowMotionScale = 0.1f;
    // 慢动作持续时长(真实时间,单位:秒)
    [SerializeField] private float slowDuration = 2f;
    // 技能冷却时间(真实时间,单位:秒)
    [SerializeField] private float cooldownTime = 5f;

    private float currentSlowTime;
    private float currentCooldownTime;

    void Update()
    {
        // 冷却倒计时:不受慢动作影响,用真实时间计算
        if (currentCooldownTime > 0)
        {
            currentCooldownTime -= Time.unscaledDeltaTime;
        }

        // 触发技能:仅在右键按下的第一帧生效,需满足冷却完成、未在慢动作中
        if (Input.GetKeyDown(KeyCode.Mouse1) && currentCooldownTime <= 0 && currentSlowTime <= 0)
        {
            currentSlowTime = slowDuration;
            currentCooldownTime = cooldownTime;
            // 开启慢动作,同步调整物理更新间隔
            Time.timeScale = slowMotionScale;
            Time.fixedDeltaTime = Time.timeScale * 0.02f;
        }

        // 慢动作倒计时:用真实时间计算到点恢复
        if (currentSlowTime > 0)
        {
            currentSlowTime -= Time.unscaledDeltaTime;
            if (currentSlowTime <= 0)
            {
                // 恢复正常时间流速和物理更新间隔
                Time.timeScale = 1f;
                Time.fixedDeltaTime = 0.02f;
            }
        }
    }

    // 场景切换或脚本销毁时强制恢复时间,避免全局异常
    void OnDestroy()
    {
        Time.timeScale = 1f;
        Time.fixedDeltaTime = 0.02f;
    }
}

关键逻辑说明

  • 输入检测改到Update:FixedUpdate是物理更新帧,输入检测放在Update(每帧执行)响应更及时,避免按键延迟。
  • 真实时间计时:用Time.unscaledDeltaTime计算冷却和持续时长,因为慢动作下Time.deltaTime会被拉长,必须用不受时间缩放影响的真实时间来保证计时准确。
  • 单次触发:用GetKeyDown代替原代码的GetKey,按住右键不会重复触发技能,只会在按下瞬间启动一次慢动作。
  • 物理同步:调整fixedDeltaTime时保持和原默认值(0.02秒)的比例,避免慢动作下物理行为(比如刚体移动)出现异常。
  • 编辑器可调参数:用[SerializeField]标记变量,不用改代码就能在Unity Inspector面板调整慢动作强度、持续时间和冷却时间。

内容的提问来源于stack exchange,提问作者PATRICK _

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 09:02:53