特效规范与评审流程
特效一旦多到几十上百个,"规范"就不再是形式主义,而是团队协作的地基。这份规范在多个项目中验证过,直接可用。
命名规范
| 资产 | 格式 | 示例 |
|---|---|---|
| System | NS_<类别>_<名字> |
NS_Combat_Fireball、NS_Env_Rain |
| Emitter | NE_<类别>_<名字> |
NE_Combat_Spark、NE_Env_Mist |
| 模块 | NM_<功能> |
NM_WindForce、NM_FadeByDistance |
| 材质 | M_<类别>_<名字> |
M_VFX_SmokeSoft、M_VFX_SparkAdd |
类别用固定的几个:Combat(战斗)、Env(环境)、UI、Cutscene(过场)、Char(角色)。可读性优先于缩写:NS_Combat_Fireball 比 NS_CB_FB 好,新人一眼看懂。
评审流程(三道门)
| 阶段 | 参与者 | 检查项 |
|---|---|---|
| 立项门 | 美术 + 策划 | 这个特效是否有通用参数化价值?要不要做成可复用零件 |
| 实现门 | 美术 + 程序 | 是否用了共享 Emitter?参数暴露是否合理?命名是否合规 |
| 上线门 | 程序 + 测试 | 开销达标?打包后在目标平台验证过?数据表已登记 |
第三道门是最常被跳过的——"编辑器里跑得好好的"不等于"打包后也好好的"(资产引用、平台差异、真机性能,三个坑都在这里等着)。
文档:一个"特效登记表"
用一个表格(或 DataTable 的可视化)登记所有在线特效:
| NS 资产 | 用途 | 播放场景 | 预估开销 | 负责人 | 平台档位 |
|---|---|---|---|---|---|
| NS_Combat_Fireball | 火球术 | 战斗 | 0.4ms | 美术 A | 全平台 |
| NS_Env_Rain | 环境雨 | 关卡 3 | 1.2ms | 美术 B | PC / 高配移动 |
这张表的价值在于后期优化时不用满项目找资产,也方便新成员入职时快速建立全局图景。
规范落地的小技巧
- 把命名规范写成编辑器启动时的检查脚本(用 Editor Utility 批量扫描不合规资产);
_Shared目录设置权限或走 Code Review,防止误改公共零件;- 每次版本提交时让工具自动更新"特效登记表"的开销列(把实测数据写回表里)。
