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

Unity协程无法正常修改玩家移动速度问题求助

速度提升道具仅蹲伏速度生效的问题排查与解决

问题场景

我用挂载了SpeedBoost脚本的空游戏对象做速度提升道具,其下有预制体子对象。玩家触发道具时,OnTriggerEnter会启动协程,在3秒内提升玩家行走、奔跑、蹲伏速度并禁用道具;计时结束后恢复玩家默认速度,重新激活道具。但实际只有蹲伏速度得到提升,行走和奔跑速度无变化。已尝试调整代码顺序、删除蹲伏速度代码段,确认提升后数值均高于默认值,且无其他代码干扰,另一个无协程的减速道具可正常工作。

现有代码

private void OnTriggerEnter(Collider other)
{
    if (other.tag == "Player")
    {
        StartCoroutine(RespawnSpeedBoost());
    }
}

IEnumerator RespawnSpeedBoost()
{
    // reference movement script to get the speed values
    movement.walkSpeed = boostedWalkSpeed; // 12f
    movement.sprintSpeed = boostedSprintSpeed; // 12f
    movement.crouchSpeed = boostedCrouchSpeed; // 8f
    speedBoost.SetActive(false);        
    yield return new WaitForSeconds(3);
    speedBoost.SetActive(true);
    movement.walkSpeed = walkSpeed; // 4f
    movement.sprintSpeed = sprintSpeed; // 6f
    movement.crouchSpeed = crouchSpeed; // 2f
}

排查方向与解决办法

  • 检查移动脚本的实时覆盖逻辑:玩家移动脚本的Update/FixedUpdate里如果有每一帧重置walkSpeed、sprintSpeed的代码(比如直接写死默认值),会覆盖协程的赋值。删掉这类实时重置的代码,只在初始化或特定状态切换时设置默认速度。

  • 验证赋值是否成功:在协程赋值后添加日志打印,确认数值是否正确设置到移动脚本中:

    IEnumerator RespawnSpeedBoost()
    {
        movement.walkSpeed = boostedWalkSpeed;
        movement.sprintSpeed = boostedSprintSpeed;
        movement.crouchSpeed = boostedCrouchSpeed;
        Debug.Log($"赋值后行走速度:{movement.walkSpeed},奔跑速度:{movement.sprintSpeed},蹲伏速度:{movement.crouchSpeed}");
        speedBoost.SetActive(false);        
        yield return new WaitForSeconds(3);
        speedBoost.SetActive(true);
        movement.walkSpeed = walkSpeed;
        movement.sprintSpeed = sprintSpeed;
        movement.crouchSpeed = crouchSpeed;
    }
    

    如果日志显示数值正确但移动无变化,说明移动脚本里有其他逻辑覆盖了速度值。

  • 确认移动脚本的变量访问权限:确保walkSpeed、sprintSpeed是public变量,或者有公开的setter方法,避免外部无法正确赋值。

  • 检查状态切换的硬编码逻辑:玩家切换行走/奔跑状态时,是否直接硬写了速度值而不是使用walkSpeed/sprintSpeed变量。比如把rb.velocity = transform.forward * 6f改成rb.velocity = transform.forward * sprintSpeed,确保使用变量而非固定数值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:37:26