2025. 5. 26. 11:50ㆍBlender/내용 정리&Tip
개요
블렌더에서 만든 다양한 셰이더 노드를 3D 모델로써 사용하기에는 많은 제약이 있다. 블렌더 자체에서 사용되는 렌더링만을 위한 기능도 많고, fbx나 obj 또는 웹 용도로 많이 쓰이는 glb 등 여러 3D 포맷에서 모든 셰이더 노드가 호환되지는 않는다. 따라서 복잡한 셰이더 노드를 표현하기 위해서는, 이미지 텍스쳐 형태로 bake 하여 사용하게 된다.
현재는 개인적으로 Unity나 웹에서 주로 glb 포맷을 사용하고 있기 때문에 glb를 예시로 들어서 작성해보려고 한다. 이미지 텍스쳐는 fbx나 기타 3D 포맷에서도 동일하게 작용하기 때문에 사실 포맷이 중요하지는 않다.
아래와 같이 [Color Ramp]를 이용한 메테리얼을 적용한다고 했을 때, 이 모델을 glb로 바로 export 하면 의도한 대로 재질이 적용되지 않는다. glb 포맷은 [Color Ramp] 노드를 지원하지 않기 때문이다.
사용 방법
이미지를 Bake 하기 위해서는 새로 이미지를 하나 생성해야 한다. Baked 라는 이름의 이미지를 하나 생성했다.
새로운 이미지에 UV를 알맞게 편다. UV가 겹치지 않는지 확인하는 것이 중요하다. 나는 간단하게 수잔을 사용했기 때문에 이미 펴져있는 UV 그대로 사용했다.
[Render] 탭에서 [Render Engine] - [Cycles] 설정, [Feature Set] - [Experimental] 설정, [Device] - [GPU Compute] 설정을 하였다.
같은 [Render] 탭의 아래쪽에서 [Bake] 설정을 찾는다. [Bake Type]에 원하는 텍스쳐를 선택한다. Diffuse가 가장 많이 쓰이는 Base Color에 직접적으로 연결 될 이미지 텍스쳐가 된다. 색상 그대로 굽기 위해서는 [Contributions]에서 [Direct]와 [Indirect]를 체크 해제한다.
이후 [Bake] 버튼을 눌러 구우면 적용된 [Color Ramp]가 이미지 형태로 구워진 것을 볼 수 있다!
만약 [Direct]와 [Indirect] 옵션을 체크 한다면 빛의 영향에 따라서 그림자가 같이 구워지게 된다.
Sun 조명 하나를 위에서 비추게 하였고 그 명암이 이미지에도 구워지는 것을 볼 수 있었다.
Diffuse 이미지 외에 Metallic, Roughness, Normal 텍스쳐 또한 같은 방법으로 구울 수 있는데, 유의할 점은 세 이미지의 Color Space 옵션을 모두 Non-Color로 설정해야 한다는 점이다.
이에 대한 내용은 아래 유튜브에서도 잘 나와있다.
결론
블렌더에서 제공하는 다양한 셰이더 노드를 3D 모델링에도 사용하기 위해서 이미지 베이킹은 아주 획기적인 방법이다. 물론 서브스턴스 페인터를 이용한 재질 생성이 가장 좋지만 사용법을 모르거나 환경이 받쳐주지 않거나 간단한 표현을 위해서는 블렌더 내에서도 충분히 이런 점을 이용하면 좋을 것이라고 생각된다.
'Blender > 내용 정리&Tip' 카테고리의 다른 글
[Blender] GLB 파티클 애니메이션 제작 매뉴얼 (0) | 2025.04.28 |
---|---|
[Blender] 블렌더 서로 다른 오브젝트 Join 할 때 생기는 오류 (0) | 2025.01.02 |
[Blender] 마우스 좌클릭으로 원하는 곳에 오브젝트 쉽게 복제하기(2) (4) | 2024.11.11 |
[Blender] 마우스 좌클릭으로 원하는 곳에 오브젝트 쉽게 복제하기 (6) | 2024.10.29 |
[Blender] glb, gltf 파일 Alpha 애니메이션 자동화 스크립트 (1) | 2024.09.27 |