Pixel sprite blurred while moving

PaulPaul Posts: 4Member

Hello Godot community,

I have a problem when I try to move pixel art sprites, they become all strange and blurry while in movement. I've searched everywhere for a solution but none of the things I tried worked.

Import setting are correct - no filter. Pixel Snap enabled in Project Setting.

I made a video to showcase the problem : youtu.be/fxqs2YKETTw

It's a simple player scene with a Kinematic body and very basic movement code.
Here the display size is 640 * 360, in viewport mode, and I scaled up the sprite for demonstration purpose, but this will happen regarless of these settings.

Thanks in advance for your help.

Best Answer

  • MegalomaniakMegalomaniak Posts: 1,386
    Accepted Answer

    Your game is 640x360, you said it your self. The pixels are really large then. Think of it like the model is walking up pixel sized stairs as its moving diagonally on screen.

Answers

  • MegalomaniakMegalomaniak Posts: 1,386Admin
    edited August 13

    Uncapped FPS?

    I bet it's just ghosting.

    https://www.testufo.com/

  • PaulPaul Posts: 4Member
    edited August 13

    Thank you for your answer.

    My screen refresh rate is 60 Hz, the website you've linked return 60 frame per second, and so does the scene inside the engine - Engine.get_frames_per_second() return 60.

    However the ghosting test on testufo.com seems positive. I didn't know what ghosting was so I made some researchs. From what I understand, it would come from my monitor ? I find it surprising, if that's the case, since I've played a lot of pixel art games and never have that problem before. Plus it's not like the monitor is old (I use https://iiyama.com/gl_en/products/prolite-xu2292hs-b1/)

    Another thing that troubles me is that at low UFO speed, I have no ghosting at all on testufo, while the blurry effect persist in godot even if I set the movement speed to a low value, plus the movement is strangely irregular and jaggy, which ghosting does not explain, right ?

    Anyway, is there anything I can do about ghosting in godot ? With a small display window resized in full screen, the motion blur is really horrible...

  • MegalomaniakMegalomaniak Posts: 1,386Admin
    edited August 13

    IPS can be somewhat prone to ghosting but from the product page it seems your monitor also has some "flicker free" features, you might want to try turning that on or off.

    edit: also looks like your monitor might be 75hz so godot capping at 60 might cause further flicker for you. Most players playing on 60hz monitors probably would'nt be experiencing this then.

    If you, and I'm assuming you are using windows(looks like version 10 from the video) here, right click on your desktop go to screen resolution, then click on advanced settings(or something along those lines) from there, and on the window that opens up you click on the monitor tab, you should see a drop down for screen refresh rate. Might want to experiment with any options it might list too, it should only list options supported by your monitor.

  • PaulPaul Posts: 4Member

    My monitor refresh at 60hz, and I only have options for a lower refresh rates (50 and 59), which changed nothing. I did not find any useful options in the monitor's settings either.

    Just one more thing, thought. While moving in diagonal, the sprite is shivering. I made a video again since it was unclear in the first one : youtu.be/wURtEWJ-42w

    Sadly it's not as clear in video, while very clear from my monitor, but still, it's there.

    Any idea of what it is ?

  • MegalomaniakMegalomaniak Posts: 1,386Admin
    Accepted Answer

    Your game is 640x360, you said it your self. The pixels are really large then. Think of it like the model is walking up pixel sized stairs as its moving diagonally on screen.

  • PaulPaul Posts: 4Member

    I figured as much. Is this unavoidable when working in low res with diagonals then ?

    Thank you for your answers, anyway.

  • MegalomaniakMegalomaniak Posts: 1,386Admin

    you could try changing your project resolution to monitor native, and use camera zoom with mipmapping disabled to get the retro look, that might alleviate if not avoid it altogether.

Sign In or Register to comment.