欢迎来到天天文库
浏览记录
ID:17293074
大小:16.16 KB
页数:5页
时间:2018-08-29
《粒子系统的烟花动画设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、粒子系统的烟花动画设计 粒子系统构建的影响通过渲染能够展现出非常真实,现在很多好莱坞电影以及游戏制作中,粒子系统图形算法得到了广泛的应用,本文通过分析现实烟花的爆炸过程设计了具体的烟花粒子模型,并加入了纹理映射,让烟花粒子的绽放变得更具有立体感。下面是小编为大家整理关于粒子系统的烟花动画设计,欢迎大家阅读! 粒子系统本身是一个集合体,因为现实世界中很多景观都是模糊的,而且还具有流动变化的属性,粒子系统就是将这种模糊又变化的粒子组成一个结合,形成粒子系统,这个系统具有离散和连续两大属性,通过粒子对空间的充斥和运动,且粒子之间相对独立,同时
2、相互不能穿透,在时空上具有一定的变化,同时拥有颜色,亮度,形状以及立体体积的外观形象以及具有运动的特性和生命周期。其中颜色及亮度及形状会随着时间的变化而变化;粒子在不同的应用环境中会具有不同的属性,比如在雾气中,就和在烟花中的属性就有偏差,每个粒子都会有生命周期,所谓粒子生命周期包括新生,活动和死亡,在粒子的生命周期里,粒子从形状和运动状态会发生变化,这个变化过程是随即的,因为粒子系统本身就是描述模糊景物,因此涉及到粒子的各种参数是随机的,包括初始值也要随机。目前粒子模型主要有两种,一种是虚拟,另一种就是实体,无论是虚拟还是实体都具有模糊特
3、征,比如虚拟的雪花,烟雾,实体景物中的人和动物的运动等。对于简单的模糊景物就能够通过改变动力学方程参数值来模拟动态效果,复杂景物就需要对这个物体进行分割,然后针对每一个小部分列出动力学方程,然后针对每个部分来进行帧计算,再绘制成整体。 烟花粒子模型系统分析 因为烟花的形状是千差万别的,但是都具有一些基本的特征,因此在烟花粒子建模方面就应该把握住核心特征,并且结合不同的烟花形状来设置不同的参数来实现,比如现在厂家的烟花形状就有球状,风车状,天女散花状以及菊花状等,这些不同形状的烟花实际上仅仅需要通过设置不同的参数和动态模型就能够实现不同的
4、燃放效果。烟花粒子模型的主要模式就是分成两个部分,一个就是燃放点,另一个就是爆炸点,无论是燃放点和爆炸点都是随机的,不过这个随机过程分为横向和纵向之分,一般燃放点都是屏幕的下方,爆炸点会有两种情况,一种是爆炸点和燃放点一致,另一种就是爆炸点和燃放点的轨迹一致,但是这个爆炸点是在屏幕的上方,结合烟花的燃放模式,所以在烟花模型的主要特征上来分析,那就是在燃放点不会释放所有粒子,只要将一个粒子向空中运动,并给这些粒子赋初始值,另一种就是在空中爆炸,此时通过设置不同的初始值来展现烟花粒子的不同形状,同时通过纹理映射技术来让烟花粒子展现出立体效果。
5、 (1)天女散花模型 这个烟花粒子系统模型的燃烧点和爆炸点是结合的,因此燃放和爆炸运动轨迹初始点是同一个点,粒子要在第一帧产生,在随后时空里要对粒子的属性进行随机设置,保证一定粒子数。如果太少就不会产生天女散花的效果,而数目太多,处理速度变慢,就会影响实时效果。因为烟花在燃放过程中会出现不同的形状,如果和现实一样太过于困难,通过设置不同粒子形状能够解决这一问题。并将这些不同的粒子形状按照(1、2、……n)序列号设置,并对这些粒子使用随机函数赋值,同时初始值就应该映射纹理,提升粒子的三维属性。目前粒子初始形状公式为:形状=int(形状均值+
6、rand(形状方差));对于这个公式中的int函数是定义粒子的初始属性。而下面的位置,速度和颜色公式则主要定义粒子在空间变化的属性。 位置公式:位置P(fi)=P(fi-1)+V(fi-1)dt 速度公式:速度V(fi)=V(fi-1)+adt 颜色公式:颜色C(fi)=C(fi-1)+△Cdt 粒子存活时间公式:生存期L(fi)=L(fi-1)-1 小a是粒子运动的加速度,△C则是粒子的颜色变化比率,生存期的公式设置的目的就是让粒子产生到消亡能有一个时间上和变化上的界定。 (2)牡丹和激光模型 这个模型是让粒子在空中燃放,粒
7、子在初始帧产生之后,在后面的运动中不会再产生新粒子,其中粒子的属性,活动及消亡条件如同天女散花模型,然后将球状的烟花模型投影到平面,再加上变化的纹理映射,再结合BillBoarding技术就能够得到类似牡丹或者激光的烟花模型。 烟花粒子系统的实现 (1)烟花粒子系统基本数据结构 structfire_pointt{ floattdir;//定义运动粒子方向 floattspeed;;//初始速度 floattr,g,b;//初始基本颜色属性 floattx,y;;//粒子随机坐标位置 }; structfirework
8、{ intttype;;//定义烟花的形状模型 floattx,y;;//燃放位置 floattt;;//粒子存活时间 floattdir; inttflag,coun
此文档下载收益归作者所有