🎮 Unreal Engine 资产命名规范(完整版)
✅ 结合官方推荐 + 行业标准 + 社区实践
✅ 覆盖静态网格、骨骼、材质、贴图、动画、粒子、碰撞、物理等所有资产类型
✅ 可直接用于项目文档或团队规范
🧩 一、通用命名原则
| 原则 |
说明 |
✅ 使用下划线 _ 分隔单词 |
如 SM_Rock_01,避免使用连字符 -、空格或驼峰命名 |
| ✅ 全大写命名 |
推荐全大写(如 SM_Rock_01),部分团队可选 PascalCase(如 SmRock01) |
| ✅ 避免特殊字符 |
禁用 @ # $ % & * ? ! ( ) [ ] { } 等非字母数字字符 |
| ✅ 名称简洁明确 |
建议不超过 32 个字符,语义清晰 |
| ✅ 保持一致性 |
整个项目统一前缀、后缀和编号规则 |
🔤 二、常用前缀(Prefixes)
按用途分类(Content Type)
| 前缀 |
类型 |
说明 |
CH_ |
Character |
角色相关资产 |
UI_ |
User Interface |
UI 元素(按钮、图标、面板等) |
VH_ |
Vehicle |
车辆 |
WP_ |
Weapon |
武器 |
BP_ |
Blueprint |
蓝图类(Actor、Component 等) |
SK_ |
Skeleton |
骨骼资产 |
SKM_ |
Skeletal Mesh |
骨骼网格体 |
SM_ |
Static Mesh |
静态网格物体 |
AD_ |
Apex Destruction |
顶点可破坏资产(Apex) |
AC_ |
Apex Cloth |
顶点布料资产(Apex) |
MT_ |
Morph Target |
变形目标(Blend Shapes) |
ST_ |
SpeedTree |
SpeedTree 导出的植被模型 |
PS_ |
Particle System |
Niagara 或 Cascade 粒子系统 |
LF_ |
Lens Flare |
镜头光晕 |
VF_ |
Vector Field |
矢量场(用于粒子模拟) |
S_ |
Sound |
原始音效文件 |
SC_ |
Sound Cue |
音效混合与触发逻辑 |
M_ |
Material |
材质 |
MI_ |
Material Instance |
材质实例 |
MITV_ |
Material Instance Time Variant |
时间变化材质实例(已弃用,仅旧项目) |
MF_ |
Material Function |
材质函数 |
MPC_ |
Material Parameter Collection |
材质参数集合 |
T_ |
Texture |
所有纹理资源 |
SP_ |
Sprite |
2D 精灵图 |
SS_ |
Sprite Sheet |
精灵图集 |
TC_ |
Texture Cube |
立方体贴图(如天空盒) |
RT_ |
Render Target |
渲染目标(动态生成纹理) |
PM_ |
Physics Material |
物理材质(摩擦力、弹性等) |
按功能补充(Common Types)
| 前缀 |
类型 |
说明 |
FX_ |
Visual Effects |
特效组合(含粒子、声音、蓝图) |
SFX_ |
Sound Effect |
音效(常用于命名音效实例) |
C_ |
Curve |
动画曲线、浮点/向量曲线 |
V_ |
Video |
视频资源(如过场动画) |
L_ |
Light |
自定义光源预设 |
UCX_ |
User Collision |
用户自定义碰撞体(Convex Hull) |
Anim_ |
Animation Sequence |
动画序列 |
ABP_ |
Anim Blueprint |
动画蓝图(推荐前缀) |
💡 注意:动画蓝图在 UE 中默认不带前缀,但为便于管理,建议使用 ABP_。
🖼️ 三、常用后缀(Suffixes)
纹理后缀(Texture Suffixes)
| 后缀 |
含义 |
说明 |
_D |
Diffuse / Base Color |
基础颜色贴图(sRGB) |
_N |
Normal |
法线贴图(DirectX 格式,Y 向下) |
_MT 或 _M |
Metallic |
金属度贴图(单通道,Linear) |
_R |
Roughness |
粗糙度贴图(单通道,Linear) |
_S |
Specular |
高光贴图(旧版 PBR,不推荐) |
_AO |
Ambient Occlusion |
环境遮蔽(单通道,Linear) |
_DP |
Displacement |
位移贴图(用于 Tessellation) |
_H |
Height |
高度图(Parallax Occlusion Mapping) |
_FM |
Flowmap |
流动方向图(用于水、熔岩等) |
_L |
Lightmap |
光照贴图(烘焙用,通常由引擎生成) |
_M |
Mask |
遮罩(如透明度、细节混合等) |
_Mix |
Mixed Channel |
多通道打包贴图(如 R=Metallic, G=Roughness, B=AO) |
📌 PBR 推荐贴图组合(Metallic/Roughness Workflow):
T_Rock_01_D → Base Color
T_Rock_01_N → Normal
T_Rock_01_M → Metallic (R)
T_Rock_01_R → Roughness (G)
T_Rock_01_A → AO (B) —— 若使用 _Mix 则合并为一张
自动生成资产后缀
| 后缀 |
说明 |
示例 |
_PhysicsAsset |
物理资产(由骨架生成) |
SKM_Player_01_PhysicsAsset |
_FaceFX |
FaceFX 面部动画资产 |
CH_Hero_01_FaceFX |
_BlendSpace1D/2D |
动画混合空间 |
Anim_BS_Locomotion_01 |
_AnimGraph |
动画蓝图中的状态机 |
(通常不单独命名) |
🏗️ 四、资产命名格式
通用结构
(Prefix)(DescriptiveName)(Variant)(Number)(Suffix)
T_XXX_XXX_M:贴图_物件_编号_贴图后缀
- DescriptiveName:描述性名称(如
Rock, Sword, Door)
- Variant:变体(可选,如
Wood, Metal, Red)
- Number:编号(从
01 开始,两位数)
✅ 示例:
SM_Rock_Wood_01
T_Sword_Metal_01_D
MI_Wall_Concrete_02
各类型命名示例
| 资产类型 |
命名格式 |
示例 |
| 静态网格 |
SM_(Name)_(Num) |
SM_Barrel_01 |
| 骨骼网格 |
SKM_(Name)_(Num) |
SKM_Enemy_Boss_01 |
| 贴图 |
T_(Name)_(Num)_(Suffix) |
T_Ground_Sand_01_N |
| 材质 |
M_(Name)_(Num) |
M_Glass_Transparent_01 |
| 材质实例 |
MI_(Name)_(Num) |
MI_Glass_Red_01 |
| 蓝图 |
BP_(Function)_(Num) |
BP_Interactable_Door_01 |
| 动画蓝图 |
ABP_(Character)_(Num) |
ABP_Player_01 |
| 粒子系统 |
PS_(Effect)_(Num) |
PS_Explosion_Fire_01 |
| 音效 |
SFX_(Type)_(Num) |
SFX_Footstep_Grass_01 |
| UI 资源 |
UI_(Element)_(Num) |
UI_Button_MainMenu_01 |
| LOD 模型 |
SM_(Name)_(Num)_LODx |
SM_Tree_01_LOD1 |
| 碰撞体 |
UCX_(Name)_(Num)_xx |
UCX_Crate_01_01 |
🔁 五、LOD 与碰撞体命名
LOD 命名
- 主模型:
SM_Rock_01
- LOD1:
SM_Rock_01_LOD1
- LOD2:
SM_Rock_01_LOD2
⚠️ 注意:UE 通常自动处理 LOD,除非需要手动控制,否则无需单独导出 LOD 模型。
碰撞体命名
- 简单碰撞(Box/Sphere/Capsule):在 Static Mesh 编辑器中直接设置,无需单独命名
- 复杂碰撞(Convex Hull):命名为
UCX_(MeshName)_(Index)
- 示例:
UCX_Rock_01_01, UCX_Rock_01_02
🎨 六、纹理通道规范(RGB Packing)
| 通道 |
内容 |
说明 |
| R |
Metallic |
金属度(0=非金属,1=金属) |
| G |
Roughness |
粗糙度(0=光滑,1=粗糙) |
| B |
Ambient Occlusion |
环境遮蔽(可选) |
文件名示例:T_Rock_01_Mix(包含 R/G/B 三通道信息)
角色头发贴图(Hair Shader)
| 通道 |
内容 |
| R |
Alpha(透明度) |
| G |
Roughness / Specular |
| B |
Anisotropy Direction(各向异性方向) |
🧪 七、完整命名示例
| 资产 |
命名 |
说明 |
| 主角色模型 |
SKM_CH_Hero_01 |
骨骼网格 |
| 角色骨骼 |
SK_CH_Hero_01 |
骨骼 |
| 角色材质 |
M_CH_Hero_Skin_01 |
皮肤材质 |
| 角色材质实例 |
MI_CH_Hero_Skin_Tan_01 |
肤色变体 |
| 角色贴图(颜色) |
T_CH_Hero_01_D |
Base Color |
| 角色贴图(法线) |
T_CH_Hero_01_N |
Normal |
| 角色贴图(混合) |
T_CH_Hero_01_Mix |
R=Metallic, G=Roughness, B=AO |
| 角色动画蓝图 |
ABP_CH_Hero_01 |
控制所有动画逻辑 |
| 角色行走动画 |
Anim_CH_Hero_Walk_01 |
动画序列 |
| 角色物理资产 |
SKM_CH_Hero_01_PhysicsAsset |
自动生成 |
| 武器模型 |
SM_WP_LaserGun_01 |
静态网格 |
| 武器特效 |
PS_WP_LaserBeam_01 |
粒子系统 |
| 武器蓝图 |
BP_WP_LaserGun_01 |
可交互武器逻辑 |
| UI 按钮 |
UI_Button_Start_01 |
UMG 资源 |
| 背景音乐 |
S_BGM_Title_01 |
音频文件 |
| 音效提示 |
SC_SFX_Explosion_01 |
Sound Cue |
🎯 八、最佳实践总结
| 原则 |
说明 |
| 一致性 > 完美 |
团队统一比“理论上最优”更重要 |
| 前缀即类型 |
看到 SM_ 就知道是静态网格 |
| 编号从 01 开始 |
保证排序正确(01, 02, ..., 10) |
| 避免通用名 |
不用 Object, Thing, NewMaterial |
| 支持自动化 |
命名规则应便于脚本批量处理(如 Python、Shell) |
| 版本控制友好 |
避免频繁重命名,减少 Git 冲突 |
📚 九、参考资料
📎 附录:常见错误 vs 正确做法
| 错误命名 |
正确命名 |
问题 |
rock.fbx |
SM_Rock_01 |
缺少前缀、编号、格式不规范 |
diffuse_texture |
T_Rock_01_D |
未使用标准后缀,无前缀 |
material123 |
M_Rock_01 |
无描述性,无法识别用途 |
LOD1 |
SM_Rock_01_LOD1 |
缺少主名称,无法关联 |
collision_box |
UCX_Rock_01_01 |
未遵循碰撞体命名规范 |
my_blueprint |
BP_Interactable_Door_01 |
无前缀,语义模糊 |
评论区