방문자

오늘
—
어제
—
누적
—

불러오는 중

게임 개발 · 기술 동향 · 팀 블로그MIRO
헤드라인

Pixora

두 픽셀로 보이던 외곽선을 한 픽셀로

수정 전 — 같은 장면·시점·배율의 두꺼운 선과 강한 보라색 대비.
수정 전 — 같은 장면·시점·배율의 두꺼운 선과 강한 보라색 대비.

설정값 1이 실제 한 픽셀을 뜻하지 않았습니다

Pixora의 외곽선 폭을 1로 설정했지만 실제 직선 경계는 원본 두 픽셀로 나타났습니다. outlineWidth가 선의 최종 폭이 아니라 샘플링 반경이었고, 경계 양쪽에서 검출된 선이 함께 그려졌기 때문입니다.

이전의 균일 격자와 팔레트 검사는 유효했지만, 그 결과만으로 선 두께까지 확인했다고 볼 수 없었습니다. 이번에는 실제 GPU 출력에서 경계를 측정하는 것으로 검증 기준을 바꿨습니다.

수정 전 — 같은 장면·시점·배율의 두꺼운 선과 강한 보라색 대비.

같은 장면과 시점의 변경 전 렌더입니다. 두꺼운 선과 강한 보라색 대비가 보입니다.

경계를 한쪽 면에 배정했습니다

Full Camera에 Single side 배치 옵션을 추가했습니다. 가까운 면에 경계를 배정하고, 깊이가 같은 면은 정해진 방향으로 배정해 양쪽에 중복으로 그리지 않게 했습니다. 기존 Both sides 동작과 프리셋 기본값은 유지했습니다.

예제에서는 한쪽 배치와 반경 1을 사용했습니다. 선은 짙은 보라색에서 따뜻한 갈색으로 조정하고, 바닥과 배경, 벽과 그림자의 대비도 함께 낮췄습니다. 두께 수정과 색감 수정은 서로 다른 변경입니다.

수정 후 — 한쪽 배치의 원본 1픽셀 선과 따뜻하고 부드러운 색상.

한쪽 배치를 적용한 실제 렌더입니다. 원본 이미지를 후처리해서 선을 가늘게 만든 결과가 아닙니다.

확대된 화면과 원본 픽셀을 나눠 측정했습니다

Unity 6000.0.83f1 Linear/Built-in에서 같은 큐브의 직선 경계를 비교했습니다. 3배 확대 출력에서 기존 선은 6px, 한쪽 배치는 3px였으므로 원본 기준으로 각각 2px와 1px입니다. 이 직선 측정이 모서리와 교차점 전체의 두께까지 보장하지는 않습니다.

최종 사용 색 15개는 지정한 16색 팔레트 안에 있었고, 팔레트 밖 픽셀과 3×3 격자 불일치도 없었습니다. 씬 저장·재열기 후 출력 동일성과 카메라 관련 회귀도 확인했습니다.

아직 확인하지 않은 환경

이번 실제 렌더 범위는 Windows의 Linear/Built-in입니다. URP와 Gamma의 새 결과, Inspector에서의 실제 선택·취소나 언어별 UI 배치는 검사하지 않았습니다. 설정값, 원본 픽셀, 확대 출력 픽셀을 나눠 기록해야 같은 문제가 다시 생겼을 때 비교 기준이 흔들리지 않습니다.

비교 이미지의 배율을 먼저 고정하기

선을 비교할 때에는 캡처의 출력 해상도와 원본 격자 배율을 함께 적어야 합니다. 같은 3px 선이라도 원본 그대로라면 세 픽셀이고, 3배 확대된 결과라면 원본 한 픽셀입니다. 브라우저에서 이미지를 축소해 보이는 두께만 비교하면 이 차이가 다시 섞일 수 있습니다.

다음 도표는 이번 직선 측정의 관계를 정리한 것입니다.

flowchart TD
    A["동일한 큐브 직선 경계"] --> B["양쪽 배치: 출력 6px"]
    A --> C["한쪽 배치: 출력 3px"]
    B --> D["3배 확대를 나누면 원본 2px"]
    C --> E["3배 확대를 나누면 원본 1px"]

팔레트 밖 픽셀이 없다는 검사와 원본 선 폭이 한 픽셀이라는 검사는 서로 대체하지 않습니다. 전자는 색 제한을 지켰는지, 후자는 공간적으로 선이 얼마나 차지하는지를 보는 검사입니다. 색과 두께를 각각 측정한 뒤 같은 장면에서 함께 확인해야 표현이 바뀐 이유를 설명할 수 있습니다.

작업 근거

댓글

이 글에 대한 생각을 남겨 주세요.

댓글 삭제

헤드라인

같은 카테고리의 글

프로젝트 개발일지 전체 보기 ↗