Loading

如何在Godot中使用ParallaxBackground实现稳定的2d游戏背景[一问随笔]

问题:

我尝试给2d游戏添加静态的背景,当角色运动速度很快时相机的渲染就跟不上角色了,背景会发生这样巨大的位移。
image
image

我将Camera2d节点和背景节点绑在一起,但根本无法解决这个问题。

我还尝试制作天空盒子作为解决方案,有没有什么更好的方案?

解决:

Godot提供了两种节点ParallaxBackgroundParallaxLayer,是专门用来做背景的。

  1. 按照ParallaxBackground -> ParallaxLayer -> yourSprite的方式摆放节点。yourSprite即是你的背景图。

  2. ParallaxLayer找到Motion一栏,将Scale调整为 0,0,即可实现完全跟随镜头的背景。

  3. 如果希望背景运动速度和镜头有一定差异,产生一种背景视差的感觉,那就将上述Scale调整为0.5,0.5,或是别的0~1之间的数,之后会按照这个倍率移动背景。

思考:

毕竟Godot是2d引擎出生,对2d的支持比较丰富。而且因为是内置的,也许用这个也能实现优化Draw Call的效果吧。

参考:

https://godotengine.org/qa/39149/solved-static-background-from-already-existing-image-game

posted @ 2023-04-27 12:24  期miu  阅读(488)  评论(0编辑  收藏  举报