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

Godot 4.4 3D角色无按键自动移动问题求助

解决Godot 4.4角色自动朝向鼠标视角移动的问题
  • 修复减速逻辑的帧率同步问题
    你的_physics_process中,角色减速时的move_toward没有乘以delta,这会导致减速速度不随帧率变化,可能引发异常移动。修改代码:

    else:
        velocity.x = move_toward(velocity.x, 0, SPEED * delta)
        velocity.z = move_toward(velocity.z, 0, SPEED * delta)
    
  • 检查输入映射与input_dir的正确性
    确认Input.get_vector使用的输入动作(ui_left/ui_right/ui_up/ui_down)没有被其他功能占用,或绑定了错误的输入设备(比如鼠标轴)。可以临时替换为直接获取按键状态来测试:

    input_dir = Vector2(
        Input.get_action_strength("ui_right") - Input.get_action_strength("ui_left"),
        Input.get_action_strength("ui_up") - Input.get_action_strength("ui_down")
    ).normalized()
    
  • 排除子节点脚本的干扰
    即使注释了建造相关代码,$"Building Block"节点的脚本可能仍在运行并干扰输入。暂时移除该节点,测试角色移动是否恢复正常。

  • 显式重置input_dir状态
    虽然当前代码逻辑正确,但可以显式确保mouse_captured为false时input_dir是零向量,避免意外的非零值:

    var input_dir = Vector2.ZERO
    if mouse_captured:
        input_dir = Input.get_vector("ui_left","ui_right","ui_up","ui_down")
    else:
        input_dir = Vector2.ZERO
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 03:15:55