SlideShare uma empresa Scribd logo
1 de 121
• 이 슬라이드는 에서 제공되는 Substance 3D
Designer 강의 중 사용되는 슬라이드입니다.
• 강의 링크는 슬라이드 소개란에 있습니다.
• 클릭하시면 강의 페이지로 이동합니다.
• 슬라이드의 내용은 섭스턴스 디자이너, 페인터를 포함, 모든 렌
더링에 공통으로 적용되는 내용입니다.
• 때문에 이 내용만은 공개하기로 결정했습니다.
• 슬라이드 내용이 마음에 드셨다면 좋아요, 공유 부탁드립니다
• 겸사겸사 강의도 구매해주시면 매우매우 감사합니다.
PBR
맵 가이드
Substance 툴에서 사용되는 맵
• 간단한 PBR 이론과
• 섭스턴스 워크플로우에서 사용되는 모든 맵을 알아보겠습니다.
• 딱 최소한 알아야 할 만큼만 알아봅니다.
이 모든 맵을 다 알아야 하는 이유
• 정확한 사용법을 알아야, 원하는 표현을 할 수 있게 됩니다.
• 특히, Spec/Gloss 워크플로우의 경우, 제대로 알지 못하면 굉장히 난해합니다.
• Baked Map의 경우, 정확하게 알 수록 매쉬에서 원하는 부분을 선택하기 쉬워집니다.
• Curvature 맵이 뭔 지 모르는 사람이 모서리나 구석을 쉽게 찾을 수 없습니다.
• 월드 노말이 뭔지 모르는 사람이 왼쪽을 바라보는 부분을 찾아낼 수 없습니다.
기본적인 PBR의 원리
• 물체에는 기본 색이 있습니다.
Base Color의 번역인 ‘원색’과는
좀 다른 의미로 봐 주세요.
기본적인 PBR의 원리
• 우리가 물체를 볼 때엔, ’난반사광’을 주로 보게 됩니다.
• 비금속이라면, 난반사광은 기본색을 따릅니다.
사실 특정 경우를 제외하면
눈에 보이는 모든 것이
정반사광과 난반사광이
섞여 있습니다.
기본적인 PBR의 원리
• 그 때, 빛이 맺히는 부분에는 바로 정반사광이 맺히는 것입니다.
난반사광
정반사광
Importance ★ ★ ★ ★ ★
기본적인 PBR의 원리
• 반대로, 물체가 금속이면, 정반사광이 기본색을 따릅니다.
• 물체가 비금속이면, 정반사광은 흰색을 띕니다.
난반사광
정반사광
금속 비금속
Importance ★ ★ ★ ★ ★
기본적인 PBR의 원리
• 물체 표면이 매끄러우면 거울처럼 주변을 반사합니다.
• 물체 표면이 거칠어질 수록 정반사가 줄어들면서 번지다가 사라집니다.
표면 매끄러움 표면 거침
금속
비금속
Importance ★ ★ ★ ★ ★
기본적인 PBR의 원리
• 앞서 본 5개의 슬라이드를 한 문장으로 정리해 봅시다.
• 1. 우리 눈에 보이는 색은
• 2. (기본색/금속 여부)에 따라
• 3. (정반사/난반사) 색이 정해지고
• 4. 정반사 난반사 비율은 표면 거칠기에 따라 달라진다
Importance ★ ★ ★ ★ ★
2가지 워크플로우
• 여기서 두 가지 워크 플로우로 갈립니다.
• 우리 눈에 보이는 색을 표현하기 위해…
• (기본색/금속 여부/표면 거칠기) 로 표현하는 방식으로 작업
• Metallic/Roughness 워크플로우
• (정반사/난반사/표면 거칠기)으로 표현하는 방식으로 작업
• Specular/Glossiness 워크플로우
• 이 경우, 표면 매끄러움으로 표현한다고 하는게 더 맞겠죠.
풀어야 할 오해 1:
노말이 없는데 PBR이라고?
• 먼 미래에, 기술 발전으로 인해 노말 맵을 사용하지 않아도 되는 시점에…
• 하이폴리곤에 베이스컬러, 메탈릭, 러프니스 맵을 사용합니다.
• 그럼 이건 노말맵이 없으니 PBR이 아닌 걸까요?
• PBR 맞습니다
• 노말맵과 PBR은 다른 목적을 가진 기술입니다.
• 즉, 서로 무관합니다.
• PBR 프로젝트를 normal 프로젝트라고 부르지 말아주세요
• ‘평범한 프로젝트’의 의미로 사용하는게 아니고서야.
풀어야 할 오해 2:
이전 렌더러는 Non-PBR?
• PBR이란 말을 안 썼다 뿐이지, PBR 맞습니다.
• 애초에, 레이트레이싱은 빛을 하나하나 쏴 모사하는 것
• 게임 쪽 PBR이랑 비교도 안 되게 정확합니다.
• 이전까지 게임에선 PBR이 아니었기 때문에 이 단어가 주목받은
것
풀어야 할 오해 3:
PBR이 무조건 예쁘다?
• 물리적으로 옳다 = 예쁘다는 절대 Never 아닙니다.
• 제대로 모르고 쓰는 PBR은 때때로 오히려 흉하기 까지…
• 오히려 모든 작품이 비슷해 보이는 부작용
• 물리적으로 옳은 게 중요? 예쁜 게 더 중요?
• 기준은 상황에 따라 정해집니다.
풀어야 할 오해 4:
Diffuse 라는 용어
• 옛날엔 Diffuse = Basecolor + a의 의미가 강했습니다
• 베이스 컬러에 추가적인 빛 계산이 이미 들어간 형태의 맵
• 하지만 PBR 이후로는 전혀 맞지 않는 이야기
• ‘손맵’의 영문 번역은 ‘Diffuse’가 아니라 ‘Hand Painted’!!!!
• Stylized가 유사한 의미로 사용되고 있습니다.
주의사항
• 앞의 설명은 입사광이 흰 색인 것을 기준으로 했을 때
• 입사광 흡수 정도나, 공유전자 어쩌구 이런 거 설명하면 복잡해
집니다.
• 이 공식은 알아 두시면 좋습니다.
• ( 난반사 광 총합 + 정반사 광 ) = ( 반사광 )= ( 입사광– 흡수된 빛 에
너지)
정확하고 자세한 내용은 다른 자료를 참고
• https://www.slideshare.net/jpcorp/ss-60782086
• https://edu.kocca.kr/edu/onlineEdu/openLecture/view
.do?pSeq=580&menuNo=500085
청강대학교 정종필 교수님의 자료
https://www.khanacademy.org/science/physics/geometric-optics#reflection-refraction
https://academy.allegorithmic.com/courses/pbrguides
이 두 링크는 영문 자료 입니다.
두 가지 워크플로우에서 사용하는 맵
• Metal/Rough 워크플로우
• Base Color (기본색)
• Metallic (금속성)
• Roughness (거칠기)
• Spec/Gloss워크플로우
• Diffuse(난반사)
• Specular(정반사)
• Glossiness(매끄러움)
자주 사용하게 될 쪽은 이 쪽
Metal/Rough: Base Color (Albedo)
• 이전 PBR 기본 이론에서 설명했듯이, 기본색 입니다.
• Albedo(알비도) 라고도 불립니다.
Material Base Color
Importance ★ ★ ★ ★ ★
Metal/Rough: Base Color (Albedo)
• 오로지 기본 색에 대한 정보만 있어야 합니다.
• 무광 도료를 바른 느낌이 나도…
• 뭔가 입체감이 하나도 없어도…
• 오히려 그것이 정상입니다.
Base Color
베이스 컬러에 대한 고찰
• 완전한 흰색/검은색은 존재하는가?
• RGB값이 (1/1/1)이거나 (0/0/0)인 색이 존재하는지 묻는 것
• 결과만 말하자면, ‘없다’
• 모든 색을 완전히 반사하거나, 흡수하거나 둘 중 하나라는 소리
• 그런 재질은 없습니다.
• 검은색은 최근 ‘반타블랙’이라는 것이 나왔습니다. 이것도 100% 흡수는 아닙니다.
PBR Safe Base Color
• 안전한 베이스 컬러의 범위
• 30 ~ 240 (0.1176 ~ 0.9412)
• 50 ~ 249 (0.1961 ~ 0.9765) (엄격한 기준)
• SD에는 이걸 체크/수정 할 수 있는 노드가 존재
베이스 컬러에 대한 고찰
• 비금속 베이스 컬러는 대부분 생각한대로 잘 나온다.
• 하지만, 금속은 그렇지 않다.
• 금속의 색을 어둡게 잡기 때문. 생각보다 밝아야 합니다.
각종 금속의 베이스 컬러 색상
꽤 밝은 색상을 사용 중
베이스 컬러에 대한 고찰
• 구리 같은 건 한 번 당해 봐야 압니다.
Importance ★ ★ ★ ★ ★
Metal/Rough: Metallic
• 금속성 여부를 정하는 맵입니다.
금속 비금속
Importance ★ ★ ★ ★ ★
Metal/Rough: Metallic
• 흰색 아니면 검은색만 존재해야 합니다.
• 금속 언저리 물질이라는 건 없으니까요.
금속 비금속
Metal/Rough: Metallic
• 근데 먼지 같은 거 낄 수도 있으니까… 너무 박하게 굴지 않기로
하죠.
머티리얼 메탈릭 맵
Metal/Rough: Metallic
• 대략 이 정도로 표현 가능하겠습니다.
금속 부분
비금속 부분 뭔가 이상한 부분
Metal/Rough: Metallic
• 물론, 여기서도 ‘물리적으로 옳다 ≠ 예쁘다’ 등식은 성립합니다.
물리적으로 틀렸지만, 그래도 맘에 들면 써야죠.
Importance ★ ★ ★ ★ ★
메탈 맵과 0/1 논쟁
• 예쁘면 장땡이다로 설명이 충분하지 않다고 느끼시는 분들이 존재
• 컴퓨터의 데이터 표현 방식을 이해해야 한다
• 흰색 선을 8개 표현하고 싶을 때, 최소로 필요한 픽셀 개수는?
Importance ★ ★ ★ ★ ★
메탈 맵과 0/1 논쟁
• 정답: 16개
• 흰색 픽셀을 8개 나란히 놓으면 선끼리 구분이 불가능
8개? 확실히 8줄
Importance ★ ★ ★ ★ ★
메탈 맵과 0/1 논쟁
• 요지: 어떤 디테일을 표현하고자 할 때 필요한 최소 해상도가 존재
• 아주 디테일한 부분을 표현하고 싶으면 해상도를 늘리면 된다
• 현실세계는 무한한 해상도를 가지지만…
• 하지만! 어떤 컴퓨터도 무한한 크기의 해상도를 가질 수 없다

0/1만 있는 이미지였지만..
가로 해상도를 반으로 줄이니
회색이 되어버렸다
Importance ★ ★ ★ ★ ★
메탈 맵과 0/1 논쟁 정리
• 요지: 컴퓨터의 한계 때문에 0/1이 아닌 값을 쓸 수 밖에 없다!
• 추가로, 렌더링 과정에서 픽셀 보간시에 중간값이 튀어나오기도 한다
• 만약 해상도가 무한하다면, 0/1만 쓰는 것이 옳다!
• 금속이면, 금속, 비금속이면 비금속이지, 그 중간인 물체가 없으니까
• 하지만 불가능하다!
Importance ★ ★ ★ ★ ★
메탈 수치를 이해하는 기준
• 메탈릭의 중간값
• ≠ 금속과 비금속의 중간 상태
• 이렇게 생각하면, 중간값의 존재가 절대로 이해되지 않습니다
• = 금속과 비금속이 섞여서 존재하는 상태
• 혹은 그 지점의 금속성 물질의 비율 (1이면 100% 금속만 있는 상태)
• 현재는 이렇게 이해하고 사용하는 수 밖에
• 그렇다고 중간 값을 너무 남용하지 맙시다.
• 혹은 그냥 아트디렉터님을 전적으로 믿으세요
Importance ★ ★ ★ ★ ★
Roughness
• 미세 표면의 거칠기를 나타내기 때문에 ‘Roughness’라는 이름이 붙었습니다.
• 앞에서 한 번 본 사진에, 러프니스 같은 걸 끼얹어 보겠습니다.
표면 매끄러움 표면 거침
금속
비금속
러프니스가 낮을 수록
주변 환경을 잘 반사
러프니스가 높을 수록
무광에 가까운 느낌
Roughness의 수치에 대해서
• 앞서 베이스컬러에서 이야기 했던 것과 비슷한 주제입니다.
• 러프니스가 완전한 흰색/검은색이 될 수 있을까요?
• 이것 역시 NO 입니다.
• 러프니스가 낮은 대표적인 물체 거울도 0을 쓰지 않습니다.
• 러프니스가 높은 대표적인 물체 고무도 1이 아닙니다.
Roughness의 수치에 대해서
• 러프니스가 1 = 눈에 보이는 모든 빛이 100% 난반사 빛이다
• 러프니스가 0 = 눈에 보이는 모든 빛이 100% 정반사 빛이다
• 이런 물체는 아직 없습니다.
• 앞서 이야기한 반타블랙은 1에 매우 가까운 수치라고 합니다.
• 그냥 1 씁시다.
Importance ★ ★ ★ ★ ★
Fresnel
• 표면에서 반사된 빛의 양이 관찰 각도에 따라 다른 현상
수직 방향에서 볼 때 옆으로 매우 기울여서 볼 때
카메라
직교 투영
상태
Basecolor 0.5
Roughness 0
Metallic 0
Fresnel
• 누우면 누울 수록 정반사광이 강하게 보입니다
Importance ★ ★ ★ ★ ★
Fresnel
• 프레넬 현상을 이용해 러프니스 값을 잘 조정해야 합니다
좌측 그림에 주목!
러프니스는 완전히 다르지만
관측 결과가 거의 같다
러프니스 값의 정확한 측정은
기울여 보면서 해야 한다
Importance ★ ★ ★ ★ ★
금속의 Fresnel
수직 관찰 시 차이가
비금속 보다는 두드러지지만
기울여 관찰 시 차이는 더 큼
Roughness는 어떤 상황이건
기울여 보면서 값을 정하자
직교투영이 더 유리할수도
F0 (Fresnel at 0 Degree)
• 수직 방향에서 바라볼 때, 각도에 따른 차이가 가장 적다.
• 그러니, 면의 노말과 관측점 각도가 0도인 시점에서 바라본 형태의 정보를 담자
• 그것이 F0 맵
• 하지만! 섭스턴스 워크플로우에선 F0맵을 사용하지 않음
• 셰이더에서 알아서 처리해 주기 때문
Importance ★ ★ ★ ★ ★
Spec/Gloss 워크플로우
• 또 하나의 PBR 워크플로우
•PBR 워크플로우
• 이것도 PBR 맞아요
• 디퓨즈 잘 그리는 사람이 금손이다 -> 그린다 -> 손맵이다 ->Non-PBR…
• 이런 사고회로를 거친 결과물인지, PBR이 아니라 생각하시는 분이 좀 있습니다.
Spec/Gloss 워크플로우
• 앞서 이야기 했듯이, 정반사/난반사/표면 매끄러움으로 재질을 표현합니다.
쉽게 연상이 되지 않는다면 정상입니다
평소 물체를 볼 때
‘이건 정반사, 저건 난반사 광이야!’
하면서 안 보니까요.
Spec/Gloss 워크플로우
• 섭디에서 메탈 러프에서 스펙 글로 맵으로 한번 바꿔 봅시다.
Metal/Rough Spec/Gloss
BaseColor
Metallic
Roughness
Diffuse
Specular
Glossiness
Spec/Gloss 워크플로우
• 혹시나 싶어 이야기 하지만, 다른 셰이더 쓴 거 맞습니다.
Metal/Rough Spec/Gloss
Spec/Gloss 워크플로우
• 변환된 맵을 일단 살펴봅시다.
• 그리고처음에언급했던내용을상기시켜봅니다.
• 비금속이라면,난반사광은기본색을따릅니다.
• 물체가금속이면,정반사광은기본색을따릅니다.
• 물체가비금속이면,정반사광은흰색을띕니다.
• Roughness와Glossiness는그냥색반전관계
BaseColor
Metallic
Roughness
Diffuse
Specular
Glossiness
Importance ★ ★ ★ ★ ★
Spec/Gloss 워크플로우
• 차례차례 매칭시켜 봅시다.
BaseColor
Metallic
Roughness
Diffuse
Specular
Glossiness
• 비금속이라면,난반사광은기본색을따릅니다.
• 물체가금속이면,정반사광은기본색을따릅니다.
• 물체가비금속이면,정반사광은흰색을띕니다.
• Roughness와Glossiness는그냥색반전관계
Importance ★ ★ ★ ★ ★
Glossiness
• 미세 표면의 매끄러움을 나타내기 때문에 ‘Glossiness’라는 이름이 붙었습니다.
• 앞에서 두 번 본 사진에, Glossiness 같은 걸 끼얹어 보겠습니다.
표면 거침
표면 매끄러움
금속
비금속
글로시니스가 높을 수록
주변 환경을 잘 반사
글로시니스가 낮을 수록
무광에 가까운 느낌
데자뷰가 느껴진다면 기분 탓
비금속 정반사광이 회색인 이유
• 회색이 아니라, 흰색이 아주 약하게 들어갔다고 생각합시다.
그냥 흰색이 100% 흰색이라면
이건 한 10% 흰색
이렇게 생각하면 이 문장이 참이 됩니다.
‘물체가 비금속이면, 정반사광은 흰색을 띕니다’
디퓨즈 맵 전환에 노말맵은 왜 안 쓰나요?
• 안 쓰는게 정석입니다.
• 앞서 썼던 문장을 다시 가져왔습니다.
• 1. 우리 눈에 보이는 색은
• 2. (기본색/금속 여부)에 따라
• 3. (정반사/난반사) 색이 정해지고
• 4. 정반사 난반사 비율은 표면 거칠기에 따라 달라진다
• 여기 노말 맵에 대한 이야기가 안 나옵니다.
• 그림자나 음영 계산 같은 건 노말/AO에게 맡깁시다.
이런 건 왜 만든 걸까
• 메탈/러프, 스펙/글로 모두 나름의 장점이 있기 때문입니다.
• 정말 장점이 없는 워크플로우였다면, 진작에 도태 되었을 것.
Spec/Gloss의 큰 장점
• PBR의 메탈릭 엣지 문제가 발생하지 않음
• 메탈릭 중간 값이 만드는 문제
이 문제는 왜 생기나?
• 메탈릭 맵 텍셀 밀도가 너무 낮을 때 발생
• 맵 자체의 해상도가 낮을 수록 쉽게 발생
256*256 4096*4096
256 쓰니까 그렇지!
• 이건 텍셀 밀도의 문제가 맞습니다.
64k 텍스쳐라고 가정
아무리 64k 텍스쳐를 써도
겨우 이 정도 부분 가지고
넓은 부분을 표현하려 하면
Metal Edge 문제는 생긴다.
진짜 범인은 픽셀 보간
• 1 만큼의 범위로 10을 표현하려면 픽셀을 쭉 늘려야 합니다
• 때문에 픽셀이 아무리 칼같이 0/1로 떨어져도 내부 보간이 발생
• 그 과정에서 ‘이상한 메탈릭 중간 값’이 발생!
이 정도?
문제 해결을 위해선…
• 충분한 텍셀 밀도를 가질 수 있도록
• UV를 잘 짜거나
• 충분히 높은 해상도의 이미지를 쓰거나
• 셰이더를 사용
• 저해상도 이미지를 고해상도 처럼 쓰는 방법이 있다
• 지형 셰이더에서 많이 사용하는 방법
• 아니면 아예 Spec/Gloss를 사용하면 된다.
Metal/Rough vs Spec/Gloss
확실히 보이는 차이들
둘 다 128*128
즉, 저 해상도에선
Spec/Gloss가 강하다!
Importance ★ ★ ★ ★ ★
각각의 장단점
Albedo/Metal/Roughness Diffuse/Specular/Glossiness
장점
직관성이 높다(배우기 쉽다)
사용 채널 수가 적다(3+1+1)
정/난반사 색이 다른 독특한
머티리얼 제작 가능
Metalic Edge 문제 없음
단점
정/난반사 색이 다른
독특한 머티리얼 제작 불가
Metalic Edge 문제 발생
더러운 직관성(배우기 어렵다)
사용 채널 수가 많다(3+3+1)
즉, 경우에 따라 두 워크플로우의 변환이 필요할 수도 있다!
Mt/Rough  Sp/Glo 전환
• 메탈 러프로 작업을 계속 하다가…
• 적당한 시점에 스펙 글로 워크플로우로 전환합니다.
• 적당한 시점은 보통 최종의최후의마지막의끝의디엔드
• 메탈 러프의 쉬운 워크플로우와
• 스펙 글로의 아티스트 창의력 발휘 여지 모두 활용 가능!
• 모르고 못 쓰는 것과 알고 안 쓰는 것의 차이는 큽니다.
Sp/Glo  Mt/Rough 전환은 불가
• 메탈/러프에서 스펙/글로의 전환은 불가능!
• 정확하게는, 제한적인 조건 하에 가능.
• 즉, 일반화 할 수가 없음
• 제한적인 조건: 정반사+난반사의 합이 정확히 1
• 색의 합이 1은 무슨 소리며…
• 1이 아닌 경우는 어떻게 처리할 것인가?
여기까지가 PBR의 핵심
• Metal/Rough의 3가지 맵
• 베이스컬러, 메탈릭, 러프니스
• Spec/Gloss의 세 가지 맵
• 정반사, 난반사, 부드러움
• 두 워크플로우, 6가지 맵이 PBR의 핵심
• 나머지 맵들은 PBR이 아닌 별도의 렌더링 기술에 사용
• 하지만, 렌더링에 흔하게 사용되기에 모조리 알아봅시다
Importance ★ ★ ★ ★ ★
Normal
• CG에서 Normal이라는 이야기가 나오면?
• 예외없이 방향벡터에 대한 이야기
• 주의: 지금부터 할 설명은, 쉬운 이해에 초점이 맞춰져 있습니다.
• 노말 맵 베이킹이 실제로 이렇게 되지 않는다는 것을 명심하세요.
Normal
• 일반 푸르딩딩한 노말 맵은
폴리곤 마다 각자 좌표계를 가진다 라는 말…
• 이렇게 이해를 합시다.
• 1. 매쉬가 있습니다.
Normal
• 2. 매쉬를 UV 모양대로 해체해서 쭉 펴줍니다.
Normal
• 3. UV 위치에 따라 하이폴리곤을 위치시킵니다.
• 4. 이 상태로 베이크 합니다.
• 5. UV 방향에 따라 모델도 회전
Normal
• 물론 이 설명이 실제 베이킹 방법과는 동떨어져 있지만…
• 노말 맵이 왜 매쉬 자세가 변경되어도 문제가 없는지는 알 수 있습니다.
얘네 둘 다 노말맵은
똑같이 나오겠죠
어차피 해체를 하고 굽고
재조립이니 다를 게 없습니다.
물론 UV에 변동이 없을 때
Normal
• 그 외에도…
• 1. 같은 메쉬를 베이크 해도 UV 회전에 따라 노말맵이 다른 이유
• 2. 베이크 할 때 UV가 중요한 이유
• 3. 사람이 노말맵을 직접 그려서 고쳐 볼 생각을 하면 안 되는 이유
• 4. 노말맵을 필터링 해 봐야 아무 의미 없는 이유
• 등등이 설명이 가능해서, 이런 방식을 택했습니다.
Normal
• 이전 페이지 1번 부가 설명용 자료
UV만 90도 돌아간 걸 제외하면
서로 같은 로우폴
노말 맵이 서로 다른데
90도 돌려주면
똑같은 걸 확인 가능
Normal
• 그런데, 3번 사진에서 주목할 점이 하나 있습니다.
로우 폴리곤의 면 기준,
하이폴리곤 노말 방향이
로우폴과 같은 방향이죠?
이걸 벡터로 표현하면 0,0,1이 됩니다.
Importance ★ ★ ★ ★ ★
Normal
• 렌더링 시 노말맵의 값에 * 2 -1 계산을 하게 됩니다.
• 즉, 노말맵 저장 정보는 실제 값에 1을 더한 후 2로 나눈 값이라는 의미
• 0,0,1 각각의 숫자에 1을 더하고 2로 나눠봅시다.
• 0.5, 0.5, 1이 됩니다.
• 이걸 색으로 표현하면…
Importance ★ ★ ★ ★ ★
Normal
• 이런 색이 나옵니다.
즉, 이런 색이 나오는 부위는
‘하이폴리곤 노말이 로우폴리곤 노말과 같은 지점’.
로우폴리곤 기준, 하이폴리곤이 평탄한 지점이라는 의미
127,127,255
0.5,0.5,1
Importance ★ ★ ★ ★ ★
제발 노말은 그냥 놔두세요
127,127,255
0.5,0.5,1
노말맵 직접 편집하고 싶으시다면 아래 사항을 기억하세요
1. 노말맵은 UV 배치에 따라 바뀌기도 한다
2. 노말맵의 각 색은 전부 방향에 대한 정보다
3. 노말맵을 직접 수정하고 싶다면 색을 방향으로 읽어낼 수 있어야 한다.
허용되는 건 딱 두 가지 경우입니다.
1. 기본 노말 색(옆 사각형 색)으로 덮어도 되는 경우
2. 미리 완성된 특정 모양의 노말 브러시로 찍어내는 경우
Normal의 원리
• 우리가 물체를 볼 때 보는 건 그 물체가 반사한 빛이라고 했습
니다.
물체 표면
Normal의 원리
• 물체 표면이 울퉁불퉁 해도 마찬가지입니다.
물체 표면
Normal의 원리
• 그런데 말입니다, 아무리 물체 표면이 평평해도…
물체 표면
Normal의 원리
• 정작 빛이 울퉁불퉁하게 반사가 된다면…
물체 표면
Normal의 원리
• 우리 눈에는 울퉁불퉁하게 보일 겁니다.
물체 표면
Normal의 원리
• 평평한 표면에서 울퉁불퉁하게 빛을 반사할 정보를 만들어 놓는 것이
바로 노말맵 입니다.
+ =
Importance ★ ★ ★ ★ ★
Height 맵
• 디스맵과 비슷합니다.
• 0.5(회색)에선 매쉬 변화가 없습니다.
• 0.5를 기준, 그보다 크면 매쉬 위로 상승, 작으면 아래로 하강
• 설명 끝.
그림으로 보는 하이트맵
빨간 선: 하이 폴리
파란 선: 로우 폴리
보라 선: 하이 = 로우인 지점
주황색: 하이>로우인 지점
하늘색: 하이<로우인 지점
베이크 시 나오는 하이트 맵
좌측은 밝아지고
중앙은 어두워지고
우측은 0.5 그대로
실 적용 모습
+ =
0.5라는 기준 값이 있지만
결과적으로는 0이 아니면 솟아 오른 형태로 보이게 됩니다.
굳이 Height 맵이라고 하는 이유
• Displace는 사실 여러 의미로 해석이 가능합니다.
• 컬러 맵을 받아 버텍스를 3 방향으로 뒤트는 것도
Displace라 부를 수 있음
• Height는 콕 집어서 높이 변형만 하겠다고 못 박아 놓는 의미
• 더 정확하게는, 버텍스 노말 방향으로
테셀레이션은 하이트가 아닙니다
• 테셀레이션은 매쉬를 쪼개는 것 까지만 의미합니다.
• 하이트 맵을 사용하기 전 일반적으로 테셀레이션을 하게 됩니다
• 그렇다고 두 개가 같은 건 절대 아닙니다.
Importance ★ ★ ★ ★ ★
Emissive
• 자체발광 맵 이라고도 부릅니다.
• 라이트가 없어도 볼 수 있습니다.
Importance ★ ★ ★ ★ ★
Opacity
• 말 그대로, 투명도 입니다.
흔히 ‘알파’라고 알고 계신 바로 그것
사실 알파는 RGBA 채널 중 하나
흔히 A 채널에 오퍼시티를 넣을 뿐
SD의 Opacity form Mesh 베이커는
베이커 이야기 할 때 마저 하는 거로
앞으로는 오파시티랑 알파를 확실히 구분해서 말합니다!
오퍼시티 = 매쉬 렌더링 시 사용할 값
알파 = 이미지의 알파 채널
Importance ★ ★ ★ ★ ★
Ambient Occlusion
• 주변광 차폐 맵 입니다.
• 매쉬 자체적으로 서로 간섭해서 빛이 잘 들어가지 못 하는 곳이 검은색
• 그 이외엔 흰색으로 표시해 주는 맵 입니다.
• 구석진 곳을 추려내기에 좋습니다.
Ambient Occlusion
구석진 곳: 검은색
드러난 곳: 흰색
Ambient Occlusion
• AO맵을 사용하면 입체적인 느낌이 더 살아납니다.
미사용 사용
Importance ★ ★ ★ ★ ★
Curvature / Cavity
• Curvature와 Cavity는 같은 것
• 적어도 알레고리드믹의 입장은 그러합니다.
• 구석, 모서리, 평평한 곳을 0, 1, 0.5로 칠하는 맵 입니다.
Importance ★ ★ ★ ★ ★
Curvature / Cavity
매쉬 노말 방향
이런 식으로 정보가 채워집니다.
이런 매쉬가 있을 때
Curvature / Cavity
즉, 세 가지 정보를 1개의 채널로 표시하는
효율성 좋은 맵 입니다.
모서리, 흰색
구석, 검은색
평평함, 회색
Importance ★ ★ ★ ★ ★
AO vs Curvature?
• 추출 방식도, 용도도 다릅니다.
• AO는 AO, Curvature는 Curvature다
• 용도가 다른 두 가지를 서로
비교하는 것은 무의미한 행동.
Importance ★ ★ ★ ★ ★
Position
• 텍스쳐 텍셀의 위치를 나타내는 맵 입니다.
RGB R(X) G(Y) B(Z)
Position 맵 값 분포도
색깔로 원하는 X, Y, Z 포지션을
선택하는 것이 가능합니다.
Importance ★ ★ ★ ★ ★
World Space Normal
• 각 폴리곤/혹은 노말 맵의 텍셀이 월드 공간 기준 어느 쪽을 바라보는지
색으로 알려줍니다.
RGB R(X) G(Y) B(Z)
World Space Normal 맵 값 분포도
색깔로 원하는 방향을 바라보는
지점을 선택할 수 있습니다.
각 채널 값 따로 사용도 가능
Importance ★ ★ ★ ★ ★
World Space Normal vs Position
• 언뜻 보면 비슷해 보입니다.
• 하지만, 비교해보면 확실히 다릅니다.
• 비유하자면
• 왼 쪽에 있는 것과
• 왼 쪽을 바라보는 것
• 두 가지를 나눠서 생각하는 것과 같습니
다.
Importance ★ ★ ★ ★ ★
World Space Normal vs Tangent Space
Normal
World Space Normal Tangent Space Normal
UV 배치 무관 중요
매쉬 움직임 중요 무관
UV 수정 시 불변 변함
매쉬 움직일 시 변함 불변
필터로 사용 가능 여부 O X
Importance ★ ★ ★ ★ ★
Thickness
• 매쉬의 두께를 나타내는 맵 입니다.
• 이 맵을 반전시켜 SSS 셰이더의 소스로 사용합니다.
• 매쉬 노말 뒤집어 AO를 굽고 색 반전 시킨 것
SSS(SubSurface Scattering):
물체의 표면 아래에서 빛이 산란되어 밝아지는 현상
피하산란, 표면하산란 등으로 번역됩니다.
‘두께’의 개념이 뭐가 기준인지…
• 손가락 끝이 배보다 얇다
• 이와 같은 상대적인 개념
• 제일 두꺼운 부분이 1, 가장 얇은 부분이 0
Mat의 푸둥푸둥한 배
손가락 보다 두꺼워서 흰색
Mat의 벙어리 장갑 손
배 보다 얇아서 다소 어두운 색
비등방성/이방성 셰이더
• 각도에 따라 다른 성질을 띄는 물체
• 지금은 보는 각도에 따라 다르게 보이는 광학적 비등방성 재질에 대한 이야기.
• …라고 말해봐야 감이 안 잡히신다면, 냄비 바닥을 떠올리세요.
Importance ★ ★ ★ ★ ★
광학적 비등방성 재질 표현을 위한 맵
• Anisotropy Angle, Anisotropy Level 맵은 두 채널을 사용합니다.
Anisotropy Angle Anisotropy Level
굳이 ‘광학적’을 강조하는 이유
• 옷감의 씨실과 날실의 재질이 판이하게 다르면 비등방성 소재입니다.
• 근데 보는 각도에 따라 다르게 보이지 않으면, 광학적으로는 등방성
• 섭스턴스 작업에는 오직 보이는 것만 생각하세요.
Importance ★ ★ ★ ★ ★
Anisotropy Angle
• 표면에서 몇 시 방향으로 빛이 뻗어 나가는가?
• 몇 시 방향인데?  하나의 값  1 채널로 표현 가능
• 방향 벡터가 뭔데?  세 개의 값  3 채널로 표현 가능
• B채널 값은 1이라 치자  R, G값만 필요  2채널로 표현 가능
• 하나의 맵에 총 세 가지의 표현 방법이 존재
• 섭디: 1채널 값 사용
• 게임 엔진: Unreal, Unity 모두 3 채널 맵 사용
• 그 외 렌더러는 렌더러 문서를 참고
Importance ★ ★ ★ ★ ★
Anisotropy Angle
• 표면에서 몇 시 방향으로 빛이 뻗어 나가는가?
• 몇 시 방향인데?  하나의 값  1 채널로 표현 가능
• 방향 벡터가 뭔데?  세 개의 값  3 채널로 표현 가능
• B채널 값은 1이라 치자  R, G값만 필요  2채널로 표현 가능
• 하나의 맵에 총 세 가지의 표현 방법이 존재
• 섭디: 1채널 값 사용
• 게임 엔진: Unreal, Unity 모두 3 채널 맵 사용
• 그 외 렌더러는 렌더러 문서를 참고
Importance ★ ★ ★ ★ ★
Anisotropy Angle 변환 공식
• ……은 수학 이야기니까 생략
• 완성된 노드를 미리 만들어 드립니다
• Aniso:Angle to Tan 노드
• 파라미터 1개도 없어 그냥 연결만 하면 끝나는 노드!
Importance ★ ★ ★ ★ ★
Anisotropy Angle 변환 공식
Importance ★ ★ ★ ★ ★
Anisotropy Level
• 이방성 효과가 얼마만큼 강한지 정하는 것
• 1일수록 이방성 성격이 강하다
• 0이면 이방성이 아니다
• 보통 0을 쓰거나, 1 주변값을 많이 쓰게 됩니다
• 멀리 갈 것 없이, 섭스턴스에서 제공하는 예시가 딱 그렇게 사용중
Importance ★ ★ ★ ★ ★
ID 맵
• 규칙에 따라 매쉬의 영역을 색으로 구분한 것
• 총 네 가지 방법으로 베이킹 가능
• 버텍스 컬러  후디니 사용시 자주 사용할 옵션
• 머티리얼 컬러  대부분의 경우 사용되는 옵션
• File ID
• Polygroup
Importance ★ ★ ★ ★ ★
UV to SVG
• UV 조각 하나하나 다른 색으로 칠해 구분해 줍니다.
• 특이사항으로, 알파 영역이 마스킹 되어 있습니다.
Importance ★ ★ ★ ★ ★
UV to SVG의 활용
• 이후 Flood Fill을 사용해 UV를 활용한 맵핑 하는 방법을 배웁니다
Clearcoat
• 자동차 도장(카페인트) 등에 사용되는 재질
• 기본 면 위에 얇은 필름 등이 얹혀진 재질
언리얼의 클리어코트 재질
Clearcoat
• 대충 이런 구조
• Base Coat 부분은 평소 제작하는 재질과 같다
• Clear Coat 부분이 필름 등 반투명 막
• 차 외관에 흠집이 나도 괜찮은 부분까지 코트
• 여기까진 자동차용 코트로 닦아주면 해결
• Base Coat까지 긁히면 수리비가 높아지고…
• Primer까지 긁히면 보험사를 부르고…
• Body Panel까지 긁히면 이제 부품 바꿔야…
Stride 엔진의 설명 문서
Clearcoat의 다른 예
• 건프라의 마감재, 매니큐어 탑 코트
• 다들 놓치는 부분이지만, 원리가 동일!
• 사실 개념은 전부 비슷
• 맨 밑은 모델링, 프라이머 레벨은 CG에서는 무시
• 실 작업은 베이스 코트, 클리어 코트 부분
Clear Coat
마감재
주 도료
프라이머
플라스틱 부품
건프라 도색
탑코트
컬러
베이스 코트
손톱
네일아트
이거 만든다고 팔자에도 없는 네일아트 용어 검색……
Clearcoat에 사용되는 맵
• 섭디에선 5개를 사용
• 하지만, 엔진마다, 렌더러마다 이름이 조금씩 다르다… 개념 자체는 비슷하니 다행?
• Coat Opacity: 클리어 코트 강도. 0이면 코트가 없다.
• Coat Color: 코트 컬러
• Coat Normal: 클리어 코트 듀얼 노말이라 불리는 것
• UE4 문서 참고
• Coat Roughness: 코트의 거칠기
• 유광이면 0, 무광이면 1에 가깝게
• Coat Specular Level: 코트 정반사 조절
Clearcoat에 사용되는 맵
• 각각의 맵을 기존의 맵에 대응시켜 보면…
• Coat Opacity: Opacity
• Coat Color: Base Color
• Coat Normal: Normal
• Coat Roughness: Roughness
• Coat Specular Level: Specular Level
• 기존 텍스쳐도 만들어서 쓸 수 있지만, 보통 0.5로 고정
• 즉, 일반적인 재질(Base Coat)과 거의 같은 맵을 사용한다
• 한 개의 일반 재질 + 반투명 필름 재질을 동시에 제작하는 것 뿐!
Clearcoat에 사용되는 맵
• 이쯤 되면 나오는 질문
• Q1: 메탈 맵에 대응하는 맵은 왜 없나요?
• A1: 금속이면서 동시에 반투명인 재질은… 현실 세계에서도 아직 발견된 것이 없습니다.
• Q2: 그냥 일반 재질이랑 반투명 재질 같이 쓰면 되지 않나요?
• A2: 그렇다고 그냥 반투명을 쓰기엔 반투명이 너무 비싼 계산
• 머티리얼도 두 개를 사용해야 함.
• Q3: 반투명이 왜 비싼가요?
• A3: 셰이더에서 반투명의 처리 과정을 알아야 합니다.
• 셰이더 설명은 강의의 목적을 벗어납니다.
• 유니티 쉐이더 스타트업 책에 관련 내용이 나옵니다.
• Q4: 머티리얼을 두개 쓰면 왜 안 좋나요?
• A4: 드로우콜이 늘어납니다.
• 드로우콜이 늘어나는 대표적인 경우가 머티리얼의 수 증가입니다.
• 이것 역시 자세한 설명은 본 강의의 목적을 벗어납니다.
• 유니티 그래픽스 최적화 스타트업 책의 드로우콜 부분에 아주 자세하게 정리되어 있습니다.
와! 4쇄! 품절 ㅠㅠ
Importance ★ ★ ★ ★ ★
이 모든 맵을 다 알아야 하는 이유
• 정확한 사용법을 알아야, 원하는 표현을 할 수 있게 됩니다.
• 특히, Spec/Gloss 워크플로우의 경우, 제대로 알지 못하면 굉장히 난해합니다.
• Baked Map의 경우, 정확하게 알 수록 매쉬에서 원하는 부분을 선택하기 쉬워집니다.
• Curvature 맵이 뭔 지 모르는 사람이 모서리나 구석을 쉽게 찾을 수 없습니다.
• 월드 노말이 뭔지 모르는 사람이 왼쪽을 바라보는 부분을 찾아낼 수 없습니다.
• 매쉬 맵핑에만 쓰이는게 아니라 텍스쳐 제작에도 쓰입니다
Importance ★ ★ ★ ★ ★
표로 정리
맵 이름 역할 비고 맵 이름 역할 비고
BaseColor 기본색
Metal/Rough
워크플로우
Position 텍셀 위치
Metallic 금속 여부
World Space
Normal
텍셀 바라보는 방향
Roughness 표면 거칠기 Thickness 두께
Diffuse 난반사
Spec/Gloss
워크플로우
Anisotropy Angle 비등방성 각도 비등방성
재질
Specular 정반사 Anisotropy Level 비등방성 정도
Glossiness 표면 매끄러움 ID 조건에 따라 영역 구분
Normal 표면 반사 각도 돈 터치 플리즈 UV to SVG UV 조각별로 분류
Height 높이 Coat Opacity 코트 강도
Clear Coat
재질
Emisive 자체발광 Coat Color 코트 색상
Opacity 투명도 Coat Normal 코트 노말
A.O. 주변광 차폐 Coat Roughness 코트 거칠기
Curvature
각지거나,
평평한 부분
Coat Specular Lv 코트 정반사 강도
끝
강의에도 많은 관심 부탁드립니다.

Mais conteúdo relacionado

Mais procurados

물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역Dae Hyek KIM
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
감마가 어디감마
감마가 어디감마감마가 어디감마
감마가 어디감마JP Jung
 
Pbr guide kor_02
Pbr guide kor_02Pbr guide kor_02
Pbr guide kor_02형근 최
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정Dae Hyek KIM
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술henjeon
 
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근MinGeun Park
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술Ki Hyunwoo
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correctionMinGeun Park
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)포프 김
 
Compute shader
Compute shaderCompute shader
Compute shaderQooJuice
 
Shadow mapping 정리
Shadow mapping 정리Shadow mapping 정리
Shadow mapping 정리changehee lee
 
2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성Gunho Shin
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기강 민우
 
[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)MinGeun Park
 

Mais procurados (20)

Ndc11 이창희_hdr
Ndc11 이창희_hdrNdc11 이창희_hdr
Ndc11 이창희_hdr
 
물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
Ssao
SsaoSsao
Ssao
 
감마가 어디감마
감마가 어디감마감마가 어디감마
감마가 어디감마
 
Pbr guide kor_02
Pbr guide kor_02Pbr guide kor_02
Pbr guide kor_02
 
언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정언차티드4 테크아트 파트1 톤맵핑&색보정
언차티드4 테크아트 파트1 톤맵핑&색보정
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
 
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
 
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
NDC2016 프로젝트 A1의 AAA급 캐릭터 렌더링 기술
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correction
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
 
Motion blur
Motion blurMotion blur
Motion blur
 
Compute shader
Compute shaderCompute shader
Compute shader
 
Shadow mapping 정리
Shadow mapping 정리Shadow mapping 정리
Shadow mapping 정리
 
High dynamic range
High dynamic rangeHigh dynamic range
High dynamic range
 
2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성2009-2016 기본기(손맵)의 중요성
2009-2016 기본기(손맵)의 중요성
 
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
[IGC 2016] 넷게임즈 김영희 - Unreal4를 사용해 모바일 프로젝트 제작하기
 
D2 Hdr
D2 HdrD2 Hdr
D2 Hdr
 
[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)
 

PBR 기초 이론과 사용되는 맵들 Vol.3

  • 1. • 이 슬라이드는 에서 제공되는 Substance 3D Designer 강의 중 사용되는 슬라이드입니다. • 강의 링크는 슬라이드 소개란에 있습니다. • 클릭하시면 강의 페이지로 이동합니다. • 슬라이드의 내용은 섭스턴스 디자이너, 페인터를 포함, 모든 렌 더링에 공통으로 적용되는 내용입니다. • 때문에 이 내용만은 공개하기로 결정했습니다. • 슬라이드 내용이 마음에 드셨다면 좋아요, 공유 부탁드립니다 • 겸사겸사 강의도 구매해주시면 매우매우 감사합니다.
  • 3. Substance 툴에서 사용되는 맵 • 간단한 PBR 이론과 • 섭스턴스 워크플로우에서 사용되는 모든 맵을 알아보겠습니다. • 딱 최소한 알아야 할 만큼만 알아봅니다.
  • 4. 이 모든 맵을 다 알아야 하는 이유 • 정확한 사용법을 알아야, 원하는 표현을 할 수 있게 됩니다. • 특히, Spec/Gloss 워크플로우의 경우, 제대로 알지 못하면 굉장히 난해합니다. • Baked Map의 경우, 정확하게 알 수록 매쉬에서 원하는 부분을 선택하기 쉬워집니다. • Curvature 맵이 뭔 지 모르는 사람이 모서리나 구석을 쉽게 찾을 수 없습니다. • 월드 노말이 뭔지 모르는 사람이 왼쪽을 바라보는 부분을 찾아낼 수 없습니다.
  • 5. 기본적인 PBR의 원리 • 물체에는 기본 색이 있습니다. Base Color의 번역인 ‘원색’과는 좀 다른 의미로 봐 주세요.
  • 6. 기본적인 PBR의 원리 • 우리가 물체를 볼 때엔, ’난반사광’을 주로 보게 됩니다. • 비금속이라면, 난반사광은 기본색을 따릅니다. 사실 특정 경우를 제외하면 눈에 보이는 모든 것이 정반사광과 난반사광이 섞여 있습니다.
  • 7. 기본적인 PBR의 원리 • 그 때, 빛이 맺히는 부분에는 바로 정반사광이 맺히는 것입니다. 난반사광 정반사광
  • 8. Importance ★ ★ ★ ★ ★ 기본적인 PBR의 원리 • 반대로, 물체가 금속이면, 정반사광이 기본색을 따릅니다. • 물체가 비금속이면, 정반사광은 흰색을 띕니다. 난반사광 정반사광 금속 비금속
  • 9. Importance ★ ★ ★ ★ ★ 기본적인 PBR의 원리 • 물체 표면이 매끄러우면 거울처럼 주변을 반사합니다. • 물체 표면이 거칠어질 수록 정반사가 줄어들면서 번지다가 사라집니다. 표면 매끄러움 표면 거침 금속 비금속
  • 10. Importance ★ ★ ★ ★ ★ 기본적인 PBR의 원리 • 앞서 본 5개의 슬라이드를 한 문장으로 정리해 봅시다. • 1. 우리 눈에 보이는 색은 • 2. (기본색/금속 여부)에 따라 • 3. (정반사/난반사) 색이 정해지고 • 4. 정반사 난반사 비율은 표면 거칠기에 따라 달라진다
  • 11. Importance ★ ★ ★ ★ ★ 2가지 워크플로우 • 여기서 두 가지 워크 플로우로 갈립니다. • 우리 눈에 보이는 색을 표현하기 위해… • (기본색/금속 여부/표면 거칠기) 로 표현하는 방식으로 작업 • Metallic/Roughness 워크플로우 • (정반사/난반사/표면 거칠기)으로 표현하는 방식으로 작업 • Specular/Glossiness 워크플로우 • 이 경우, 표면 매끄러움으로 표현한다고 하는게 더 맞겠죠.
  • 12. 풀어야 할 오해 1: 노말이 없는데 PBR이라고? • 먼 미래에, 기술 발전으로 인해 노말 맵을 사용하지 않아도 되는 시점에… • 하이폴리곤에 베이스컬러, 메탈릭, 러프니스 맵을 사용합니다. • 그럼 이건 노말맵이 없으니 PBR이 아닌 걸까요? • PBR 맞습니다 • 노말맵과 PBR은 다른 목적을 가진 기술입니다. • 즉, 서로 무관합니다. • PBR 프로젝트를 normal 프로젝트라고 부르지 말아주세요 • ‘평범한 프로젝트’의 의미로 사용하는게 아니고서야.
  • 13. 풀어야 할 오해 2: 이전 렌더러는 Non-PBR? • PBR이란 말을 안 썼다 뿐이지, PBR 맞습니다. • 애초에, 레이트레이싱은 빛을 하나하나 쏴 모사하는 것 • 게임 쪽 PBR이랑 비교도 안 되게 정확합니다. • 이전까지 게임에선 PBR이 아니었기 때문에 이 단어가 주목받은 것
  • 14. 풀어야 할 오해 3: PBR이 무조건 예쁘다? • 물리적으로 옳다 = 예쁘다는 절대 Never 아닙니다. • 제대로 모르고 쓰는 PBR은 때때로 오히려 흉하기 까지… • 오히려 모든 작품이 비슷해 보이는 부작용 • 물리적으로 옳은 게 중요? 예쁜 게 더 중요? • 기준은 상황에 따라 정해집니다.
  • 15. 풀어야 할 오해 4: Diffuse 라는 용어 • 옛날엔 Diffuse = Basecolor + a의 의미가 강했습니다 • 베이스 컬러에 추가적인 빛 계산이 이미 들어간 형태의 맵 • 하지만 PBR 이후로는 전혀 맞지 않는 이야기 • ‘손맵’의 영문 번역은 ‘Diffuse’가 아니라 ‘Hand Painted’!!!! • Stylized가 유사한 의미로 사용되고 있습니다.
  • 16. 주의사항 • 앞의 설명은 입사광이 흰 색인 것을 기준으로 했을 때 • 입사광 흡수 정도나, 공유전자 어쩌구 이런 거 설명하면 복잡해 집니다. • 이 공식은 알아 두시면 좋습니다. • ( 난반사 광 총합 + 정반사 광 ) = ( 반사광 )= ( 입사광– 흡수된 빛 에 너지)
  • 17. 정확하고 자세한 내용은 다른 자료를 참고 • https://www.slideshare.net/jpcorp/ss-60782086 • https://edu.kocca.kr/edu/onlineEdu/openLecture/view .do?pSeq=580&menuNo=500085 청강대학교 정종필 교수님의 자료 https://www.khanacademy.org/science/physics/geometric-optics#reflection-refraction https://academy.allegorithmic.com/courses/pbrguides 이 두 링크는 영문 자료 입니다.
  • 18. 두 가지 워크플로우에서 사용하는 맵 • Metal/Rough 워크플로우 • Base Color (기본색) • Metallic (금속성) • Roughness (거칠기) • Spec/Gloss워크플로우 • Diffuse(난반사) • Specular(정반사) • Glossiness(매끄러움) 자주 사용하게 될 쪽은 이 쪽
  • 19. Metal/Rough: Base Color (Albedo) • 이전 PBR 기본 이론에서 설명했듯이, 기본색 입니다. • Albedo(알비도) 라고도 불립니다. Material Base Color
  • 20. Importance ★ ★ ★ ★ ★ Metal/Rough: Base Color (Albedo) • 오로지 기본 색에 대한 정보만 있어야 합니다. • 무광 도료를 바른 느낌이 나도… • 뭔가 입체감이 하나도 없어도… • 오히려 그것이 정상입니다. Base Color
  • 21. 베이스 컬러에 대한 고찰 • 완전한 흰색/검은색은 존재하는가? • RGB값이 (1/1/1)이거나 (0/0/0)인 색이 존재하는지 묻는 것 • 결과만 말하자면, ‘없다’ • 모든 색을 완전히 반사하거나, 흡수하거나 둘 중 하나라는 소리 • 그런 재질은 없습니다. • 검은색은 최근 ‘반타블랙’이라는 것이 나왔습니다. 이것도 100% 흡수는 아닙니다.
  • 22. PBR Safe Base Color • 안전한 베이스 컬러의 범위 • 30 ~ 240 (0.1176 ~ 0.9412) • 50 ~ 249 (0.1961 ~ 0.9765) (엄격한 기준) • SD에는 이걸 체크/수정 할 수 있는 노드가 존재
  • 23. 베이스 컬러에 대한 고찰 • 비금속 베이스 컬러는 대부분 생각한대로 잘 나온다. • 하지만, 금속은 그렇지 않다. • 금속의 색을 어둡게 잡기 때문. 생각보다 밝아야 합니다. 각종 금속의 베이스 컬러 색상 꽤 밝은 색상을 사용 중
  • 24. 베이스 컬러에 대한 고찰 • 구리 같은 건 한 번 당해 봐야 압니다.
  • 25. Importance ★ ★ ★ ★ ★ Metal/Rough: Metallic • 금속성 여부를 정하는 맵입니다. 금속 비금속
  • 26. Importance ★ ★ ★ ★ ★ Metal/Rough: Metallic • 흰색 아니면 검은색만 존재해야 합니다. • 금속 언저리 물질이라는 건 없으니까요. 금속 비금속
  • 27. Metal/Rough: Metallic • 근데 먼지 같은 거 낄 수도 있으니까… 너무 박하게 굴지 않기로 하죠. 머티리얼 메탈릭 맵
  • 28. Metal/Rough: Metallic • 대략 이 정도로 표현 가능하겠습니다. 금속 부분 비금속 부분 뭔가 이상한 부분
  • 29. Metal/Rough: Metallic • 물론, 여기서도 ‘물리적으로 옳다 ≠ 예쁘다’ 등식은 성립합니다. 물리적으로 틀렸지만, 그래도 맘에 들면 써야죠.
  • 30. Importance ★ ★ ★ ★ ★ 메탈 맵과 0/1 논쟁 • 예쁘면 장땡이다로 설명이 충분하지 않다고 느끼시는 분들이 존재 • 컴퓨터의 데이터 표현 방식을 이해해야 한다 • 흰색 선을 8개 표현하고 싶을 때, 최소로 필요한 픽셀 개수는?
  • 31. Importance ★ ★ ★ ★ ★ 메탈 맵과 0/1 논쟁 • 정답: 16개 • 흰색 픽셀을 8개 나란히 놓으면 선끼리 구분이 불가능 8개? 확실히 8줄
  • 32. Importance ★ ★ ★ ★ ★ 메탈 맵과 0/1 논쟁 • 요지: 어떤 디테일을 표현하고자 할 때 필요한 최소 해상도가 존재 • 아주 디테일한 부분을 표현하고 싶으면 해상도를 늘리면 된다 • 현실세계는 무한한 해상도를 가지지만… • 하지만! 어떤 컴퓨터도 무한한 크기의 해상도를 가질 수 없다  0/1만 있는 이미지였지만.. 가로 해상도를 반으로 줄이니 회색이 되어버렸다
  • 33. Importance ★ ★ ★ ★ ★ 메탈 맵과 0/1 논쟁 정리 • 요지: 컴퓨터의 한계 때문에 0/1이 아닌 값을 쓸 수 밖에 없다! • 추가로, 렌더링 과정에서 픽셀 보간시에 중간값이 튀어나오기도 한다 • 만약 해상도가 무한하다면, 0/1만 쓰는 것이 옳다! • 금속이면, 금속, 비금속이면 비금속이지, 그 중간인 물체가 없으니까 • 하지만 불가능하다!
  • 34. Importance ★ ★ ★ ★ ★ 메탈 수치를 이해하는 기준 • 메탈릭의 중간값 • ≠ 금속과 비금속의 중간 상태 • 이렇게 생각하면, 중간값의 존재가 절대로 이해되지 않습니다 • = 금속과 비금속이 섞여서 존재하는 상태 • 혹은 그 지점의 금속성 물질의 비율 (1이면 100% 금속만 있는 상태) • 현재는 이렇게 이해하고 사용하는 수 밖에 • 그렇다고 중간 값을 너무 남용하지 맙시다. • 혹은 그냥 아트디렉터님을 전적으로 믿으세요
  • 35. Importance ★ ★ ★ ★ ★ Roughness • 미세 표면의 거칠기를 나타내기 때문에 ‘Roughness’라는 이름이 붙었습니다. • 앞에서 한 번 본 사진에, 러프니스 같은 걸 끼얹어 보겠습니다. 표면 매끄러움 표면 거침 금속 비금속 러프니스가 낮을 수록 주변 환경을 잘 반사 러프니스가 높을 수록 무광에 가까운 느낌
  • 36. Roughness의 수치에 대해서 • 앞서 베이스컬러에서 이야기 했던 것과 비슷한 주제입니다. • 러프니스가 완전한 흰색/검은색이 될 수 있을까요? • 이것 역시 NO 입니다. • 러프니스가 낮은 대표적인 물체 거울도 0을 쓰지 않습니다. • 러프니스가 높은 대표적인 물체 고무도 1이 아닙니다.
  • 37. Roughness의 수치에 대해서 • 러프니스가 1 = 눈에 보이는 모든 빛이 100% 난반사 빛이다 • 러프니스가 0 = 눈에 보이는 모든 빛이 100% 정반사 빛이다 • 이런 물체는 아직 없습니다. • 앞서 이야기한 반타블랙은 1에 매우 가까운 수치라고 합니다. • 그냥 1 씁시다.
  • 38. Importance ★ ★ ★ ★ ★ Fresnel • 표면에서 반사된 빛의 양이 관찰 각도에 따라 다른 현상 수직 방향에서 볼 때 옆으로 매우 기울여서 볼 때 카메라 직교 투영 상태 Basecolor 0.5 Roughness 0 Metallic 0
  • 39. Fresnel • 누우면 누울 수록 정반사광이 강하게 보입니다
  • 40. Importance ★ ★ ★ ★ ★ Fresnel • 프레넬 현상을 이용해 러프니스 값을 잘 조정해야 합니다 좌측 그림에 주목! 러프니스는 완전히 다르지만 관측 결과가 거의 같다 러프니스 값의 정확한 측정은 기울여 보면서 해야 한다
  • 41. Importance ★ ★ ★ ★ ★ 금속의 Fresnel 수직 관찰 시 차이가 비금속 보다는 두드러지지만 기울여 관찰 시 차이는 더 큼 Roughness는 어떤 상황이건 기울여 보면서 값을 정하자 직교투영이 더 유리할수도
  • 42. F0 (Fresnel at 0 Degree) • 수직 방향에서 바라볼 때, 각도에 따른 차이가 가장 적다. • 그러니, 면의 노말과 관측점 각도가 0도인 시점에서 바라본 형태의 정보를 담자 • 그것이 F0 맵 • 하지만! 섭스턴스 워크플로우에선 F0맵을 사용하지 않음 • 셰이더에서 알아서 처리해 주기 때문
  • 43. Importance ★ ★ ★ ★ ★ Spec/Gloss 워크플로우 • 또 하나의 PBR 워크플로우 •PBR 워크플로우 • 이것도 PBR 맞아요 • 디퓨즈 잘 그리는 사람이 금손이다 -> 그린다 -> 손맵이다 ->Non-PBR… • 이런 사고회로를 거친 결과물인지, PBR이 아니라 생각하시는 분이 좀 있습니다.
  • 44. Spec/Gloss 워크플로우 • 앞서 이야기 했듯이, 정반사/난반사/표면 매끄러움으로 재질을 표현합니다. 쉽게 연상이 되지 않는다면 정상입니다 평소 물체를 볼 때 ‘이건 정반사, 저건 난반사 광이야!’ 하면서 안 보니까요.
  • 45. Spec/Gloss 워크플로우 • 섭디에서 메탈 러프에서 스펙 글로 맵으로 한번 바꿔 봅시다. Metal/Rough Spec/Gloss BaseColor Metallic Roughness Diffuse Specular Glossiness
  • 46. Spec/Gloss 워크플로우 • 혹시나 싶어 이야기 하지만, 다른 셰이더 쓴 거 맞습니다. Metal/Rough Spec/Gloss
  • 47. Spec/Gloss 워크플로우 • 변환된 맵을 일단 살펴봅시다. • 그리고처음에언급했던내용을상기시켜봅니다. • 비금속이라면,난반사광은기본색을따릅니다. • 물체가금속이면,정반사광은기본색을따릅니다. • 물체가비금속이면,정반사광은흰색을띕니다. • Roughness와Glossiness는그냥색반전관계 BaseColor Metallic Roughness Diffuse Specular Glossiness
  • 48. Importance ★ ★ ★ ★ ★ Spec/Gloss 워크플로우 • 차례차례 매칭시켜 봅시다. BaseColor Metallic Roughness Diffuse Specular Glossiness • 비금속이라면,난반사광은기본색을따릅니다. • 물체가금속이면,정반사광은기본색을따릅니다. • 물체가비금속이면,정반사광은흰색을띕니다. • Roughness와Glossiness는그냥색반전관계
  • 49. Importance ★ ★ ★ ★ ★ Glossiness • 미세 표면의 매끄러움을 나타내기 때문에 ‘Glossiness’라는 이름이 붙었습니다. • 앞에서 두 번 본 사진에, Glossiness 같은 걸 끼얹어 보겠습니다. 표면 거침 표면 매끄러움 금속 비금속 글로시니스가 높을 수록 주변 환경을 잘 반사 글로시니스가 낮을 수록 무광에 가까운 느낌 데자뷰가 느껴진다면 기분 탓
  • 50. 비금속 정반사광이 회색인 이유 • 회색이 아니라, 흰색이 아주 약하게 들어갔다고 생각합시다. 그냥 흰색이 100% 흰색이라면 이건 한 10% 흰색 이렇게 생각하면 이 문장이 참이 됩니다. ‘물체가 비금속이면, 정반사광은 흰색을 띕니다’
  • 51. 디퓨즈 맵 전환에 노말맵은 왜 안 쓰나요? • 안 쓰는게 정석입니다. • 앞서 썼던 문장을 다시 가져왔습니다. • 1. 우리 눈에 보이는 색은 • 2. (기본색/금속 여부)에 따라 • 3. (정반사/난반사) 색이 정해지고 • 4. 정반사 난반사 비율은 표면 거칠기에 따라 달라진다 • 여기 노말 맵에 대한 이야기가 안 나옵니다. • 그림자나 음영 계산 같은 건 노말/AO에게 맡깁시다.
  • 52. 이런 건 왜 만든 걸까 • 메탈/러프, 스펙/글로 모두 나름의 장점이 있기 때문입니다. • 정말 장점이 없는 워크플로우였다면, 진작에 도태 되었을 것.
  • 53. Spec/Gloss의 큰 장점 • PBR의 메탈릭 엣지 문제가 발생하지 않음 • 메탈릭 중간 값이 만드는 문제
  • 54. 이 문제는 왜 생기나? • 메탈릭 맵 텍셀 밀도가 너무 낮을 때 발생 • 맵 자체의 해상도가 낮을 수록 쉽게 발생 256*256 4096*4096
  • 55. 256 쓰니까 그렇지! • 이건 텍셀 밀도의 문제가 맞습니다. 64k 텍스쳐라고 가정 아무리 64k 텍스쳐를 써도 겨우 이 정도 부분 가지고 넓은 부분을 표현하려 하면 Metal Edge 문제는 생긴다.
  • 56. 진짜 범인은 픽셀 보간 • 1 만큼의 범위로 10을 표현하려면 픽셀을 쭉 늘려야 합니다 • 때문에 픽셀이 아무리 칼같이 0/1로 떨어져도 내부 보간이 발생 • 그 과정에서 ‘이상한 메탈릭 중간 값’이 발생! 이 정도?
  • 57. 문제 해결을 위해선… • 충분한 텍셀 밀도를 가질 수 있도록 • UV를 잘 짜거나 • 충분히 높은 해상도의 이미지를 쓰거나 • 셰이더를 사용 • 저해상도 이미지를 고해상도 처럼 쓰는 방법이 있다 • 지형 셰이더에서 많이 사용하는 방법 • 아니면 아예 Spec/Gloss를 사용하면 된다.
  • 58. Metal/Rough vs Spec/Gloss 확실히 보이는 차이들 둘 다 128*128 즉, 저 해상도에선 Spec/Gloss가 강하다!
  • 59. Importance ★ ★ ★ ★ ★ 각각의 장단점 Albedo/Metal/Roughness Diffuse/Specular/Glossiness 장점 직관성이 높다(배우기 쉽다) 사용 채널 수가 적다(3+1+1) 정/난반사 색이 다른 독특한 머티리얼 제작 가능 Metalic Edge 문제 없음 단점 정/난반사 색이 다른 독특한 머티리얼 제작 불가 Metalic Edge 문제 발생 더러운 직관성(배우기 어렵다) 사용 채널 수가 많다(3+3+1) 즉, 경우에 따라 두 워크플로우의 변환이 필요할 수도 있다!
  • 60. Mt/Rough  Sp/Glo 전환 • 메탈 러프로 작업을 계속 하다가… • 적당한 시점에 스펙 글로 워크플로우로 전환합니다. • 적당한 시점은 보통 최종의최후의마지막의끝의디엔드 • 메탈 러프의 쉬운 워크플로우와 • 스펙 글로의 아티스트 창의력 발휘 여지 모두 활용 가능! • 모르고 못 쓰는 것과 알고 안 쓰는 것의 차이는 큽니다.
  • 61. Sp/Glo  Mt/Rough 전환은 불가 • 메탈/러프에서 스펙/글로의 전환은 불가능! • 정확하게는, 제한적인 조건 하에 가능. • 즉, 일반화 할 수가 없음 • 제한적인 조건: 정반사+난반사의 합이 정확히 1 • 색의 합이 1은 무슨 소리며… • 1이 아닌 경우는 어떻게 처리할 것인가?
  • 62. 여기까지가 PBR의 핵심 • Metal/Rough의 3가지 맵 • 베이스컬러, 메탈릭, 러프니스 • Spec/Gloss의 세 가지 맵 • 정반사, 난반사, 부드러움 • 두 워크플로우, 6가지 맵이 PBR의 핵심 • 나머지 맵들은 PBR이 아닌 별도의 렌더링 기술에 사용 • 하지만, 렌더링에 흔하게 사용되기에 모조리 알아봅시다
  • 63. Importance ★ ★ ★ ★ ★ Normal • CG에서 Normal이라는 이야기가 나오면? • 예외없이 방향벡터에 대한 이야기 • 주의: 지금부터 할 설명은, 쉬운 이해에 초점이 맞춰져 있습니다. • 노말 맵 베이킹이 실제로 이렇게 되지 않는다는 것을 명심하세요.
  • 64. Normal • 일반 푸르딩딩한 노말 맵은 폴리곤 마다 각자 좌표계를 가진다 라는 말… • 이렇게 이해를 합시다. • 1. 매쉬가 있습니다.
  • 65. Normal • 2. 매쉬를 UV 모양대로 해체해서 쭉 펴줍니다.
  • 66. Normal • 3. UV 위치에 따라 하이폴리곤을 위치시킵니다. • 4. 이 상태로 베이크 합니다. • 5. UV 방향에 따라 모델도 회전
  • 67. Normal • 물론 이 설명이 실제 베이킹 방법과는 동떨어져 있지만… • 노말 맵이 왜 매쉬 자세가 변경되어도 문제가 없는지는 알 수 있습니다. 얘네 둘 다 노말맵은 똑같이 나오겠죠 어차피 해체를 하고 굽고 재조립이니 다를 게 없습니다. 물론 UV에 변동이 없을 때
  • 68. Normal • 그 외에도… • 1. 같은 메쉬를 베이크 해도 UV 회전에 따라 노말맵이 다른 이유 • 2. 베이크 할 때 UV가 중요한 이유 • 3. 사람이 노말맵을 직접 그려서 고쳐 볼 생각을 하면 안 되는 이유 • 4. 노말맵을 필터링 해 봐야 아무 의미 없는 이유 • 등등이 설명이 가능해서, 이런 방식을 택했습니다.
  • 69. Normal • 이전 페이지 1번 부가 설명용 자료 UV만 90도 돌아간 걸 제외하면 서로 같은 로우폴 노말 맵이 서로 다른데 90도 돌려주면 똑같은 걸 확인 가능
  • 70. Normal • 그런데, 3번 사진에서 주목할 점이 하나 있습니다. 로우 폴리곤의 면 기준, 하이폴리곤 노말 방향이 로우폴과 같은 방향이죠? 이걸 벡터로 표현하면 0,0,1이 됩니다.
  • 71. Importance ★ ★ ★ ★ ★ Normal • 렌더링 시 노말맵의 값에 * 2 -1 계산을 하게 됩니다. • 즉, 노말맵 저장 정보는 실제 값에 1을 더한 후 2로 나눈 값이라는 의미 • 0,0,1 각각의 숫자에 1을 더하고 2로 나눠봅시다. • 0.5, 0.5, 1이 됩니다. • 이걸 색으로 표현하면…
  • 72. Importance ★ ★ ★ ★ ★ Normal • 이런 색이 나옵니다. 즉, 이런 색이 나오는 부위는 ‘하이폴리곤 노말이 로우폴리곤 노말과 같은 지점’. 로우폴리곤 기준, 하이폴리곤이 평탄한 지점이라는 의미 127,127,255 0.5,0.5,1
  • 73. Importance ★ ★ ★ ★ ★ 제발 노말은 그냥 놔두세요 127,127,255 0.5,0.5,1 노말맵 직접 편집하고 싶으시다면 아래 사항을 기억하세요 1. 노말맵은 UV 배치에 따라 바뀌기도 한다 2. 노말맵의 각 색은 전부 방향에 대한 정보다 3. 노말맵을 직접 수정하고 싶다면 색을 방향으로 읽어낼 수 있어야 한다. 허용되는 건 딱 두 가지 경우입니다. 1. 기본 노말 색(옆 사각형 색)으로 덮어도 되는 경우 2. 미리 완성된 특정 모양의 노말 브러시로 찍어내는 경우
  • 74. Normal의 원리 • 우리가 물체를 볼 때 보는 건 그 물체가 반사한 빛이라고 했습 니다. 물체 표면
  • 75. Normal의 원리 • 물체 표면이 울퉁불퉁 해도 마찬가지입니다. 물체 표면
  • 76. Normal의 원리 • 그런데 말입니다, 아무리 물체 표면이 평평해도… 물체 표면
  • 77. Normal의 원리 • 정작 빛이 울퉁불퉁하게 반사가 된다면… 물체 표면
  • 78. Normal의 원리 • 우리 눈에는 울퉁불퉁하게 보일 겁니다. 물체 표면
  • 79. Normal의 원리 • 평평한 표면에서 울퉁불퉁하게 빛을 반사할 정보를 만들어 놓는 것이 바로 노말맵 입니다. + =
  • 80. Importance ★ ★ ★ ★ ★ Height 맵 • 디스맵과 비슷합니다. • 0.5(회색)에선 매쉬 변화가 없습니다. • 0.5를 기준, 그보다 크면 매쉬 위로 상승, 작으면 아래로 하강 • 설명 끝.
  • 81. 그림으로 보는 하이트맵 빨간 선: 하이 폴리 파란 선: 로우 폴리 보라 선: 하이 = 로우인 지점 주황색: 하이>로우인 지점 하늘색: 하이<로우인 지점 베이크 시 나오는 하이트 맵 좌측은 밝아지고 중앙은 어두워지고 우측은 0.5 그대로
  • 82. 실 적용 모습 + = 0.5라는 기준 값이 있지만 결과적으로는 0이 아니면 솟아 오른 형태로 보이게 됩니다.
  • 83. 굳이 Height 맵이라고 하는 이유 • Displace는 사실 여러 의미로 해석이 가능합니다. • 컬러 맵을 받아 버텍스를 3 방향으로 뒤트는 것도 Displace라 부를 수 있음 • Height는 콕 집어서 높이 변형만 하겠다고 못 박아 놓는 의미 • 더 정확하게는, 버텍스 노말 방향으로
  • 84. 테셀레이션은 하이트가 아닙니다 • 테셀레이션은 매쉬를 쪼개는 것 까지만 의미합니다. • 하이트 맵을 사용하기 전 일반적으로 테셀레이션을 하게 됩니다 • 그렇다고 두 개가 같은 건 절대 아닙니다.
  • 85. Importance ★ ★ ★ ★ ★ Emissive • 자체발광 맵 이라고도 부릅니다. • 라이트가 없어도 볼 수 있습니다.
  • 86. Importance ★ ★ ★ ★ ★ Opacity • 말 그대로, 투명도 입니다. 흔히 ‘알파’라고 알고 계신 바로 그것 사실 알파는 RGBA 채널 중 하나 흔히 A 채널에 오퍼시티를 넣을 뿐 SD의 Opacity form Mesh 베이커는 베이커 이야기 할 때 마저 하는 거로 앞으로는 오파시티랑 알파를 확실히 구분해서 말합니다! 오퍼시티 = 매쉬 렌더링 시 사용할 값 알파 = 이미지의 알파 채널
  • 87. Importance ★ ★ ★ ★ ★ Ambient Occlusion • 주변광 차폐 맵 입니다. • 매쉬 자체적으로 서로 간섭해서 빛이 잘 들어가지 못 하는 곳이 검은색 • 그 이외엔 흰색으로 표시해 주는 맵 입니다. • 구석진 곳을 추려내기에 좋습니다.
  • 88. Ambient Occlusion 구석진 곳: 검은색 드러난 곳: 흰색
  • 89. Ambient Occlusion • AO맵을 사용하면 입체적인 느낌이 더 살아납니다. 미사용 사용
  • 90. Importance ★ ★ ★ ★ ★ Curvature / Cavity • Curvature와 Cavity는 같은 것 • 적어도 알레고리드믹의 입장은 그러합니다. • 구석, 모서리, 평평한 곳을 0, 1, 0.5로 칠하는 맵 입니다.
  • 91. Importance ★ ★ ★ ★ ★ Curvature / Cavity 매쉬 노말 방향 이런 식으로 정보가 채워집니다. 이런 매쉬가 있을 때
  • 92. Curvature / Cavity 즉, 세 가지 정보를 1개의 채널로 표시하는 효율성 좋은 맵 입니다. 모서리, 흰색 구석, 검은색 평평함, 회색
  • 93. Importance ★ ★ ★ ★ ★ AO vs Curvature? • 추출 방식도, 용도도 다릅니다. • AO는 AO, Curvature는 Curvature다 • 용도가 다른 두 가지를 서로 비교하는 것은 무의미한 행동.
  • 94. Importance ★ ★ ★ ★ ★ Position • 텍스쳐 텍셀의 위치를 나타내는 맵 입니다. RGB R(X) G(Y) B(Z)
  • 95. Position 맵 값 분포도 색깔로 원하는 X, Y, Z 포지션을 선택하는 것이 가능합니다.
  • 96. Importance ★ ★ ★ ★ ★ World Space Normal • 각 폴리곤/혹은 노말 맵의 텍셀이 월드 공간 기준 어느 쪽을 바라보는지 색으로 알려줍니다. RGB R(X) G(Y) B(Z)
  • 97. World Space Normal 맵 값 분포도 색깔로 원하는 방향을 바라보는 지점을 선택할 수 있습니다. 각 채널 값 따로 사용도 가능
  • 98. Importance ★ ★ ★ ★ ★ World Space Normal vs Position • 언뜻 보면 비슷해 보입니다. • 하지만, 비교해보면 확실히 다릅니다. • 비유하자면 • 왼 쪽에 있는 것과 • 왼 쪽을 바라보는 것 • 두 가지를 나눠서 생각하는 것과 같습니 다.
  • 99. Importance ★ ★ ★ ★ ★ World Space Normal vs Tangent Space Normal World Space Normal Tangent Space Normal UV 배치 무관 중요 매쉬 움직임 중요 무관 UV 수정 시 불변 변함 매쉬 움직일 시 변함 불변 필터로 사용 가능 여부 O X
  • 100. Importance ★ ★ ★ ★ ★ Thickness • 매쉬의 두께를 나타내는 맵 입니다. • 이 맵을 반전시켜 SSS 셰이더의 소스로 사용합니다. • 매쉬 노말 뒤집어 AO를 굽고 색 반전 시킨 것 SSS(SubSurface Scattering): 물체의 표면 아래에서 빛이 산란되어 밝아지는 현상 피하산란, 표면하산란 등으로 번역됩니다.
  • 101. ‘두께’의 개념이 뭐가 기준인지… • 손가락 끝이 배보다 얇다 • 이와 같은 상대적인 개념 • 제일 두꺼운 부분이 1, 가장 얇은 부분이 0 Mat의 푸둥푸둥한 배 손가락 보다 두꺼워서 흰색 Mat의 벙어리 장갑 손 배 보다 얇아서 다소 어두운 색
  • 102. 비등방성/이방성 셰이더 • 각도에 따라 다른 성질을 띄는 물체 • 지금은 보는 각도에 따라 다르게 보이는 광학적 비등방성 재질에 대한 이야기. • …라고 말해봐야 감이 안 잡히신다면, 냄비 바닥을 떠올리세요.
  • 103. Importance ★ ★ ★ ★ ★ 광학적 비등방성 재질 표현을 위한 맵 • Anisotropy Angle, Anisotropy Level 맵은 두 채널을 사용합니다. Anisotropy Angle Anisotropy Level
  • 104. 굳이 ‘광학적’을 강조하는 이유 • 옷감의 씨실과 날실의 재질이 판이하게 다르면 비등방성 소재입니다. • 근데 보는 각도에 따라 다르게 보이지 않으면, 광학적으로는 등방성 • 섭스턴스 작업에는 오직 보이는 것만 생각하세요.
  • 105. Importance ★ ★ ★ ★ ★ Anisotropy Angle • 표면에서 몇 시 방향으로 빛이 뻗어 나가는가? • 몇 시 방향인데?  하나의 값  1 채널로 표현 가능 • 방향 벡터가 뭔데?  세 개의 값  3 채널로 표현 가능 • B채널 값은 1이라 치자  R, G값만 필요  2채널로 표현 가능 • 하나의 맵에 총 세 가지의 표현 방법이 존재 • 섭디: 1채널 값 사용 • 게임 엔진: Unreal, Unity 모두 3 채널 맵 사용 • 그 외 렌더러는 렌더러 문서를 참고
  • 106. Importance ★ ★ ★ ★ ★ Anisotropy Angle • 표면에서 몇 시 방향으로 빛이 뻗어 나가는가? • 몇 시 방향인데?  하나의 값  1 채널로 표현 가능 • 방향 벡터가 뭔데?  세 개의 값  3 채널로 표현 가능 • B채널 값은 1이라 치자  R, G값만 필요  2채널로 표현 가능 • 하나의 맵에 총 세 가지의 표현 방법이 존재 • 섭디: 1채널 값 사용 • 게임 엔진: Unreal, Unity 모두 3 채널 맵 사용 • 그 외 렌더러는 렌더러 문서를 참고
  • 107. Importance ★ ★ ★ ★ ★ Anisotropy Angle 변환 공식 • ……은 수학 이야기니까 생략 • 완성된 노드를 미리 만들어 드립니다 • Aniso:Angle to Tan 노드 • 파라미터 1개도 없어 그냥 연결만 하면 끝나는 노드!
  • 108. Importance ★ ★ ★ ★ ★ Anisotropy Angle 변환 공식
  • 109. Importance ★ ★ ★ ★ ★ Anisotropy Level • 이방성 효과가 얼마만큼 강한지 정하는 것 • 1일수록 이방성 성격이 강하다 • 0이면 이방성이 아니다 • 보통 0을 쓰거나, 1 주변값을 많이 쓰게 됩니다 • 멀리 갈 것 없이, 섭스턴스에서 제공하는 예시가 딱 그렇게 사용중
  • 110. Importance ★ ★ ★ ★ ★ ID 맵 • 규칙에 따라 매쉬의 영역을 색으로 구분한 것 • 총 네 가지 방법으로 베이킹 가능 • 버텍스 컬러  후디니 사용시 자주 사용할 옵션 • 머티리얼 컬러  대부분의 경우 사용되는 옵션 • File ID • Polygroup
  • 111. Importance ★ ★ ★ ★ ★ UV to SVG • UV 조각 하나하나 다른 색으로 칠해 구분해 줍니다. • 특이사항으로, 알파 영역이 마스킹 되어 있습니다.
  • 112. Importance ★ ★ ★ ★ ★ UV to SVG의 활용 • 이후 Flood Fill을 사용해 UV를 활용한 맵핑 하는 방법을 배웁니다
  • 113. Clearcoat • 자동차 도장(카페인트) 등에 사용되는 재질 • 기본 면 위에 얇은 필름 등이 얹혀진 재질 언리얼의 클리어코트 재질
  • 114. Clearcoat • 대충 이런 구조 • Base Coat 부분은 평소 제작하는 재질과 같다 • Clear Coat 부분이 필름 등 반투명 막 • 차 외관에 흠집이 나도 괜찮은 부분까지 코트 • 여기까진 자동차용 코트로 닦아주면 해결 • Base Coat까지 긁히면 수리비가 높아지고… • Primer까지 긁히면 보험사를 부르고… • Body Panel까지 긁히면 이제 부품 바꿔야… Stride 엔진의 설명 문서
  • 115. Clearcoat의 다른 예 • 건프라의 마감재, 매니큐어 탑 코트 • 다들 놓치는 부분이지만, 원리가 동일! • 사실 개념은 전부 비슷 • 맨 밑은 모델링, 프라이머 레벨은 CG에서는 무시 • 실 작업은 베이스 코트, 클리어 코트 부분 Clear Coat 마감재 주 도료 프라이머 플라스틱 부품 건프라 도색 탑코트 컬러 베이스 코트 손톱 네일아트 이거 만든다고 팔자에도 없는 네일아트 용어 검색……
  • 116. Clearcoat에 사용되는 맵 • 섭디에선 5개를 사용 • 하지만, 엔진마다, 렌더러마다 이름이 조금씩 다르다… 개념 자체는 비슷하니 다행? • Coat Opacity: 클리어 코트 강도. 0이면 코트가 없다. • Coat Color: 코트 컬러 • Coat Normal: 클리어 코트 듀얼 노말이라 불리는 것 • UE4 문서 참고 • Coat Roughness: 코트의 거칠기 • 유광이면 0, 무광이면 1에 가깝게 • Coat Specular Level: 코트 정반사 조절
  • 117. Clearcoat에 사용되는 맵 • 각각의 맵을 기존의 맵에 대응시켜 보면… • Coat Opacity: Opacity • Coat Color: Base Color • Coat Normal: Normal • Coat Roughness: Roughness • Coat Specular Level: Specular Level • 기존 텍스쳐도 만들어서 쓸 수 있지만, 보통 0.5로 고정 • 즉, 일반적인 재질(Base Coat)과 거의 같은 맵을 사용한다 • 한 개의 일반 재질 + 반투명 필름 재질을 동시에 제작하는 것 뿐!
  • 118. Clearcoat에 사용되는 맵 • 이쯤 되면 나오는 질문 • Q1: 메탈 맵에 대응하는 맵은 왜 없나요? • A1: 금속이면서 동시에 반투명인 재질은… 현실 세계에서도 아직 발견된 것이 없습니다. • Q2: 그냥 일반 재질이랑 반투명 재질 같이 쓰면 되지 않나요? • A2: 그렇다고 그냥 반투명을 쓰기엔 반투명이 너무 비싼 계산 • 머티리얼도 두 개를 사용해야 함. • Q3: 반투명이 왜 비싼가요? • A3: 셰이더에서 반투명의 처리 과정을 알아야 합니다. • 셰이더 설명은 강의의 목적을 벗어납니다. • 유니티 쉐이더 스타트업 책에 관련 내용이 나옵니다. • Q4: 머티리얼을 두개 쓰면 왜 안 좋나요? • A4: 드로우콜이 늘어납니다. • 드로우콜이 늘어나는 대표적인 경우가 머티리얼의 수 증가입니다. • 이것 역시 자세한 설명은 본 강의의 목적을 벗어납니다. • 유니티 그래픽스 최적화 스타트업 책의 드로우콜 부분에 아주 자세하게 정리되어 있습니다. 와! 4쇄! 품절 ㅠㅠ
  • 119. Importance ★ ★ ★ ★ ★ 이 모든 맵을 다 알아야 하는 이유 • 정확한 사용법을 알아야, 원하는 표현을 할 수 있게 됩니다. • 특히, Spec/Gloss 워크플로우의 경우, 제대로 알지 못하면 굉장히 난해합니다. • Baked Map의 경우, 정확하게 알 수록 매쉬에서 원하는 부분을 선택하기 쉬워집니다. • Curvature 맵이 뭔 지 모르는 사람이 모서리나 구석을 쉽게 찾을 수 없습니다. • 월드 노말이 뭔지 모르는 사람이 왼쪽을 바라보는 부분을 찾아낼 수 없습니다. • 매쉬 맵핑에만 쓰이는게 아니라 텍스쳐 제작에도 쓰입니다
  • 120. Importance ★ ★ ★ ★ ★ 표로 정리 맵 이름 역할 비고 맵 이름 역할 비고 BaseColor 기본색 Metal/Rough 워크플로우 Position 텍셀 위치 Metallic 금속 여부 World Space Normal 텍셀 바라보는 방향 Roughness 표면 거칠기 Thickness 두께 Diffuse 난반사 Spec/Gloss 워크플로우 Anisotropy Angle 비등방성 각도 비등방성 재질 Specular 정반사 Anisotropy Level 비등방성 정도 Glossiness 표면 매끄러움 ID 조건에 따라 영역 구분 Normal 표면 반사 각도 돈 터치 플리즈 UV to SVG UV 조각별로 분류 Height 높이 Coat Opacity 코트 강도 Clear Coat 재질 Emisive 자체발광 Coat Color 코트 색상 Opacity 투명도 Coat Normal 코트 노말 A.O. 주변광 차폐 Coat Roughness 코트 거칠기 Curvature 각지거나, 평평한 부분 Coat Specular Lv 코트 정반사 강도
  • 121. 끝 강의에도 많은 관심 부탁드립니다.