Fonts LibGDX(Freetype)字体丑陋且难以理解

Fonts LibGDX(Freetype)字体丑陋且难以理解,fonts,libgdx,scale,font-size,freetype,Fonts,Libgdx,Scale,Font Size,Freetype,我正在使用Freetype字体显示文本。但字体看起来总是: #1不可读(通过减小字体大小): 或#2丑陋(通过缩放): 以下是我使用的摄影机/视口设置: camera = new OrthographicCamera(1280, 720); batch = new SpriteBatch(); viewport = new StretchViewport(100,100,camera); viewport.apply(); 我想这是因为视

我正在使用Freetype字体显示文本。但字体看起来总是: #1不可读(通过减小字体大小):

或#2丑陋(通过缩放):

以下是我使用的摄影机/视口设置:

  camera = new OrthographicCamera(1280, 720);
        batch = new SpriteBatch();
        viewport = new StretchViewport(100,100,camera);
        viewport.apply();

我想这是因为视口太小,但我真的不想更改它。有人知道如何解决这个问题吗?

根据您的#2版本,在字体上调用
setUseIntegerPositions(false)
。默认情况下,它将角色位置舍入到最接近的整数,这在小视口中看起来很糟糕。您可能希望为其提供mip贴图,并使用MipMapLinearLinear作为最小过滤器来补偿与屏幕像素不对齐的字符(以减少模糊度)。

根据您的#2版本,在字体上调用
setUseIntegerPositions(false)
。默认情况下,它将角色位置舍入到最接近的整数,这在小视口中看起来很糟糕。您可能希望为其提供mip贴图,并使用MipMapLinearLinear作为最小过滤器来补偿与屏幕像素不对齐的字符(以减少模糊)。

我遇到了类似于图2的问题。我试图在浮动y位置上绘制文本(如y=26.14),但字母没有对齐。尝试总是在圆形y(25,26,27)上绘制它。我有一个类似于图2的问题。我试图在浮动y位置上绘制文本(如y=26.14),但字母没有对齐。尝试始终在四舍五入的y(25,26,27)上绘制。应该注意,从.fnt文件创建位图字体时,这同样有价值。应该注意,从.fnt文件创建位图字体时,这同样有价值。
generator = new FreeTypeFontGenerator(Gdx.files.internal("Fonts/LDFComicSans.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 30;
font = generator.generateFont(parameter); // font size 12 pixels
font.setColor(Color.BLACK);
font.getData().setScale(0.15F, 0.15F);
font.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
generator.dispose();
  camera = new OrthographicCamera(1280, 720);
        batch = new SpriteBatch();
        viewport = new StretchViewport(100,100,camera);
        viewport.apply();