论文部分内容阅读
摘要:三维动画特效是指使用电脑软件制作出立体的虚拟的特殊效果。特效一般包括声音特效和视觉特效。三维动画特效的融入增强了影片的视觉冲击力,引起观众共鸣,所以三维动画特效对于影片来说是至关重要的,鉴于此,本文基于Maya技术进行三维粒子特效的设计与实现。
关键词:校园漫游系统、Unity 3d技术
三维动画特效不仅可以制作动画电影,还能够完成实拍不能解决的影视镜头,不会受到天气季节等因素影响,且可修改性较强,质量要求也更易受到控制,能够对所表现的故事与产品起到前所未有的视听冲击作用,本文采用Maya中的粒子技术进行魔幻彩虹特效动画和喷泉特效动画实现。
1.魔幻彩虹动画实现
使用Maya的Mel语言和表达式、粒子生命设置魔幻彩虹动画。
(1)彩虹的基本形态
选择Caihong为其color通道添加Ramp贴图,Ramp过渡颜色右下向上依次为红橙黄绿青蓝紫,选择Caihong为其创建物体发射器,发射器命名为fx_Caihong_Emitter1,粒子命名为fx_Caihong_particle1,发射器类型选择surface表面发射,勾选Need parent UV,发射器速度为0,其他保持默认。播放动画,粒子数量较少,可以对粒子发射数量rate(100.0)做动画,300帧之前为1500,301帧为0,选择Caihong,Ctrl+H将其隐藏,播放观看动画效果。(2)彩虹颜色设定
将Caihong的Ramp贴图赋予粒子发射器的颜色通道,并为粒子添加RGB PP每粒子属性为<-arrayMapper4.outColorPP。将粒子fx_Caihong_particle1的渲染类型改为MultiPoint,将Multi Count调整为50,Multi Radius调整为1,其他保持不变。播放动画,按6键显示材质,观看效果。
打开粒子发射器的属性窗口,为其Texture Rate添加Ramp,并勾选应用贴图发射属性,调整Ramp类型为U Ramp,调整颜色的过渡为Exponential UP,调整Ramp颜色由下向上黑白渐变,并对selected Position制作关键帧动画,黑色位置的关键帧动画为1~150帧,selected Position数值过渡为1~0,白色位置的关键帧动画为51~200帧,selected Position数值过渡为1~0.001,播放动画,观看效果,彩虹逐渐出现。301帧后右侧的粒子数量要比左侧的多,因为发射器是依据贴图的U方向,从右向左发射的。
(3)控制粒子生命
利用表达式控制每粒子生命lifespanPP,在控制lifespanPP之前需要将粒子的生命类型调整为lifespanPP only在每粒子属性窗口中右键单击Creation键在运行中写入表达式 "fx_caihong_particleShape1.lifespanPP=fx_caihong_particleShape1.lifespanPP"、 "fx_caihong_particleShape1.lifespanPP=time;",为了在视图中显示粒子的生命数值,先将粒子发射器的每秒发射率在曲线编辑器中修改为100,然后将粒子的渲染类型改为Numeric,并在Attribute name中输入lifespanPP(也可以输入position、velocity等每粒子属性,此处默认每粒子属性为particleld),播放动画观看效果,粒子在没受到扰动场的影响时生命随时间运动,一旦受到扰动场粒子生命将不再改变。
在表达式中可以省略粒子的名称,只写每粒子的属性即可,当每粒子的速度等于0时,每粒子的生命将会随着时间的改变而改变。Else{lifespanPP= lifespanPP;}是说每粒子速度一旦不为0,也就是受到扰动场影响的时候,粒子的生命数值为此时的时间,不会再随时间改变而改变现在播放动画发现粒子在场景中存活的时间较长,如果想让粒子在没有受到扰动场影响时一直生存,一旦受到扰动场影响便开始随机死亡,让粒子在没有速度的时候等于时间,一旦粒子有了速度,让它的生命在每帧的基础上乘以0.98~0、99之间的随机数,粒子生命效果控制完成,如果个人感觉粒子生命短的话,可以在If(velocity==0)的情况下让lifespanPP乘以更大的数值;如果lifespanPP=time的情况下感觉粒子生命长的话,可以在else语句中让lifespanPP乘以更小的数值。
(4)控制彩虹两端的透明效果
对粒子两侧的透明进行控制,选择粒子彩虹,打开其属性窗口,为其添加每粒子透明属性OpacityPP,接着为其添加Ramp贴图,Ramp贴图的InputU不做任何调整,InputV依据ParentU,调整好后创建Ramp贴图。
编辑OpacityPP中的Ramp,将Ramp上下两端调整为黑色,中间为灰色,其明度数值约为0.3,最后将Ramp的Interpolation过渡类型调整为Smooth光滑,调整完成后观看粒子彩虹左右两端的透明过渡。
(5)制作彩虹飘散效果
选择粒子彩虹,为其添加Turbulance扰动场,打开属性,修改Turbulance field name为fx_caihong_tur调整Magnitude为50,Attenuation为0,Frequency为0.8,将Volume shape为Cube体积类型。
选择扰动场,将扰动场的缩放Scale X调整为6,Scale Y调整为16,Scale Z调整为34,将Translate Y调整为-7,并对Translate X做位移动画,動画时间为300~500帧,过渡数值为40~-30,播放动画到400帧,观看粒子彩虹飘散效果。想让粒子在场景中消完后死亡消失,首先尝试控制粒子死亡的方法。将粒子的生命类型Lifespan Mode调整为Constant模式,然后调整Lifespan为5,随机生命Lifespan Random为2,播放观看效果。 2.喷泉动画实现
使用Maya中的粒子制作喷泉场景动画。
(1)方向粒子发射器:在场景中创建Directional方向粒子发射器,在Emitter发射属性编辑面板中调整方向的x、y、z轴参数值为(0,1,0),并调整扩散参数值为0.2,这样粒子将沿Y轴进行发射并产生一定程度的扩散效果。
(2)粒子下落:单击场Fields下的重力Gravity命令,粒子受到重力作用产生下落效果。在大纲视图下,选择粒子particle1并在emitter属性中调整Speed速度值为15。
(3)多流线型粒子:粒子渲染类型为多流线型。设置当前渲染类型并调整多重数量为4和多重半径0.8、拖尾尺寸参数为2,开启颜色叠加产生亮度叠加效果。
(4)粒子碰撞:创建平面对象并置于粒子下方,选择粒子并按下Shift键加选地面对象,制造碰撞,使粒子与平面产生碰撞效果。选择粒子,在其Geoconnector节点属性面板中设置阻力为0.5和摩擦力参数为0.2。
选择粒子并打开粒子碰撞事件编辑器窗口,在事件类型中调整为Split分裂方式,在事件类型中调整分裂出来的子粒子数量为6和扩散值为1以及继承速度0.6,创建碰撞事件产生分裂效果。
选择产生的粒子2并调节粒子渲染类型为多流线类型,调整多重数量10、多重半径0.5、拖尾尺寸1.5,开启颜色叠加。
(5)动力学关系:打开窗口,在关系编辑器中的动力学关系窗口中选择产生的particle2粒子节点,在右侧选择Gravity Field节点,这样将在二者之间建立起连接关系。从而使在碰撞之后产生的粒子受到重力作用将以较低的高度弹起。对粒子动画效果进行预览效果如图所示。
粒子颜色设置圖
参考文献:
[1]张明明.基于Unity3d虚拟校园漫游的研究与实现[D].云南:云南大学,2014:53-61.
[2]蔡翊.基于Unity3d的金丝峡地质公园虚拟旅游系统的研究与实现[D].西安:西安科技大学,2013:77-85.
作者简介:
赵艳 198204山东费县 女 汉 山东济南 研究方向 影视动画、数字媒体技术 本科 山东协和学院 副教授
关键词:校园漫游系统、Unity 3d技术
三维动画特效不仅可以制作动画电影,还能够完成实拍不能解决的影视镜头,不会受到天气季节等因素影响,且可修改性较强,质量要求也更易受到控制,能够对所表现的故事与产品起到前所未有的视听冲击作用,本文采用Maya中的粒子技术进行魔幻彩虹特效动画和喷泉特效动画实现。
1.魔幻彩虹动画实现
使用Maya的Mel语言和表达式、粒子生命设置魔幻彩虹动画。
(1)彩虹的基本形态
选择Caihong为其color通道添加Ramp贴图,Ramp过渡颜色右下向上依次为红橙黄绿青蓝紫,选择Caihong为其创建物体发射器,发射器命名为fx_Caihong_Emitter1,粒子命名为fx_Caihong_particle1,发射器类型选择surface表面发射,勾选Need parent UV,发射器速度为0,其他保持默认。播放动画,粒子数量较少,可以对粒子发射数量rate(100.0)做动画,300帧之前为1500,301帧为0,选择Caihong,Ctrl+H将其隐藏,播放观看动画效果。(2)彩虹颜色设定
将Caihong的Ramp贴图赋予粒子发射器的颜色通道,并为粒子添加RGB PP每粒子属性为<-arrayMapper4.outColorPP。将粒子fx_Caihong_particle1的渲染类型改为MultiPoint,将Multi Count调整为50,Multi Radius调整为1,其他保持不变。播放动画,按6键显示材质,观看效果。
打开粒子发射器的属性窗口,为其Texture Rate添加Ramp,并勾选应用贴图发射属性,调整Ramp类型为U Ramp,调整颜色的过渡为Exponential UP,调整Ramp颜色由下向上黑白渐变,并对selected Position制作关键帧动画,黑色位置的关键帧动画为1~150帧,selected Position数值过渡为1~0,白色位置的关键帧动画为51~200帧,selected Position数值过渡为1~0.001,播放动画,观看效果,彩虹逐渐出现。301帧后右侧的粒子数量要比左侧的多,因为发射器是依据贴图的U方向,从右向左发射的。
(3)控制粒子生命
利用表达式控制每粒子生命lifespanPP,在控制lifespanPP之前需要将粒子的生命类型调整为lifespanPP only在每粒子属性窗口中右键单击Creation键在运行中写入表达式 "fx_caihong_particleShape1.lifespanPP=fx_caihong_particleShape1.lifespanPP"、 "fx_caihong_particleShape1.lifespanPP=time;",为了在视图中显示粒子的生命数值,先将粒子发射器的每秒发射率在曲线编辑器中修改为100,然后将粒子的渲染类型改为Numeric,并在Attribute name中输入lifespanPP(也可以输入position、velocity等每粒子属性,此处默认每粒子属性为particleld),播放动画观看效果,粒子在没受到扰动场的影响时生命随时间运动,一旦受到扰动场粒子生命将不再改变。
在表达式中可以省略粒子的名称,只写每粒子的属性即可,当每粒子的速度等于0时,每粒子的生命将会随着时间的改变而改变。Else{lifespanPP= lifespanPP;}是说每粒子速度一旦不为0,也就是受到扰动场影响的时候,粒子的生命数值为此时的时间,不会再随时间改变而改变现在播放动画发现粒子在场景中存活的时间较长,如果想让粒子在没有受到扰动场影响时一直生存,一旦受到扰动场影响便开始随机死亡,让粒子在没有速度的时候等于时间,一旦粒子有了速度,让它的生命在每帧的基础上乘以0.98~0、99之间的随机数,粒子生命效果控制完成,如果个人感觉粒子生命短的话,可以在If(velocity==0)的情况下让lifespanPP乘以更大的数值;如果lifespanPP=time的情况下感觉粒子生命长的话,可以在else语句中让lifespanPP乘以更小的数值。
(4)控制彩虹两端的透明效果
对粒子两侧的透明进行控制,选择粒子彩虹,打开其属性窗口,为其添加每粒子透明属性OpacityPP,接着为其添加Ramp贴图,Ramp贴图的InputU不做任何调整,InputV依据ParentU,调整好后创建Ramp贴图。
编辑OpacityPP中的Ramp,将Ramp上下两端调整为黑色,中间为灰色,其明度数值约为0.3,最后将Ramp的Interpolation过渡类型调整为Smooth光滑,调整完成后观看粒子彩虹左右两端的透明过渡。
(5)制作彩虹飘散效果
选择粒子彩虹,为其添加Turbulance扰动场,打开属性,修改Turbulance field name为fx_caihong_tur调整Magnitude为50,Attenuation为0,Frequency为0.8,将Volume shape为Cube体积类型。
选择扰动场,将扰动场的缩放Scale X调整为6,Scale Y调整为16,Scale Z调整为34,将Translate Y调整为-7,并对Translate X做位移动画,動画时间为300~500帧,过渡数值为40~-30,播放动画到400帧,观看粒子彩虹飘散效果。想让粒子在场景中消完后死亡消失,首先尝试控制粒子死亡的方法。将粒子的生命类型Lifespan Mode调整为Constant模式,然后调整Lifespan为5,随机生命Lifespan Random为2,播放观看效果。 2.喷泉动画实现
使用Maya中的粒子制作喷泉场景动画。
(1)方向粒子发射器:在场景中创建Directional方向粒子发射器,在Emitter发射属性编辑面板中调整方向的x、y、z轴参数值为(0,1,0),并调整扩散参数值为0.2,这样粒子将沿Y轴进行发射并产生一定程度的扩散效果。
(2)粒子下落:单击场Fields下的重力Gravity命令,粒子受到重力作用产生下落效果。在大纲视图下,选择粒子particle1并在emitter属性中调整Speed速度值为15。
(3)多流线型粒子:粒子渲染类型为多流线型。设置当前渲染类型并调整多重数量为4和多重半径0.8、拖尾尺寸参数为2,开启颜色叠加产生亮度叠加效果。
(4)粒子碰撞:创建平面对象并置于粒子下方,选择粒子并按下Shift键加选地面对象,制造碰撞,使粒子与平面产生碰撞效果。选择粒子,在其Geoconnector节点属性面板中设置阻力为0.5和摩擦力参数为0.2。
选择粒子并打开粒子碰撞事件编辑器窗口,在事件类型中调整为Split分裂方式,在事件类型中调整分裂出来的子粒子数量为6和扩散值为1以及继承速度0.6,创建碰撞事件产生分裂效果。
选择产生的粒子2并调节粒子渲染类型为多流线类型,调整多重数量10、多重半径0.5、拖尾尺寸1.5,开启颜色叠加。
(5)动力学关系:打开窗口,在关系编辑器中的动力学关系窗口中选择产生的particle2粒子节点,在右侧选择Gravity Field节点,这样将在二者之间建立起连接关系。从而使在碰撞之后产生的粒子受到重力作用将以较低的高度弹起。对粒子动画效果进行预览效果如图所示。
粒子颜色设置圖
参考文献:
[1]张明明.基于Unity3d虚拟校园漫游的研究与实现[D].云南:云南大学,2014:53-61.
[2]蔡翊.基于Unity3d的金丝峡地质公园虚拟旅游系统的研究与实现[D].西安:西安科技大学,2013:77-85.
作者简介:
赵艳 198204山东费县 女 汉 山东济南 研究方向 影视动画、数字媒体技术 本科 山东协和学院 副教授