0 votes

I was trying to recreate Celeste's style zoom like in gif below

Celeste's style zoom
Simple camera zoom interpolation doesn't work -- all is just loosing quality
(base resolution 480x270, main resolution 1440x810, mode viewport).
Camera Zoom
Changing "display/window/stretch/shrink" property working perfectly except i can't change it on runtime (base resolution 1440x810, mode viewport, shrink 3/2).

Is there a way I can achieve interpolation between states on last 2 screenshots without losing quality (changing base resolution maybe?) like in Celeste?
Tried to figure it out for 2 days, ended up with nothing.

Thanks in advance!

in Engine by (17 points)

1 Answer

0 votes

Celeste is zooming in so they only have to multiply the size of their pixels. You are trying to fit a 16x16 tile (or whatever the size is) into less than half that size of course you're gonna lose details.

Design your art to look good at max distance zoom you want, then you make the default camera zoom be x2 or x4 the size of your original sprites so when you zoom out you go back to your tiles at the default size instead of compressing them.

by (396 points)

Thanks for you answer!
I completely understand what you said, but I don't think that this issue is about art style. I want to change base resolution while zooming to keep details on sprites. I got 480x270 base resolution and 1440x810 final resolution, so I should be able to perform 3x zoom out without loosing details(by changing base resolution). So, can I change base resolution in runtime? Or there is another way of doing that?

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.