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

Godot 3.5:Camera2D影响下的恒定水平视差背景问题求助

解决Godot 3.5.3视差背景与相机跟随冲突的问题

核心问题原因

ParallaxBackground默认会绑定场景中的Camera2D,自动根据相机位置调整滚动偏移。当相机跟随玩家移动时,相机的位移会抵消你脚本中手动设置的滚动,导致背景“卡住”或随玩家移动。

具体解决方案

步骤1:解除ParallaxBackground与相机的绑定

选中你的ParallaxBackground节点,在检查器面板中找到Follow Camera属性,点击右侧的清除按钮(叉号),将其设置为null。这样背景就不会再受相机位置的影响,完全由你的脚本控制滚动。

步骤2:调整滚动脚本(可选优化)

你现有的滚动逻辑是有效的,可优化为更灵活的写法,方便在编辑器中调整参数:

extends ParallaxBackground

export var scroll_speed: float = 40.0  # 可在检查器面板直接修改滚动速度

func _process(delta: float) -> void:
    scroll_offset.x += scroll_speed * delta
    # 可选:若使用循环纹理,添加偏移重置避免数值过大
    # 替换1920为你背景纹理的实际宽度
    if scroll_offset.x > 1920:
        scroll_offset.x -= 1920

步骤3:保持Camera2D的跟随设置

你的Camera2D无需修改,继续让它追踪玩家即可。此时背景会独立于相机持续滚动,相机则专注聚焦玩家,两者互不干扰。

额外注意事项

  • 若背景包含多个ParallaxLayer,无需为每个图层单独写脚本,控制父节点ParallaxBackground的scroll_offset即可,子图层会根据各自的Motion Scale属性自动产生层级视差效果。
  • 如果背景纹理不是无缝循环的,需提前准备拼接纹理或在滚动到边界时切换纹理,避免出现空白区域。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 02:30:09