粒子系统和音效系统
Position
Velocity
Size
Color
Lifetime
组成
Emitter
System
由多个 Emitter 组成
Spawn Position
Single position
area
base on mesh
Swapn Mode
随机爆发
喷泉
Simulate
Particle 在空间上的行为,可以使用流场
在时间上的行为,设置当前的速度,力,等
颜色和尺寸,黑体辐射,火焰颜色,烟从浓密到稀薄
和环境有互动,可以被障碍物阻挡反弹,需要有高效的物理碰撞检测
Particle Type
Billbaord,尺寸比较大的话需要内容要变化,不然会被看出来是面片
Mesh, 要做出随机感
Ribbon,光带,通过控制点来转弯,通常用 Catmull 曲线,保证圆滑并且通过所有控制点
Rendering
大量的半透明物体排序
按全局排序 Global,绘制开销大
按照发射器排序,Per emitter,简单但效果不好
Full-Resolution
性能杀手
半透明物体所有都要渲染,开销大
半透明物体在更低的分辨率上进行渲染,然后和不透明物体在正常分辨率上混合
Processing Particle on GPU
GPU 里生成粒子,所有步骤都可以在 GPU 里实现
数据结构
Partical Pool
Dead list
Alive list
其他操作
View frustum culling
Depth compare
Sort
Swap alive list
集群性的运算都可以在 compute shader 里写
归并排序
GPU 适合用多线程做归并排序
单线程是 nlogn,多线程是 logn
碰撞
将粒子和 Depth buffer 做碰撞
Advance particle
使用粒子系统表示人群
使用 mesh particle
只用一个骨骼
动画对于顶点移动烘培成为纹理
particle 使用状态机
Navigation Texture
对于地图烘培导向图,流场
和环境进行交互,与游戏逻辑交互
Unreal Niagara System
Modules
Emitter
System
Audio
音效
player
realism
atmosphere
声音对情绪的影响
声音的元素
Volume 音量,纵波,单位面积对耳膜的压强,单位分贝
Pitch 频率
Timbre 音色
降噪耳机
反向波抵消
PCM
将波进行存储,压缩
Sampling
两倍频率的采样就能无损
尽量高效果好
Quantizing
Audio Format
wav
flac
mp3 只支持立体声,有专利保护
ogg 最多用,有损,高压缩率,多声道
最后更新于