Ⓒ 2021. Juyeong Lee. All rights reserved.
매쉬 베이크 마스터리
Ⓒ 2021. Juyeong Lee. All rights reserved.
주의
• 이 가이드는 ‘매쉬 베이크’에 대한 가이드 입니다.
• ‘라이트맵’에 적용시킬 목적으로 이 가이드를 활용해선 안 됩니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
베이크가 중요한 이유
• 베이크는 건물 짓기로 따지면 기초 공사
• 기초 공사가 부실하면 건물이 무너짐
• 베이크를 잘못 하면…
• 노멀맵 에러로 인한 라이팅 에러
• 매쉬 맵 에러로 인한 각종 필터류 오동작
• 결국 최종 아웃풋 제작에 많은 문제가 생김
Ⓒ 2021. Juyeong Lee. All rights reserved.
파이프라인
• 이전 단계의 결과물로 다음 단계의 결과물을 만드는 일련의 과정
• 앞 단계의 실수를 이후 단계에서 수정하기는 힘들다
• 베이킹의 문제를 텍스쳐링에서 해결하기는 힘들다
• 텍스쳐링이 망하면 셰이딩, 라이팅이…
• 라이팅이 망하면… 와장창
모델링 베이킹 텍스쳐링 라이팅
Ⓒ 2021. Juyeong Lee. All rights reserved.
노말을 이해하면 베이크가 보인다
• 버텍스 노말과 노말 보간을 먼저 알아야 합니다
• 제대로 된 이해를 위해 버텍스와 포인트의 구분이 필요합니다
Ⓒ 2021. Juyeong Lee. All rights reserved.
버텍스는 폴리곤, 폴리 라인에 귀속된다
• 흔히 버텍스라고 부르는 것은 사실 포인트
• ‘진짜 버텍스’는 폴리곤의 꼭지점
파란 점이 포인트
자주색 동그라미가 버텍스
후디니는 이 두 가지를
명백하게 구분해서 사용
Ⓒ 2021. Juyeong Lee. All rights reserved.
같은 위치의 버텍스
• 같은 포인트를 참조하는 버텍스는 그 위치가 같습니다
• 하지만, 노말은 다를 수 있습니다
• 즉, 같은 지점에 위치한 버텍스가 여러 방향을 볼 수 있다
Ⓒ 2021. Juyeong Lee. All rights reserved.
보간
?
점과 점 사이의 포지션, 노말 값을 알아내는 방법
보간 (Interpolation)
Ⓒ 2021. Juyeong Lee. All rights reserved.
노말의 보간
• 두 점이 같은 방향일 때는 어렵지 않습니다
Ⓒ 2021. Juyeong Lee. All rights reserved.
노말의 보간
• 두 점이 다른 방향일때는 이렇게 됩니다
Ⓒ 2021. Juyeong Lee. All rights reserved.
세 점 사이의 보간…
• 예시는 2점으로 했지만, 실제 보간은 3+개의 점에서 일어남
• 면의 최소 단위가 삼각형이기 때문
• 복잡한 공식이 있음.
Ⓒ 2021. Juyeong Lee. All rights reserved.
예제로 사용할 간단한 매쉬
Ⓒ 2021. Juyeong Lee. All rights reserved.
베이크 옵션
Ⓒ 2021. Juyeong Lee. All rights reserved.
베이크 옵션
위쪽 절반:
글로벌 옵션
모든 베이커에 적용
아래쪽 절반:
베이커 별 옵션
맵 별 베이커 마다
별도 적용
Ⓒ 2021. Juyeong Lee. All rights reserved.
매쉬 인풋 세팅
• 머티리얼 혹은 매쉬 단위로 선택 가능
• 하지만 매쉬 단위 선택은 불편
• 섭디 기본 베이커는 머티리얼 별로 베이크가 불가능
• 섭페는 디폴트가 머티리얼 별 베이크.
• 일해라 어도비
Ⓒ 2021. Juyeong Lee. All rights reserved.
레이 세팅
• 베이크 시 매쉬 표면에서 쏠 광선의 옵션입니다.
• Set distance with:
• Values: Frontal Value, Rear Value를 사용합니다.
• Relative toboundingbox옵션과연계됩니다.
• Cage Path
• 광선이도달할영역을별도의매쉬로지정합니다.
• Ignore Backface: 광선을 쏘다 뒷면인 매쉬를 만났을 때 멈출지 말지 결정합니다.
• 켜 두는 것을 추천합니다.
• Match: 이름이 같은 매쉬끼리 베이크 할지, 전체 매쉬를 대상으로 할 지 결정합니다.
• Use skew correction
• 필요한 경우가 있으니 뒤에 살펴봅니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
레이 거리를 잘못 잡는 경우 발생하는 에러
Frontal: 0.000001
Ⓒ 2021. Juyeong Lee. All rights reserved.
옳게 된 광선 거리
Ⓒ 2021. Juyeong Lee. All rights reserved.
또 다른 문제 발생
노말맵을 적용시켜 보니…
모서리 부분 노말 라인이 갈라지는 현상 발생.
즉, 이전 베이크도 완벽한 결과물이 아니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
Average Normal
Ⓒ 2021. Juyeong Lee. All rights reserved.
Average Normal은 만능이 아니다
일단 모서리 문제가 사라졌으니
일견 괜찮아 보이는 상태
Ⓒ 2021. Juyeong Lee. All rights reserved.
하지만…
눈에 띄게 좁아진 윗면
비틀림 현상 발생
Ⓒ 2021. Juyeong Lee. All rights reserved.
문제 상황 정리
Average Normal 켬 Average Normal 끔
비틀림 현상 O X
모서리 블리딩 X O
Ⓒ 2021. Juyeong Lee. All rights reserved.
모서리 블리딩이 생기는 이유
광선이 안 닿는 영역
광선이 두 번 닿는 영역
Ⓒ 2021. Juyeong Lee. All rights reserved.
비틀림 현상이 생기는 이유
Average Normal
노말 보간
주의: 이전 슬라이드에서도 노말 보간은 일어남!
단지 같은 두 값을 보간해 봐야 여전히 같은 값이 나올 뿐
디테일이
이상하게 나온 부분의
보간된 노말을
유심히 살펴보자
Ⓒ 2021. Juyeong Lee. All rights reserved.
치우친 건 좋지 않다
Ⓒ 2021. Juyeong Lee. All rights reserved.
두 가지 방법이 존재
1. Skew Correction 맵 사용
2. 보조 엣지가 추가된 베이크용 로우매쉬 사용
1번 방법 2번 방법
사용 난이도 머티리얼, UDIM 타일 수에 비례 어려움
관리 편의성 머티리얼, UDIM 타일 수에 반비례 편리
퀄리티 중 고
Ⓒ 2021. Juyeong Lee. All rights reserved.
Skew Correction
Ⓒ 2021. Juyeong Lee. All rights reserved.
핵심 아이디어
• 어떤 부분은 기존에 부여된 노말에 보간된 노멀을 사용하고…
• 또 어떤 부분은 버텍스 좌표로 계산한 표면에 수직인 노말을 사용
• 그 부분을 이미지로 컨트롤 하는 것이 바로 Skew Correction 맵
보간된 노말 폴리곤 수직 노말 이런 상태의 노말로
베이크
Ⓒ 2021. Juyeong Lee. All rights reserved.
간단하게 만드는 법
직접 그리는 방법이 있습니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
결과물
• Average Normal 킨 상태에서 베이크
• 모서리 블리딩 문제 없음
• 디테일 비틀림 문제 없음
Ⓒ 2021. Juyeong Lee. All rights reserved.
두 번째 방법
• Average Normal 끈 상태로 Height 맵을 베이크
하이트맵에서 0.5 이상인 부분을 추려낸다
Threshold 노드를
사용하면 편리
Ⓒ 2021. Juyeong Lee. All rights reserved.
Skew맵으로 세팅 후 베이크
• 이전 방법 처럼 깔끔한 노말 맵 획득 성공
하지만 Skew 맵을 활용한 베이크에는
큰 문제가…
Ⓒ 2021. Juyeong Lee. All rights reserved.
머티리얼이나 UDIM 타일이 다수라면..?
• 베이크 해야 할 머티리얼이나 UDIM 타일이 많다면…?
• 머티리얼 x UDIM 만큼 Skew 맵을 만들어야 함
• 대부분의 베이커에서 skew맵을 머티리얼/UDIM 단위로 지원하지 않음.
• Skew 맵은 1개의 인풋만 받는 경우가 대부분인 점을 떠올려 봅시다.
• 작업의 양 증가
• 자동화 불가능
• Skew 맵 제작 자체도 자동화가 안 되지만, 베이크도 타일/머티리얼 별로 다 따로 해야 함!
Ⓒ 2021. Juyeong Lee. All rights reserved.
Skew맵은 이럴 때 쓰자
• Skew 맵을 제작해야 하는 수가 적을 때
• 많아지면 많아질수록 관리하기 힘듭니다.
그리고 뒤이어 소개할 베이크용 매쉬 제작을
완벽하게 이해하도록 합시다
Ⓒ 2021. Juyeong Lee. All rights reserved.
베이크용 로우 매쉬 제작
Ⓒ 2021. Juyeong Lee. All rights reserved.
원리
Ⓒ 2021. Juyeong Lee. All rights reserved.
원리
Ⓒ 2021. Juyeong Lee. All rights reserved.
노말 보간의 결과
모서리 부분은
노말 보간이
정상적으로 일어남
평면 부분은
노말 보간이
일어나지 않음
Ⓒ 2021. Juyeong Lee. All rights reserved.
토폴로지 변형의 의미
토폴로지가 변형되지 않음 토폴로지가 변형됨
Ⓒ 2021. Juyeong Lee. All rights reserved.
토폴로지 변형에 따른 UV 변동
Ⓒ 2021. Juyeong Lee. All rights reserved.
• 이후 Average Normal을 키고 베이크 하면…
어떤 문제도 없는 깔끔한 베이크가 나옵니다!
물론 수많은 skew 맵도 필요 없습니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
중요 사항!
• 폴리곤 베벨(Bevel) 등으로 노말의 방향성이 베이크 매쉬와 달라지면 노말 맵 적
용시 이상하게 보일 수 있음
• 최적화 매쉬와 베이크 매쉬의 토폴로지와 노말 모두 일치시켜야 함!
• 후디니에선 Attribute Transfer 노드로 간단하게 해결 가능
PolyBevel 직후 노말의 방향성이
다른 상태
노말의 방향성이
같은 상태
Ⓒ 2021. Juyeong Lee. All rights reserved.
결론
• Skew Map 지옥에 빠지기도 싫고…
• 제대로 된 베이크를 반드시 얻어야 한다면
• 총 세 가지 매쉬가 필요
• 페인팅용 최적화 로우 매쉬
• 하드엣지 베벨 처리 된 베이크용 매쉬
• 하이폴리 매쉬
Ⓒ 2021. Juyeong Lee. All rights reserved.
이 작업을 언제 다 하나요…?
• 이 작업을 위한 후디니 어셋을 만들었습니다.
• 다른 툴은… 직접 하시는 수 밖에… ( ͡°͜ʖ͡°)
첨부 파일에서 다운로드 하세요
$HOME/Houdini x.y.z/ otls 폴더에 넣으면 됩니다
(코스 수강생 한정)
깔끔하게
잘 나옵니다
Ⓒ 2021. Juyeong Lee. All rights reserved.
UV와 Seam Line의 관계
Ⓒ 2021. Juyeong Lee. All rights reserved.
모서리 문제가 아니여도 생기는 UV Seam
• 박스가 있으면 주사위로 펼치고 싶은 게 인간의 본능
Ⓒ 2021. Juyeong Lee. All rights reserved.
하지만…
특정 부위에 UV 라인이 보이는 문제가 생깁니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
첫 번째 이유
• Dilation Width가 너무 낮을 경우 발생
이것들의 발생 원인은
Dilation Width와는 무관
Ⓒ 2021. Juyeong Lee. All rights reserved.
UV와 매쉬를 보자
색이 같은 라인이
서로 같은 지점
규칙이 보이시나요?
Ⓒ 2021. Juyeong Lee. All rights reserved.
UV와 매쉬를 보자
문제 없는 곳: UV가 나눠진 곳
문제 있는 곳: UV가 합쳐진 곳
Ⓒ 2021. Juyeong Lee. All rights reserved.
왜 이런 일이 생기나
같은 포인트로 이어진 엣지에서
여러 면을 바라보고 있음
즉, 노말 맵을 구울 때도 여러 면을 바라보고 있다면…
아주 당연히 여러 군데에다가 기록을 해야 함
Ⓒ 2021. Juyeong Lee. All rights reserved.
하지만 UV가 붙어 있다면…
두 개의 위치에 기록해야 할 노말이
한 군데에 기록되게 됨
하나의 기록이 다른 하나의 기록을 덮어 쓰는 셈
그리고 그 순서는 알 수 없다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
노말이 갈라지면  하드 엣지라면…
하드 엣지인 부분은
UV를 찢어 줘야 합니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
아주 깔끔해진 노멀 맵
Ⓒ 2021. Juyeong Lee. All rights reserved.
그 외 심라인 이슈
512 1024
해상도가 낮을 경우도 심라인이 두드러지는 경우가 있습니다.
텍셀 밀도와 관계된 이슈이기 때문에 해상도가 높아도 일어날 수도 있고
해상도가 낮아도 안 일어날 수도 있습니다.
텍셀 밀도에 주의를 기울이도록 합시다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
픽셀 정렬
살짝 이상한 셰이딩
끊어져있음.
아주 희미한 심라인
Ⓒ 2021. Juyeong Lee. All rights reserved.
생기는 이유
• 텍스쳐 보간 때문
각 셀을 하나의 큰 픽셀로 취급
UV의 좌표가 픽셀의 왼쪽 위 좌표와 일치하지 않다면
UV 밖 픽셀과 보간이 발생 (쉽게 말해 값이 섞인다)
이 현상은 UV 조각의 경계에 걸친 픽셀이 영향을 주는 곳에서 발생
해당 장소 이외에는 발생하지 않음
Ⓒ 2021. Juyeong Lee. All rights reserved.
해결 방법
• UV 좌표를 타겟 해상도에 맞춰 재정렬한다
이렇게 재정렬하면 옆의 픽셀과 섞이지 않고 온전한 값을 얻게 됨
물론 패딩이 최소 1칸 있어야 더 완벽함.
후디니로는 간단하게 가능하지만…
다른 툴은 모르겠습니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
주의사항
1. 낮은 타겟 해상도를 기준으로 맞춘 값은 그보다 높은 해상도에도
정상적으로 적용됩니다.
1. 이건… 소인수분해를 하시면 이해할 수 있.. 읍읍
2. 아무래도 UV좌표를 좀 흔드는 것이다 보니 적용 후 확인이 반드시
필요합니다.
1. 확인 후 겹치는 곳이 없는 경우에만 적용해야 합니다.
2. 겹친다면 타겟 해상도를 높여보거나, 아예 픽셀 정렬은 포기하셔도…
3. 어차피 티 나는 경우 거의 없음..
Ⓒ 2021. Juyeong Lee. All rights reserved.
표시 안 해주면 대부분 모름… ㅋ
확대 해서 그나마 이정도 식별이 가능
Ⓒ 2021. Juyeong Lee. All rights reserved.
By Mesh Name 베이크
Ⓒ 2021. Juyeong Lee. All rights reserved.
문제상황
• 근데 이상한 부분이 있습니다
Ⓒ 2021. Juyeong Lee. All rights reserved.
문제상황
• 등짝을 가려진 부분을 보자
섭페엔 게시일 기준
극히 최근에 추가된
매쉬별 따로보기 기능
Ⓒ 2021. Juyeong Lee. All rights reserved.
원인
• 매쉬간의 거리가 가깝거나, 겹쳐 있어서 서로 간섭하는 것
Matching by Name - Substance Bakers (substance3d.com)
헬멧 안쪽 머리카락의 노말이 헬멧에 묻어 나옴
Ⓒ 2021. Juyeong Lee. All rights reserved.
원시적 해결 방법
• 다 따로 베이크 하고 포토샵으로 합치기…
• 자세한 설명은 생략합니다.
• 이렇게 하고 싶지 않습니다.
• 하지만, Match by name 기능을 모르면 이렇게 해야 합니다!
• 오체분시 테크닉도 있긴 한데, 그건 그것대로 적용이 어려운 이유가 있음.
• 역시 설명은 생략합니다. 해당 문제 해결의 정공법이 아닙니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
스마트한 해결 방법
• 각각의 매쉬를 분리시켜 굽는 것 효과를 낼 수 있습니다.
• 매쉬의 이름을 맞춰서 말이죠.
Box1_low
Box2_low
Box1_high
Box2_high
Ⓒ 2021. Juyeong Lee. All rights reserved.
이름 매칭 결과
Ⓒ 2021. Juyeong Lee. All rights reserved.
이름 매칭 규칙
• 이름 매칭은 1:1 매칭만 되는게 아닙니다
• 1:多 매칭도 가능
로우폴리 이름 매칭 되는 하이폴리 이름 매칭 안 되는 하이폴리 이름
•body_low •body_high
•body_high_top
•body_high_1
•body_high_2
•body-high
•body_top_high
•Head_low •Head_high •head_high
•Leg_low_top •Leg_high
•Leg_high_top
•Leg_high_high_top
•Leg_top_high
Ⓒ 2021. Juyeong Lee. All rights reserved.
요약
• 로우폴리 이름이 <매쉬 이름>_<low 접미사>인 경우
• 하이폴리 이름은…
• <매쉬 이름>_<high 접미사>
• <매쉬 이름>_<high 접미사>_<추가 접미사>
• 이 두가지 형태가 가능하며
• 매쉬 이름과 접미사의 구분은 밑줄(_)로 한다
• 하이픈(-)은 구분자로 취급하지 않음
Ⓒ 2021. Juyeong Lee. All rights reserved.
Cage 사용 시기와 방법
Ⓒ 2021. Juyeong Lee. All rights reserved.
이름 베이크는 만능이 아닙니다
• 대표적으로 이름 베이크를 쓰기 애매한 경우: 손
광선 거리가 길면 간섭
광선 거리가 짧으면
경우에 따라 디테일이 잘림
매쉬 이름 매칭을 하려니
한 덩이라 불가능
Ⓒ 2021. Juyeong Lee. All rights reserved.
매쉬로 각 부분의 최대 광선 거리를 조절
• 이럴 때 사용하는 것이 케이지
• 케이지를 사용하면 숫자로 광선 거리 조절하는
옵션이 비활성화
• 대신 케이지 매쉬를 인풋으로 받음
• 케이지 매쉬는 토폴로지, UV등이 없어도 됨
• 케이지 매쉬는 하나의 닫힌 면으로 구성하는
것이 좋음.
Ⓒ 2021. Juyeong Lee. All rights reserved.
하나의 닫힌 면
• 예제 매쉬는 두 매쉬가 겹치는 부분이 있음.
Boolean
Intersect
Ⓒ 2021. Juyeong Lee. All rights reserved.
하나의 닫힌 면
• 이런 매쉬는 간혹 문제가 생기기도 하니 통으로 합쳐줍니다.
Boolean-Union으로
제작 VDB 사용
Ⓒ 2021. Juyeong Lee. All rights reserved.
Occlusion 베이커들
Ⓒ 2021. Juyeong Lee. All rights reserved.
Self Occlusion AO
Bent
Normal
Thickness Curvature
Only Same
Mesh Name
Always
일부 베이커의 특징
• AO, Bent Normal, Thickness, Curvature는 별도의 Self Occlusion 항목이 있음
• 이건 옵션에 따른 차이를 눈으로 보기만 해도 감이 옵니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
옵션을 다르게 써야 하는 이유
1. 셰이더 인풋으로 사용 시 결과가 명확하게 다름
1. Bent Normal의 경우는 필요에 따라 Self Occlusion 항목을 켜야 함
2. 애니메이션 되는 매쉬의 경우 움직임을 고려하여 분리
1. 베이크는 매쉬가 정지한 상태로 하게 되는데, 매쉬가 움직여버리면 Self
Occlusion-Always로 베이크한 AO를 사용해 맵핑을 한 텍스쳐가 이상하게
보일 수 있음.
Ⓒ 2021. Juyeong Lee. All rights reserved.
AO-Ground Plane옵션 역시 마찬가지
• 바닥이 있는 것 처럼 할지, 없는 것 처럼 할지, 둘 다 쓸지…
Ⓒ 2021. Juyeong Lee. All rights reserved.
요점
• 섭디 베이커는 같은 베이커라도 필요한 만큼 추가가 가능
• 그러니 같은 베이커, 다른 옵션의 맵이 필요하면 필요한 만큼 쓰자
아래에서 더블클릭하면 베이커별 옵션 변경 가능
Ⓒ 2021. Juyeong Lee. All rights reserved.
AO, 월드노말, 커버쳐 특이사항
• 이전에 구워둔 노말 맵을 인풋으로 받습니다.
• 입력 안 해도 일단 구워는 짐.
Ⓒ 2021. Juyeong Lee. All rights reserved.
이전 베이커에서 가져오기
• 해당 베이커 전에 노말 베이커를 추가한 뒤 사용합시다
Ⓒ 2021. Juyeong Lee. All rights reserved.
탄젠트 스페이스 플러그인
Ⓒ 2021. Juyeong Lee. All rights reserved.
탄젠트 스페이스 플러그인?
• Compute Tangent Space per Fragment 옵션이 섭디에는 없습니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
설정하는 방법은 있습니다
• 탄젠트 스페이스 플러그인을
변경하면 됩니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
플러그인 별 설명
플러그인 이름 특징
mikkunrealtspace Compute Tangent Space per Fragment 옵션을 킨 것과 같음. 언리얼 엔진용
mikktspace 블렌더의 베이크 방식과 동일. 엔진을 제외하고선 이 방식을 사용하면 됨.
unitytspace 유니티 엔진용 플러그인
Ⓒ 2021. Juyeong Lee. All rights reserved.
마지막 매쉬 체크사항
삼각형화
Ⓒ 2021. Juyeong Lee. All rights reserved.
삼각형화가 중요한 이유
• 사각형은 평면이 아닐 수 있기 때문
• 때문에 처음에 봤던 이런 보간을 제대로 할 수 없습니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
삼각화를 하고 나면…
• 보이는대로 노멀도 정리가 됩니다
Ⓒ 2021. Juyeong Lee. All rights reserved.
그래서 자동 삼각화를 하는데….
• 자동은 항상 문제가 있습니다.
• 이렇게 해야 하는데… 이렇게 하는 경우가 생김
Ⓒ 2021. Juyeong Lee. All rights reserved.
그래서 자동 삼각화를 하는데….
• 원래 토폴로지를 생각하면 명백한 오류
• 하지만 그냥 자동으로 대각선 그리는 것이라 컴퓨터는 이상을 모른다
Ⓒ 2021. Juyeong Lee. All rights reserved.
이런 이유로…
• 자동 삼각형화는 믿지 맙시다.
• DCC 툴에서 삼각형화를 하고 넘어가야 합니다.
• 하이 매쉬 역시 마찬가지. 로우, 하이 둘 다 삼각화를 합시다.
• 최적화 매쉬는 필요 없다고 생각할 수 있는데…
• 게임 엔진에 넣을 생각이라면 이 쪽도 해주는 편이 멘탈에 이롭습니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
이 내용이 유용하셨다면 다른 유용한 것도 살펴 주시길 바랍니다.
주소는 설명란에 있습니다.
Ⓒ 2021. Juyeong Lee. All rights reserved.
이 슬라이드도 끝
더 이상의 베이크 고생도 끝
추가할 내용 있으면 보강해서 다시 옵니다

매쉬 베이크 마스터리

  • 1.
    Ⓒ 2021. JuyeongLee. All rights reserved. 매쉬 베이크 마스터리
  • 2.
    Ⓒ 2021. JuyeongLee. All rights reserved. 주의 • 이 가이드는 ‘매쉬 베이크’에 대한 가이드 입니다. • ‘라이트맵’에 적용시킬 목적으로 이 가이드를 활용해선 안 됩니다.
  • 3.
    Ⓒ 2021. JuyeongLee. All rights reserved. 베이크가 중요한 이유 • 베이크는 건물 짓기로 따지면 기초 공사 • 기초 공사가 부실하면 건물이 무너짐 • 베이크를 잘못 하면… • 노멀맵 에러로 인한 라이팅 에러 • 매쉬 맵 에러로 인한 각종 필터류 오동작 • 결국 최종 아웃풋 제작에 많은 문제가 생김
  • 4.
    Ⓒ 2021. JuyeongLee. All rights reserved. 파이프라인 • 이전 단계의 결과물로 다음 단계의 결과물을 만드는 일련의 과정 • 앞 단계의 실수를 이후 단계에서 수정하기는 힘들다 • 베이킹의 문제를 텍스쳐링에서 해결하기는 힘들다 • 텍스쳐링이 망하면 셰이딩, 라이팅이… • 라이팅이 망하면… 와장창 모델링 베이킹 텍스쳐링 라이팅
  • 5.
    Ⓒ 2021. JuyeongLee. All rights reserved. 노말을 이해하면 베이크가 보인다 • 버텍스 노말과 노말 보간을 먼저 알아야 합니다 • 제대로 된 이해를 위해 버텍스와 포인트의 구분이 필요합니다
  • 6.
    Ⓒ 2021. JuyeongLee. All rights reserved. 버텍스는 폴리곤, 폴리 라인에 귀속된다 • 흔히 버텍스라고 부르는 것은 사실 포인트 • ‘진짜 버텍스’는 폴리곤의 꼭지점 파란 점이 포인트 자주색 동그라미가 버텍스 후디니는 이 두 가지를 명백하게 구분해서 사용
  • 7.
    Ⓒ 2021. JuyeongLee. All rights reserved. 같은 위치의 버텍스 • 같은 포인트를 참조하는 버텍스는 그 위치가 같습니다 • 하지만, 노말은 다를 수 있습니다 • 즉, 같은 지점에 위치한 버텍스가 여러 방향을 볼 수 있다
  • 8.
    Ⓒ 2021. JuyeongLee. All rights reserved. 보간 ? 점과 점 사이의 포지션, 노말 값을 알아내는 방법 보간 (Interpolation)
  • 9.
    Ⓒ 2021. JuyeongLee. All rights reserved. 노말의 보간 • 두 점이 같은 방향일 때는 어렵지 않습니다
  • 10.
    Ⓒ 2021. JuyeongLee. All rights reserved. 노말의 보간 • 두 점이 다른 방향일때는 이렇게 됩니다
  • 11.
    Ⓒ 2021. JuyeongLee. All rights reserved. 세 점 사이의 보간… • 예시는 2점으로 했지만, 실제 보간은 3+개의 점에서 일어남 • 면의 최소 단위가 삼각형이기 때문 • 복잡한 공식이 있음.
  • 12.
    Ⓒ 2021. JuyeongLee. All rights reserved. 예제로 사용할 간단한 매쉬
  • 13.
    Ⓒ 2021. JuyeongLee. All rights reserved. 베이크 옵션
  • 14.
    Ⓒ 2021. JuyeongLee. All rights reserved. 베이크 옵션 위쪽 절반: 글로벌 옵션 모든 베이커에 적용 아래쪽 절반: 베이커 별 옵션 맵 별 베이커 마다 별도 적용
  • 15.
    Ⓒ 2021. JuyeongLee. All rights reserved. 매쉬 인풋 세팅 • 머티리얼 혹은 매쉬 단위로 선택 가능 • 하지만 매쉬 단위 선택은 불편 • 섭디 기본 베이커는 머티리얼 별로 베이크가 불가능 • 섭페는 디폴트가 머티리얼 별 베이크. • 일해라 어도비
  • 16.
    Ⓒ 2021. JuyeongLee. All rights reserved. 레이 세팅 • 베이크 시 매쉬 표면에서 쏠 광선의 옵션입니다. • Set distance with: • Values: Frontal Value, Rear Value를 사용합니다. • Relative toboundingbox옵션과연계됩니다. • Cage Path • 광선이도달할영역을별도의매쉬로지정합니다. • Ignore Backface: 광선을 쏘다 뒷면인 매쉬를 만났을 때 멈출지 말지 결정합니다. • 켜 두는 것을 추천합니다. • Match: 이름이 같은 매쉬끼리 베이크 할지, 전체 매쉬를 대상으로 할 지 결정합니다. • Use skew correction • 필요한 경우가 있으니 뒤에 살펴봅니다.
  • 17.
    Ⓒ 2021. JuyeongLee. All rights reserved. 레이 거리를 잘못 잡는 경우 발생하는 에러 Frontal: 0.000001
  • 18.
    Ⓒ 2021. JuyeongLee. All rights reserved. 옳게 된 광선 거리
  • 19.
    Ⓒ 2021. JuyeongLee. All rights reserved. 또 다른 문제 발생 노말맵을 적용시켜 보니… 모서리 부분 노말 라인이 갈라지는 현상 발생. 즉, 이전 베이크도 완벽한 결과물이 아니다.
  • 20.
    Ⓒ 2021. JuyeongLee. All rights reserved. Average Normal
  • 21.
    Ⓒ 2021. JuyeongLee. All rights reserved. Average Normal은 만능이 아니다 일단 모서리 문제가 사라졌으니 일견 괜찮아 보이는 상태
  • 22.
    Ⓒ 2021. JuyeongLee. All rights reserved. 하지만… 눈에 띄게 좁아진 윗면 비틀림 현상 발생
  • 23.
    Ⓒ 2021. JuyeongLee. All rights reserved. 문제 상황 정리 Average Normal 켬 Average Normal 끔 비틀림 현상 O X 모서리 블리딩 X O
  • 24.
    Ⓒ 2021. JuyeongLee. All rights reserved. 모서리 블리딩이 생기는 이유 광선이 안 닿는 영역 광선이 두 번 닿는 영역
  • 25.
    Ⓒ 2021. JuyeongLee. All rights reserved. 비틀림 현상이 생기는 이유 Average Normal 노말 보간 주의: 이전 슬라이드에서도 노말 보간은 일어남! 단지 같은 두 값을 보간해 봐야 여전히 같은 값이 나올 뿐 디테일이 이상하게 나온 부분의 보간된 노말을 유심히 살펴보자
  • 26.
    Ⓒ 2021. JuyeongLee. All rights reserved. 치우친 건 좋지 않다
  • 27.
    Ⓒ 2021. JuyeongLee. All rights reserved. 두 가지 방법이 존재 1. Skew Correction 맵 사용 2. 보조 엣지가 추가된 베이크용 로우매쉬 사용 1번 방법 2번 방법 사용 난이도 머티리얼, UDIM 타일 수에 비례 어려움 관리 편의성 머티리얼, UDIM 타일 수에 반비례 편리 퀄리티 중 고
  • 28.
    Ⓒ 2021. JuyeongLee. All rights reserved. Skew Correction
  • 29.
    Ⓒ 2021. JuyeongLee. All rights reserved. 핵심 아이디어 • 어떤 부분은 기존에 부여된 노말에 보간된 노멀을 사용하고… • 또 어떤 부분은 버텍스 좌표로 계산한 표면에 수직인 노말을 사용 • 그 부분을 이미지로 컨트롤 하는 것이 바로 Skew Correction 맵 보간된 노말 폴리곤 수직 노말 이런 상태의 노말로 베이크
  • 30.
    Ⓒ 2021. JuyeongLee. All rights reserved. 간단하게 만드는 법 직접 그리는 방법이 있습니다.
  • 31.
    Ⓒ 2021. JuyeongLee. All rights reserved. 결과물 • Average Normal 킨 상태에서 베이크 • 모서리 블리딩 문제 없음 • 디테일 비틀림 문제 없음
  • 32.
    Ⓒ 2021. JuyeongLee. All rights reserved. 두 번째 방법 • Average Normal 끈 상태로 Height 맵을 베이크 하이트맵에서 0.5 이상인 부분을 추려낸다 Threshold 노드를 사용하면 편리
  • 33.
    Ⓒ 2021. JuyeongLee. All rights reserved. Skew맵으로 세팅 후 베이크 • 이전 방법 처럼 깔끔한 노말 맵 획득 성공 하지만 Skew 맵을 활용한 베이크에는 큰 문제가…
  • 34.
    Ⓒ 2021. JuyeongLee. All rights reserved. 머티리얼이나 UDIM 타일이 다수라면..? • 베이크 해야 할 머티리얼이나 UDIM 타일이 많다면…? • 머티리얼 x UDIM 만큼 Skew 맵을 만들어야 함 • 대부분의 베이커에서 skew맵을 머티리얼/UDIM 단위로 지원하지 않음. • Skew 맵은 1개의 인풋만 받는 경우가 대부분인 점을 떠올려 봅시다. • 작업의 양 증가 • 자동화 불가능 • Skew 맵 제작 자체도 자동화가 안 되지만, 베이크도 타일/머티리얼 별로 다 따로 해야 함!
  • 35.
    Ⓒ 2021. JuyeongLee. All rights reserved. Skew맵은 이럴 때 쓰자 • Skew 맵을 제작해야 하는 수가 적을 때 • 많아지면 많아질수록 관리하기 힘듭니다. 그리고 뒤이어 소개할 베이크용 매쉬 제작을 완벽하게 이해하도록 합시다
  • 36.
    Ⓒ 2021. JuyeongLee. All rights reserved. 베이크용 로우 매쉬 제작
  • 37.
    Ⓒ 2021. JuyeongLee. All rights reserved. 원리
  • 38.
    Ⓒ 2021. JuyeongLee. All rights reserved. 원리
  • 39.
    Ⓒ 2021. JuyeongLee. All rights reserved. 노말 보간의 결과 모서리 부분은 노말 보간이 정상적으로 일어남 평면 부분은 노말 보간이 일어나지 않음
  • 40.
    Ⓒ 2021. JuyeongLee. All rights reserved. 토폴로지 변형의 의미 토폴로지가 변형되지 않음 토폴로지가 변형됨
  • 41.
    Ⓒ 2021. JuyeongLee. All rights reserved. 토폴로지 변형에 따른 UV 변동
  • 42.
    Ⓒ 2021. JuyeongLee. All rights reserved. • 이후 Average Normal을 키고 베이크 하면… 어떤 문제도 없는 깔끔한 베이크가 나옵니다! 물론 수많은 skew 맵도 필요 없습니다.
  • 43.
    Ⓒ 2021. JuyeongLee. All rights reserved. 중요 사항! • 폴리곤 베벨(Bevel) 등으로 노말의 방향성이 베이크 매쉬와 달라지면 노말 맵 적 용시 이상하게 보일 수 있음 • 최적화 매쉬와 베이크 매쉬의 토폴로지와 노말 모두 일치시켜야 함! • 후디니에선 Attribute Transfer 노드로 간단하게 해결 가능 PolyBevel 직후 노말의 방향성이 다른 상태 노말의 방향성이 같은 상태
  • 44.
    Ⓒ 2021. JuyeongLee. All rights reserved. 결론 • Skew Map 지옥에 빠지기도 싫고… • 제대로 된 베이크를 반드시 얻어야 한다면 • 총 세 가지 매쉬가 필요 • 페인팅용 최적화 로우 매쉬 • 하드엣지 베벨 처리 된 베이크용 매쉬 • 하이폴리 매쉬
  • 45.
    Ⓒ 2021. JuyeongLee. All rights reserved. 이 작업을 언제 다 하나요…? • 이 작업을 위한 후디니 어셋을 만들었습니다. • 다른 툴은… 직접 하시는 수 밖에… ( ͡°͜ʖ͡°) 첨부 파일에서 다운로드 하세요 $HOME/Houdini x.y.z/ otls 폴더에 넣으면 됩니다 (코스 수강생 한정) 깔끔하게 잘 나옵니다
  • 46.
    Ⓒ 2021. JuyeongLee. All rights reserved. UV와 Seam Line의 관계
  • 47.
    Ⓒ 2021. JuyeongLee. All rights reserved. 모서리 문제가 아니여도 생기는 UV Seam • 박스가 있으면 주사위로 펼치고 싶은 게 인간의 본능
  • 48.
    Ⓒ 2021. JuyeongLee. All rights reserved. 하지만… 특정 부위에 UV 라인이 보이는 문제가 생깁니다.
  • 49.
    Ⓒ 2021. JuyeongLee. All rights reserved. 첫 번째 이유 • Dilation Width가 너무 낮을 경우 발생 이것들의 발생 원인은 Dilation Width와는 무관
  • 50.
    Ⓒ 2021. JuyeongLee. All rights reserved. UV와 매쉬를 보자 색이 같은 라인이 서로 같은 지점 규칙이 보이시나요?
  • 51.
    Ⓒ 2021. JuyeongLee. All rights reserved. UV와 매쉬를 보자 문제 없는 곳: UV가 나눠진 곳 문제 있는 곳: UV가 합쳐진 곳
  • 52.
    Ⓒ 2021. JuyeongLee. All rights reserved. 왜 이런 일이 생기나 같은 포인트로 이어진 엣지에서 여러 면을 바라보고 있음 즉, 노말 맵을 구울 때도 여러 면을 바라보고 있다면… 아주 당연히 여러 군데에다가 기록을 해야 함
  • 53.
    Ⓒ 2021. JuyeongLee. All rights reserved. 하지만 UV가 붙어 있다면… 두 개의 위치에 기록해야 할 노말이 한 군데에 기록되게 됨 하나의 기록이 다른 하나의 기록을 덮어 쓰는 셈 그리고 그 순서는 알 수 없다.
  • 54.
    Ⓒ 2021. JuyeongLee. All rights reserved. 노말이 갈라지면  하드 엣지라면… 하드 엣지인 부분은 UV를 찢어 줘야 합니다.
  • 55.
    Ⓒ 2021. JuyeongLee. All rights reserved. 아주 깔끔해진 노멀 맵
  • 56.
    Ⓒ 2021. JuyeongLee. All rights reserved. 그 외 심라인 이슈 512 1024 해상도가 낮을 경우도 심라인이 두드러지는 경우가 있습니다. 텍셀 밀도와 관계된 이슈이기 때문에 해상도가 높아도 일어날 수도 있고 해상도가 낮아도 안 일어날 수도 있습니다. 텍셀 밀도에 주의를 기울이도록 합시다.
  • 57.
    Ⓒ 2021. JuyeongLee. All rights reserved. 픽셀 정렬 살짝 이상한 셰이딩 끊어져있음. 아주 희미한 심라인
  • 58.
    Ⓒ 2021. JuyeongLee. All rights reserved. 생기는 이유 • 텍스쳐 보간 때문 각 셀을 하나의 큰 픽셀로 취급 UV의 좌표가 픽셀의 왼쪽 위 좌표와 일치하지 않다면 UV 밖 픽셀과 보간이 발생 (쉽게 말해 값이 섞인다) 이 현상은 UV 조각의 경계에 걸친 픽셀이 영향을 주는 곳에서 발생 해당 장소 이외에는 발생하지 않음
  • 59.
    Ⓒ 2021. JuyeongLee. All rights reserved. 해결 방법 • UV 좌표를 타겟 해상도에 맞춰 재정렬한다 이렇게 재정렬하면 옆의 픽셀과 섞이지 않고 온전한 값을 얻게 됨 물론 패딩이 최소 1칸 있어야 더 완벽함. 후디니로는 간단하게 가능하지만… 다른 툴은 모르겠습니다.
  • 60.
    Ⓒ 2021. JuyeongLee. All rights reserved. 주의사항 1. 낮은 타겟 해상도를 기준으로 맞춘 값은 그보다 높은 해상도에도 정상적으로 적용됩니다. 1. 이건… 소인수분해를 하시면 이해할 수 있.. 읍읍 2. 아무래도 UV좌표를 좀 흔드는 것이다 보니 적용 후 확인이 반드시 필요합니다. 1. 확인 후 겹치는 곳이 없는 경우에만 적용해야 합니다. 2. 겹친다면 타겟 해상도를 높여보거나, 아예 픽셀 정렬은 포기하셔도… 3. 어차피 티 나는 경우 거의 없음..
  • 61.
    Ⓒ 2021. JuyeongLee. All rights reserved. 표시 안 해주면 대부분 모름… ㅋ 확대 해서 그나마 이정도 식별이 가능
  • 62.
    Ⓒ 2021. JuyeongLee. All rights reserved. By Mesh Name 베이크
  • 63.
    Ⓒ 2021. JuyeongLee. All rights reserved. 문제상황 • 근데 이상한 부분이 있습니다
  • 64.
    Ⓒ 2021. JuyeongLee. All rights reserved. 문제상황 • 등짝을 가려진 부분을 보자 섭페엔 게시일 기준 극히 최근에 추가된 매쉬별 따로보기 기능
  • 65.
    Ⓒ 2021. JuyeongLee. All rights reserved. 원인 • 매쉬간의 거리가 가깝거나, 겹쳐 있어서 서로 간섭하는 것 Matching by Name - Substance Bakers (substance3d.com) 헬멧 안쪽 머리카락의 노말이 헬멧에 묻어 나옴
  • 66.
    Ⓒ 2021. JuyeongLee. All rights reserved. 원시적 해결 방법 • 다 따로 베이크 하고 포토샵으로 합치기… • 자세한 설명은 생략합니다. • 이렇게 하고 싶지 않습니다. • 하지만, Match by name 기능을 모르면 이렇게 해야 합니다! • 오체분시 테크닉도 있긴 한데, 그건 그것대로 적용이 어려운 이유가 있음. • 역시 설명은 생략합니다. 해당 문제 해결의 정공법이 아닙니다.
  • 67.
    Ⓒ 2021. JuyeongLee. All rights reserved. 스마트한 해결 방법 • 각각의 매쉬를 분리시켜 굽는 것 효과를 낼 수 있습니다. • 매쉬의 이름을 맞춰서 말이죠. Box1_low Box2_low Box1_high Box2_high
  • 68.
    Ⓒ 2021. JuyeongLee. All rights reserved. 이름 매칭 결과
  • 69.
    Ⓒ 2021. JuyeongLee. All rights reserved. 이름 매칭 규칙 • 이름 매칭은 1:1 매칭만 되는게 아닙니다 • 1:多 매칭도 가능 로우폴리 이름 매칭 되는 하이폴리 이름 매칭 안 되는 하이폴리 이름 •body_low •body_high •body_high_top •body_high_1 •body_high_2 •body-high •body_top_high •Head_low •Head_high •head_high •Leg_low_top •Leg_high •Leg_high_top •Leg_high_high_top •Leg_top_high
  • 70.
    Ⓒ 2021. JuyeongLee. All rights reserved. 요약 • 로우폴리 이름이 <매쉬 이름>_<low 접미사>인 경우 • 하이폴리 이름은… • <매쉬 이름>_<high 접미사> • <매쉬 이름>_<high 접미사>_<추가 접미사> • 이 두가지 형태가 가능하며 • 매쉬 이름과 접미사의 구분은 밑줄(_)로 한다 • 하이픈(-)은 구분자로 취급하지 않음
  • 71.
    Ⓒ 2021. JuyeongLee. All rights reserved. Cage 사용 시기와 방법
  • 72.
    Ⓒ 2021. JuyeongLee. All rights reserved. 이름 베이크는 만능이 아닙니다 • 대표적으로 이름 베이크를 쓰기 애매한 경우: 손 광선 거리가 길면 간섭 광선 거리가 짧으면 경우에 따라 디테일이 잘림 매쉬 이름 매칭을 하려니 한 덩이라 불가능
  • 73.
    Ⓒ 2021. JuyeongLee. All rights reserved. 매쉬로 각 부분의 최대 광선 거리를 조절 • 이럴 때 사용하는 것이 케이지 • 케이지를 사용하면 숫자로 광선 거리 조절하는 옵션이 비활성화 • 대신 케이지 매쉬를 인풋으로 받음 • 케이지 매쉬는 토폴로지, UV등이 없어도 됨 • 케이지 매쉬는 하나의 닫힌 면으로 구성하는 것이 좋음.
  • 74.
    Ⓒ 2021. JuyeongLee. All rights reserved. 하나의 닫힌 면 • 예제 매쉬는 두 매쉬가 겹치는 부분이 있음. Boolean Intersect
  • 75.
    Ⓒ 2021. JuyeongLee. All rights reserved. 하나의 닫힌 면 • 이런 매쉬는 간혹 문제가 생기기도 하니 통으로 합쳐줍니다. Boolean-Union으로 제작 VDB 사용
  • 76.
    Ⓒ 2021. JuyeongLee. All rights reserved. Occlusion 베이커들
  • 77.
    Ⓒ 2021. JuyeongLee. All rights reserved. Self Occlusion AO Bent Normal Thickness Curvature Only Same Mesh Name Always 일부 베이커의 특징 • AO, Bent Normal, Thickness, Curvature는 별도의 Self Occlusion 항목이 있음 • 이건 옵션에 따른 차이를 눈으로 보기만 해도 감이 옵니다.
  • 78.
    Ⓒ 2021. JuyeongLee. All rights reserved. 옵션을 다르게 써야 하는 이유 1. 셰이더 인풋으로 사용 시 결과가 명확하게 다름 1. Bent Normal의 경우는 필요에 따라 Self Occlusion 항목을 켜야 함 2. 애니메이션 되는 매쉬의 경우 움직임을 고려하여 분리 1. 베이크는 매쉬가 정지한 상태로 하게 되는데, 매쉬가 움직여버리면 Self Occlusion-Always로 베이크한 AO를 사용해 맵핑을 한 텍스쳐가 이상하게 보일 수 있음.
  • 79.
    Ⓒ 2021. JuyeongLee. All rights reserved. AO-Ground Plane옵션 역시 마찬가지 • 바닥이 있는 것 처럼 할지, 없는 것 처럼 할지, 둘 다 쓸지…
  • 80.
    Ⓒ 2021. JuyeongLee. All rights reserved. 요점 • 섭디 베이커는 같은 베이커라도 필요한 만큼 추가가 가능 • 그러니 같은 베이커, 다른 옵션의 맵이 필요하면 필요한 만큼 쓰자 아래에서 더블클릭하면 베이커별 옵션 변경 가능
  • 81.
    Ⓒ 2021. JuyeongLee. All rights reserved. AO, 월드노말, 커버쳐 특이사항 • 이전에 구워둔 노말 맵을 인풋으로 받습니다. • 입력 안 해도 일단 구워는 짐.
  • 82.
    Ⓒ 2021. JuyeongLee. All rights reserved. 이전 베이커에서 가져오기 • 해당 베이커 전에 노말 베이커를 추가한 뒤 사용합시다
  • 83.
    Ⓒ 2021. JuyeongLee. All rights reserved. 탄젠트 스페이스 플러그인
  • 84.
    Ⓒ 2021. JuyeongLee. All rights reserved. 탄젠트 스페이스 플러그인? • Compute Tangent Space per Fragment 옵션이 섭디에는 없습니다.
  • 85.
    Ⓒ 2021. JuyeongLee. All rights reserved. 설정하는 방법은 있습니다 • 탄젠트 스페이스 플러그인을 변경하면 됩니다.
  • 86.
    Ⓒ 2021. JuyeongLee. All rights reserved. 플러그인 별 설명 플러그인 이름 특징 mikkunrealtspace Compute Tangent Space per Fragment 옵션을 킨 것과 같음. 언리얼 엔진용 mikktspace 블렌더의 베이크 방식과 동일. 엔진을 제외하고선 이 방식을 사용하면 됨. unitytspace 유니티 엔진용 플러그인
  • 87.
    Ⓒ 2021. JuyeongLee. All rights reserved. 마지막 매쉬 체크사항 삼각형화
  • 88.
    Ⓒ 2021. JuyeongLee. All rights reserved. 삼각형화가 중요한 이유 • 사각형은 평면이 아닐 수 있기 때문 • 때문에 처음에 봤던 이런 보간을 제대로 할 수 없습니다.
  • 89.
    Ⓒ 2021. JuyeongLee. All rights reserved. 삼각화를 하고 나면… • 보이는대로 노멀도 정리가 됩니다
  • 90.
    Ⓒ 2021. JuyeongLee. All rights reserved. 그래서 자동 삼각화를 하는데…. • 자동은 항상 문제가 있습니다. • 이렇게 해야 하는데… 이렇게 하는 경우가 생김
  • 91.
    Ⓒ 2021. JuyeongLee. All rights reserved. 그래서 자동 삼각화를 하는데…. • 원래 토폴로지를 생각하면 명백한 오류 • 하지만 그냥 자동으로 대각선 그리는 것이라 컴퓨터는 이상을 모른다
  • 92.
    Ⓒ 2021. JuyeongLee. All rights reserved. 이런 이유로… • 자동 삼각형화는 믿지 맙시다. • DCC 툴에서 삼각형화를 하고 넘어가야 합니다. • 하이 매쉬 역시 마찬가지. 로우, 하이 둘 다 삼각화를 합시다. • 최적화 매쉬는 필요 없다고 생각할 수 있는데… • 게임 엔진에 넣을 생각이라면 이 쪽도 해주는 편이 멘탈에 이롭습니다.
  • 93.
    Ⓒ 2021. JuyeongLee. All rights reserved. 이 내용이 유용하셨다면 다른 유용한 것도 살펴 주시길 바랍니다. 주소는 설명란에 있습니다.
  • 94.
    Ⓒ 2021. JuyeongLee. All rights reserved. 이 슬라이드도 끝 더 이상의 베이크 고생도 끝 추가할 내용 있으면 보강해서 다시 옵니다

Editor's Notes

  • #4 매쉬 맵에 무슨 종류가 있는지 까먹으셨으면… 당장 복습하세요. 이미 강의 목록에 있습니다.
  • #7 이걸 보면, 보통 버텍스 8개라고 말 하시는 분이 굉장히 많은데, 이 큐브의 버텍스 개수는 사실 24개입니다. 정육면체니까, 4*6 = 24죠. 후디니에서 버텍스 정보를 표로 볼 수 있는데, 몇 번 폴리곤의 몇 번째 버텍스가 몇 번 포인트의 위치 정보를 참조하는지 기억하고 있습니다.
  • #8 지금 보시는 표와 그림을 참고하시면 알 수 있습니다. 0번 폴리곤의 0번 버텍스와, 1번 폴리곤의 3번 버텍스는 둘 다 1번 포인트의 위치를 참조합니다. 하지만 노말의 방향이 다르죠.
  • #9 우리가 화면상에서 폴리곤을 볼 때, 폴리곤 자체는 버텍스 여러 개의 정보만 가지고 있고, 버텍스는 위치와 노말 정보만 가지고 있습니다. 하지만 실제 렌더링을 할 때엔 단순히 한 점이 아니라, 모니터에 그려질 픽셀 하나 하나에 모두 노말, 위치 정보가 필요합니다. 그렇다면 점과 점 사이의 노말, 위치 정보는 어떻게 구할까요?
  • #12 버텍스, 포인트의 차이와 노말 보간에 대해서 알고 있으면 베이크 숙달에 필요한 배경지식은 다 안 셈입니다. 이제 본격적으로 섭디 베이커에 대한 이야기를 해 보죠.
  • #13 원리에 대한 이해가 뒷받침되지 않으면 이 간단한 매쉬도 베이크를 제대로 할 수 없습니다. 장담하건데, 이 간단한 매쉬도 완벽하게 베이크 못 하시는 분들이 많을 겁니다.
  • #14 자.. 일단 베이커 옵션들 부터 짚어보도록 할게요.
  • #15 글로벌 옵션은 먼저 살펴보고, 베이커 별 옵션을 알아보겠습니다. 글로벌 옵션에서 아웃풋 탭은 언급할 게 없으니 생략합니다.
  • #16 섭페는 머티리얼 별로 베이크 하는게 기본적으로 지원이 되는데, 섭디는 안 됩니다. 이상하죠. 그리고 섭페는 매쉬를 따로 선택하는게 불가능한데, 섭되는 됩니다. 그러니까 쓰지도 않는 기능은 되고 필요한 게 없어요. 이거는 오토메이션 툴킷을 사용하면 해결은 가능합니다만, 코딩이 많이 필요하니 지금 단계에선 생략합니다.
  • #18 이 슬라이드를 보면, 하이폴리의 디테일이 노말맵에도 반영되어 있지 않고, AO맵의 경우 튀어나온 부분은 아예 검정색으로 나오고 있습니다. 전형적으로 광선 거리 부족으로 인해 발생하는 현상입니다. 광선 거리를 늘려서 다시 베이크를 하면…
  • #20 그리고 이 현상의 해결 방법으로 많은 분들이 Average Normal 옵션을 사용하라는 이야기를 합니다. 이제 그 옵션에 대해서 알아보도록 하죠.
  • #22 에버리지 노말을 킨 상태에서 베이크를 했습니다. 모서리 문제는 해결이 되었어요.
  • #23 에버리지 노말 옵션은 대부분의 경우에 완벽한 해결책으로 사용할 수 없습니다.
  • #24 보다시피, 어느 한 쪽을 선택해도 다른 쪽의 문제가 생기기 때문에, 단순히 이 옵션을 키고 끄는 것으로 베이크 문제를 해결할 수 있을 가능성은 낮습니다. 만약 이걸 켜서 해결이 되었다면, 로우 폴리곤의 폴리 수가 굉장히 많은 경우일 수는 있습니다. 하지만 단순히 폴리곤을 많이 만든다고 문제가 해결될거면 따로 정리하지도 않습니다.
  • #25 안 닿는 영역이야… 안 닿으니까, 당연히 정보가 제대로 기록이 안 되죠. 두 번 닿는 영역도 사실상 한 번만 닿아야 하는데 두 번 닿으니 뭔가 이상하게 정보가 생성됩니다.
  • #26 에버리지 노말은 말 그대로 노말의 평균을 구하는 작업인데, 한 포인트에 몰린 모든 버텍스의 노멀을 평균을 내 버립니다. 그래서 사진과 같은 모양이 됩니다. 여기서 노말 보간이 일어나는데, 보간된 노말에서, 디테일이 이상하게 나온 부분의 노말을 잘 봅시다.
  • #39 대부분의 3D 툴이, 토폴로지가 변경되지 않는다면 새로운 엣지를 추가해도 UV에 변동이 생기지 않습니다. 그 점을 이용하는 겁니다. 하드 엣지 주변으로 폴리 베벨링을 하여 보조엣지 라인을 추가하면 됩니다. 이 상태에서 노말 보간이 이루어 진다고 생각해 보세요
  • #50 하지만 패딩을 넓게 해도 사라지지 않는