Pixellated 3D with Sprite3Ds

Godot Version

4.4

Question

Hi, I’m making a game with a similar pixellated style to A Short Hike. Only, I want to use Sprite3Ds for some things, such as the player character and NPCs.

I’m pixellating the scene with a SubViewport. The issue is that this causes the Sprite3D to be distorted / not pixel-perfect.

I believe I’ve solved this partly using a shader to snap the Sprite3Ds in screen space. But, there’s still some distortion at times and I believe this may be due to the sizing / scaling of the Sprite3Ds. How do I determine the exact scale to set these to so that they appear pixel-perfect in game?

Initially / alternatively, I tried separating the world and Sprite3Ds into separate SubViewports but this didn’t work correctly and would mean I couldn’t make things interact properly anyway.