Auto-sync: 2026-04-26 08:02
This commit is contained in:
66
wiki/concepts/VFX.md
Normal file
66
wiki/concepts/VFX.md
Normal file
@@ -0,0 +1,66 @@
|
||||
---
|
||||
title: "VFX"
|
||||
type: concept
|
||||
tags: [game-dev, visual-effects, particles, performance]
|
||||
sources: [technical-artist]
|
||||
last_updated: 2026-04-26
|
||||
---
|
||||
|
||||
# VFX
|
||||
|
||||
## Definition
|
||||
VFX(Visual Effects,视觉特效)是游戏运行时实时生成的非静态视觉效果,通过粒子系统、着色器和后处理技术实现。典型应用包括爆炸、烟雾、火焰、魔法光效、环境氛围等。
|
||||
|
||||
## Performance Budget(Technical Artist 强制标准)
|
||||
|
||||
### 粒子数量上限
|
||||
| 平台 | 最大同时粒子数 |
|
||||
|------|-------------|
|
||||
| Mobile | 500 |
|
||||
| PC | 2,000 |
|
||||
|
||||
### 过度绘制(Overdraw)上限
|
||||
过度绘制是移动端性能隐性杀手。
|
||||
|
||||
| 平台 | 最大 Overdraw 层数 |
|
||||
|------|-----------------|
|
||||
| Mobile | 3 |
|
||||
| PC | 6 |
|
||||
|
||||
### 混合模式策略
|
||||
- **Alpha Clip**:优先使用,效率最高
|
||||
- **Additive Blending**:仅在预算批准后使用
|
||||
- 半透明/加法粒子必须经过审计并设定上限
|
||||
|
||||
## VFX 制作流程
|
||||
|
||||
1. **建立 Profile 场景**:GPU 计时器可见的测试环境中构建所有 VFX
|
||||
2. **粒子数上限前置**:在构建开始时就设置每个粒子系统的上限,而非完成后调整
|
||||
3. **多角度测试**:60° 摄像机角度和远距离缩放均需验证,不只依赖英雄视角
|
||||
4. **平台目标验证**:每个效果必须明确标注目标平台(PC/Console/Mobile)
|
||||
|
||||
## VFX Shader 类型
|
||||
- **Particle Shader**:粒子纹理采样,颜色插值,UV 动画
|
||||
- **Dissolve Shader**:按噪声贴图阈值切割模型边缘,带发光描边
|
||||
- **UV Scroll Shader**:河流/熔岩等流动效果
|
||||
- **Procedural Noise Shader**:云/烟/雾等程序化生成效果
|
||||
|
||||
## Audit Checklist(from Technical Artist)
|
||||
|
||||
- [ ] 最坏情况粒子数量已测量
|
||||
- [ ] Overdraw 可视化工具已检查层数
|
||||
- [ ] Shader 复杂度图已验证
|
||||
- [ ] 粒子纹理已放入共享图集
|
||||
- [ ] GPU Profile 最坏密度下帧时间已记录
|
||||
- [ ] 帧时间贡献已与平台预算对比
|
||||
|
||||
## Related Concepts
|
||||
- [[Shader]]:VFX 通过自定义 Shader 实现高级效果
|
||||
- [[Performance-Budget]]:VFX 的核心约束来自帧时间预算
|
||||
- [[LOD-Pipeline]]:VFX 距离 LOD 切换需保持可读性
|
||||
- [[Post-Processing]]:VFX 与后处理栈(Bloom、泛光)协同
|
||||
|
||||
## Connections
|
||||
- [[TechnicalArtist]] ← builds ← VFX
|
||||
- [[Shader]] ← implements ← VFX(VFX 特效通过着色器实现)
|
||||
- [[Performance-Budget]] ← constrains ← VFX
|
||||
Reference in New Issue
Block a user