일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 노말맵
- 손맵
- fbx
- 배경모델링
- 3D AI
- 셰이더그래프
- 엔진심화
- pureref
- 메가스캔 유료화
- rodin ai
- fbx 보안
- 모델링 ai
- 3d 모델을 로드할 수 없음
- 재질
- 컬러라이즈
- 프로젝트
- 공부
- Colorize
- normal map
- fbx 안열림
- 3d 모델링 ai
- 검색 프로그램
- 유니티
- 방학셰이더스터디
- 레퍼런스 프로그램
- 모작
- 게임제작
- 3d 뷰어
- 게임개발
- 메가스캔
- Today
- Total
베개발
(게임개발용) png, tga 차이 (+jpeg, exr/tiff, psd) 본문
아트스테이션 블로그에 마침 궁금했던 주제의 글이 있길래
3D공부+영어공부 겸 직접 번역 후 백업
오역이 있을 수 있음...
요약
- TGA가 일반적인 RGB 채널 외에, 네 번째 채널을 사용해서 알파 값을 위한 마스크를 포함한다는 점
반면에 PNG는 RGB 내부의 '누락된' 정보를 사용해 알파 값을 저장함 - 게임에서는 보통 UI 요소 등에 PNG를 선호하는데, 4번째 채널이 다른 채널들과 일치하는지 신경 쓸 필요가 없기 때문에 다루기가 더 쉬움
- 하지만 3D 모델의 텍스처에는 TGA(또는 TIFF 같은 비슷한 파일 형식)가 더 좋음
- 알파 밑에 있는 모든 정보에 여전히 접근할 수 있어서, 나중에 수정하거나 셰이더를 통해 컷오프나 알파 값을 조정할 수 있음
- 나뭇잎처럼 컷오프 알파를 사용하는 물체를 먼 거리에서 볼 때 밉맵 처리와도 더 잘 맞고, 흰색 윤곽선이 생기지 않도록 해줌
(추가로 찾아본 자료)
https://www.reddit.com/r/gamedev/comments/p00xwy/why_would_you_use_tga_files_for_texturing_instead/
레딧 찾아보면 재밌는거 많은듯
png는 가볍지만 알파채널 제어 등이 어려움, 알파 마스킹 등을 할 때 약간의 손실이 눈에 띌 수 있음, 용량 예측이 어려움
tga는 비교적 무겁지만 알파채널 제어가 쉽고, 용량 예측이 비교적 쉬우며 완전 무손실이지만 8비트 색상까지만 지원함
PNG
PNG는 매우 가볍지만 약간의 손실(무시할 수 있는 정도)이 있을 수 있음.
16비트 텍스처를 활용할 수 있으며, 노멀 맵에 매우 유용
그러나 TGA와 같은 알파 채널 지원이 없다는 게 단점
장점
- 훨씬 작은 파일 크기(무손실 압축), 원래 텍스처용으로 만들어진 형식은 아님
- UI 요소나 스프라이트에 PNG를 사용하는 것이 유리함(텍스처에서 빈 정보를 사용하여 투명성이 기본적으로 포함되므로 컷아웃/투명성을 제어하는 명시적인 마스크 채널에 신경 쓸 필요가 없음)
- 16비트 깊이를 활용 가능, 노멀 맵에 적합(컬러 밴딩을 크게 줄임)
단점
- 디스크 공간 크기가 예측하기 어려움. 각 채널에 포함된 색상 정보의 양에 크게 의존
- 거의 검은색/빈 4k 텍스처는 몇 킬로바이트일 수 있지만, 4k 노멀 맵은 50MB 이상일 수 있음
- 엔진이 읽기 전에 압축을 풀어야 하므로 시간이 소요됨
- 텍스처 마스킹과 투명성 제어가 어려움/ 알파 채널 패킹 기능이 없어 별도의 채널로 저장되지 않음
- 그 결과, 알파/마스크용 텍스처를 별도로 만들어야 함 (이건 포토샵이나 이미지 편집 소프트웨어의 문제가 아니라, 많은 이미지 편집 소프트웨어에서 동일함)
- 투명성 처리를 수정하고 이해하는 것이 직관적이지 않음
- SuperPNG와 같은 서드파티 도구로 해결할 수 있을 수 있으나, 고유한 문제가 발생할 수 있어 TGA 텍스처 하나를 사용하는 것이 더 안전함
- 컷아웃을 위한 투명성을 사용할 때 시각적으로 마스크가 적용된 부분의 경계가 눈에 띄게 퀄리티가 낮아질 수 있음 = PNG는 완전히 무손실이 아니며 압축되기 때문에 발생
TGA
Targa 파일은 디스크에서 더 크고 고정된 파일 크기를 가지고 있음
(예: 2K는 항상 12MB, 4K는 48MB 등)
완전 무손실이어서 세밀한 디테일을 유지하는 데 좋지만, 16비트 색상 깊이를 지원하지 않는다 (png는 지원함)
장점
- 3D 그래픽/텍스처용으로 만들어짐 / 무손실 및 비압축 파일 형식
- RGB 채널과 독립적인 별도의 알파 채널을 사용하므로 알파 채널에 대한 완전한 제어 가능
- 포토샵에서 알파채널 수정이 쉽고 직관적
- 알파 처리 방식이 훨씬 간단하며, 마스크나 알파 지원이 필요한 3D CG에 주로 사용됨
- 텍스처 저장/반복 작업이 빠름(포토샵과 엔진/렌더러 간 전환 시 효율적)
- 엔진이 밉맵 설정, 텍스처 프로파일, 필터링 처리 시 TGA를 잘 인식하고 처리
- TGA는 밉맵을 저장할 수 있으나, PNG는 그렇지 않음
- 게임 파이프라인에서 더 빠르고 효율적으로 사용 가능하며, 엔진이 파일을 읽기만 하면 되므로 압축을 풀 필요가 없음
단점
- 큰 고정 파일 크기 때문에 프로젝트의 디스크 공간/저장소 공간을 많이 차지할 수 있음
- 16비트 지원 없음(본질적으로 8비트 파일 형식)
* tga 파일 알파포함해서 저장할때 32bit 랬는데?
→ 그건 R채널 + G채널 + B채널 + 알파채널 각각 8비트씩이라 합해서 32비트인것!
다른 주목할 만한 파일 형식들
JPEG
장점
- 디스크에서 가장 작은 파일 크기
- 텍스처 형식을 결정할 때 쉽게 기각될 수 있음 (?? 그대로 번역함)
단점
- 매우 손실이 크며, 시각적인 품질이 쉽게 예측할 수 없게 저하될 수 있음
- 알파 채널 지원 없음 / 오직 RGB 채널만 존재
- 그냥 사용하지 않는 게 좋음 (!)
EXR/TIFF
- 선형(리니어 linear) 색 공간을 사용함
- 매우 정밀한 텍스처에 좋음. 다른 RGB 형식은 왜곡이나 아티팩트가 발생할 수 있음
- 빌드와 디스크에서 가장 큰 파일 크기지만, (아마도) PNG보다 더 빠름
- HDR profile을 지원함 (큐브맵 같은거?)
- EXR의 유일한 사용 사례는 라이트맵/베이크된 조명, 스카이박스 텍스처, 큐브맵/리플렉션 프로브 등. 이런 분야에서 뛰어남
PSD
장점
- 파일 크기가 다양하며, 완전 무손실 및 비압축
- 매우 유연하고 보존적 방식 / 가져온 PSD는 개별 레이어와 조정 필터를 모두 포함할 수 있음
단점
- 다른 파일 형식만큼 엔진에서 잘 처리되거나 읽히지 않을 가능성 있음
- 포토샵이 필요하며, Adobe를 사용하지 않는 팀에게는 단점으로 여겨질 수 있음
회사에선 tga만 썼었는데 이유를 어느정도 알 것 같다.
+ 좀더 검색해보니 더 잘 설명해주신 블로그 발견
https://chulin28ho.tistory.com/362
'3D > 공부 메모' 카테고리의 다른 글
(3D 뷰어) fbx 안열리고 벌 나올때 해결법 (2) | 2024.09.13 |
---|---|
노말맵이 파란색인 이유 (0) | 2024.09.12 |
3ds max 타블렛 세팅하기 (0) | 2021.09.07 |
돌 재질에 대해 (0) | 2021.09.04 |
라이팅 팁 (1) | 2021.08.26 |