<tbody id="c8gyz"><noscript id="c8gyz"><video id="c8gyz"></video></noscript></tbody>

    1. <li id="c8gyz"><tr id="c8gyz"></tr></li>

      <dd id="c8gyz"></dd>
    2. <tbody id="c8gyz"><pre id="c8gyz"></pre></tbody>
        专注3D产业技术16年,三维动画制作,3D特效动画,3D交互开发优质服务商!
        咨询电话:1868 148 2869 (微信同步)  客服QQ:390551442  1931122198
        CASES ·
        新闻中心
        这里象征着我们的方向和能力
        移动终端当前位置:首页 > 新闻中心

        Unity3D教程:如何使用动画系统制作下雨效果

        发表日期:2018/6/2 22:05:52     文章编辑:     浏览次数:1666     标签:游戏开发,Unity,动画系统,粒子系统,场景,素材

          很多游戏都会有下雨这个场景,那么在开发过程中要如何实现下雨呢?只需要借助自带的动画系统就可以制作下雨效果,鉴于有些开发者开不知道,那么就看看下面的实现方法吧。
          
          使用动画系统制作下雨效果方法
          
          先制作下雨的雨滴涟漪。
          
          步骤1:
          
          在project中新建文件夹,命名为rainFX。将图片素材RainStreak及Ripple导入到rainFX文件夹中,创建一个plane,改名为RippleObj,创建一个material,命名为ripple。(将导入的Ripple贴图的Alpha from Grayscale 打上勾,以使贴图的背景透明)
          
          步骤2:
          
          将ripple材质赋给RippleObj。
          
          修改材质的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改为白色。(改为白色为了使雨滴更加明显一点)

          
          修改后效果:
          
          步骤3:
          
          选中RippleObj,按Ctrl+6,调出Animation窗口,点击窗口下的Ripple(material),会发现下面都是灰色不可选状态。

          
          点击RippleObj右边的一个小按钮,会出现[Create New Clip],点击。此时Ripple(Material)下的选项都已可用。

          
          点击后会出现下面的对话框,提示保存动画文件。命名为RainAnimation,保存。

          
          步骤4:
          
          选择Ripple(Material)下的Main Tex.offset.x,点击右边的小横线->Addkey。

          
          拖动时间轴到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。效果图如下:

          
          步骤5:
          
          此时的Animation窗口中有一条从0.0—0.25的红色斜线,用鼠标框选六个关键帧,右键—>Both Tangents—>Constant(右键需在红色的关键点上点击)。此时斜线被改为梯形上升的线。选择Tint Color.a,在0.0帧修改Tint Color.a为1,0.25帧即最后一帧设置Tint Color.a为0。使动画有一个透明渐变的效果。


          
          到此,涟漪效果制作完成。
          
          步骤6:开始添加脚本,控制涟漪的消失,脚本名:RippleDestroy。
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        using UnityEngine;
        using System.Collections;
         
        public class RippleDestroy : MonoBehaviour
        {
            public void DestroyMe()
            {
                Destroy(gameObject);    //删除自身
            }
        }
          
          将脚本赋给RippleObj。
          
          在Animation窗口中,最后一帧即0.25帧处,点击右边的Add Event按钮,在0.25帧添加一个事件并将DestroyMe()赋给Function。


          
          步骤7:
          
          将RippleObj拖到rainFX文件夹中,使之成为一个prefab。然后可以将场景中的RippleObj删掉。

          
          创建一个空物体。GameObject—>Create Empty。改名为ripple,此时场景中只有Main Camera,ripple。
          
          创建一个rippleFX脚本:
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        using UnityEngine;
        using System.Collections;
         
        public class rippleFX : MonoBehaviour
        {
            public GameObject rippleObj;    //涟漪实例
            int ti;        //计时器
             
           void Start ()
            {
                 
            }
             
            void Update ()
            {
                ti++;
                if(ti>=5)        //每隔5帧,计时器发生作用
                {
                    GameObject tempObj=Instantiate(rippleObj) as GameObject;        //复制涟漪物体
                    tempObj.transform.parent=gameObject.transform;                //设置子物体
                    tempObj.animation.Play();                                    //播放动画文件
                    tempObj.transform.position=transform.position+new Vector3(Random.Range(10,-10),0,Random.Range(10,-10));//移动涟漪物体到一个随机位置
                }
            }
        }
          
          将rippleFX脚本赋给空物体ripple,再将prefab物体RippleObj赋给ripple的脚本的变量RippleObj即可。

          
          点击运行,即可出现地上很多涟漪的效果。
          
          涟漪做完了,下一篇继续写雨滴的做法~~
          
          接着昨天的(一),今天上下雨效果的后半部分。在最后附上网盘链接,有使用的素材及本次的工程源文件,想看看的童鞋可以下载~~
          
          下雨效果分两部分:地上的涟漪和空中的雨滴。那么现在就开始,是使用unity3d的粒子系统制作下落的雨滴。
          
          步骤1:
          
          新建一个粒子系统。
          
          GameObject—>Create other—>Particle System。改名为raindrop。
          
          步骤2:
          
          新建一个材质(material),改名为跟贴图一样的名称RainStreak,修改材质的Shader为Particles/Addtive。

          
          将贴图RainStreak赋给材质,修改Tiling的x为8。

          
          修改RainStreak贴图的Wrap Mode为clamp(8为使贴图在单位面积上显示8个,即使单个贴图的面积变小,然后修改Wrap Mode为clamp即使粒子系统中显示的粒子为变小后的单个贴图)。

          
          步骤3:
          
          将RainStreak的Material赋给粒子系统的Render下面的Material。
          
          此时粒子系统中显示的即为雨滴的贴图。
          
          步骤4:
          
          修改粒子系统的Shape,使之变为圆柱形。

          
          调节参数Emission下的Rate,可修改雨滴密度。

          
          Rotate by Speed下的Angular Velocity可改变雨滴的下落方向。

          
          调节各个参数完毕后,即可达到最终效果(多调下参数,以便达到更好的效果)。
          
          到此,下雨效果完成。

        相关文章
        • 服务热线:18681482869
        • 手机:1868 148 2869
        • 网址:www.k7ylc732.com
        • 地址:深圳市龙岗区大运软件小镇54栋202室

        Copyright ? 2015-2018 sx8d.com All Rights Reserved. 深圳市深信数字科技有限公司 版权所有 | 粤ICP备15084676号

        • qq客服
        • 公众号
        • 手机版
        • 公安备案查询
         
        预约上门

        请拨打销售热线 18681482869,或让我们联系您!

        姓名:  
        电话:  
        地址:  
        建设项目:  
        验证码:  验证码
        ×
        成年男女免费视频在线观看不卡_国产福利萌白酱精品tv一区_老司机成人午夜精品福利视频_欧美肥妇毛多水多bbxx