粒子系统和音效系统

  • 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 使用状态机

  • 对于地图烘培导向图,流场

和环境进行交互,与游戏逻辑交互

Unreal Niagara System

  • Modules

  • Emitter

  • System

Audio

音效

  • player

  • realism

  • atmosphere

声音对情绪的影响

声音的元素

  • Volume 音量,纵波,单位面积对耳膜的压强,单位分贝

  • Pitch 频率

  • Timbre 音色

降噪耳机

  • 反向波抵消

PCM

  • 将波进行存储,压缩

Sampling

  • 两倍频率的采样就能无损

  • 尽量高效果好

Quantizing

Audio Format

  • wav

  • flac

  • mp3 只支持立体声,有专利保护

  • ogg 最多用,有损,高压缩率,多声道

最后更新于