微粒系统是个数学形式,可以表示下列行为:
1、动态和时间相关的。
2、与各个小成分高度并行的。
3、复杂的。
这种行为的例子有烟囱、火、一群飞鸟、雪花和几百种其他现象。微粒系统是环境无关的,即可以建模非常不同的情形。微粒系统是个工具,但本身不针对特定实例。通过改变一些内部成分,可以适合不同问题,只要符合上述全局原则。
微粒系统是80年代初由Pixar(当时是卢卡斯电影特效小组的一部分)为电影((Star Trek lI:The Wrath ofKahn))推出的。具体地说,微粒系统表示星球表面的连锁反应爆炸,使星球从死亡、荒漠的样子变成充满生机的生态系统。
微粒系统主要包括一组微粒,根据某些现成的程序动态改变。可以建模各个雨滴的重力与风吹效果,小鸟执行简单AI程序,等等。所有微粒用相同参数控制其外观和行为,但在生态系统进化过程中,各有不同的进化,呈现出丰富多彩的自然界。
微粒系统可以大致分为两大类,称为局部微粒系统和全局微粒系统。局部系统的一组微粒好像是各自独立的,因此不考虑微粒之间的互动,所有计算都是对当前微粒局部进行的。另一方面,全局微粒系统则是相互作用和响应的微粒系统,这样微粒系统中各个个体部分取决于自己的特征,部分取决于与小组其他微粒的互动。
通常,局部系统就是全局系统的简化形式。例如,假设树上的一组落叶被风吹动。如果要精确建模,则要考虑两片或多片叶子互相碰撞时的轨道,使一片落叶的行为依赖于其他落叶。显然,这样便用到全局微粒系统。但许多游戏忽略叶子互相碰撞,简化成用局部微粒系统实现。
显然,全局微粒系统产生更复杂、更有趣的行为,但半高性是有代价的,计算微粒的互动会大大增加计算成本。因此,全局微粒系统要慎重处理。