Изображения с прозрачными пикселями, упакованные с помощью Texture Packer, являются черными

Я попытался создать текстурный атлас с прозрачными изображениями для анимации. Вместо моей текстуры я получаю изображение черного квадрата, соответствующее размеру первой текстуры, которую я хотел упаковать в атлас текстуры. Я использовал этот упаковщик текстур https://www.codeandweb.com/texturepacker потому что графический интерфейс libgdx по какой-то причине не может его упаковать (он говорит об ошибке). До появления прозрачных изображений я использовал его для обычных непрозрачных изображений и это работало нормально. Кажется, я получаю черные изображения из-за прозрачности. У кого-нибудь была похожая проблема с прозрачными текстурами?

код:

mainCharAtlas= new TextureAtlas("Sh/mainChar.txt");
        mainCharRegions= new Array<TextureAtlas.AtlasRegion>(mainCharAtlas.getRegions());
        mainCharAnim= new Animation(1f/31f,mainCharRegions);

        mainChar= Decal.newDecal(mainCharRegions.first(),true);
        CameraGroupStrategy cameraGroupStrategy = new CameraGroupStrategy(camera);
        decalBatch=new DecalBatch(cameraGroupStrategy);
        mainChar.setPosition(0.14f, 0f - 1.83f, 0.64f);
        mainChar.setWidth(7f);

        mainChar.setHeight(7f);
        mainChar.setRotation(0, 90, 20.5F);

это пример из текстового файла:

mainCharacter.png
size: 4849, 4069
format: RGBA8888
filter: Linear,Linear
repeat: none
01
  rotate: false
  xy: 571, 1
  size: 568, 568
  orig: 906, 906
  offset: 168, 167
  index: -1
02
  rotate: true
  xy: 1141, 1
  size: 568, 572
  orig: 906, 906
  offset: 166, 161
  index: -1
03
  rotate: true
  xy: 2922, 1
  size: 577, 606
  orig: 906, 906
  offset: 161, 144
  index: -1

mainCharacter.png, созданный с помощью упаковщика текстур, содержит прозрачные области, и это хорошо.

1 ответ

Решение

Проблема здесь, скорее всего, в размере текстуры:

size: 4849, 4069

Вы должны остаться ниже 4096, и даже это может не работать на всех устройствах. Я рекомендую оставаться ниже 2048x2048.

Это аппаратное ограничение - с этим ничего не поделаешь.

Другие вопросы по тегам