Naming Textures & Materials
DreamCraft Standards — Naming Convention
텍스처 구조
머티리얼 구조
프리픽스 (에셋 타입)
고정 식별자 (재질 / 이름)
가변 세그먼트 (바이옴 / 특성 / 해상도)
서픽스 (맵 타입)
▼ 텍스처
T_Rock_Volcanic_Large_D
T_Metal_Rusted_ORM
T_Landscape_Permafrost_Snow_N
▼ 머티리얼
M_Master_Terrain
MI_Terrain_Volcanic_Wet
MI_Rock_Volcanic_Mossy
M_Decal_Scorch_Small
텍스처 세트 규칙
같은 에셋의 텍스처는 BaseName을 일치시킨다
하나의 머티리얼에 들어가는 텍스처 세트는 반드시 동일한 BaseName을 공유해야 한다. 검색 시 BaseName만 치면 관련 텍스처가 한꺼번에 나온다.
✓ BaseName 일치 — "Rock_Volcanic" 검색 → 전부 나옴
T_Rock_Volcanic_D
T_Rock_Volcanic_N
T_Rock_Volcanic_ORM
T_Rock_Volcanic_H
✕ BaseName 불일치 — 검색이 흩어짐
T_VolcanicRock_D
T_Rock_Volc_Normal
T_Volcanic_Rock_Rough
💡 서픽스도 통일
Normal Map을
_N으로 정했으면 프로젝트 전체에서 _N만 쓴다. _Normal, _Nrm 혼용 금지.텍스처 서픽스
텍스처는 프리픽스
T_ + 서픽스로 서브타입을 구분기본 맵 타입
_D
Diffuse / Base Color
_N
Normal Map
_E
Emissive
_R
Roughness
_MT
Metallic
_AO
Ambient Occlusion
_M
Mask
_H
Height / Displacement
_O
Opacity
_S
Specular
_F
Flow Map
_CV
Curvature
채널 패킹 (Channel Packing)
💡 여러 맵을 RGB 채널에 합칠 때, 서픽스 글자를 이어 붙인다
메모리 절약과 샘플러 슬롯 절약을 위해 자주 사용. 어떤 채널에 뭐가 들어있는지 서픽스만 보면 알 수 있어야 한다.
| 채널 구성 | 설명 | 서픽스 |
|---|---|---|
| R: AO, G: Roughness, B: Metallic | ORM 패킹 (가장 일반적) | _ORM |
| R: Metallic, G: Roughness | 메탈릭 + 러프니스 | _MTR |
| R: Emissive, G: Roughness, B: AO | 이미시브 + 러프니스 + AO | _ERAO |
| RGB: Mask, A: Opacity | 마스크 + 오파시티 | _MO |
💡 커스텀 패킹을 만들었다면
주석이나 위키에 채널 구성을 반드시 기록해둘 것. 시간이 지나면 본인도 기억 못 한다.
텍스처 분류
프리픽스별 용도
T_
월드 텍스처 (범용)
메시, 랜드스케이프, 환경 등 일반 텍스처
TI_
아이콘 텍스처
UI 아이콘 전용 — TI_Icon_Sword, TI_Icon_Health
RT_
렌더 타겟
런타임 렌더 결과물 — RT_Minimap, RT_SecurityCam
타일링 텍스처 vs 유니크 텍스처
반복 사용하는 범용 텍스처와, 특정 오브젝트 전용 텍스처의 네이밍을 구분한다.
▼ 타일링 — 재질 + 특성 (어디서든 쓸 수 있는 이름)
T_Rock_Mossy_D
T_Metal_Rusted_Scratched_D
T_Wood_Plank_Weathered_D
▼ 유니크 — 특정 오브젝트 전용
T_Furnace_Body_D
T_PlayerBot_Helmet_D
데칼 텍스처
데칼용 텍스처는
T_Decal_로 시작하여 머티리얼과 묶이도록 한다.T_Decal_Crack_Ground_D
T_Decal_Scorch_Small_D
T_Decal_Blood_Splat_O
랜드스케이프 레이어 텍스처
랜드스케이프 페인팅에 사용되는 텍스처. 바이옴 태그를 넣어 구분.
T_Landscape_Volcanic_Dirt_D
T_Landscape_Grassland_Grass_D
T_Landscape_Permafrost_Snow_N
해상도 표기
같은 텍스처의 해상도 변형이 있을 때만 표기
해상도가 하나뿐이면 붙이지 않는다. 여러 해상도를 유지해야 할 때만 서픽스 앞에 넣는다.
▼ 해상도 하나 — 표기 불필요
T_Rock_Volcanic_D
▼ 여러 해상도 유지 — 서픽스 앞에 표기
T_Rock_Volcanic_4K_D
T_Rock_Volcanic_2K_D
T_Rock_Volcanic_1K_D
⚠ 해상도는 서픽스 앞, BaseName 뒤에 위치
T_Rock_Volcanic_4K_D ✓ — T_Rock_Volcanic_D_4K ✕맵 타입 서픽스가 항상 맨 끝에 와야 정렬이 깔끔하다.
바이옴 태깅 위치
바이옴은 BaseName 안에서 재질 뒤에 위치
구조:
T_[재질]_[바이옴]_[특성]_[서픽스]T_Rock_Volcanic_Large_D
T_Cliff_RedDesert_N
T_Dirt_Permafrost_Frozen_D
💡 범용 텍스처에는 바이옴을 넣지 않는다
여러 바이옴에서 공통으로 쓰는 텍스처는 바이옴 세그먼트를 생략.
T_Rock_Mossy_D — 특정 바이옴에 한정되지 않음.머티리얼 프리픽스 & 분류
기본 프리픽스
M_
머티리얼
Material — 마스터 머티리얼 포함
MI_
머티리얼 인스턴스
Material Instance
MF_
머티리얼 함수
Material Function — 재사용 로직 모듈
MPC_
머티리얼 파라미터 컬렉션
Material Parameter Collection — 글로벌 파라미터
용도별 서브 프리픽스
특수 용도 머티리얼은
M_ 뒤에 용도를 명시M_Decal_
데칼
M_Decal_Crack_Ground
M_PP_
포스트 프로세스
M_PP_ColorGrading, M_PP_Outline
M_Landscape_
랜드스케이프
M_Landscape_Volcanic
M_UI_
UI 전용
M_UI_HealthBar, M_UI_RadialProgress
M_FX_
이펙트 전용
M_FX_Fire, M_FX_Dissolve
마스터 → 인스턴스 계층
부모-자식 관계가 이름에서 읽혀야 한다
마스터 머티리얼의 BaseName이 인스턴스에 그대로 이어지고, 인스턴스는 더 구체적인 세그먼트를 추가한다.
▼ 마스터 머티리얼
M_Master_Terrain
▼ 인스턴스 (1단계 — 바이옴)
MI_Terrain_Volcanic
MI_Terrain_Grassland
▼ 인스턴스 (2단계 — 변형)
MI_Terrain_Volcanic_Wet
MI_Terrain_Volcanic_Charred
▼ 다른 예시 — 오브젝트용
M_Master_Prop
MI_Prop_Metal_Rusted
MI_Prop_Wood_Weathered
MI_Prop_Wood_Painted_Red
💡 마스터 머티리얼 이름에는
Master_를 명시인스턴스와 마스터를 검색에서 즉시 구분하기 위함. 인스턴스는
MI_로 시작하므로 Master_가 빠진다.머티리얼 함수 & 파라미터 컬렉션
머티리얼 함수 — 기능 기반으로 네이밍
무엇을 하는 함수인지가 이름에서 드러나야 한다. 재질이 아닌 기능/효과명으로 짓는다.
MF_BlendByHeight
MF_WorldAlignedTexture
MF_WindAnimation
MF_TriplanarProjection
MF_SnowCoverage
머티리얼 파라미터 컬렉션 — 범위/시스템 기반으로 네이밍
어떤 시스템이 이 파라미터를 제어하는지 이름에서 알 수 있어야 한다.
MPC_Weather ← 비/눈/바람 등 날씨 관련 글로벌 값
MPC_TimeOfDay ← 시간대별 라이팅/색조 변화
MPC_Terrain ← 랜드스케이프 블렌딩 파라미터
MPC_PostProcess ← 포스트프로세스 조정값
머티리얼 파라미터 네이밍
머티리얼 안의 파라미터 이름도 규칙이 필요하다
머티리얼 인스턴스에서 파라미터를 수정할 때, 이름이 엉망이면 어떤 값이 뭘 하는지 알 수 없다.
그룹으로 분류
Unreal 머티리얼 에디터의 Group 기능으로 파라미터를 묶는다. 그룹명은 용도별로 짧고 명확하게.
| 그룹명 | 포함 파라미터 예시 |
|---|---|
| Base | BaseColor, BaseColor_Tint, BaseColor_Texture |
| Surface | Roughness, Roughness_Min, Roughness_Max, Metallic |
| Normal | Normal_Texture, Normal_Intensity |
| Emissive | Emissive_Color, Emissive_Intensity |
| Detail | Detail_Texture, Detail_Tiling, Detail_BlendFactor |
| Animation | Wind_Speed, Wind_Intensity, Panner_SpeedX |
💡 파라미터 네이밍 규칙
PascalCase 사용.
범위를 가진 값은
[대상]_[속성] 형태.BaseColor_Tint ✓ — tint color for base ✕범위를 가진 값은
_Min, _Max 서픽스.텍스처 ↔ 머티리얼 관계
BaseName을 맞추면 에셋 간 관계가 명확해진다
텍스처, 머티리얼, 머티리얼 인스턴스, 메시가 같은 BaseName을 공유하면 검색 한 번으로 관련 에셋을 전부 찾을 수 있다.
▼ "Rock_Volcanic" 으로 검색하면 전부 나옴
T_Rock_Volcanic_D ← 텍스처 (Diffuse)
T_Rock_Volcanic_N ← 텍스처 (Normal)
T_Rock_Volcanic_ORM ← 텍스처 (패킹)
M_Rock_Volcanic ← 머티리얼
MI_Rock_Volcanic_Mossy ← 머티리얼 인스턴스 (이끼 변형)
MI_Rock_Volcanic_Charred ← 머티리얼 인스턴스 (그을린 변형)
SM_Rock_Volcanic_Large ← 스태틱 메시
⚠ BaseName이 어긋나면 일어나는 일
텍스처는
T_VolcanicRock, 머티리얼은 M_Rock_Volcanic, 메시는 SM_RockVolc... 검색할 때마다 다른 이름으로 찾아야 하고, 관련 에셋을 놓치게 된다.💡 에셋 생성 순서 팁
텍스처를 먼저 만들 때 BaseName을 확정하고, 머티리얼과 메시가 그 이름을 따르도록 한다. 이름의 출처(source of truth)를 텍스처로 삼으면 일관성이 유지된다.
세그먼트 순서 정리
텍스처 세그먼트 순서
최대 조합:
T_Rock_Volcanic_Mossy_4K_D
가변 세그먼트 생략 가능:
T_Rock_Volcanic_D ← 특성·해상도 생략
T_Metal_Rusted_ORM ← 바이옴 불필요, 특성만
머티리얼 세그먼트 순서
마스터 → 인스턴스 흐름:
M_Master_Terrain ← 마스터
MI_Terrain_Volcanic ← 바이옴
MI_Terrain_Volcanic_Wet ← 바이옴 + 변형
⚠ 맵 타입 서픽스는 항상 맨 끝
텍스처에서
T_Rock_Volcanic_4K_D T_Rock_Volcanic_D_4K
_D, _N, _ORM 등 맵 타입은 어떤 경우에도 마지막 위치. 해상도나 특성이 서픽스 뒤로 가면 정렬이 깨진다.T_Rock_Volcanic_4K_D T_Rock_Volcanic_D_4K
No comments to display
No comments to display