Games104总结粒子系统和声效
粒子系统
属性
坐标,初速度,大小,颜色,生命周期,…
粒子的生命周期
如果控制失败就会出现粒子越来越多,使系统资源殆尽
粒子的发射器
指定生成规则,指定仿真逻辑,描述如何渲染粒子
粒子模拟
力学模拟
模拟控制粒子如何随时间变化
粒子碰撞
三种粒子效果制作
面片粒子,网格粒子,光带粒子(拖尾)
光带粒子系统路径使用CatMull-Rom插值,效果会更柔和
粒子系统渲染
透明度排序
全局排序:准确,但性能消耗大
层次结构:每个系统->每个发射器->发射器内部
排序规则
粒子之间:基于粒子与相机的距离
系统或发射器之间:包围盒
完全解决粒子
基于屏幕的解决办法,最坏情况充满整个屏幕
Low-Resolution Particles
如图,通过Half-ResolutionDepth进行混合
GPU 粒子
GPU处理粒子系统
高度并行工作,适合模拟大量粒子
释放你的CPU去编写游戏代码
易于访问深度缓冲做碰撞
初始状态
右边的图显示了一个空的池,最多包含8个粒子,开始时所有8个槽都处于死可用状态
注意的问题
当摄像头没看粒子系统时被裁剪掉,当回头看时会显得很突兀
排序,渲染和交换活列表
根据距离缓冲对活列表进行排序
渲染粒子排序后的活列表剔除
交换活着列表
深度缓冲碰撞
1.重新投影粒子位置到之前的帧屏幕空间纹理坐标
2.从昂贵的帧深度纹理读取深度值
3.检查粒子是否与深度缓冲碰撞,但不完全在它后面(厚度值被使用)
4.如果发生碰撞,计算表面法线和反弹粒子
声音系统
Volume
声压(p):由声音引起的局部与环境气压的偏差波,国际单位制单位(帕)
粒子速度(V):粒子在介质中传播波的速度,单位为SI (m/s)
声强(1):声波在单位面积上沿垂直于该面积方向所携带的功率,SI单位:W / m2
声压级(Lp):声音相对于参考值的有效压力的对数量度,单位为国际标准单位(dB)
参考声压,是人类听觉的阈值,常用在空气中(大概是3米外蚊子飞过的声音)
Pitch
决定声音的高或低
这取决于声音的频率波
音色(Timbre)
泛音或谐波的组合
频率
相对强度
相位和噪声消除
相同的频率,振幅,但不同的相位
人类听觉特性
人耳可听见的声音
频率范围:20-20KHz
声压级范围(0-130db)
数字声音
Pulse-code Modulation (PCM)
对采样模拟声音信号进行编码的标准方法
抽样,量化,编码
采样
采样频率:每秒采样次数(Hz)
采样的频率高一点
量化
位深度:位深度是每个样本中信息的位数
Audio Format
3维的声音的渲染
一种单音音频信号
从特定位置发出的
侦听器
“虚拟麦克风”位置 ,速度,朝向
空间化
用来确定声音相对于听者的方向的技术
Panning
将一个音频信号分配到一个新的立体声或多声道声场
主要思想:对于增益为1的立体声信号,左、右两个信道的增益之和应为1
线性平移
当声音在中间平移时,能量会下降(x = 0.5)
等平方平移
在平移过程中保持功率限制,而不是保持振幅不变,以保持恒定的响度
这个方程有几个可能的解,一个是正弦/余弦方程
衰弱
音量会随着听者的离开而衰减在现实世界中,球形声波的声压(P)随着距离球中心1/r的距离减小:
障碍物
混响
回音
多普勒效应