#How to make UI high res and 3D game low res?

10 messages · Page 1 of 1 (latest)

bitter lotus
#

I am making a PlayStation 1 styled game and I have the resolution set to 640x480 and the test-window-size to 1280x720. The stretch mode is viewport and the aspect is expand.
With this resolution configuration I am able to get a pixel/retro look.
But my problem is that the UI gets blurry.
How can I have the 3D game in a pixel/retro look while having the UI (Label, Images...) high res?

crimson magnet
#

make a subviewport, render it to a small size, then scale it up

#

ui is separate from subviewport with game on it

upbeat mesa
#

I think using a Shader can also work

crimson magnet
#

yeah but that takes more processing power

#

you render it to full size then you lower the resolution vs render it to small size and scale it up

bitter lotus
#

In project settings I set the resolution up to 1200x720.
Then I created a SubViewport with the size 640x480.
Then I scale it up under the scaling_3d_scale property. Is that correct?
And where do I put the Camera3D?

bitter lotus
#

Now I have this structure.
I can enable stretch in the SubViewContainer to get it stretched over the screen, but the resolution remains still high res. I can disable it and set the size in SubViewPort. That would solve my main problem, but then the SubViewPort isn't the full size of the screen. When setting Size2D override, nothing happens

#

Now I understand why it doesn't work. It is a bug in Godot:
https://github.com/godotengine/godot/issues/62041
Here are two very bad practice workarounds:
https://www.reddit.com/r/godot/comments/zac5sg/comment/iymw9va/?utm_source=share&utm_medium=web2x&context=3

GitHub

Godot version v4.0.alpha9.official.fc18891db System information Linux Issue description When resizing a SubViewportContainer with stretch enabled, the size of the child SubViewport is changed to th...