GAMES104:12 游戏引擎中的粒子和声效系统-学习笔记


一,粒子基础Particle System

网游里你的付费大部分是为了粒子效果付费hhhh

  • 粒子是拥有位置、速度、大小、颜色和生命周期的3d模型。

  • 粒子的生命周期:从发射源(Source)->产生(Spawn)->环境交互->死亡。

  • 粒子发射器(Emitter)控制了粒子的产生Spawn规则、模拟逻辑和渲染

  • 一个粒子系统可能有不止一种发射器,比如火焰效果中有火焰(Flame)、火星(Spark)和烟雾(Smoke)三种发射器;而如何用简单系统的组合展现复杂效果是艺术家的主要工作

  • 在粒子Spawn环节,Emitter可以有单点Spawn(向四周喷射)、区域Spawn(范围内随机)和mesh Spawn(比如在运动人物上的特效)三类;在发射上也有频率、速度、方向等不同表现

  • 粒子的模拟

    1. 不需要严格的物理模拟,使用显示欧拉法计算即可
    2. 除了重力还可以加上粒子的旋转、颜色的变化、大小的变化
    3. 粒子需要与环境进行碰撞
  • 粒子常见形态:

    1. Billboard Particle,即广告牌。由始终面向摄像头的面片构成,用纹理动画完成,因为形状一直在变化,所以看起来有3d的感觉。
    2. Mesh Particle,就是同一个3d mesh用各种随机值去控制Transform的9个值,使其看上去像是不同的mesh
    3. Ribbon Particle,样条形粒子,用于光带。通过样条控制点获得完整曲线,一般使用Catmull-Rom曲线插值(方便插值且插值点过控制点)。

在这里插入图片描述

二,粒子渲染

粒子渲染由于其特性涉及到大量的透明度排序问题

  • 粒子排序有两种方式:

    1. 全局排序,所有emitter的所有粒子都一起排序,结果正确但消耗巨大;(初学者写起来麻烦并且后期会涉及很多GPU算法,建议先写2)
    2. 按层级,比如per system->per emitter->per particle,但是结果会出现错位并且会有闪现的问题
      在这里插入图片描述
      同时,粒子系统在半透明渲染的过程中,效率与屏幕分辨率强相关,overdraw情况很多。那么怎么办呢?:
  • 一般使用下采样将分辨率降低后再进行粒子的渲染,获得粒子的颜色和透明度alpha,然后再上采样融合到原场景中。(一般粒子模模糊糊的反正也不影响)(并且这个思路在现代引擎中越来越流行–DLSS)
    在这里插入图片描述

三,GPU粒子及生命周期控制

从上面两节可以看到ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值