본문 바로가기

Blender_Study

Bake의 기본 개념 Overview

https://www.youtube.com/watch?v=IvxEVK77J00&ab_channel=%EC%98%81%EB%A7%88%EC%84%AC 


1. 일단 Bake는 사전적 의미 그대로 굽다라는 뜻을 가짐
하지만 "3D 그래픽에서는 굽는다는 뜻은 미리 계산한다"는 뜻

셰이더와 조명의 효과를 "미리 계산해서 이미지 텍스처에 기록"할때
이 용어를 자주 사용함

2. 조명(광원)에서 출발한 빛이 오브젝트 표면에서 
Shader의 특성에 맞게 반사 또는 굴절등이 이루어지고
여기에서 계산된 색으로 오브젝트 표면이 칠해진다.
(그래서 재질의 Base Color 색상이 큐브 전체에 적용되어 있지만
조명을 받은곳과 그늘진(빛을 아예 받지 않는 곳은 아니고
간접광이나 반사광을 받을수 있음) 곳의 색이 다르게 칠해진것을 알수 있다.)

3. 이것은 많은 계산량을 발생시키기 때문에 게임과 같이
빠른 렌더링이 필요한 곳에서는 이러한 계산량을 줄이기 위해
미리 계산된 정보를 이미지 텍스처의 저장한뒤

실시간으로 광원에 영향을 받는 오브젝트에 계산을 따로 하지 않고
텍스처에 저장된 색으로 오브젝트를 칠해 "렌더링 속도를
향상"시키는데 이것을 "베이크" 라고한다.

Rendering Pannel 의 Bake
로 가면
4. 구워질 데이터의 종류는 Bake Type에 따라 달라지는데
예를 들어 Diffuse를 선택하면 난반사(각진 부분)에 의해 계산된
(빛이 반사된) 색만 저장

기본값인 Combined를 선택하면 재질,텍스처, 그리고 조명 모두를 계산하여
이미지에 저장

하지만 여기에거 거울 반사(정반사)는 제외 됩니다.
거울 반사로 보여지는 색은 모두 검은색으로 표현 된다.

5. 위에 개념은 Gossy 셰이더나 Principled 셰이더의 Metalic 속성 값을
올려서 주변의 오브젝트가 비치게하는 "금속성 거울 반사" 뿐만 아니라

Principled 셰이더의 Specular 속성 값을 올려서 주변의 오브젝트를
반사하는 "비금속성 거울반사"도 마찬가지로 적용

하지만 비금속성 반사의 경우 자신의 색도 함께 표현되므로
완전히 검게 나오지 않고 검은색이 혼합된 것처럼 색이 저장된다

6.Baking을 하기전에 미리 준비해야 할 사항이 
두가지 정도 있다.
1. UV맵
2. 활성 이미지 텍스처 노드가 준비 되어 있어야함
(텍스처 정보를 저장할곳)

7. Shading Node에서 이미지를 만들고
Bake를 누르면 선택된 이미지 파일에 
미리 계산된 색상 정보를 기록하기 시작

8. 텍스처 이미지가 제대로 정상작동이 되나 블렌더에 확인하기위해
이미지 텍스처 -> 스스로 빛을 내는 셰이더인 Emisssion셰이더 -> Material
Output순으로 연결

9. 실제 게임에서는 배경 소품, 배경에 많은 부분에서
(최근에는 텍스처 없이 루멘을 사용하지만) 이렇게 베이크 된 이미지를
사용하여 랜더링 속도를 향상 시킨다. 

하지만 이런 베이크된 이미지를 사용하는것은 실시간으로
조명이 이동할 경우 이에 대응하지 못 하기에
조명이 고정되어 있는 부분에서 많이 사용한다.