About dynamic camera and how not to show grey screen

Godot Version

4.6

Question

Basically problem is when u move, camera shows grey undeveloped areas.

So initially I decided I would use a 640 x 360 viewport and then just post a series of obstacles and a sign and after I step near the sign, we transit the scene.

But I found it a little weird, cause it was a very small area, and yeah it felt very flat and hard to design the whole level in little blocks or scenes, so I came up with an idea that I would use a nice wallpaper with an area2D. Then everytime a user stepped into a new background, I would recalibrate the maximum directional limits of the camera.

But there are a number of problems with this

  1. It feels abit choppy and no different from a scene transition except that you can go back
  2. I have bigger levels planned, and on some of them, you want to be able to say, see what’s coming up when u are jumping, and not just move the camera to the next scene’s boundaries.

Can anyone advise on a high level, what u need to do?

I don’t need you to provide code, I am an application dev and know how to code if you point me in the right direction :grinning_face:

Hello,
You can use ParallaxBackground for the background

Also, lowering the viewport size isn’t ideal. You should change size of the camera instead.

2 Likes

Oh my gawd! U gave me hard level homework!

Might be overkill for my use case but still useful so I don’t have to source and stitch backgrounds from gemini.

It’s about scrolling the scene and dividing it into parts.

Thankfully I had a last working savepoint on git :laughing:

I kinda fixed camera issues by setting it to viewport limits XD

Did you nuked your project while fixing it xD

You should explain it more clearly, it’s quite hard to get what’s the problem.

Yeah, cause I used to reset camera limits to viewport size, so after I used the parallax one, it was like a merry go round carousel or such a lamp with my coconut tree moving position XD.

I think I am gonna have to do it janky and lose some of my progress.