STEP 100. 노멀 맵 베이크
STEP 100. 노멀 맵 베이크 | |
⏪STEP 99. 렌더 패스 | STEP 101. 디스플레이스먼트 맵 베이크⏩ |

어느덧 STEP 100까지 오게 되었네요.
아직 남은 STEP이 여럿 있는데
힘내서 열심히 적어보도록 하겠습니다!
블렌더에서 베이크 작업은 여러 불편한 점이 있어서 권하고 싶지는 않습니다. 선택지 중에 서브스턴스 페인터나 마모셋이 있다면 해당 소프트웨어를 추천합니다. 그래도 여건이 안 되어 블렌더를 사용해야 하거나, 공부를 위해 이것저것 테스트해 보고 싶은 분들을 위해 작성해 보도록 하겠습니다.
▎베이크 작업 설정
블렌더에서 베이크 작업은 오프라인 렌더러인 Cycles 엔진만 가능합니다. 베이크 작업을 위해 렌더 엔진을 Cycles로 변경합니다. 엔진 변경이 완료되면 Bake 패널이 생긴 것을 확인할 수 있습니다.
타일 사이즈는 CPU 계산이면 32px, GPU 계산이면 256px로 줄이는 편이 좋다고 합니다. [속성창] Render 탭 ➔ Performance 패널 ➔ Memory 패널에서 Tile Size를 조절합니다.
▎베이크 준비
로우폴 모델과 하이폴 모델을 가져옵니다. 하이폴 오브젝트는 여러 개여도 상관없습니다.
로우폴 오브젝트에는 베이크를 위해 머티리얼이 필요한데요. 머티리얼이 없는 경우 생성해 줍니다.
그다음 Shading 워크스페이스로 레이아웃을 전환합니다. 쉐이더 에디터에서 Image Texture 노드를 추가하고 New 버튼을 눌러 새 텍스처를 생성합니다. 대화상자에서 텍스처의 이름과 사이즈를 설정하고 Alpha는 체크 해제합니다. 설정이 완료되었으면 OK 버튼을 누릅니다.
텍스처 생성이 완료되었으면 Color Space는 Non-Color로 변경하고 마무리합니다. 여기서 주의 사항은 방금 생성한 Image Texture 노드가 활성 상태여야 합니다. 다른 노드가 선택되어 있으면 베이크 된 데이터가 기록되지 않습니다. 다른 작업을 하였다면 베이크 전에 Image Texture 노드를 클릭하여 활성 상태로 만들어주세요. 활성 상태인 경우 노드에 흰색 테두리가 표시됩니다.
그다음 뷰포트에서 하이폴과 로우폴 모델을 순서대로 선택하고(로우폴이 활성 오브젝트), [속성창] Render 탭 ➔ Bake 패널에서 Bake Type을 Normal로 변경, Selected to Active에 체크합니다. (DirectX용은 Swizzle G를 -Y로 변경해 주세요.
▎베이크 옵션 설정
Selected to Active 패널을 확장하면 3가지 옵션이 나타납니다. 아래의 설명을 보고 작업하고 있는 모델의 적정값을 찾아 입력하고 테스트해 보세요. 모델에 따라 필요한 값이 다릅니다.
Cage는 케이지 전용 오브젝트를 연결해서 광선(Ray)의 방향을 변형시키는 기능입니다. 케이지 메쉬는 로우폴 토폴로지와 일치해야 합니다. 이 옵션을 사용하면 아래 Extrusion 옵션은 비활성화됩니다.
Extrusion을 사용하면 로우폴 모델의 표면으로부터 광선(Ray)의 시작 지점이 멀어집니다. 방향은 버텍스 노멀에 영향을 받습니다. 값을 0으로 설정하면 로우폴 모델의 표면보다 아래에 있는 하이폴만 베이크 됩니다.
Max Ray Distance는 Extrusion으로부터 시작되는 광선(Ray)의 거리입니다. 값이 0일 경우에는 시스템이 자동으로 계산합니다.
▎베이크 하고 저장하기
Bake 버튼을 누르면 계산을 시작합니다.
베이킹이 완료되면 Shading 워크스페이스 기준 화면 좌측 하단의 이미지 에디터에 베이크 된 텍스처가 표시됩니다. 여기에 마우스 커서를 두고 Alt+S키를 눌러서 파일로 저장합니다.
▎알아두기
- 블렌더는 MikkTSpace(미켈슨 탄젠트 스페이스)가 기본이며 고정입니다. 레거시 탄젠트 스페이스 환경으로 변경할 수 없습니다.
- Extrusion 옵션 설정이 꽤나 까다롭습니다. 어느 한쪽이 원하는 대로 베이크 되었다면 다른 한쪽이 원하지 않게 베이크 될 수도 있습니다.
- 블렌더 베이킹 옵션에 안티 알리아싱(anti-aliasing)이 없습니다. 해결책으로 해상도를 크게 베이크 해서 줄이는 방법이 있습니다. 다른 방법으로는 컴포지터에서 Anti-Aliasing 노드를 사용하는 방법이 있습니다.
크리에이티브 커먼즈 BY-NC-ND 4.0
이 저작물은 영상, 강의, 출판 목적으로 사용할 수 없습니다.
비상업적 & 개인적인 용도로 블로그 스크랩 및 커뮤니티 공유(출처 표기 필수)는 가능합니다.