PBR 텍스처 점검

텍스처 세트의 크기·누락·알파·채널·노멀을 한 번에 점검하고 보고서를 받으세요.

PBR 검사기는 가져오기 전에 텍스처 세트를 점검합니다. 맵마다 역할이 있는지, 모든 맵의 크기가 같은지, 고른 워크플로의 필수·권장 맵이 있는지, 크기가 2의 거듭제곱인지, 회색 맵이 정말 회색인지, 노멀맵이 정말 단위 벡터로 디코딩되는지 확인합니다. 머티리얼 하나의 맵을 넣으면 파일 이름(_basecolor, _normal, _roughness, _ORM 등)으로 역할을 정하고, 워크플로를 고르면 문제마다 파일과 측정값이 나옵니다. JSON 보고서에 측정값이 남으며 파일 이름이나 내용은 바꾸지 않습니다.

이미지을(를) 여기에 놓으세요여러 개를 한 번에 처리할 수 있습니다
업로드 없음 · 이 기기에서 처리

무엇을 어떤 기준으로 점검하나

이름으로 정하는 역할. 파일 이름을 소문자로 바꾸고 구분자를 _로 통일한 뒤, 더 구체적인 것부터 처음 맞는 토큰을 씁니다. 패킹(orm·arm·rma·mra·maskmap·mask), 알베도(albedo·basecolor·diffuse·color 등), 노멀(normalgl·normaldx·normal·nrm·n), 러프니스, 스무스니스(gloss), 메탈릭, AO(ao·occlusion·ambientocclusion), 하이트(height·displacement·bump), 에미션, 불투명도, 스페큘러 순입니다. 한두 글자 토큰(_n·_m·_r)은 신뢰도 낮음으로 봅니다. 역할은 모두 선택 상자라서 파일 이름을 바꾸지 않고 잘못된 추측을 고치면 됩니다.

누락은 워크플로가 정합니다. 개별 맵(glTF·공통): 알베도 필수, 노멀·러프니스·메탈릭 권장. Unity HDRP: 알베도와 마스크 맵 필수, 노멀 권장. Unity URP: 알베도 필수, 노멀·메탈릭 권장. Godot ORM·Unreal ORM: 알베도 필수, 노멀과 ORM 텍스처 권장이며, 러프니스와 메탈릭은 있는데 ORM이 없으면 그냥 "누락" 대신 "패킹 가능"이 나옵니다. 러프니스 맵은 스무스니스를, 스무스니스 맵은 러프니스를 대신합니다.

추측이 아니라 측정. 단일 채널 역할(러프니스·메탈릭·AO·하이트·불투명도)이 RGB로 저장돼 있을 때, 어느 텍셀도 채널 차이가 2를 넘지 않으면 "RGB로 저장된 회색", 넘으면 "채널이 서로 다름"(패킹된 것일 가능성)으로 보고합니다. 노멀맵은 텍셀마다 디코딩해, 길이가 1에서 0.12보다 멀면 단위 밖 샘플로 셉니다. 단위 밖이 1% 이하이고 파랑이 128 미만(표면 안쪽을 향하는 벡터)인 곳이 없어야 통과입니다. 다른 역할로 지정됐는데 노멀맵 시험(단위 밖 5% 이하, 음의 파랑 0.1% 이하)을 통과하면 "노멀맵처럼 보임"으로 알립니다.

2의 거듭제곱은 오류가 아니라 경고입니다. glTF 2.0은 샘플러가 반복하거나 밉맵을 쓸 때, 지원이 제한된 플랫폼에서는 2의 거듭제곱이 아닌 텍스처의 크기를 바꾸는 것이 좋다(SHOULD)고 하고, Unity 임포터에는 그런 텍스처의 크기를 조정하는 Non Power of 2 옵션이 있습니다. 중요한지는 대상에 따라 다르므로 검사기는 알리기만 하고 판단은 맡깁니다.

워크플로
엔진 머티리얼이 기대하는 맵 구성(패킹 방식 포함).
세트 이름
파일 이름에서 역할 토큰을 뺀 나머지. 한 번에 넣은 파일의 세트 이름이 다르면 "이름 불일치"가 나옵니다.
단위 밖 샘플
디코딩한 노멀의 길이가 1과 0.12보다 더 차이 나는 샘플.
2의 거듭제곱
2ⁿ 픽셀 크기: 256, 512, 1024, 2048 …

예시: Godot 4 ORM으로 점검한 바위 세트

PNG 네 장을 함께 넣고 워크플로를 Godot 4 ORM으로 골랐을 때 검사기가 돌려주는 결과입니다.

rock_basecolor.png   2048 × 2048   albedo
rock_normal.png      2048 × 2048   normal
rock_roughness.png   1000 × 1000   roughness
rock_metallic.png    2048 × 2048   metallic

error  dimension-mismatch    2048x2048 대 1000x1000 (rock_roughness.png)
warn   missing-recommended   orm
info   pack-available        roughness + metallic → Godot 4 ORM 프리셋
warn   not-power-of-two      rock_roughness.png 1000 × 1000

세트 통과: 아니요 (오류 1)

러프니스를 2048 × 2048로 다시 내보내면 오류와 2의 거듭제곱 경고가 함께 사라집니다. 마스크 패커에서 러프니스와 메탈릭(AO가 있으면 AO도)을 패킹하면 "orm 누락"도 사라집니다.

결과 확인

  • 고친 뒤 새 파일을 넣고 같은 워크플로를 유지합니다. 오류와 경고가 없으면 요약에 ✓가 나옵니다.
  • texture-report.json을 받아 issues를 봅니다. 항목마다 id·level·파일·수치(크기, maxDeviation, ratio, minBlue)가 있습니다.
  • 노멀맵은 normalCheck.meanLength가 1에 가깝고 blueNonNegative가 true여야 합니다.

문제 해결

증상유력한 원인확인 방법해결
아는 파일인데 unclassified이름에 아는 토큰이 없거나(rock_03.png) 영어 목록에 없는 토큰역할 칸이 알 수 없음으로 표시됨선택 상자에서 역할을 고르기. 보고서에도 그 선택이 남음
노멀맵에 duplicate-role한 다운로드의 _NormalGL과 _NormalDX를 둘 다 넣음역할이 노멀인 파일이 두 개엔진이 기대하는 쪽만 남기기(Unity·Godot는 GL). 다른 쪽만 있으면 노멀맵 변환기로 변환
러프니스·메탈릭 파일에 gray-channels-differ이름은 단일 맵인데 실제로는 패킹 텍스처(또는 색이 든 미리보기)문제 항목에 가장 큰 채널 차이와 차이 나는 텍셀 비율이 나옴역할을 패킹 맵으로 바꾸거나 채널 분리기로 분리
하이트·범프 파일에 looks-like-normal노멀맵을 _bump로 저장해 이름 규칙이 하이트로 읽음단위 길이와 파랑 시험을 통과함역할을 노멀로 바꾸기
normal-blue-negative나 normal-not-unit탄젠트 공간 노멀맵이 아님(하이트·오브젝트 공간 맵, 또는 색처럼 크기를 바꾼 맵)문제 항목에 minBlue와 단위 밖 비율이 나옴맞는 파일을 쓰거나 노멀맵 생성기로 하이트에서 만들기
러프니스·메탈릭·AO 맵에 unexpected-alpha내보내기 프로그램이 엔진이 읽지 않을 알파를 붙임문제 항목에 가장 낮은 알파와 알파 0 텍셀 수가 나옴알파 없이 다시 내보내기. 알파 0 아래 색은 랩이 유지하지만 대부분의 엔진은 무시함

다른 방법

방법이럴 때 더 낫습니다
텍스처 랩 전체점검에서 나온 문제를 고치는 것까지 필요할 때: 노멀 변환, 채널 분리·패킹, 가장자리 번짐, 크기 변경, 일괄 내보내기.
엔진에서 점검하기머티리얼 하나, 엔진 하나일 때. 가져오기 설정과 빈 슬롯은 머티리얼 인스펙터에서 보이지만, 크기·RGB로 저장된 회색·노멀 유효성은 거기서 측정되지 않습니다.

이 방법의 한계

  • 색 공간은 감지하지 않습니다. ICC 프로필이나 감마를 읽지 않고, 엔진이 역할별로 sRGB와 리니어 중 무엇을 기대하는지와 PNG에 sRGB 청크가 있는지만 알립니다.
  • 노멀맵의 OpenGL·DirectX 규약은 여기서 감지하지 않습니다. 감지기는 Studio 텍스처 작업 공간에 있습니다.
  • 이름 규칙은 영어 토큰만 알며, 파일 이름은 절대 바꾸지 않습니다.
  • 보고서는 일반 JSON이며 엔진이 가져가는 형식이 아닙니다.

버전과 출처

점검 보고서는 텍스처 랩에서 확인했습니다(docs/TEXTURE-LAB.md): schemaVersion 1, engineTarget generic, 시험 파일과 같은 alpha.zeroPixels = 2048, exactChannels true. JPEG 입력은 exactChannels: false. 이 페이지의 수치는 src/game/texture-set.js와 src/game/texture-normal.js의 기준값입니다.

참고한 공식 문서

PBR 텍스처 점검

텍스처 세트의 크기·누락·알파·채널·노멀을 한 번에 점검하고 보고서를 받으세요.

사용 방법

  1. 이미지 넣기
  2. 필요한 설정을 조정하고 결과 확인
  3. 다운로드로 새 파일 저장

지원 형식

PNG / JPG / WebP / AVIF / HEIC → JSON — 입력 디코딩은 브라우저 지원과 추가 엔진 사용 여부에 따라 다릅니다.

이 도구로 할 수 있는 일

텍스처 세트의 크기·누락·알파·채널·노멀을 한 번에 점검하고 보고서를 받으세요.

처리 방식과 검증 수준

advanced · filename classification / pixel measurements / workflow rules. 품질 검증을 진행 중입니다. Pro·Flagship 수준은 아직 입증되지 않았습니다.

저장 전에 확인하세요

파일 이름과 픽셀만으로 판단합니다. ICC 프로파일이나 감마는 읽지 않고 색 공간은 안내만 합니다.

자주 묻는 질문

이 도구의 한계는 무엇인가요?

파일 이름과 픽셀만으로 판단합니다. ICC 프로파일이나 감마는 읽지 않고 색 공간은 안내만 합니다.

파일이 서버에 업로드되나요?

이 도구에서 연 파일은 서버에 업로드하지 않고 사용자 기기에서 처리합니다. 커뮤니티 글에 직접 첨부하는 이미지는 별도로 업로드됩니다. 일부 엔진과 모델은 외부에서 내려받으므로 IP 주소 등 연결 정보가 해당 서비스에 전달됩니다.

작업이 자동 저장되나요?

아니요. 이미지와 편집 상태는 이 탭에 있고 미디어 결과는 기기 내 임시 저장소를 사용할 수 있습니다. 언어를 바꿔도 작업은 유지되지만 새로고침, 탭 닫기, 다른 페이지로 이동하면 사라질 수 있습니다.