> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-ko/3d/materials.md).

# 재질

Decentraland로 가져온 3D 모델에서 지원되는 재질 속성과 텍스처를 알아봅니다.

재질은 다음에 내장됩니다 *.gltf* 또는 *.glb* 파일을 추가할 수 있습니다.

{% hint style="info" %}
**💡 팁**: 설치하세요 [Decentraland Tools Blender 플러그인](https://extensions.blender.org/add-ons/decentraland-tools/). 여기에는 3D 모델, 착용 아이템, 이모트를 편집하고 내보내는 데 도움이 되는 여러 유용한 기능이 포함되어 있습니다.
{% endhint %}

이 문서는 3D 모델에 임포트된 재질을 가리킵니다. 코드로 정의된 재질을 기본 도형에 적용하는 방법은 다음을 참조하세요 [**재질**](https://docs.decentraland.org/creator/development-guide/materials/) .

{% hint style="warning" %}
**📔 참고**: 현재는 장면 코드에서 3D 모델의 재질을 동적으로 변경할 수 없습니다. 단, 기본 도형인 경우는 예외입니다.
{% endhint %}

## 셰이더 지원

모든 셰이더를 Decentraland로 임포트되는 모델에서 사용할 수 있는 것은 아닙니다. 다음 중 하나를 사용해야 합니다:

* **표준 재질:** 확산, 반사, 투명도 등 어떤 셰이더도 지원됩니다.
* **PBR(물리 기반 렌더링) 재질**: 이 셰이더는 확산, 거칠기, 금속성, 발광 같은 속성을 포함해 재질이 빛과 상호작용하는 방식을 설정할 수 있어 더 유연합니다.

아래 이미지는 같은 색상과 텍스처로 만들어진 두 개의 동일한 모델을 보여줍니다. 왼쪽 모델은 모든 *PBR* 재질을 사용하며, 그중 일부에는 *금속성*, *투명도*, 그리고 *발광성*. 오른쪽 모델은 모든 *표준* 재질을 사용하며, 그중 일부에는 *투명도* 과 *발광성*.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-738840e87d1016d69373d87362184c128540bb34%2F30-materials.png?alt=media\&token=95bf7877-e0b9-4633-8ea4-b05b0701cb84)

### 현재 Decentraland Engine에서 작동하는 PBR 속성

> * 기본 색상
> * 메탈릭
> * 거칠기
> * 스페큘러
> * 에미시브
> * 발광 세기
> * 알파
> * 노멀

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-4f7c30911e7f3f423d3bf4232caf391c4f3c21ea%2F60-principledBSDF.png?alt=media\&token=9b405e12-51d2-4624-bc81-e7bbcba52b04)

이 속성들이 월드에서 어떻게 작동하는지 확인하려면 다음으로 이동하세요 [테스트 월드](decentraland://?realm=TestEnvironment.dcl.eth) 다양한 오브젝트와 재질, 그리고 그것들이 조명 및 월드 환경과 어떻게 상호작용하는지 확인할 수 있습니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-59533ef54ae1e8b023b1aac7c29c2e946bee5c6c%2F55-testing-environment.png?alt=media\&token=c5a58e89-8858-44d4-9bf6-2020c2a865f2)

### 기본/확산 색상

오브젝트 표면의 기본 색상을 정의합니다. 이것만으로는 조명의 영향을 받지 않기 때문에, 거칠기, 메탈릭, 스페큘러 등 다른 노드와 함께 사용됩니다.

### 메탈릭

메탈릭 셰이더는 금속 표면의 외형을 시뮬레이션하는 데 사용되는 렌더링 기법의 한 종류를 말합니다. 메탈릭 셰이더는 금속의 물리적 특성과 빛과의 상호작용을 고려하여 금속 특유의 반짝이고 반사되는 성질을 만들어냅니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-72df7dbe44a99add0601d2210ac6c8158cec7bd1%2F61-metallic-material.png?alt=media\&token=dbe9ebe8-ffe6-495c-b5b4-84f3476f99d2)

### 거칠기

거칠기 재질은 빛이 재질 표면과 상호작용하는 방식을 사실적으로 시뮬레이션하는 것과 관련이 있습니다. 일반적으로 거칠기 맵은 모델 표면에 "매끄러움" 또는 "거칠음"의 범위를 부여하는 데 사용됩니다. 보통 이러한 유형의 정보를 제공하기 위해 그레이스케일 값의 텍스처 맵이 사용됩니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-9b8a24c451b1e14c95191185dccb686499f8a4ac%2F63-roughness.png?alt=media\&token=985a3a6a-48ca-49b9-95ec-29c3bb90c6f5)

이 속성은 비금속 재질 모델과 금속 재질 모델 사이를 혼합합니다. 값이 1.0이면 확산 반사나 투과 없이, 기본 색상으로 틴트된 완전한 스페큘러 반사를 제공합니다. 0.0이면 재질은 확산 또는 투과 기반 레이어와 그 위의 스페큘러 반사 레이어로 구성됩니다.

### 스페큘러

물리 기반 렌더링(PBR) 셰이더에서 스페큘러 속성은 반사율과 광택 측면에서 빛이 표면과 어떻게 상호작용하는지를 뜻합니다. 스페큘러 반사는 표면에서 빛이 거울처럼 반사되는 것입니다. PBR에서는 이 속성을 사용해 표면이 거울처럼 얼마나 빛을 반사할지 제어합니다. 금속과 같은 재질은 일반적으로 스페큘러 반사가 높아 선명하고 밝은 하이라이트를 만들며, 플라스틱과 같은 비금속 재질은 스페큘러 반사가 낮아 더 넓고 부드러운 하이라이트를 만듭니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-912bbeaffb8c4725d9f60b946fc7fe5775df37bb%2F62-specular.png?alt=media\&token=a4191c28-b26d-47e3-acd3-881bcbfe7932)

### 알파

재질을 *투명하게*. 투명 재질은 그 *alpha*. 이렇게 하려면 재질의 투명도 속성을 활성화한 다음 해당 *alpha* 을 원하는 값으로 설정하세요. 알파가 1이면 재질이 완전히 불투명해지고, 알파가 0이면 보이지 않게 됩니다.

아래 이미지는 표준 재질로 만든 두 개의 동일한 모델을 보여줍니다. 왼쪽은 불투명 재질만 사용하고, 오른쪽은 일부 부분에 투명 재질과 불투명 재질을 함께 사용합니다.

{% hint style="warning" %}
💡 투명 재질은 확산 재질보다 항상 성능 측면에서 더 비용이 많이 든다는 점을 기억하세요. 투명 재질은 가능한 한 최소한으로 유지하세요.
{% endhint %}

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-694975c9963d924b8da300a18d8a47e2025e1fdb%2F31-transparent-materials.png?alt=media\&token=1e3e274e-aa56-42cb-ad6b-55aa737ce3fa)

주요 투명도 모드는 두 가지입니다: *알파 클립* 과 *알파 블렌드*. 주요 차이점은 다음과 같습니다:

* **알파 클립:** 알파 클립은 그레이스케일 값의 클립 임계값에 따라 값을 0 또는 1의 절대값으로 렌더링합니다. 이전 색상은 표면 색상으로 덮어쓰여지지만, 이는 알파 값이 클립 임계값보다 높은 경우에만 적용됩니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-b8eaf93cbe426a7c331301aed0a8da693bae547c%2F33-alpha-clip.png?alt=media\&token=42ae0e0d-cfaf-4326-b977-96dad3aa0ae2)

* **알파 블렌드:** 알파 블렌드는 0과 1 사이의 값을 보간합니다. 알파 블렌딩을 사용해 이전 색상 위에 표면 색상을 겹칠 수 있습니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-87bb91f45cccee6600d3251887c7ae629b726336%2F34-alpha-blend.png?alt=media\&token=ceb355aa-473d-41d9-8b85-c592709dda6b)

{% hint style="warning" %}
**🔥최적화 팁🔥** 특별히 중간 수준의 투명도가 필요하지 않다면, **렌더링 성능 측면에서는 \_Alpha Clip을 사용하는 것이***\*\* 대신 \*\****알파 블렌드**\_**.**
{% endhint %}

{% hint style="warning" %}
**⚠️ 정렬 문제**

게임에서 투명 블렌드 모드를 사용할 때는 색상 블렌딩이 이루어지는 순서를 반드시 고려해야 합니다. 최종 출력 색상은 블렌딩 순서에 크게 영향을 받을 수 있기 때문입니다. 현재 엔진은 오브젝트 단위 정렬만 지원하므로, 오브젝트 원점을 기준으로 모든 투명 표면을 자동으로 정렬합니다. 하지만 프래그먼트(픽셀) 단위 정렬과 삼각형 단위 정렬은 현재 지원되지 않습니다.

정렬과 관련된 문제를 피하려면 같은 메시에서 알파 클립과 알파 블렌드를 모두 사용하는 오브젝트는 피하는 것이 좋습니다. 이렇게 하면 예상치 못한 블렌딩 아티팩트를 방지하고 게임이 가장 좋게 보이도록 할 수 있습니다.
{% endhint %}

### 에미시브

재질을 *에미시브*. 에미시브 재질은 자체적으로 빛을 발합니다. 렌더링될 때 실제로 장면의 주변 오브젝트를 비추는 것은 아니며, 주변에 흐릿한 광채가 있는 것처럼 보일 뿐입니다.

아래 이미지는 표준 재질로 만든 두 개의 동일한 모델을 보여줍니다. 오른쪽 모델은 일부 표면에 빛나는 에미시브 재질을 사용합니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-116cf9169c3fda356bf068bd4cab46462e0828fe%2F34-emissive-materials.png?alt=media\&token=f7d29865-054f-4af2-8332-921865b00577) ![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-bdb40cfa388909cc3ada13c89fff4b3aa9b5f46e%2F35-emissive-nodes.png?alt=media\&token=5981d050-b6c3-47a9-b245-63274e7489ed)

*Blender에서 재질을 에미시브로 만들려면, 재질에 `발광` 셰이더를 추가하면 됩니다.*

### 발광 세기

방출되는 빛의 세기입니다. 값이 1.0이면 이미지 속 오브젝트가 발광 색상과 정확히 같은 색을 갖게 되며, 즉 '셰이드리스(shadeless)'가 됩니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-d7442e553d308821f6f2069fced7e8139a562396%2F52-emissive-materials.png?alt=media\&token=2f790c5f-b75f-45ad-afea-1c2d3cec2ef8)

*다음에서 확인할 수 있습니다* [*테스트 월드*](decentraland://?realm=TestEnvironment.dcl.eth) *월드에서 발광 세기가 어떻게 작동하는지*

### 노멀

PBR 셰이더의 "normal" 노드는 재질의 표면 노멀을 제어하는 데 사용되는 기본 구성 요소입니다. 노멀은 특정 지점에서 표면에 수직인 방향을 정의하는 벡터이며, 빛이 표면과 어떻게 상호작용하는지를 결정하는 데 중요한 역할을 합니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-13d87ebefb8dbb8b4ddc2d72b2d6d3db7181872f%2F50-normal.gif?alt=media\&token=ed3eb3fa-ce46-43ed-aa87-fc7e2e865bf9)

## 버텍스 페인팅

3D 모델의 버텍스 페인팅은 현재 Decentraland 엔진에서 지원되지 않습니다.

## 재질 제한

파슬당 재질 제한은 다음과 같습니다:

> log2(n+1) x 20, 장면의 재질 수. 모델의 일부로 임포트된 재질도 포함됩니다.

각 재질은 오브젝트당 한 번의 드로우 콜을 의미하므로, 재질 수를 가능한 한 최소로 유지하고 텍스처 아틀라스 같은 기법을 사용해 재질을 최대한 재사용하는 것이 중요합니다. 이렇게 하면 장면의 에셋 간에 일관된 스타일을 유지하는 데도 도움이 됩니다.

## 재질 명명

체계적이고 건강한 아트 파이프라인을 위해 재질을 적절하게 명명하는 것을 권장합니다. 한 가지 방법은 다음과 같은 규칙을 사용하는 것입니다.

```
<Object>_<Classification>_<Sub-Classification(optional)>_<_MAT>
```

예를 들어, 서로 다른 두 개의 나무를 만들었다고 해봅시다. 하나는 봄용으로 에미시브하고 빛나는 나무이고, 다른 하나는 겨울용으로 차갑고 메탈릭한 나무입니다. 재질 이름은 다음과 같이 지을 수 있습니다: *"TreeSpring\_Emissive\_MAT"* 그리고 다른 하나는 *"TreeWinter\_Metallic\_MAT"*

결론적으로,

* 🟢 **권장** 오브젝트와 분류로 시작하는 이름을 사용하는 것: *"Wood\_Oak\_MAT"*, *"SciFiFence\_Metallic\_MAT"*&#xB4F1;입니다.
* 🔴 **피하기** 다음과 같은 이름: *"Material009"*, *"material1"*, 이렇게 하면 장면과 모델을 추적하고 분석하기가 매우 어려워집니다.

## glTF 재질 재정의

다음의 재질을 재정의할 수 있습니다: *glTF* 모델의 재질을 [GltfNodeModifiers](/creator/content-creator-ko/sdk7/3d/materials.md#modify-gltf-materials) 컴포넌트를 장면 코드에서 사용하여 재정의할 수 있습니다. 다음을 참조하세요 [glTF 재질 수정](/creator/content-creator-ko/sdk7/3d/materials.md#modify-gltf-materials) 자세한 내용은.

## 재질 모범 사례

* 장면에 동일한 텍스처를 사용하는 여러 모델이 포함되어 있다면, 텍스처를 3D 모델에 내장하는 대신 외부 파일로 참조하세요.

내장된 텍스처는 모델마다 복제되어 장면의 크기를 늘립니다. *.glb* 파일은 기본적으로 텍스처가 내장되어 있지만, 다음을 사용해 [**glTF 파이프라인**](https://github.com/AnalyticalGraphicsInc/gltf-pipeline) 외부로 추출할 수 있습니다.

> 참고: 내장되지 않을 텍스처 파일을 참조한 후에는, 해당 파일이 이동되거나 이름이 변경되지 않도록 주의하세요. 그렇지 않으면 파일 참조가 사라집니다. 또한 파일은 장면 폴더 안에 있어야 장면과 함께 업로드됩니다.

* 재질의 투명도를 설정할 때는 항상 다음을 사용하세요 *알파 클립* 대신 *알파 블렌드*, 특별히 부분적으로 투명한 재질(예: 유리)이 필요한 경우가 아니라면 말입니다. 이렇게 하면 엔진이 다른 모델 앞에 잘못된 모델을 렌더링하는 문제를 피할 수 있습니다.
* 대체로 항상 다음을 설정하세요 *백페이스 컬링* 재질에서. 엔진이 모델의 보이는 면만 렌더링하므로 장면 성능이 더 좋아집니다. 아래의 경우에만 해제하세요 *백페이스 컬링* 모델을 양면으로 렌더링해야 하는 경우(예: 3D 평면으로 만든 나무의 잎사귀 묶음).

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-8039927ba106b4fd2df524ed0986d877aca0a70e%2F59-backface-culling.png?alt=media\&token=6d513fca-f727-4178-87c9-4efe7f0a26ed)

* Decentraland의 [**기본 텍스처**](https://github.com/decentraland/builder-assets/tree/master/textures) , 플레이어에게 미리 로드되어 있어 에셋이 훨씬 더 빠르게 렌더링됩니다.
* 읽기 [**이 문서**](https://www.khronos.org/blog/art-pipeline-for-gltf) 에서 glTF 모델에서 PBR 텍스처를 사용하는 전체 아트 파이프라인에 대한 자세한 개요를 확인하세요.
* Blender로 glTF 호환 재질을 만드는 방법에 대한 자세한 참고 자료는 다음에서 확인할 수 있습니다 [**Blender 문서**](https://docs.blender.org/manual/en/latest/addons/import_export/scene_gltf2.html) .
* 무료 고품질 PBR 텍스처는 다음에서 찾을 수 있습니다 [**cgbookcase**](https://cgbookcase.com/) .


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.decentraland.org/creator/content-creator-ko/3d/materials.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
