[siggraph17]bungie的特效系统

这里写图片描述

brief

siggraph17,bungie带来,分享者11年加入bungie,一直做特效系统,从halo系列做到现在,可以说是很有见解了。
http://advances.realtimerendering.com/s2017/Destiny_Particle_Architecture_Siggraph_Advances_2017.pptx
link是一个近500mb的ppt,里面大量精彩的视频,特效系统能支持如此丰富的各种效果也是酷炫,非常推荐看看!

本文重在架构,很好的谈及了particle system几个重要方面:

  • 功能足够清晰&丰富
  • 迭代足够快
  • 运行效率足够高

emission&motion&appearnce

这里写图片描述
这里是bungie对于particle system几个部分做一个清晰地划分,这样美术在定制fx的时候就整体思路比较清晰;
中间是以node graph的方式,类似ue的material editor样的生成shader代码(是一个bungie内部的叫TFX的代码),这样大量的功能就是TA可以完成;
同时里面的parameter input也非常的丰富,从游戏内的time of day,到particle遇到collision之后的碰撞次数,都可以做parameter input,进而可以产生出非常丰富的特效;
清晰地划分,node graph的强扩展性,可以说是重要的基础。

不同视角看architecture

这里写图片描述
这里也是一个对于系统的一个划分,按照是否是有状态的;
这里写图片描述
另外我们也可以从cpu还是gpu的particle视角去看;
图中可以看出gpu particle各方面能力是要强多了,bungie也说之所以还保留cpu particle主要是历史原因;

details

里面在大的architecture下面,很多具体的细节,可以说也是比较关键的,但是已经过于细节; 比如particle可以有collision,可以由一些expression做吸引,让大量粒子被一个形状吸引过去,进而成为“有形状的粒子”; 大量的parameter input类型,都是在这个灵活清晰高效的architecture下面,让系统功能强大丰富的关键