픽셀 아트를 어떻게 축소합니까?


14

픽셀 아트 를 확장 하는 알고리즘많이 있습니다 . (내가 선호하는 HQX . 개인적으로)하지만 그것을 확장 할 수있는 주목할만한 알고리즘가 아래로 ? 내 게임은의 해상도에서 실행되도록 설계 되었지만 더 낮은 해상도에서 재생되는 경우 여전히 좋아 보이기를 원합니다.1280x720

대부분의 픽셀 아트 토론 은 콘솔 에뮬레이터에서 사용하기 위해 320x200또는 640x480업 스케일링을 중심으로 하지만 Monkey Island Remake 와 같은 최신 2D 게임이 저해상도에서 어떻게 잘 보일 수 있을지 궁금합니다 .

물론 여러 버전의 자산 (예 : 밉 매핑 ) 을 갖는 옵션은 무시합니다 .


밉 매핑에는 여러 버전의 자산이 필요하지 않습니다. 컨텐츠로드시 OpenGL 또는 DirectX에 의해 자동으로 수행 될 수 있습니다. 그것이 당신의 목표를 만족시킬 것입니까?
세스 배틴

@SethBattin 잘 모르겠습니다. 1024x576과 같은 1280x720 게임을 실행하려고합니다. 128x96이고 102x76에 표시되어야하는 이미지를 제공 할 때 OpenGL 및 DirectX는 크기 조정을 위해 무엇을 사용합니까? (이것은 102.4x76.8 픽셀이어야하므로 반올림 문제입니다)
Michael Stum

밉 매핑은 이미지를 많이 흐리게합니다. 당신은 pixelart를 위해 그것을 원하지 않을 것입니다.
Kromster는 Monica가

5
참고로 : Monkey Island Remake는 다운 스케일링이 필요하지 않았습니다. 이 게임은 EGA에서 실행되었으며 유효 크기는 320x200 픽셀입니다. 모바일 장치를 위해 축소 된 버전의 버전을 만들 필요가 없습니다. 현재 이러한 장치의 해상도보다 크기가 작기 때문입니다.
bummzack

2
픽셀 아트는 어떻게 보입니까? 당신은 우리에게 실명으로 대답하도록 요구하고 있습니다.
aaaaaaaaaaaa

답변:


14

저는 현재 다양한 디스플레이 크기와 종횡비로 실행해야하는 게임을 만들고 있으며 그 과정이 쉽지 않았습니다. 또한 픽셀 아트로 물건을 만들고 있고 많은 해상도를 지원하면서 픽셀 아트 느낌을 유지하려면 고통의 세계로 걸어 가고 있으므로 준비하십시오.

내 의견으로는, 당신이 할 수있는 몇 가지가 있습니다 (일부는 독점적이지만 다른 것은 아닙니다)

  1. 최소 해상도를 정의하고 가장 가까운 이웃과 함께 정수로만 업 스케일 (모든 것)을 정의하십시오. 그렇게하면 픽셀 아트 느낌을 유지할 수 있습니다. 디 스케일을 줄이는 것은 좋은 생각이라고 생각하지 않습니다. 디테일을 잃어 버리고 신중하게 제작 된 픽셀 아트를 사용하는 전체 목적이 무너집니다. 최소 지원 해상도가 스프라이트에 비해 너무 작은 경우 최소 지원 해상도를 변경하거나이 최소 해상도를 지원하도록 모든 자산을 다시 그립니다.

  2. 전체 화면을 덮기에 충분하지 않은 해상도 또는 종횡비가 발생하면 자산을 그대로 유지하면서 게임을 확장하십시오 (더 많은 타일 표시). 그래도 최소 해상도 / 종횡비로 게임을 계속할 수 있도록해야합니다.

  3. 게임을 확장 할 수 없으면 화면의 게임 이외 섹션을 검은 색으로 채 웁니다. 위쪽과 아래쪽, 왼쪽과 오른쪽의 줄무늬 또는 검은 색 프레임. 이것이 확대 모드에서 iPhone 앱을 실행할 때 iPad가하는 일입니다. 이것은 에뮬레이터에서도 널리 사용됩니다.

  4. 픽셀 그리드를 그대로 유지하십시오. 그러나 모서리가 날카로운 픽셀 아트 자산의 사용을 중단해야합니다. 그런 다음 쌍 선형 (또는 플랫폼이 지원하는 경우 최적의 쌍 입방체) 필터링을 사용하여 업 스케일 / 다운 스케일. 지원되는 모든 해상도에서 사용자 환경을 비슷하게 유지하면서 화면 사용을 최대화하기위한 최선의 선택입니다.

내 게임의 경우 옵션 번호 4를 끝내고 세로 320 픽셀 (이전 Android 2.3)에서 세로 1515 픽셀 (2012 iPad 포함)의 장치에서 얼마나 잘 보이는지 놀랐습니다. 레티 나 화면). 원본 자산은 세로로 600 픽셀 (원래 Windows PC에서 800x600 디스플레이)을 의미합니다. 후속 게임의 경우 더 나은 논리적 세로 해상도는 720 픽셀이라고 생각합니다.

이 게임은 이중 선형 필터링으로 장치 기본 해상도로 조정 된 가상 600 픽셀 가상 해상도를 사용합니다. 이것은 모든 인 코드 Y 좌표가 0 (화면 상단)에서 600 (화면 하단)으로 이동 함을 의미합니다.

가로 크기의 경우 최대 너비가 1080 픽셀이라고 가정하면 가장 넓은 16 : 9 종횡비를 포함하기에 충분합니다. 내 x 좌표는 중앙에 있으므로 x = 0은 화면의 중심이며 x 좌표는 왼쪽의 -540에서 오른쪽의 540으로 이동합니다. 가장 좁은 디스플레이를 지원하기 위해 모든 것이 -400에서 400 사이인지 확인하십시오 (4 : 3)

그러나 픽셀 아트 느낌을 유지해야하는 경우 확실히 옵션 1과 2를 사용해야합니다. 즉, 픽셀 아트의 블록 감을 유지하기 위해 정수로만 스케일링하고 게임이 눈에 띄도록 양을 조정한다는 의미입니다. 타일은 고정되어 있지 않으며 모든 화면 해상도 / 가로 세로 조정할 수 있습니다.

따라서 귀하의 질문에 대답하지 않기 위해. 픽셀 아트를 축소하는 것은 매우 나쁜 생각이므로 그렇게해서는 안됩니다. 신중하게 만든 아트를 단순히 도살하는 것보다 더 나은 결과를 제공하는 다른 화면 해상도를 지원하는 다른 방법이 있습니다.


나는 같은 상황에 있고 나를 미치게합니다. 우리의 게임은 600px 높이 화면을 위해 만들어진 pixelart입니다. 그러나 720p 화면 (PC)으로 업 스케일하면 정말 끔찍하고 약간 흐리게 보입니다. 나는 여기서 무엇을 해야할지 모르겠다. 또한 720p 화면에 대해 더 큰지도를 만들고 픽셀 아트를 그대로 유지하려고 생각했지만 1080p 화면에 대해 동일한 문제가 있습니다. 360p pixelart (또는 더 작은)를 수행해야 했으므로 720 및 1080p 화면에 완벽한 x2 및 x3 스케일링이 가능합니다. 이제는 너무 늦었습니다. 더 이상의 아이디어 나 조언이 있습니까?
데미안

8

실제로 개발시 축소 된 버전을 생성하여 게임에 리소스로 직접 포함시키는 것을 고려하십시오. Photoshop 또는 원하는 도구를 사용하여 원하는 작업을 수행하십시오. 그런 다음 게임이 현재 해상도에 적합한 올바른 아트 세트를 동적으로 선택하게하십시오.

이 작업을 수행 할 수있는 몇 가지 이유는 다음과 같습니다.

처리 작업을 절약

런타임에 프로그래밍 방식으로 크기를 조정 한 경우 소프트웨어가 아트웍을 생성하고 캐시합니다. 그렇다면 왜 아트 애셋 번들에 축소 된 버전을 포함시키지 않겠습니까? 다운로드가 중요했던 것보다 크게 커졌다면 CPU 부하, 디스크 쓰기 등을 절약 할 수 있다고 생각합니다.

더 큰 예술적 통제

직접 미술의 크기를 조정하면 최종 모양을 더 잘 제어 할 수 있습니다. 적은 양으로 축소하면 차이가 없을 수 있지만 해상도를 훨씬 낮추면 최종 모양을보다 예술적으로 제어 할 수 있습니다. 예를 들어 특정 캐릭터의 눈을 강조해야하는 경우 실제로 프로그램 스케일링으로는 불가능한 효과를 유지하기 위해 눈을 크게 축소하지 않은 상태로 저해상도 버전을 그릴 수 있습니다.

동적 스케일링이 완벽하지 않다

동적 스케일링에서는 작동하지 않는 독특한 예술적 결정을 내릴 수 있습니다. 예를 들어 이미지 주위에 테두리, 윤곽선 또는 강조 표시를 원한다고 가정합니다. 더 높은 해상도에서 볼 때, 이것은 잘 보이지만 축소 된 버전은 흐릿하거나 전체 효과를 잃을 수 있습니다. 그러나 손으로 완성하면 각 크기에 효과를 구체적으로 적용하고 영향을 유지할 수 있습니다.

다른 생각들

또한 발견 된 곳에서 사용되는 해상도 별 리소스 세트와 해상도 별 버전이없는 경우 동적으로 조정되는 일반 세트를 사용하여 하이브리드 방식을 수행 할 수도 있습니다. 이것은 안드로이드 플랫폼의 작동 방식과 약간 비슷합니다. 이에 대한 일부 정보는 http://developer.android.com/guide/practices/screens_support.html


0

간격을 메우기 위해 새롭고 잘못된 정보를 발명하지 않고 버릴 정보를 선택하기 때문에 크기를 줄이는 것이 크기를 조정하는 것보다 쉽습니다. 이를 염두에두고 여기에는 특별한 것이 필요하지 않으며 이미지 처리 영역의 대부분의 표준 리샘플링 알고리즘은 이미지를 축소하는 데 상당히 효과적이어야합니다 (쌍 선형, 가우시안, Lanczos 등).

Lanczos는 특히 이미지를 선명하게하기 때문에 흥미로운 선택이 될 수 있으며, 여러 픽셀을 하나로 결합 할 때 손실 될 수있는 세부 사항을 보존 할 수 있습니다. 분명히 이것은 원치 않는 인공물을 잠재적으로 도입하는 비용으로 발생합니다.

여기에 몇 가지 시각적 비교 : /gis/10931/what-is-lanczos-resampling-useful-for-in-a-spatial-context


3
-1, (일반적으로 손으로 만들어진 픽셀 당 픽셀입니다 픽셀 예술 축소하는 때문에 예를 들어 이러한 알고리즘 중 하나와 좋은 쳐다 보지도 않을 것입니다). 가장 가까운 이웃 접근 방식을 사용하면 중요한 선분을 잃게됩니다. 보간을 사용하면 이미지가 흐릿 해집니다. 수동으로 수행하는 것 외에는 OP 질문에 대한 만족스러운 답변이 없다고 생각합니다.
bummzack
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.