유니티에서 스탠다드 셰이더를 보면 Metallic,Occlusion맵을 넣는 기능이 있는데
HDRP/Lit 셰이더를 보면 Metallic, Occlusion맵을 넣는 기능이 없음.
Mask Map에 마우스를 올려보면 설명이 나옴
MaskMap에 넣은 텍스쳐에서 색깔 채널별 RGBA에 따라 Metallilc, Ambient Occlusion, Detail mask, Smoothness를 반영.
어차피 Metallic, AO, Smoothness의 경우 0~1사이의 값 정보만 가지고 있는 1개채널의 텍스쳐맵과 다를바 없기 때문에 HDRP/Lit셰이더에서는 하나의 텍스쳐에 채널별로 정보를 다 넣는 것을 권장하는 듯
일반적으로 모델과 텍스쳐 파일을 받으면 Albedo,Normal,Height,Roughness,Metallic,AO등 다 나눠져 있음.
위 텍스쳐의 경우 특별하게 RGBA에 Metallic,Roughness,Height,AO가 패킹된 텍스쳐가 같이 있음.
그러나 유니티 HDPR/Lit 셰이더의 RGBA 채널별 정보와 순서가 일치하지 않으므로 별도로 텍스쳐를 포토샵에서 패킹해주어야함.
텍스쳐 패킹 프로그램으로 RGBA채널에 각각 맵 패킹하기
https://github.com/Fidifis/TextureMerge/releases
위 링크에 있는 프로그램 사용
실행하면 각각 RGBA에 적용하는 칸이 있음
유니티 HDPR/Lit 셰이더는
R = Metallic
G = Ambient Occlusion
B = Detail Mask
A = Smoothness
를 사용
Metallic, AO, Smoothness만 쓸거라서 RGA 3개 채널에 적용하기
(유니티에서는 거칠기를 나타내는 텍스쳐로 Roughness맵을 쓰지 않고 Smoothness 맵을 사용함. 그러나 0~1의 값을 뒤집어서 쓰면 같으므로 걍 있는 Roughness맵을 사용하거나 혹은 포토샵에서 반전시켜줘도 됌)
해당 채널에 텍스쳐 넣고 Merge 버튼 눌러서 PNG이미지 파일로 추출
png 결과
유니티로 가져와서 이미지를 프리뷰로 각 채널별로 보면 잘 적용되어 있음
'툴 > 유니티' 카테고리의 다른 글
모든 장치에 OSC 프로토콜 보내기(Broadcast address 브로드캐스트 어드레스) (0) | 2024.11.13 |
---|---|
유니티 DLSS 셋팅 및 그래픽 품질 비교 (1) | 2024.02.01 |
유니티 C# JSON 파싱 / LitJson (2) | 2023.11.25 |
WebRequest 사용시 에러(Non-secure network connections disabled in Player Settings) (1) | 2023.11.24 |
개발 할 때 바탕화면 한글 경로 문제(바탕화면을 영문 Desktop으로 변경하기) (1) | 2023.10.16 |