머티리얼(Materials)

존재하는 Godot 머티리얼 사용하기

내보내기가 머티리얼을 다룰 수 있는 하나의 방법으로 블렌더 머티리얼과 존재하는 Godot 머티리얼을 맞춰보는 것입니다. Godot의 모든 머티리얼 시스템을 사용할 수 있는 이점이 있지만, 블렌더 내부에 적용된 머티리얼로 모델을 볼 수 없다는 것이기도 합니다.

하기 위해, 내보내기는 블렌더에서 머티리얼 이름과 일치하는 이름의 Godot 머티리얼을 찾아야 합니다. 즉, 블렌더에서 PurpleDots이라는 이름의 머티리얼 이름을 가진 객체를 내보낸다면, 내보내기는 PurpleDots.tres 파일을 찾을 것이고 그것을 객체에 지정할 것입니다. 이 파일이 SpatialMaterial이나 ShaderMaterial이 아니거나, 찾을 수 없다면, 내보내기는 블렌더에서 머티리얼을 다시 내보내기 위해 돌아올 것입니다.

내보내기가 .tres 파일을 찾는 위치는 "Material Search Paths" 설정에서 결정합니다:

../../../../_images/material_search.jpg
다음 값을 사용할 수 있습니다:
  • Project Directory - project.Godot을 찾고 재귀적으로 하위 디렉토리로 검색합니다. project.Godot을 찾을 수 없다면 오류를 발생합니다. 이름 충돌이 거의 없는 대부분의 프로젝트에서 유용합니다.
  • Export Directory - 내보내기 위치의 하위 디렉토리에서 머티리얼을 봅니다. 머티리얼 이름을 복사해서 어떤 머티리얼이 지정되었는지 좀 더 제어가 필요한 프로젝트에서 유용합니다.
  • None - 머티리얼을 찾지 않습니다. 머티리얼을 블렌더 파일에서 내보냅니다.

Cycles/EEVEE 머티리얼 내보내기

이 내보내기는 Cycles/EEVEE 머티리얼 노드 트리를 Godot 셰이더 머티리얼로 변환하기 위한 원시적인 지원을 갖고 있습니다. 일부 셰이더 노드는 구현의 어려움으로 아직 지원하지 않습니다, 다음과 같습니다:

  • 모든 노이즈 텍스처
  • 생성된 텍스처 좌표
  • 그룹 노드
  • PrincipledBSDF, Diffuse, Glossy, Glass, add shader 그리고 mix shader를 제외한 셰이더 노드들

경고

If possible, try to use PrincipledBSDF node with GGX distribution as the output shader node, it is the only one guaranteed to be exactly correct. Others are just based on approximation.

때로 머티리얼이 내보내기에 좋지 않을 수 있습니다 (예: 내보낼 수 없는 노드를 가져서) 혹은 블렌더 내장 엔진을 사용하는 등의 이유로, 오직 확산 색상과 몇 가지 플래그 (예: 셰이드 없음)가 내보내지고 Spatial 머티리얼의 형태가 됩니다.

외부 머티리얼 생성하기

머티리얼 내보내기의 기본 구성은 모든 머티리얼을 escn 파일에 내부적으로 유지하는 것입니다. 설정을 통해 Godot에서 escn 파일을 열 때 외부 .material 파일을 생성하도록 할 수 있습니다.

../../../../_images/external_mat_option.jpg

.material 파일은 아무 머티리얼 슬롯에 지정해 외부 리소스로 사용될 수 있습니다.

../../../../_images/gd_dot_material.jpg