Open hhyyrylainen opened 2 years ago
The cause of the problem is the small size of a circle - the bottom round part seems to be cut off by Godot.
I think we could perhaps reasonably do something like round the button size up or something to avoid the specific pixel sizes this issue occurs at.
30x30 (100%)
5x5
6x6 (20%)
8x8 (26.67%)
10x10 (33.33%)
15x15 (50%)
Summary:
This happens when size is less than 10x10
Disabling mipmapping in the import settings for this asset avoids this issue, but makes the icon look pixelly.
I tried replacing the asset with a 10x10 version imported without mipmapping, and it mostly worked but had a small bit weirdly cutoff in the second to last zoom level.
Another choice I thought of but didn't have the time to try using this: https://github.com/godot-extended-libraries/godot-antialiased-line2d and render the icon procedurally as 3 layered circles rather than from a png. Using the default Polygon2D Node doesn't work too well because antialiasing doesn't work properly for it.
The rest of the evolutionary tree already uses the direct control drawing methods so using the calls to draw a circle etc. would be directly usable. I don't know what kind of performance impact that would have as you need to set the vertex count (and antialiasing) high for circles to be really circular looking.
See this screenshot for example:
the bottoms of the circles don't appear round