제목 없음
# 파일 & 에셋 명명 규칙 가이드
## 핵심 원칙
**열지 않아도 알 수 있게** — 이름만 보고 내용을 파악할 수 있어야 한다. `최종.psd` ✗ → `TerraTaker_MainMenu_UI_v03.psd` ✓
**구분자 통일** — PascalCase, camelCase, snake_case, kebab-case 중 하나를 정해 프로젝트 전체에 일관 적용. 공백은 경로 문제를 일으키므로 금지.
**날짜는 ISO 형식** — `YYYY-MM-DD` 사용. 정렬 시 자동으로 시간순이 된다.
**버전은 제로패딩 넘버링** — `v01`, `v02` 사용. 파일이 많을 경우 `v001`. 안 하면 `v1, v10, v2...` 순으로 꼬인다. `최종`, `진짜최종` 같은 표현은 금지.
**넓은 범위 → 좁은 범위** — 카테고리에서 세부사항 순으로 작성하면 정렬에 유리하다.
---
## 게임 개발 / Unreal 에셋
**프리픽스 규칙** — `T_` 텍스처, `M_` 머티리얼, `SM_` 스태틱 메시, `SK_` 스켈레탈 메시, `BP_` 블루프린트, `WBP_` 위젯 블루프린트 등.
**지역/바이옴 태깅** — `Grassland_`, `RedDesert_`, `Volcanic_`, `Permafrost_` 등으로 구분.
**해상도/변형 표기** — `T_Rock_Volcanic_Base_4K.png`, `T_Rock_Volcanic_Normal_2K.png`
**리다이렉터 비용** — Unreal에서 에셋 이름을 나중에 바꾸면 리다이렉터가 쌓이고 쿠킹 시간이 늘어난다. 초반에 제대로 잡을 것.
---
## 이름의 추상화 수준
**재질 + 시각적 특성 조합이 가장 안전하다** — 어디에 쓰든 이름이 성립한다.
> `T_Rock_Mossy_Large` ✓, `T_Metal_Rusted_Scratched` ✓
**너무 한정적인 용도/위치를 박지 않는다** — 다른 곳에 재사용하면 이름이 거짓말이 된다.
> `T_RoughStone_Dark` ✓ → `T_Zone3_NorthWall_Left` ✗
**전용 에셋은 예외** — UI 전용, 특정 무기 전용 등 명확히 한 곳에서만 쓰이는 에셋은 용도를 명시하는 게 오히려 맞다. 범용 에셋과 전용 에셋의 네이밍 전략을 분리해서 관리.
---
## 실전 팁
**검색 친화적으로** — 퍼지 검색 시 첫 글자 조합이 겹치지 않도록 단어를 선택한다.
> `SM_VolcanicRockLarge`와 `SM_VolcanicRockLight`는 겹침 → `Large` 대신 `Big` 등으로 분리.
**삭제 예정은 `zz_` 또는 `_DEPRECATED`** — 정렬 시 맨 아래로 밀려 시야에서 사라지고, 나중에 일괄 정리가 쉽다.
---
## 피해야 할 것
- 공백, 한글 (크로스 플랫폼 호환 문제)
- 특수문자 (`#`, `&`, `!` 등)
- 경로 포함 260자 초과 (Windows 제한)
- 의미 없는 이름 (`temp1`, `asdf`, `new_new`)
- 대소문자만으로 구분 (`Texture` vs `texture` — OS에 따라 충돌)