2016-07-30 12 views
2

LibGDX로 작성한 모바일 게임의 성능 문제가 있습니다. 테스트 용으로 하나의 해결 방법 (1920x1080) 만 있다고 가정 해 봅니다. - 그래서 주어진 해상도에 좋아 보인다 이 enter image description hereLibgdx - 거대한 스프라이트 시트를로드하여 검정색으로 렌더링하지 않는 방법?

나는이 입자 내 로고 주위에 날고 싶어요, 그래서 적어도 256px/512px로 크기가 필요합니다

나는 다음과 같은 이미지와 결합 된 spritesheet이 . 하나의 프레임이 그 크기를 가지고 있으며 좋은보고를 위해 나는 적어도 32 프레임이 필요

경우, 전체 spritesheet 치수 가지고 계산하기 쉽다 :

width: 256 * 8 (columns) = 2048 
height: 512 * 4 (rows) = 2048 

이 가장 낙관적 인 생각은을의 원인이 스프라이트 시트는 더 커야합니다. 스프라이트 시트의 무게는 ~ 50kb이므로 실제 크기는 문제가됩니다.

어제 나는 모든 것을 LibGDX의 데스크탑 버전에서 테스트했습니다. 모든 것이 잘 렌더링됩니다. Android로 메뉴를 마친 후 게임을 이식했고이 스프라이트 시트를 그려야하는 영역은 검은 색입니다.

gamedev를 읽었거나 여기서 기억해야 할 점은 최대 크기가 od 1024/1024 인 그래픽 만 사용해야한다는 것입니다. LibGdx는 여러 버전에서 Android로 더 높은 텍스처를로드하는 데 문제가 있습니다.

내가 성취하고자하는 것은 무엇입니까? 이 작업을 수행하고 텍스처를로드하는 방법을 찾아야합니다.

나는 이미 픽스맵을 사용하여 파일 크기를 조정하여 시도하지만

나는 누군가가 왜 그냥 '하나를 만들 것, 말을 알고 ... 그것은 품질 등을 절감, 치수로의 int 소요 도트 '오브젝트를 아래처럼 주황색 그래픽으로 표시하고,이 도트를 무작위로 생성하고 때로는 알파를 변경합니까? 그것은 '안개'와 같은 다른 애니메이션이 필요하기 때문에 옵션이 아닙니다. 점처럼 쉽게 프로그래밍 할 수 없습니다.

질감, 지역 또는 다른 것으로 크기를 조정하는 방법이있을 수 있습니다 (물론 가로 세로 비율을 유지하기 위해 수레를 사용)?

사람이 어떤 아이디어를 가지고 있다면, 나는 내 응용 프로그램에서 큰 spritesheets를 사용하는 방법, 나는 매우 감사 :)

+0

각 텍스처가 256 x 512 인 경우 문제를 해결하기 위해 4 개의 1024 x 1024 텍스처를로드 할 수 없습니까? –

+0

내가 말했듯이, 이것이 가장 낙관적 인 경우입니다. 1920x1080 장치의 256x512 조각이 실제로 아주 작게 보입니다. 나는 그래픽을 줄여야하고, 상류층은 필요 없다. 크기를 조정할 때 품질이 떨어지지 않도록 크기가 더 커야합니다. (스프라이트 시트가 더 커지면 20 개의 작은 스프라이트 시트로 잘라야합니다. ( –

+1

)이 특정 애니메이션의 경우 애니메이션의 경우 텍스처를 동영상으로로드하는 대신 게임에서 직접 사용할 수 있습니까?또는 게임을로드하기 전에 실제 MPEG 영화를 재생하는 Android보기를 만들 수도 있습니다. – Tenfour04

답변

2

스프라이트 시트는 길이를 * 2048 2048를 초과해서는 안 될 것이다.

2048 * 2048 이상의 스프라이트 시트를로드하려면 프레임 당 별도로로드해야합니다.

스프라이트 시트에 프레임이 15 개있는 경우 15 개의 개별 png 파일이 있어야한다고 가정합니다.

+1

모든 장치에서 안전하려면 1024x1024이어야합니다. :) –