2017-01-20 3 views
0

내 LibGdx 프로젝트의 경우 애니메이션을위한 단일 이미지 및 스프라이트 시트를 포함한 애셋을 가지고 있습니다. 모든 것을 단일 아틀라스에 압축하는 것이 효율적이라는 것을 알고 있습니다.텍스처 패킹 애니메이션 이미지/스프라이트 시트 효율적 -Libgdx

스프라이트 시트에 관해서는 어떻게 포장 할 수 있습니까? 포장 할 때 단일 스프라이트 시트 나 스프라이트 시트의 단일 이미지를 사용해야합니까? 예 : 4 개의 프레임이있는 '뱀'이라는 스프라이트 시트가 있습니다. 또한 snake_01, snake_02, snake_03 및 snake_04에 뱀 프레임이 있습니다.

어느 쪽이 더 좋은 방법입니까?

답변

0

두 번째 방법은 관리하는 데 훨씬 적은 시간이 소요됩니다. snake_01.png, snake_02.png 등과 같은 애니메이션의 각 프레임마다 별도의 파일을 사용하십시오.

LibGDX TexturePacker는 이러한 모든 영역을 자동으로 "뱀"으로 지정하고 색인 번호를 부여합니다.

는 다음, TextureAtlas를로드 한 후, 당신은 전체 애니메이션을 뽑을 수 :

Array<TextureAtlas.AtlasRegion> snakeRegions = textureAtlas.findRegions("snake"); 
Animation<TextureRegion> snakeAnimation = new Animation<TextureRegion>(0.1f, snakeRegions); 

당신이 1.9.5 이전의 LibGDX의 버전을 사용하는 경우가 <TextureRegion> (두 번)을 생략합니다. Animation 클래스는 1.9.5 버전에서 일반화되었습니다.

+0

감사합니다! 한가지 더, 특정 이미지의 영역을 가져올 때 findRegion()을 사용하여 렌더링 후 아트라스에서 이미지 근처의 부분을 볼 수있었습니다. 어떻게됩니까? – Niranjana

+1

화면 크기가 원본 크기의 1x1보다 작고 가장 가까운 필터링을 사용하지 않는 경우 선형 필터링을 수행하면지도에서 주변 픽셀이 스프라이트로 흐려집니다. 이것을 막기 위해 텍스처 패커 설정에서 채우기를 늘리십시오. – Tenfour04

+0

문제가 해결되었습니다. 많이 감사합니다! – Niranjana