如何设置纹理过滤器
How to set a texture filter
设置纹理过滤器有多重要?
在书 Java Game Development with LibGDX 的第 3 章中,他们设置了纹理过滤器。
当我使用 assetmanager 加载视频资源时,我无法将 textureregion 转换为纹理以设置纹理过滤器。
但是我可以像这样在整个 spritesheet 上设置纹理过滤器:
textureAtlas = assetManager.get("images/packed/game.pack.atlas") // all images are found in this global static variable
textureAtlas!!.findRegion("button").texture.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear)
设置纹理过滤器有多重要?这是一个好的解决方案吗?如何从图集中获取纹理?
纹理总是有一个过滤器。如果您不设置一个,它将具有默认过滤器(最近,最近)。此滤镜适用于复古图形(像素化外观)。否则,您很可能想要使用 (MipMapLinearLinear, Linear)。如果您的游戏已基本完成,并且您已将精灵绘制确定为性能 bottle-neck,那么您可以降级为(MipMapLinearNearest,线性)。
使用TexturePacker创建图集时,有一个纹理过滤器选项,如果您设置了它,则不必在游戏中加载TextureAtlas后进行设置。您还可以像这样在打包文件的顶部添加一行:
filter: MipMapLinearLinear,Linear
否则,如果你想在图集上设置它,用 single-page 图集做你所做的就可以了,并使用来自任何纹理区域的纹理参考应用过滤器,因为它们都引用同一个 Texture 实例。但是TextureAtlases可以有多个页面,所以这样做更合适:
for (Texture texture : textureAtlas.getTextures())
texture.setFilter(...);
编辑: 要向 TexturePacker 构建添加设置,请将名为 pack.json 的文本文件放入包含源图像的目录中。您只需添加要从默认设置更改的设置。 LibGDX 可以阅读简化的 json,它省略了没有空格的元素的引号。所以只要设置纹理过滤器,这就是你在文件中所需要的:
{
filterMin: MipMapLinearLinear,
filterMag: Linear
}
设置纹理过滤器有多重要?
在书 Java Game Development with LibGDX 的第 3 章中,他们设置了纹理过滤器。
当我使用 assetmanager 加载视频资源时,我无法将 textureregion 转换为纹理以设置纹理过滤器。
但是我可以像这样在整个 spritesheet 上设置纹理过滤器:
textureAtlas = assetManager.get("images/packed/game.pack.atlas") // all images are found in this global static variable
textureAtlas!!.findRegion("button").texture.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear)
设置纹理过滤器有多重要?这是一个好的解决方案吗?如何从图集中获取纹理?
纹理总是有一个过滤器。如果您不设置一个,它将具有默认过滤器(最近,最近)。此滤镜适用于复古图形(像素化外观)。否则,您很可能想要使用 (MipMapLinearLinear, Linear)。如果您的游戏已基本完成,并且您已将精灵绘制确定为性能 bottle-neck,那么您可以降级为(MipMapLinearNearest,线性)。
使用TexturePacker创建图集时,有一个纹理过滤器选项,如果您设置了它,则不必在游戏中加载TextureAtlas后进行设置。您还可以像这样在打包文件的顶部添加一行:
filter: MipMapLinearLinear,Linear
否则,如果你想在图集上设置它,用 single-page 图集做你所做的就可以了,并使用来自任何纹理区域的纹理参考应用过滤器,因为它们都引用同一个 Texture 实例。但是TextureAtlases可以有多个页面,所以这样做更合适:
for (Texture texture : textureAtlas.getTextures())
texture.setFilter(...);
编辑: 要向 TexturePacker 构建添加设置,请将名为 pack.json 的文本文件放入包含源图像的目录中。您只需添加要从默认设置更改的设置。 LibGDX 可以阅读简化的 json,它省略了没有空格的元素的引号。所以只要设置纹理过滤器,这就是你在文件中所需要的:
{
filterMin: MipMapLinearLinear,
filterMag: Linear
}