픽셀 아트 플랫 포머를 720p에서 1080p로 확장


12

PC 및 스마트 폰용 픽셀 아트 2D 플랫 포머를 개발하고 있지만 기술적 인 문제에 봉착했습니다.

32x32 타일 해상도와 64x64 문자 스프라이트 해상도를 선택했습니다. 레벨은 내가 "스크린"이라고하는 섹션으로 나뉘며 각 스크린에는 약 40x23에 가까운 40x22.5 타일이 있으므로 최소 해상도는 1280x720입니다.

게임에서는 이중 점프 방식을 사용하므로 각 "화면"에서 적절한 수직 시야 범위를 가져야합니다.

1280x720은 고해상도가 아닙니다. HD 모니터에서 창은 크지 않으며 해상도를 2 배로 업 스케일하면 2560x1440이며 창은 실제 HD 모니터보다 훨씬 큽니다. 1280x720에서 2560x1440 사이의 크기를 시도하면 그래픽이 끊기거나 변형됩니다.

이 문제를 어떻게 해결할 수 있습니까? 16x16 형식의 모든 타일과 스프라이트를 다시 그릴 필요가없는 솔루션이 있습니까?


해상도를 줄이지 만 카메라를 움직여 화면을 적절한 디자인으로 선택해야합니까? 즉, 해상도는 이제 640 x 360이지만 화면은 여전히 ​​1280x720이지만 Metroid 또는 Axiom Verge와 같이 실내를 움직여야합니까?
lozzajp

2D 게임 인 경우에도 잘못된 위치에 있습니다. 카메라를 정의해야합니다. 따라서 카메라는보기 해상도, fov 및 각도를 정의하고 데이터를 카메라에 간단히 표시합니다. 방법 당신의 게임은 resoultion의 독립적 인
Yosh Synergi


문제가 정확히 무엇인지 확인하려고합니다. 1280X720 맵 디스플레이가 1920X1080 모니터 디스플레이보다 작기 때문에 맵 디스플레이를 가능한 한 '전체 화면'으로 업 스케일하고 싶습니까? 16X16 타일을 그리는 것이 어쨌든 문제를 해결할 수 없기 때문에 혼란 스럽습니다.
RobM

@DMGregory, 분수 스케일을 사용할 때 스케일링에 아티팩트가있는 예제를 제공 할 수 있다면 양을 같은 방향으로 이미지를 양쪽 방향으로 스케일 할 때 양이 같지 않으면 수학자가없는 단일 시나리오를 상상할 수 없기 때문에 훌륭합니다. 아티팩트가 나타나는 정수 또는 분수. 인공물로 나는 충분한 픽셀없이 높은 스케일링에서 발생하는 흐림과 다른 것들을 의미합니다.
Yosh Synergi

답변:


16

왜 이것이 픽셀 아트의 문제인지 궁금해하는 사람들을 위해 Super Mario World의 장면을 사용하는 간단한 예가 있습니다.

아티팩트를 보여주는 픽셀 아트 장면의 예

런타임에 픽셀 아트 게임을 720에서 1080으로 확장하면 (일반 게임 카메라와 같은 방식으로) 소스 텍셀 당 스크린 픽셀의 정수가 아닌 비율로 인해 아티팩트가 발생합니다. 오른쪽의 스케일 예제에서 숫자의 불일치와 리프와 마리오의 귀가 어떻게 부서 지는지 확인하십시오.

그것은 재생 가능하지만 매력적인 픽셀 아트 선명도를 잃어 버렸습니다. 그리고 모션에서 이러한 인공물은 스프라이트를 가로 질러 크롤링되어 희미하게 보입니다.

인접한 픽셀을 블렌딩하는 필터링 모드를 사용하면 잔물결을 피할 수 있지만 대신 픽셀 아트를 번지거나 흐리게 처리하는 것도 바람직하지 않습니다.


불행히도 720p와 1080p 사이의 1.5 배 비율은 최악의 시나리오입니다.

아시다시피, 1x 스케일링이 너무 작고 2x가 너무 큽니다. 두 마진이 넓기 때문에 우리가 선택할 수있는 전체 스케일링 비율 은 없습니다 .

귀하의 옵션은 다음과 같습니다.

  • 1x 스케일 허용 , 화면보다 1/3 작은 창에 게임을 표시하고 공간을 채울 필요가 있으면 장식 테두리를 추가하십시오.

    • 자르기를 확장하여 고해상도 화면에서 한 번에 더 많은 장면을 표시 할 수 있습니다. 이렇게하면 필요한 패딩 / 레터 박스가 줄어들지 만 게임 플레이 방식에 영향을 미치는지 평가해야합니다.

      (예 : 일부 기기의 플레이어에게 불공평 한 이점을 주거나 쉽게 볼 수없는 비밀을 발견하게합니까?)

  • 스케일을 2 배로 늘리고 장면을 자르면 플레이어는 한 번에 더 적은 장면을 볼 수 있습니다 (이전까지 볼 수있는 한 3/4 정도).

    이것도 게임 플레이 방식에 영향을 줄 수 있습니다. 플레이어가 이중 점프해야하는 장소를보기 어렵게합니다.

    • 카메라 로직으로이를 보완하여 뷰 팬이 플레이어를 따르거나 예상 할 수 있으므로 중요한 콘텐츠는 작은 자르기에서 한 화면에 계속 표시되지만 사용할 수있는 범용 최고의 카메라는 없습니다.

      이 길을 가기로 결정한 경우 게임 플레이 및 현재 카메라에 대한 세부 정보와 예제 장면을 공유하십시오. 이를 통해 카메라 동작을 조정하여 보상 할 수 있습니다 (또는 게임에 더 많은 가시성이 필요할 수 있음)

  • 다른 해상도로 대체 자산을 만듭니다 . (예, 이것은 많은 작업이지만 게임의 모양과 느낌을 제어하는 ​​가장 많은 옵션을 제공합니다)

    그렇다고 720p에서 멋지게 보이는 기존 자산을 버려야한다는 의미는 아닙니다. 이 기사에서는 더 넓은 범위의 타겟 해상도를 지원하기 위해 서로 다른 자산 세트 사이의 상황에 맞는 스왑을 설명합니다 (Unity에서는 해당 원칙을 Unity가 아닌 게임에도 적용 할 수 있음).

    • 참고로, 모든 에셋을 절반 크기 ( 16x16 타일, 32x32 문자 )로 다시 그리면 2x 스케일에서 720p, 3x 스케일에서 1080p를 처리 할 수 ​​있습니다. 작은 타일 해상도는 시각적으로 더 제한적일 수 있습니다.

    • 또한 150 % 더 큰 ( 48x48 타일, 96x96 문자 ) 대체 "대형"자산 세트를 그릴 수 있으며 , 1x 스케일에서 1080p를 처리 할 수 ​​있습니다. (기존 자산을 720p 또는 1440 등으로 사용합니다). 해상도가 높을수록 현재 예술의 충실도를 유지하는 데 도움이되므로 현재 스타일과 세부 사항을 희생 할 필요가 없습니다.

      자산이 150 % 스케일로 다시 그려지는 예

    • 세 번째 옵션은 2x 스케일에서 1080p를 처리 할 수있는 약간 더 작은 자산 세트 ( 24x24 타일, 48x48 문자 ) 를 그리는 것입니다. 다시 말하면 모든 자산 크기를 절반으로 줄이는 것보다 세부 묘사의 희생이 적을 수 있습니다.

      이 세 가지 옵션을 모두 사용하면 720 및 1080에서 프레임과 게임 플레이를 동일하게 유지할 수 있지만 자산 작업이 약 두 배가됩니다.

불행히도 여기서 쉽게 이길 수는 없으며 다른 상충 관계가 있습니다.


2
원래 크기를 유지하고 장식 테두리를 사용하는 것을 언급합니다. 상황에 따라 점수 및 생활과 같은 GUI 요소를 배치하기에 완벽한 장소 일 수 있습니다. 이러한 경계가 그러한 정보에 적절하게 맞을만큼 충분히 크면 '충전제'처럼 보이지 않고 '콘텐츠가 가득'서 게임과 관련이 있습니다.
Gnemlock

3

다른 해상도에서 대체 자산을 생성하는 @DMGregory의 옵션에 대해 구체적으로 설명합니다.

내가 아는 가장 좋은 해결책은이 시점에서 가장 적게 사용하는 것입니다. 아트 형식을 벡터 형식으로 개발하고 나중에 필요에 따라 래스터 화하십시오. 이것은 마법의 총알이 아닙니다. 대부분의 경우 래스터 화 후 약간의 손수 수정이 필요합니다.

내가 아는 가장 좋은 옵션은 다양한 이미지 스케일링 알고리즘, 특히 픽셀 아트 스케일링 알고리즘 을 시도하는 것 입니다. 이전과 마찬가지로 이것은 pancea가 아닙니다. 특정 스케일링 알고리즘을 선택하는 것은 상황에 따라 다릅니다. 그것은 예술 자체와 마찬가지로 게임의 '느낌'과 관련이 있으며 좋은 알고리즘과 예술 일치로도 스프라이트를 수동으로 조정해야 할 것입니다.

두 경우 모두 아이디어는 도구를 사용하여 많은 작업을 수행하고 나머지 세부 사항에 인간의 노력을 집중시키는 것입니다. @DMGregory가 말했듯이 "여기서 쉽게 이길 수는 없으며 다른 트레이드 오프도 있습니다."


분수 스케일링 관련 편집 : 대부분의 픽셀 아트 스케일링 알고리즘은 정수만큼만 증가합니다. 사용자 정의 스케일링 알고리즘을 롤링하지 않으면 업 스케일링과 다운 스케일링을 결합하여 원하는 1.5 배의 변화를 얻을 수 있습니다. 참고로 다음은 scale3x 알고리즘을 업 스케일로, fant 알고리즘을 50 % 다운 스케일로 결합한 결과입니다.

기발한:

여기에 이미지 설명을 입력하십시오

비늘 :

여기에 이미지 설명을 입력하십시오


불행히도 내가 찾은 대부분의 픽셀 아트 스케일링 알고리즘은 여전히 ​​정수 업 스케일링 (일반적으로 2x, 3x, 4x) 만 처리하는 경향이 있으므로 720-> 1080 경우에는별로 도움이되지 않습니다. (? 어쩌면 하나는 3 배 픽셀 업 스케일러 다음 다운 샘플링 절반으로 ... 확실하지 그 직접적인 고급보다 더 좋거나 더 나쁜 보일 것이다 경우 사용할 수 있습니다)
DMGregory

유효한 포인트. 그것을 해결하기 위해 비트를 편집했습니다. 나는 또한 분수 스케일링을 지원하는 것처럼 보이는이 쉐이더를 우연히 발견했습니다 .
Pikalek

벡터 솔루션에 +1 당신은 당신의 자산을 정말 크고 축소해야합니다.
Mark Aven
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.