2013-07-15 11 views
7

さまざまなテクスチャの異なるオブジェクトがいくつかありますので、TexturePackerでTextureAtlasを使って、TextureRegionのサイズを変更しています。私は720pと1080pの両方をサポートしようとしているだけでなく、ボードの幅と高さに基づいてサイズを変更するタイルやカーソルがゲーム内で変わる可能性があるので、サイズを変更する必要があります画面の同じ割合を占めています。 TextureLibGDX:スケーリングされたTextureRegionのフィルタリング

、私はこれを行うことができます。

texture.setFilter(TextureFilter.Linear, TextureFilter.Linear); 

をしかし、私はフィルタを設定するオプションはありませんTextureRegionを使用していたとき。これは、これらのTextureRegionのサイズがシャープで、ばらばらで、ギザギザになってしまいます。これは良いスケーリングではなく、アンチエイリアスには全く見えません。

これはかなりイライラしています。なぜなら、私はグラフィックを作っていて、私が作ったものが気に入っていても、それは嘘つきです。 Textureの代わりにTextureRegionを使用してTextureFilter.Linearの効果を再現するにはどうすればよいですか?

答えて

13

.atlasファイルを開いて、filterの値をLinear, Linearに変更することができます。またはregion.getTexture()を使用して、その地域が属するテクスチャにアクセスしてから、setFilter(...)を呼び出してください。

+0

イメージをパックするたびに.altasファイルを手動で変更しないように、次のコマンドを使用できます:https://github.com/libgdx/libgdx/wiki/Texture-packer#設定 –

0

あなたはGDX-ツールを使用して梱包している場合、あなたはオプション

Settings settings = new Settings(); 
    settings.paddingX = 2; 
    settings.paddingY = 2; 
    settings.minWidth = 32; 
    settings.minHeight = 32; 
    settings.maxHeight = 1024; 
    settings.maxWidth = 1024; 
    settings.stripWhitespaceX = true; 
    settings.stripWhitespaceY = true; 
    settings.filterMag = TextureFilter.Nearest; 
    settings.filterMin = TextureFilter.Nearest; 
    settings.flattenPaths = true; 

    TexturePacker2.process(settings, "input directory", "output directory","packName"); 

    System.out.println("PackTextures->main finished."); 

たり、テクスチャパッカー-gui.jarを使用している場合に設定する必要がその後、(線形(分)とリニアのチェックボックスにチェックを入れmax)を入力してください。

関連する問題