67 lines
2.3 KiB
Markdown
67 lines
2.3 KiB
Markdown
---
|
||
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
|