본문 바로가기

블렌더/모델링 스킬

[Blender] 머테리얼 베이크 (2) - 디퓨즈/알베도맵 베이크 (Diffuse/Albedo Map Bake)

반응형

디퓨즈/알베도 맵이란?

Diffuse와 Albedo 모두 3D 모델의 메인 컬러를 나타내는 텍스처이다. 같은 용도로 사용되기 때문에 같은 의미라고 생각하면 된다. 다만 Map이라는 용어가 사용된 이유는 게임 엔진에서 텍스처 정보를 UV에 맞게 펼쳐서 나타내기 때문이다. 

 

블렌더에서 어떤 재질을 제작하였을 때 이 정보를 게임 엔진에서 사용하기 위해서는 해당 재질을 2D 텍스처로 변환하여 3D 모델에 사용할 수 있도록 변환하여야 한다.

 

이번 포스팅에서는 블렌더에서 제작한 모델의 Diffuse 정보를 png텍스처로 변환한 후 Unity에서 적용하는 일련의 과정을 나타내었다.


블렌더에서 디퓨즈/알베도 맵 베이크 방법

예시를 위해 스웨터 질감의 재질을 절차적 머테리얼(Procedural Materail)로 제작하였다. (절차적 머테리얼이 아닌 어떠한 재질도 상관없다)

 

스웨터 질감의 머테리얼

 

셰이더 노드는 아래와 같다.

 

노드

 

베이크를 위한 설정값 변경

블렌더 4.0 기준 베이크를 하기 위해서는 렌더엔진을 Cycle로 변경해주어야 한다.

아래 이미지처럼 Render Engine과 Device를 변경한다.

 

Scene

 

Device를 GPU Compute로 사용할 경우 일반적으로 베이크 시간을 단축시킬 수 있다.

(필자의 경우 거의 1/10으로 줄어들었다.)

 

렌더 엔진을 변경하고 나면 아래에 Bake탭이 나타난다. 이제 해당 탭의 설정을 아래처럼 변경해 주면 된다.

 

Bake

 

Bake Type은 Diffuse로 설정해 둔다. (엔진에서의 Albedo에 해당한다)

 

Contributions의 경우 Diffuse 정보로 색 정보에 직접광과 간접광을 포함시킬지에 대한 항목이다.

엔진에서 사용할 경우 직/간접광은 나타낼 필요가 없기 때문에 해당 항목을 체크 해제한다.

 

이렇게 하면 베이크를 위한 기본 설정은 끝이다.

이제 이미지로 베이크 하기 위해 다시 Shading 윈도우로 넘어가야 한다.

 

베이크 텍스처 이미지 생성

셰이딩 탭에서 다음과 같이 Image Editor 윈도우를 추가한다.

 

 

(추가로 아래처럼 Object Mode로 현재 상황을 볼 수 있는 윈도우를 하나 더 열면 좋다.)

이미지 에디터에서 New를 눌러서 새 이미지를 하나 생성한다.

 

Image Editor / New Image

 

이때 Width와 Height는 원하는 텍스처 해상도를 지정해 주면 된다.

위 예시의 경우 4K(4096 x 4096)에 해당한다.

 

그리고 아래처럼 Shading 윈도우에서 Image Texture 노드를 하나 생성한다.

그리고 방금 생성한 텍스처를 선택해 준다. ( Image Texture를 만들고 New로 새로 생성하는 형태로 진행해도 된다.)

 

 

이때 이미지가 Generated로 되어있는지 확인해야 한다.

 

 

이제 렌더링 하고자 하는 오브젝트를 선택하고, Render 탭에서 Bake를 누르면 된다.

 

Render / Bake

 

이 작업은 어느 정도의 시간이 소요된다.

 

 

베이크가 끝나면 Image Editor에서 Save As로 저장을 해야 이미지 텍스처로 저장이 된다.

 

Image Editor / Save As

 

전체적인 워크플로를 알 수 있는 캡처는 다음과 같다.

 

Workflow

 

Bake에 실패할 경우

아래의 경우를 확인해봐야 한다.

  1. 위의 이미지처럼 Mesh가 선택되었는지 확인
  2. Image Texture 노드가 해당 머테리얼에 있고 텍스처가 올바르게 선택되었는지 확인
  3. Shading 노드의 Material Output노드가 올바르게 연결되어 있는지 확인

만약 다 해결하였는데도 어딘가에서 문제가 발생하여 베이크가 안된다면 엔비디아 옴니버스로 한 번에 해결하는 방법도 있다.


유니티에서 Albedo 이미지 사용

이제 Unity에 방금 생성한 텍스처를 임포트 한다.

이때 필요에 따라 Import 설정을 변경해주어야 한다.

 

Import Settings

 

텍스처가 항상 고품질을 유지하기를 원한다면 Generate Mipmaps를 체크 해제한다.

만약 텍스처의 크기가 2K 이상이라면 Max Size를 텍스처의 크기에 맞게 변경한다. (필자의 경우 4K에 해당하는 4096 변경)

 

이제 머테리얼을 생성하고 방금 생성한 텍스처를 Albedo Map에 넣어준다.

 

 

머테리얼을 매쉬에 적용하면 아래와 같은 결과를 얻을 수 있다.

 

Plane에 머테리얼 적용 / Cloth 물리 적용

반응형