> 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/meshes.md).

# 메시

Decentraland로 가져온 3D 모델에서 지원되는 메시 속성을 알아보세요.

3D 모델에는 *메쉬가* 삼각형으로 이루어진 *면들로*. 이 면들은 서로 *모서리에서* (서로 닿는 선)와 *정점으로* (모서리들이 만나는 점) 구성됩니다.

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

## 공간 제한

씬의 모든 3D 모델은 해당 파셀의 한계 안에 들어와야 합니다. 미리보기 실행 시 모델의 일부가 이 한계를 넘어가면, 넘어간 부분은 잘려 나가고 렌더링되지 않습니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-c9f4c9448f2fb3c7a2d85a4dd16f31814b0878bf%2Fcut-train.png?alt=media\&token=af46a450-fbd9-481f-9a28-87b7cc78925f)

Creator Hub 편집기에서는 모델이 붉게 표시되고 바운딩 박스가 빨간색으로 표시된 것을 볼 수 있습니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-a44ea3779c9fc579f367e0cbefb2b4218369eab9%2Ftrain-out-of-bounds.png?alt=media\&token=b9cc5fff-1980-4980-8cc3-626784d656fd)

{% hint style="info" %}
**📔 참고**: 기존 Decentraland 웹 클라이언트에서는 성능상의 이유로, 3D 모델의 일부라도 범위를 벗어나면 바운딩 박스만 벗어난 경우라도 모델 전체가 렌더링되지 않았습니다. Decentraland 2.0 데스크톱 클라이언트부터는 범위를 벗어난 모델의 부분만 잘려 나갑니다. 씬 안에 있는 모델의 부분은 렌더링됩니다.
{% endhint %}

## 바운딩 박스

모든 정점이 씬 영역 안에 깔끔하게 들어가 있지만, 대부분이 비어 있고 씬 한계를 넘어서는 큰 바운딩 박스를 가진 모델이 있다면, Creator Hub에서는 모델 전체가 씬 한계 밖에 있는 것으로 표시됩니다. 파셀 안에 들어 있는 모델의 부분은 올바르게 렌더링되며, 씬을 게시할 수도 있습니다.

모든 메쉬에는 형태의 한계를 둘러싸는 바운딩 박스가 있습니다. Decentraland에서 3D 모델을 더 잘 활용하려면, 바운딩 박스가 필요한 이상으로 모델 밖으로 확장되지 않도록 하세요.

이 문제를 피하려면 3D 모델을 정리하여 메쉬의 위치와 회전을 초기화하고, 바운딩 박스가 감싸는 메쉬보다 더 크게 확장되지 않도록 할 수 있습니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-3188e3d33635429246de0f2d7f8f810483135233%2F07-apply-rotations.gif?alt=media\&token=9de03c16-3b43-4483-a974-4787f251d38f)

*Blender에서는 오브젝트를 선택한 뒤 Ctrl+A를 누르고 “All transforms”를 적용하면 됩니다.*

예를 들어, 모델 가장자리에 있는 서브 메쉬를 회전할 때는 주의하세요. 바운딩 박스는 정육면체이기 때문에 메쉬가 둥글더라도 45° 회전하면 바운딩 박스의 모서리가 밖으로 튀어나올 수 있습니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-38697f7d74f05eee44d500f06cb076936d1c0eac%2F10-apply-rotation.png?alt=media\&token=95db55ad-6d4e-4a0c-a7f4-ff9a94a133f3)

모델의 모든 메쉬에 대해 회전과 스케일을 적용해, 필요한 크기보다 더 크게 바운딩 박스가 확장되지 않도록 하는 것을 권장합니다.

## 삼각형 제한

Decentraland는 서로 다른 장면과 오브젝트로 가득한 오픈 월드이며, 이들이 모두 같은 3D 공간에서 즉석으로 다운로드되기 때문에 게임 플레이 중 좋은 성능을 위해 메쉬를 최적화하는 것이 중요합니다. 그런 의미에서 메쉬를 다룰 때 항상 염두에 두어야 할 씬 제한이 몇 가지 있습니다:

> n은 씬이 차지하는 파셀의 수를 나타냅니다.

* **삼각형:** n x 10000 씬 내 모든 모델의 총 삼각형 수.
* **높이:** 파셀 수와 관계없이 330미터.
* **파일 크기:** 파셀당 15MB - 최대 300MB 콘텐츠 서버에 업로드된 파일의 총 크기입니다. 3D 모델과 오디오가 포함됩니다. node.js 패키지처럼 업로드되지 않는 파일은 포함되지 않습니다.
* **파일당 최대 크기 50MB** 씬에 있는 어떤 유형의 개별 파일도 씬의 파셀 수와 관계없이 50MB를 초과할 수 없습니다.

자세한 내용은 모든 씬 제한 사항을 [여기에서 확인하세요.](https://docs.decentraland.org/creator/development-guide/scene-limitations/)

{% hint style="warning" %}
**🔥최적화 팁🔥: 폴리곤 수 추가** 유용한 팁은 모델의 폴리 수를 항상 추적하는 것입니다. Blender에서는 뷰포트 오버레이 패널에서 통계를 켜면 됩니다.

<img src="https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-b1595d1e8b5529e0d12e99de25246215f1bdc900%2F41-stats.gif?alt=media" alt="" data-size="original">
{% endhint %}

## 대규모 씬의 메쉬

메쉬를 만들 때는 다음 두 가지 모범 사례를 염두에 두어야 합니다:

* **모듈성:** 큰 메쉬를 더 작고 모듈식인 부분으로 나누세요. 예를 들어, 건물 전체를 하나의 메쉬로 만들기보다는 건물의 각 벽, 바닥, 구역을 별도의 메쉬로 나눌 수 있습니다. 이렇게 하면 Unity의 프러스텀 컬링이 더 효과적으로 작동하여 렌더링할 때 보이는 부분만 고려하면 됩니다. 또한 하나의 메쉬를 같은 오브젝트의 여러 위치에 여러 번 재사용할 수 있으므로 메모리 사용량도 개선됩니다(이를 위해서는 SDK7 씬 정의에서 동일한 메쉬를 참조하거나, Blender에서 씬을 내보낼 때 오브젝트를 중복하지 말고 인스턴스를 사용해야 합니다).
* **바운딩 볼륨**: 각 오브젝트의 바운딩 볼륨이 가능한 한 꼭 맞도록 하세요. 바운딩 볼륨에 불필요한 공간이 있으면 오브젝트가 보이지 않을 때도 렌더링될 수 있습니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-dce0bc9b716ee8b44c7b8daf0d7b9b4e76bdeaa7%2F40-modularity.png?alt=media\&token=9b4d8e51-ab22-481b-9a3e-9f686f15bfc1)

### 프러스텀 컬링이란?

프러스텀 컬링은 카메라의 시야 밖에 있는 오브젝트에 대한 렌더러(메쉬)를 비활성화하는 최적화 기법입니다. 다음 두 가지 예를 보세요:

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-1330fc3816764d5c82d75f6381929f0321bf0412%2F18-frustum-culling.png?alt=media\&token=cb7c171f-db28-4478-ba15-0c041bcf84d9)

*미로 같은 실내 레벨입니다. 이 일반적인 씬 뷰에는 보이는 모든 게임 오브젝트가 표시됩니다.*

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-c33a68dba5eb29a0f36573d3dd2c4e8b73addd0f%2F19-frustum-culling-2.gif?alt=media\&token=59b22e24-14af-4a3e-86a1-18817a19196d)

*일반적인 프러스텀 컬링은 카메라 시야 안에 있는 오브젝트만 렌더링합니다. 이는 자동으로 항상 발생합니다.*

## 오브젝트 인스턴싱 vs 오브젝트 복제

Blender에서 오브젝트를 복제하면 오브젝트의 완전히 분리된 복사본이 만들어지고, 오브젝트를 인스턴싱하면 원본 오브젝트와 같은 데이터를 공유하는 복제본이 만들어집니다.

오브젝트가 복제되면 지오메트리, 재질, 애니메이션을 모두 포함한 완전히 독립적인 데이터 세트를 가진 새 오브젝트가 생성됩니다. 즉, 원본 오브젝트에 가한 변경 사항은 복제본에 반영되지 않으며, 그 반대도 마찬가지입니다.

반면 오브젝트가 인스턴싱되면 원본 오브젝트에 가한 변경 사항은 모든 인스턴스에 반영되며, 그 반대도 마찬가지입니다. 모든 인스턴스가 동일한 기반 데이터를 공유하기 때문입니다.

성능 측면에서 인스턴싱은 특히 복잡한 씬이나 많은 수의 오브젝트를 다룰 때 복제보다 훨씬 더 효율적일 수 있습니다. 인스턴싱은 각 인스턴스마다 새 데이터를 만들지 않으므로 복제보다 메모리를 덜 사용하기 때문입니다. 또한 Blender는 모든 인스턴스를 하나의 오브젝트처럼 처리하여 각 복제본을 따로 렌더링하는 대신 렌더링 과정을 최적화할 수 있습니다.

전반적으로 인스턴싱은 Blender와 Decentraland 씬에서 성능과 작업 효율을 향상시키는 강력한 도구가 될 수 있으며, 특히 크고 복잡한 씬을 다룰 때 유용합니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-cc521f833d170857bee4aa12fec1d9f645c46446%2F20-duplicate-objects.png?alt=media\&token=f10a541b-7ba1-47ba-b2dc-c3cfcf0f8e79)

경우에 따라 나무, 식물, 가로등 같은 오브젝트를 복제할 때 인스턴싱은 단순 복제보다 성능을 크게 향상시킬 수 있습니다. 예를 들어 이 씬에는 14개의 가로등이 있으며, 모두 정확히 동일합니다. 각 가로등에는 두 가지 서로 다른 텍스처가 있다는 것을 알고 있습니다. 하나는 기둥용이고 다른 하나는 조명용입니다. 따라서 이 경우 텍스처당 하나씩, 총 두 번의 드로우 콜이 발생합니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-717d26a8b05990d9e19f7b3becaac8122de944a3%2F21-duplicate-objects-2.png?alt=media\&token=1b277f98-7fbc-46d7-ae3f-c6779907b4cd)

Blender에서 요소를 복제하고 배치하는 단계에서는 세 가지 옵션이 있습니다. 복제, 인스턴스 또는 오브젝트 병합입니다.

각 방법의 장단점을 살펴보겠습니다.

### 오브젝트 복제

| 메뉴:  | 오브젝트 ‣ 오브젝트 복제 |
| ---- | -------------- |
| 단축키: | Shift-D        |

이렇게 하면 선택한 오브젝트와 시각적으로 동일한 복사본이 생성되지만, 서로 다른 오브젝트로 처리됩니다. 따라서 내보낼 때 오브젝트당 드로우 콜이 2번씩 발생하므로 2 \* 14 = 28번의 드로우 콜이 생기고, 총 디스크 사용량은 320kb가 됩니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-36c86406e9de1a3c1029ab6a77bcbced976f77b7%2F22-duplicate-objects-3.png?alt=media\&token=fea4df0e-8338-499c-9b74-6ec379b0f941)

### 오브젝트 인스턴싱

| 패널:  | 툴바 ‣ 도구 ‣ 편집 ‣ 링크 복제 |
| ---- | -------------------- |
| 메뉴:  | 오브젝트 ‣ 링크 복제         |
| 단축키: | Alt-D                |

이렇게 하면 모든 데이터가 원본 오브젝트에 연결된 새 오브젝트가 생성됩니다. 편집 모드에서 연결된 오브젝트 중 하나를 수정하면 모든 연결된 복사본이 수정됩니다. 변형 속성은 여전히 링크가 아닌 복사본으로 유지되므로, 다른 복사본에 영향을 주지 않고 자유롭게 회전, 스케일, 이동할 수 있습니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-e20a046d7790b5e3f03dce96a9d14e050257cfb5%2F23-instancing.png?alt=media\&token=f7f36a81-55ad-498f-9e91-b9431f80c773)

*이 모델들을 내보내면 드로우 콜 수는 여전히 동일하게 28번입니다. 하지만 이제 메쉬는 하나뿐이므로 디스크 사용량이 크게 줄어듭니다(41 kb).*

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-99e3bbd682033748343d03febe334f602aba3bcb%2F24-instancing-2.png?alt=media\&token=feb60e01-7e54-4f85-bac1-beae639a5295)

*정리를 위해 씬에서 컬렉션을 인스턴싱하는 것만으로도 충분합니다. 이렇게 하면 하나의 폴더와 소스에서 모든 인스턴스를 제어할 수 있습니다.*

{% hint style="info" %}
**💡 팁**: 같은 논리는 SDK 측에도 적용됩니다. 열네 개의 엔티티가 모두 자신의 `GltfContainer` 같은 *.glb* 파일을 가리키면 인스턴스처럼 동작합니다. 파일은 한 번 다운로드되고 한 번 변환되며, 몇 개의 엔티티가 사용하든 메쉬와 텍스처는 한 번만 메모리에 유지됩니다. 같은 콘텐츠를 거의 동일한 열네 개의 *.glb* 파일로 나누는 것은 복제와 같으며, 다운로드 14번과 메모리 내 14개의 복사본이라는 비용이 듭니다.
{% endhint %}

### 오브젝트 병합

| 메뉴:  | 오브젝트 ‣ 결합 |
| ---- | --------- |
| 단축키: | Ctrl-J    |

이렇게 하면 선택한 오브젝트가 하나의 메쉬를 가진 단일 오브젝트로 결합됩니다. 오브젝트 모드에서 작동하며, 마지막으로 선택한 *active* 오브젝트에 모두 병합하고, 선택한 오브젝트들이 모두 같은 유형이어야 합니다. 재질은 유지되며 병합되므로, 열네 개의 가로등은 더 이상 열네 개의 렌더링 가능한 오브젝트가 아니라 하나가 되고, 엔진은 28번 대신 2번의 드로우 콜로 이를 그립니다. 즉, 재질당 한 번씩입니다.

이 세 가지 옵션 중 실제로 드로우 콜 수를 줄이는 것은 이것뿐이며, 그 이유를 분명히 해둘 필요가 있습니다. Decentraland 엔진은 스트리밍된 콘텐츠로 런타임에 씬을 구성하므로, 사전에 베이크된 콘텐츠를 다루는 엔진처럼 반복되는 오브젝트를 자동으로 그룹화하거나 배치할 수 없습니다. 드로우 콜 수를 줄여야 한다면 Blender에서 병합을 해야 합니다.

그 감소는 공짜가 아닙니다. 병합하면 몇 가지를 한꺼번에 포기하게 됩니다:

* **디스크 사용량이 다시 증가합니다.** 병합된 메쉬는 열네 개 기둥의 지오메트리를 모두 저장하므로, 인스턴싱으로 얻었던 절약 효과를 잃게 됩니다.
* **프러스텀 컬링이 전부 아니면 전무 방식이 됩니다.** 병합된 오브젝트는 그 일부라도 화면에 보이면 전체가 렌더링됩니다. 거리 לאורך에 흩어진 열네 개의 기둥은 거의 항상 하나는 보이게 되므로, 결국 항상 열네 개 전부를 그리게 됩니다. 이는 쉽게 절약한 드로우 콜보다 더 많은 비용이 들 수 있습니다.
* **각 부분을 개별적으로 지정할 수 없게 됩니다.** 이제 오브젝트가 하나뿐이므로 기둥 하나만 따로 이동, 애니메이션, 클릭, 숨김 처리할 수 없습니다.

병합은 제한적으로 사용하세요. 한곳에서 항상 함께 보이고, 상호작용하지 않으며, 오브젝트 수가 실제로 성능 저하의 원인임을 확인한 뒤에만 사용하는 많은 작은 소품에 적합합니다. 그 외의 경우에는 인스턴싱이 더 나은 기본 선택입니다.

{% hint style="warning" %}
**📔 참고**: 서로 분리된 오브젝트 열네 개를 하나의 *.glb* 파일로 내보내는 것은 **아닙니다** 병합입니다. 엔진은 여전히 열네 개의 오브젝트를 인식하고 28번의 드로우 콜을 발생시킵니다. 메쉬를 결합해야만 이 수가 바뀝니다.
{% endhint %}

## 메쉬 이름 지정

메쉬에는 의미 있는 이름을 사용하세요. 이름은 에셋이 어디에 사용되는지, 또는 오브젝트의 어느 부분과 관련되는지에 대한 맥락을 제공해야 합니다.

에셋 이름 지정에는 다음의 조합을 사용하세요 `파스칼 케이스` 과 `스네이크 케이스`, 이를 다음과 같이 부를 수 있습니다 `파스칼스네이크_케이스`. 기본 규칙은 다음과 같습니다. 새 단어 또는 구분자 뒤의 단어 (`_`)는 다음으로 시작합니다 **대문자.**

* 메쉬에는 의미 있는 이름을 사용하세요 **예시:** 🟢 **권장** 이름 - `극장`, `노면전차` 🔴 **피하기** 이름 - `제목 없음.008`, `프리미티브(1)`, `원기둥.091`, `_구체-AB`
* 언더스코어를 `_` 구분자로 사용해 이름에 더 많은 맥락을 부여하세요. 더 일반적인 내용을 앞에 두고, 세부 사항은 끝에 두세요. **예시:** 🟢 **권장** 이름 - `분수조각상`, `극장메인벽`, `전차왼쪽바퀴` 🔴 **피하기** 이름 - `북쪽_메인벽_극장`, `전차_왼쪽앞_바퀴`

같은 이름의 오브젝트가 둘 이상 있다면 단어 뒤에 숫자를 붙이세요: `분수조각상01, 분수조각상02 등.`

## 모델 제작 도구

에셋 제작 시 작업을 더 빠르고 효율적으로 만들어 주는 많은 애드온과 외부 도구가 있습니다. 일부는 무료이고 일부는 구매해야 하며, 몇 가지를 소개하면 다음과 같습니다:

### 디세메이트

이는 매우 잘 알려진 모디파이어로, 모델의 표면 구조를 유지하면서 메쉬의 삼각형 수를 줄이는 데 사용할 수 있습니다. 모델 최적화를 위한 매우 강력한 도구이지만, 모델이 디세메이트되면 토폴로지가 영향을 받아 좋지 않은 토폴로지가 될 수 있다는 점을 고려해야 합니다(지오메트리가 예측할 수 없는 조각으로 나뉘기 때문입니다). 또 다른 측면에서는 디세메이션이 메쉬의 쿼드를 삼각형으로 변환하므로, 사용 후 수정하기가 더 어려워집니다. 이런 점에서 **디세메이션은 정적 모델에는 유용하지만 애니메이션 모델에는 선호되지 않습니다.**

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-fa7269059815d6b0687b7b6c29ec632463318861%2F42-decimate-01.png?alt=media\&token=18606f4e-ddca-442e-9e29-b9af8fbef561) ![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-8ae651d7fd4bd8a23c60469f60cc8a572c2ad714%2F43-decimate-02.png?alt=media\&token=1ba84648-dff1-4cce-b2ad-85325ba7db2a)

디세메이션을 사용해 메쉬를 최적화하는 또 다른 방법은 모델을 디세메이트한 다음 적절한 리토폴로지를 수행하는 것입니다. 이렇게 하면 더 예측 가능한 결과와 깔끔한 토폴로지를 얻을 수 있습니다.

유용할 수 있는 리토폴로지 애드온은 다음과 같습니다(일부는 유료입니다):

* **Simplygon:** <https://www.simplygon.com/>
* **Speedretopo:** <https://blendermarket.com/products/speedretopo?ref=2>
* **Retopoflow:** <https://blendermarket.com/products/retopoflow>

### 미러 모디파이어

Blender의 미러 모디파이어는 오브젝트의 절반을 X, Y, Z 어느 방향으로든 반사해 대칭 모델을 만드는 데 사용하는 도구입니다. 대칭 모델을 다룰 때 아주 유용한 도구로, 3D 모델링 시간을 줄여주고 UV 언래핑도 줄여줍니다(모델의 한 부분만 언래핑하면 나머지는 같은 UV 좌표를 공유하기 때문입니다). 또한 사실상 반사된 부분에 텍스처 해상도를 낭비하지 않도록 해 텍스처를 최적화하는 데도 도움이 됩니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-c6259ae5fe095f0e4a22d7af8f8a84f7adfc98c1%2F44-mirror-modifier.png?alt=media\&token=8aaabb9b-c158-440e-b61a-1777e411d509)

### 일괄 이름 변경

이름 규칙을 쉽게 변경할 수 있는 매우 편리한 도구는 Blender에 통합된 일괄 이름 변경 기능을 사용하는 것입니다. 사용하려면 *편집* 그런 다음 *일괄 이름 변경*.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-c02ecaff9c6765f3b0dcf164a506c4b39d015e9a%2F45-batch-rename.png?alt=media\&token=64658f91-f1af-462b-8bcb-340bd8026870)

이름을 변경할 오브젝트를 선택한 뒤 기본 오브젝트 이름을 새 이름으로 바꾸기만 하면 됩니다. 이 도구는 이름 변경을 위한 다양한 방법과 에셋 유형을 제공하므로, 메쉬, 애니메이션, 뼈대 등 이름을 바꾸는 데도 매우 유연합니다.

![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-6a91a4b355df03a163ec1cb3570753eedd05fc8f%2F47-batch-rename-methods.png?alt=media\&token=841e0544-8ae3-432d-aabe-2ac2be84cd0c) ![](https://3980763956-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-a6c301bd731a96d8813c4120ee554490e480f874%2F46-batch-rename-types.png?alt=media\&token=1f18300b-8a5b-47b5-915a-c4f9fa14057c)

## 지오메트리 모범 사례 [#](https://docs.decentraland.org/creator/3d-modeling/meshes/#best-practices-for-geometries)

* 3D 모델에 추가하는 면의 수가 많을수록 렌더링 요구량이 커지므로 주의하세요. 장면에 적용되는 제한 사항은 [**씬 제한 사항**](https://docs.decentraland.org/creator/development-guide/scene-limitations/) 에서 확인할 수 있습니다.
* 보이지 않지만 삼각형 수에 포함되는 숨은 면이 없는지 확인하세요.
* 둥근 면이 필요한 형태는 면을 더 추가하기보다는 *부드럽게* 설정하세요.
* 모든 면의 *노멀* 이 안쪽이 아니라 바깥쪽을 향하도록 하세요. 렌더링할 때 모델에 있는 것처럼 보이는데도 보이지 않는 면이 있다면, 대개 이것이 원인입니다.
* 메쉬의 회전과 스케일을 적용하여 바운딩 박스가 불필요하게 바깥으로 확장되지 않도록 하세요.


---

# 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/meshes.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.
