Static objects(rocks/doors/gems) seem to shake when the camera Overview is moving


I don't know why this happens, but I realized it also happens when the game is running and I slow down to a full stop as the character (with the player camera only rocks and gems shake).

2 loves
  • Nathan Lovato replied
    Can you please compress your Godot project files as a zip and upload them to a hosting website like google drive? I would like to open your project in Godot to see why this is happening.
  • k
    kimonade replied

    This happens also with ObstacleCourse_Part3 without me editing anything inside it. I think it has to do with how Godot is set up on my PC or just my graphics card or something.

    Here's a drive link to a screen recording I did: ScreenShake

    I realized that if I turn off GPU pixel snap, the shaking stops, but then lines would appear between the tiles when moving the character/camera

  • Nathan Lovato replied

    I see, so it seems that the GPU pixel snap is causing the issue on your computer. This is really unfortunate. We won't have a good workaround for that, as we use pixel snap to avoid the lines between tiles, as you observed.

    In Godot 4 there's a tool built-in that will remove these lines between tiles issue, which you face in almost every game engine. It's due to a sampling imprecision on the graphics card's side when we don't snap pixels in the game to pixels on the screen.

    You can give special treatment to the tileset texture to get rid of the issue, but surprisingly there aren't many tools to help you do that as we have a limited budget, and this is a visual glitch GPU snapping normally solves for... almost everyone it seems, we decided we just wait for Godot 4, which has it built-in.

    2 loves
  • The_Lunarian replied

    Asking out of curiosity: are you on MacOS, kimonade ?

  • HoldThisWoe replied

    I have the same issue on Pop_Os.

    Also I noticed, when we generate random rocks the random_offset variable's values are not rounded, so they have floating point. That results in rock.position values to have such values (1601.827515, 2376.452148), (1762.617554, 2368.361572). So I round the random_offset variable values before we assign position to rocks:

    random_offset[0] = round(random_offset[0])
    random_offset[1] = round(random_offset[1])
    rock.position = offset + random_offset

    The rocks don't shake, when Godot is moving, but they are still shaking when the overview animation plays. :(

  • AJ Studios replied

    I’m on MacOS and I’m glad I don’t have this problem. It could be, (as mentioned above) a graphics card issue.