使用Unity3D自带动画系统制作下雨效果
2014-03-13 19:34
309 查看
之前看了以前版本的unity3d demo AngryBots ,觉得里面的下雨效果不错,刚好前段时间学习了,写出来跟大家分享下,直接开始。
使用自带动画系统制作下雨效果。
先制作下雨的雨滴涟漪
步骤1:
在 project中新建文件夹,命名为rainFX。将图片素材RainStreak及Ripple导入到rainFX文件夹中,创建一个plane,改名 为RippleObj,创建一个material,命名为ripple。(将导入的Ripple贴图的Alpha from Grayscale 打上勾,以使贴图的背景透明)
步骤2:
将ripple材质赋给RippleObj。
![](http://cms.9tech.cn/uploads/allimg/131204/1009414519-0.jpg)
修 改材质的Shader为Particles/Addtive,将Ripple贴图赋给ripple材质的Texture,在inspector窗口中修改 Particle Texture,Tilling的x值设为0.1666,y为1,offset的x为0.8333,y为0。选中RippleObj,将Shader下的 Tint Color改为白色。(改为白色为了使雨滴更加明显一点)
![](http://cms.9tech.cn/uploads/allimg/131204/1009416013-1.jpg)
修改后效果:
![](http://cms.9tech.cn/uploads/allimg/131204/1009412146-2.jpg)
步骤3:
选中RippleObj,按Ctrl+6,调出Animation窗口,点击窗口下的Ripple(material),会发现下面都是灰色不可选状态。
![](http://cms.9tech.cn/uploads/allimg/131204/1009413Z6-3.jpg)
点击RippleObj右边的一个小按钮,会出现[Create New Clip],点击。此时Ripple(Material)下的选项都已可用。
![](http://cms.9tech.cn/uploads/allimg/131204/1009415647-4.jpg)
点击后会出现下面的对话框,提示保存动画文件。命名为RainAnimation,保存。
![](http://cms.9tech.cn/uploads/allimg/131204/1009414K6-5.jpg)
步骤4:
选择Ripple(Material)下的Main Tex.offset.x,点击右边的小横线->Addkey。
![](http://cms.9tech.cn/uploads/allimg/131204/1009414I3-6.jpg)
拖动时间轴到0.05,再次Addkey,修改offset.x为0.1666。分别在0帧Addkey,offset.x为0,0.05帧 Addkey,offset.x为0.1666,0.1帧Addkey,offset.x为0.3333,0.15帧Addkey,offset.x为 0.5,0.2帧Addkey,offset.x为0.6666,0.25帧Addkey,offset.x为0.8333。效果图如下:
![](http://cms.9tech.cn/uploads/allimg/131204/1009411938-7.jpg)
步骤5:
此时的Animation窗口中有一条从0.0—0.25的红色斜线,用鼠标框选六个关键帧,右键—>Both Tangents—>Constant(右键需在红色的关键点上点击)。此时斜线被改为梯形上升的线。选择Tint Color.a,在0.0帧修改Tint Color.a为1,0.25帧即最后一帧设置Tint Color.a为0。使动画有一个透明渐变的效果。
![](http://cms.9tech.cn/uploads/allimg/131204/100941N12-8.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009411W4-9.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/100941K16-10.jpg)
到此,涟漪效果制作完成。
步骤6:开始添加脚本,控制涟漪的消失,脚本名:RippleDestroy。
将脚本赋给RippleObj。
在Animation窗口中,最后一帧即0.25帧处,点击右边的Add Event按钮,在0.25帧添加一个事件并将DestroyMe()赋给Function。
![](http://cms.9tech.cn/uploads/allimg/131204/1009414T2-11.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/100941KY-12.jpg)
步骤7:
将RippleObj拖到rainFX文件夹中,使之成为一个prefab。然后可以将场景中的RippleObj删掉。
![](http://cms.9tech.cn/uploads/allimg/131204/100941D60-13.jpg)
创建一个空物体。GameObject—>Create Empty。改名为ripple,此时场景中只有Main Camera,ripple。
创建一个rippleFX脚本:
将rippleFX脚本赋给空物体ripple,再将prefab物体RippleObj赋给ripple的脚本的变量RippleObj即可。
点击运行,即可出现地上很多涟漪的效果。
![](http://cms.9tech.cn/uploads/allimg/131204/1009413L6-15.jpg)
下雨效果分两部分:地上的涟漪和空中的雨滴。
现在开始使用unity3d的粒子系统制作下落的雨滴
步骤1:
新建一个粒子系统。
GameObject—>Create other—>Particle System。改名为raindrop。
![](http://cms.9tech.cn/uploads/allimg/131204/100941DZ-16.jpg)
步骤2:
新建一个材质(material),改名为跟贴图一样的名称RainStreak,修改材质的Shader为Particles/Addtive。
![](http://cms.9tech.cn/uploads/allimg/131204/100941HV-17.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/100941G49-18.jpg)
将贴图RainStreak赋给材质,修改Tiling的x为8。
![](http://cms.9tech.cn/uploads/allimg/131204/1009413340-19.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009414457-20.jpg)
修改RainStreak贴图的Wrap Mode为clamp(8为使贴图在单位面积上显示8个,即使单个贴图的面积变小,然后修改Wrap Mode为clamp即使粒子系统中显示的粒子为变小后的单个贴图)。
![](http://cms.9tech.cn/uploads/allimg/131204/1009411149-21.jpg)
步骤3:
将RainStreak的Material赋给粒子系统的Render下面的Material。
![](http://cms.9tech.cn/uploads/allimg/131204/1009416417-22.jpg)
此时粒子系统中显示的即为雨滴的贴图。
![](http://cms.9tech.cn/uploads/allimg/131204/10094160E-23.jpg)
步骤4:
修改粒子系统的Shape,使之变为圆柱形。
![](http://cms.9tech.cn/uploads/allimg/131204/1009412951-24.jpg)
调节参数Emission下的Rate,可修改雨滴密度。
![](http://cms.9tech.cn/uploads/allimg/131204/1009411209-25.jpg)
Rotate by Speed下的Angular Velocity可改变雨滴的下落方向。
![](http://cms.9tech.cn/uploads/allimg/131204/1009412036-26.jpg)
调节各个参数完毕后,即可达到最终效果(多调下参数,以便达到更好的效果)。
![](http://cms.9tech.cn/uploads/allimg/131204/10094155U-27.jpg)
到此,下雨效果完成(这里的效果看起来比较糙...)。
另外,可以把所用到的材质、贴图、脚本等资源全部放到rainFX文件夹中,方便以后使用的时候直接拿过来用就可以了~~
我把素材及工程源文件上传到网盘,童鞋们可以下载来看看~~
![](http://cms.9tech.cn/uploads/allimg/131204/100941DZ-16.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/100941HV-17.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/100941G49-18.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009413340-19.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009414457-20.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009411149-21.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009416417-22.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/10094160E-23.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009412951-24.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009411209-25.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009412036-26.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/10094155U-27.jpg)
http://pan.baidu.com/share/link?shareid=522605416&uk=3761044284
使用自带动画系统制作下雨效果。
先制作下雨的雨滴涟漪
步骤1:
在 project中新建文件夹,命名为rainFX。将图片素材RainStreak及Ripple导入到rainFX文件夹中,创建一个plane,改名 为RippleObj,创建一个material,命名为ripple。(将导入的Ripple贴图的Alpha from Grayscale 打上勾,以使贴图的背景透明)
步骤2:
将ripple材质赋给RippleObj。
![](http://cms.9tech.cn/uploads/allimg/131204/1009414519-0.jpg)
修 改材质的Shader为Particles/Addtive,将Ripple贴图赋给ripple材质的Texture,在inspector窗口中修改 Particle Texture,Tilling的x值设为0.1666,y为1,offset的x为0.8333,y为0。选中RippleObj,将Shader下的 Tint Color改为白色。(改为白色为了使雨滴更加明显一点)
![](http://cms.9tech.cn/uploads/allimg/131204/1009416013-1.jpg)
修改后效果:
![](http://cms.9tech.cn/uploads/allimg/131204/1009412146-2.jpg)
步骤3:
选中RippleObj,按Ctrl+6,调出Animation窗口,点击窗口下的Ripple(material),会发现下面都是灰色不可选状态。
![](http://cms.9tech.cn/uploads/allimg/131204/1009413Z6-3.jpg)
点击RippleObj右边的一个小按钮,会出现[Create New Clip],点击。此时Ripple(Material)下的选项都已可用。
![](http://cms.9tech.cn/uploads/allimg/131204/1009415647-4.jpg)
点击后会出现下面的对话框,提示保存动画文件。命名为RainAnimation,保存。
![](http://cms.9tech.cn/uploads/allimg/131204/1009414K6-5.jpg)
步骤4:
选择Ripple(Material)下的Main Tex.offset.x,点击右边的小横线->Addkey。
![](http://cms.9tech.cn/uploads/allimg/131204/1009414I3-6.jpg)
拖动时间轴到0.05,再次Addkey,修改offset.x为0.1666。分别在0帧Addkey,offset.x为0,0.05帧 Addkey,offset.x为0.1666,0.1帧Addkey,offset.x为0.3333,0.15帧Addkey,offset.x为 0.5,0.2帧Addkey,offset.x为0.6666,0.25帧Addkey,offset.x为0.8333。效果图如下:
![](http://cms.9tech.cn/uploads/allimg/131204/1009411938-7.jpg)
步骤5:
此时的Animation窗口中有一条从0.0—0.25的红色斜线,用鼠标框选六个关键帧,右键—>Both Tangents—>Constant(右键需在红色的关键点上点击)。此时斜线被改为梯形上升的线。选择Tint Color.a,在0.0帧修改Tint Color.a为1,0.25帧即最后一帧设置Tint Color.a为0。使动画有一个透明渐变的效果。
![](http://cms.9tech.cn/uploads/allimg/131204/100941N12-8.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009411W4-9.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/100941K16-10.jpg)
到此,涟漪效果制作完成。
步骤6:开始添加脚本,控制涟漪的消失,脚本名:RippleDestroy。
在Animation窗口中,最后一帧即0.25帧处,点击右边的Add Event按钮,在0.25帧添加一个事件并将DestroyMe()赋给Function。
![](http://cms.9tech.cn/uploads/allimg/131204/1009414T2-11.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/100941KY-12.jpg)
步骤7:
将RippleObj拖到rainFX文件夹中,使之成为一个prefab。然后可以将场景中的RippleObj删掉。
![](http://cms.9tech.cn/uploads/allimg/131204/100941D60-13.jpg)
创建一个空物体。GameObject—>Create Empty。改名为ripple,此时场景中只有Main Camera,ripple。
创建一个rippleFX脚本:
![](http://cms.9tech.cn/uploads/allimg/131204/1009413L6-15.jpg)
下雨效果分两部分:地上的涟漪和空中的雨滴。
现在开始使用unity3d的粒子系统制作下落的雨滴
步骤1:
新建一个粒子系统。
GameObject—>Create other—>Particle System。改名为raindrop。
![](http://cms.9tech.cn/uploads/allimg/131204/100941DZ-16.jpg)
步骤2:
新建一个材质(material),改名为跟贴图一样的名称RainStreak,修改材质的Shader为Particles/Addtive。
![](http://cms.9tech.cn/uploads/allimg/131204/100941HV-17.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/100941G49-18.jpg)
将贴图RainStreak赋给材质,修改Tiling的x为8。
![](http://cms.9tech.cn/uploads/allimg/131204/1009413340-19.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009414457-20.jpg)
修改RainStreak贴图的Wrap Mode为clamp(8为使贴图在单位面积上显示8个,即使单个贴图的面积变小,然后修改Wrap Mode为clamp即使粒子系统中显示的粒子为变小后的单个贴图)。
![](http://cms.9tech.cn/uploads/allimg/131204/1009411149-21.jpg)
步骤3:
将RainStreak的Material赋给粒子系统的Render下面的Material。
![](http://cms.9tech.cn/uploads/allimg/131204/1009416417-22.jpg)
此时粒子系统中显示的即为雨滴的贴图。
![](http://cms.9tech.cn/uploads/allimg/131204/10094160E-23.jpg)
步骤4:
修改粒子系统的Shape,使之变为圆柱形。
![](http://cms.9tech.cn/uploads/allimg/131204/1009412951-24.jpg)
调节参数Emission下的Rate,可修改雨滴密度。
![](http://cms.9tech.cn/uploads/allimg/131204/1009411209-25.jpg)
Rotate by Speed下的Angular Velocity可改变雨滴的下落方向。
![](http://cms.9tech.cn/uploads/allimg/131204/1009412036-26.jpg)
调节各个参数完毕后,即可达到最终效果(多调下参数,以便达到更好的效果)。
![](http://cms.9tech.cn/uploads/allimg/131204/10094155U-27.jpg)
到此,下雨效果完成(这里的效果看起来比较糙...)。
另外,可以把所用到的材质、贴图、脚本等资源全部放到rainFX文件夹中,方便以后使用的时候直接拿过来用就可以了~~
我把素材及工程源文件上传到网盘,童鞋们可以下载来看看~~
![](http://cms.9tech.cn/uploads/allimg/131204/100941DZ-16.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/100941HV-17.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/100941G49-18.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009413340-19.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009414457-20.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009411149-21.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009416417-22.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/10094160E-23.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009412951-24.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009411209-25.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/1009412036-26.jpg)
![](http://cms.9tech.cn/uploads/allimg/131204/10094155U-27.jpg)
http://pan.baidu.com/share/link?shareid=522605416&uk=3761044284
相关文章推荐
- Unity3d中使用自带动画系统制作下雨效果
- ios 系统 自带动画效果使用
- startActivity去除系统自带动画效果
- 使用 CSS3 实现超炫的 Loading(加载)动画效果以及cs3的在线制作工具
- 使用Unity3D制作技能图标冷却效果
- 弹簧动画效果(系统自带方法)
- 使用 CSS3 制作一组超时尚的动画按钮效果
- Visual Studio 2008自带的1000多个 Windows 系统使用的各种图标、光标和动画文件
- 使用CSS3 BACKFACE-VISIBILITY属性制作翻转动画效果
- 使用windows自带的diskpart工具制作U盘系统启动盘,从U盘装系统
- 使用CSS3 backface-visibility:hidden;属性制作翻转动画效果
- vs2008和vs10以及Windows Phone自带的1000多个 Windows 系统使用的各种图标、光标和动画文件
- CSS--使用Animate.css制作动画效果
- Unity3D之Mecanim动画系统学习笔记(六):使用脚本控制动画
- Unity3D之Mecanim动画系统学习笔记(六):使用脚本控制动画
- 「Unity3D」(4)使用AnimBool自定义Inspector动画效果
- CSS3简单动画效果与使用列表制作菜单
- Unity3d用户手册Mecanim 动画系统资源准备和导入制作自己的角色
- 使用blend制作地图区域改变颜色动画效果
- CSS3简单动画效果与使用列表制作菜单