unity粒子系统产生火焰,爆照等特效后面的实现技术

像影视中的爆照,火焰特效,也是可以用unity的粒子系统做出来的,那粒子系统实现这些特效,其背后的实现技术是什么?

阅读 5.3k
2 个回答
新手上路,请多包涵

图层文件在运动微小粒子的显示,每个粒子就像是个小图片一样,可规定周期速度大小等,

只说说 Cg Tutorial 中的一个简单实现,详情见Cg Tutorial

通过 Vertex Shader 来实现整个粒子系统,将每个顶点视作一个粒子,在 VS 中,基于一个简单的运算方程来计算粒子的位置,给定各个粒子的初始位置、初始速度,所有粒子共享同一个加速度(如重力加速度),在 POSITION 确定以后,通过 COLOR 和 PSIZE 语义来对粒子的颜色、像素大小进行控制,这样,一个简单的 solid-colored squares of different sizes 粒子系统就完成了。
如果还想对粒子的 appearance 作进一步优化,还可使用 point sprites 技术,它将每个 vertex point 转化成由四个顶点组成的 square point,然后往上面进行贴图。
虽然这只是一个基于顶点着色器的简单实现,但也可借此了解粒子系统的一些基础概念了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进