Unity3d 实现落叶飘效果

  • 一、 演示效果:
    • 1.gif图演示
    • 2.视频演示
  • 二、快速开始
    • 1.下载插件
    • 2.使用教程
  • 三、代码概述:
    • 1.LeavesLife.cs
    • 2.LeavesSpwan.cs

一、 演示效果:

1.gif图演示

2.视频演示

https://tempsharefiles.oss-cn-shanghai.aliyuncs.com/demo.mp4

二、快速开始

1.下载插件

    本插件主要内容为自主编写,部分功能利用到DOTween插件,仅供习使用, 下载地址如下:

https://tempsharefiles.oss-cn-shanghai.aliyuncs.com/Leaves.unitypackage

    插件结构如下:

2.使用教程

   1. 新建一个Canvas, 并在Canvas下新建一个Panel ,铺满Canvas,然后去掉Image组件2. 将 LeavesSpawn 脚本挂到Panel上,并将Leaves List 的 Size 设为33. 将 Prefabs 文件夹下的 leaf1 、leaf2 、leaf3 赋值给 Leaves List ,然后运行,即可看到效果 4. 其中 Leaves List  的长度可改,leaf 预设体的图片可改,以达到增加落叶多样性的目的

三、代码概述:

1.LeavesLife.cs

   LeavesLife.cs 脚本挂在预设体上,即 leaf 上  主要控制叶子飘落的方向、力度和生命周期
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;public class LeavesLife : MonoBehaviour
{public float lifeTime;float fade;bool isTimeToFade;// Start is called before the first frame updatevoid Start(){lifeTime = 8;int x = Random.Range(4000, 6000);int y = Random.Range(-6000, -4000);int a = Random.Range(50, 200);fade = (float)a / 255f;transform.GetComponent<Image>().color = new Color(1, 1, 1, fade);transform.GetComponent<Image>().DOFade(1, 6).OnComplete(()=> {transform.GetComponent<Image>().DOFade(0, 2);});transform.localScale = new Vector3(fade , fade , fade );transform.GetComponent<Rigidbody2D>().AddRelativeForce(new Vector2(x, y));}// Update is called once per framevoid Update(){lifeTime -= Time.deltaTime;if (lifeTime <= 0){Destroy(gameObject);}transform.Rotate(Vector3.forward,Time.deltaTime*60);}
}

2.LeavesSpwan.cs

   LeavesSpwan.cs 脚本主要用做生成 leaf 使用 控制生成的叶子的数量、位置和样式
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;public class LeavesSpwan : MonoBehaviour
{public List<GameObject> leavesList = new List<GameObject>();public List<Vector2> startPosList = new List<Vector2>();// Start is called before the first frame updatevoid Start(){int posx = -1600;for (int i = 0; i < 16; i++){posx = -1600 + i * 200;startPosList.Add(new Vector2(posx, 700));}StartCoroutine(SpawnLeaves());}IEnumerator SpawnLeaves(){while (true){yield return new WaitForSeconds(1f);for (int i = 0; i < leavesList.Count; i++){int index = Random.Range(0, startPosList.Count);GameObject leaf = Instantiate(leavesList[i],transform);leaf.GetComponent<RectTransform>().anchoredPosition = startPosList[index];leaf.GetComponent<Image>().SetNativeSize();}}}}

Unity3d 实现落叶飘效果相关推荐

  1. 秋风无情 吹落叶飘满地 流水无心 像东去的涟漪

    秋风无情 吹落叶飘满地 流水无心 像东去的涟漪 转载于:https://www.cnblogs.com/XDJjy/p/3235189.html

  2. Unity3d实现翻书效果

    Unity3d实现翻书效果 此教程需要用到Book-Page Curl Pro插件,unity商店里有,需要插件和工程的话留邮箱 1.将插件中的bookPro复制成自己的prefab,将page0和p ...

  3. ## Unity3D实现粒子光环效果

    Unity3D实现粒子光环效果 参考效果: http://i-remember.fr/en 基本思路如下 1. 使用unity3d自带的粒子系统 2. 为圆环设置最大半径maxR和最小半径minR 3 ...

  4. 【Unity3d Shader】景深效果

    摄影常用的一招就是背景虚化,背景虚化的相片可以突出拍摄主题,强调自己要展现的事物. 摄影技巧为:1,开大光圈:2,拉长焦距:3,主体离镜头近:4,背景离主体远 有了背景虚化,照片会变的有艺术感见下图( ...

  5. Unity3D——添加剑痕效果(PocketRPG Trail插件)

    首先非常感谢大家的支持,由于最近项目吃紧,所以更新的速度可能会有点慢!希望大家谅解,当然大家的支持是我最大的动力,我也会尽我所能写出更好的文章,当然由于本人是个新手而且工作的内容也不是unity3D, ...

  6. Unity3D——加入剑痕效果(PocketRPG Trail插件)

    首先非常感谢大家的支持,因为近期项目吃紧,所以更新的速度可能会有点慢!希望大家谅解,当然大家的支持是我最大的动力.我也会尽我所能写出更好的文章,当然因为本人是个新手并且工作的内容也不是unity3D. ...

  7. Unity3d简单的发牌效果

    废话不多说,直接上代码 using DG.Tweening; using System.Collections; using System.Collections.Generic; using Uni ...

  8. Unity3D 实现六角形花纹效果

    今天为大家分享一下,如何做一个六角形花纹效果的小Demo.     欢迎加我的学习交流群: 575561285          好吧!废话不多讲,我直接上图操作! 1.新建一个Unity3d 项目, ...

  9. android 落叶效果,css实现落叶动画效果

    目的: 实现落叶的旋转下落效果. (学习视频分享:css视频教程) 代码如下: html代码: css代码:#yeluobig{position: absolute;top: 29%;left: 30 ...

最新文章

  1. Rob hess 关于sift的说明
  2. 十七、二叉树的建立与基本操作
  3. 设计模式C++实现(10)——桥接模式
  4. 【Java】基于注解开发初探
  5. linux 命令 cd -p,Linux_实例讲解Linux中cd命令切换目录的使用技巧,cd命令大家再熟悉不过了,bash sh - phpStudy...
  6. spark写出分布式的训练算法_利用 Spark 和 scikit-learn 将你的模型训练加快 100 倍...
  7. [Silverlight]奇技银巧系列-2
  8. linux的驱动开发——字符设备驱动
  9. 大气自适应会员中心帝国cms模板
  10. 小白来学C语言之宏定义(#define)
  11. 自动化调参NNI学习(二):使用NNI框架调整LGBM模型
  12. DevExpress控件介绍
  13. SQLSERVER中的BCP命令使用
  14. 病毒详解及批处理病毒制作:自启动、修改密码、定时关机、蓝屏、进程关闭...
  15. SQL——正则表达式
  16. switch日文键盘打中文_从塞尔达到动森,游戏中使用的中文字体有什么问题?
  17. 分析docker启动MySQL挂载目录提示权限不足Permission denied原因
  18. RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2版本正式发布
  19. Dilated Convolution —— 空洞卷积(膨胀卷积)
  20. html5 自动分享到朋友圈,html5手机端分享微信朋友圈代码

热门文章

  1. 计算机英语实用教程课后答案,计算机英语实用教程课后题参考答案.pdf
  2. 艾永亮:耐克阿迪都慌了,成功逆袭的李宁,产品创新战略是什么
  3. Python快速幂算法实现
  4. c++中无名命名空间的使用
  5. RK3288平台 SPI接口调试步骤
  6. 《仗剑啸江湖》技术支持
  7. 企业邮件网关首选:TurboGate反垃圾邮件网关
  8. 100种乡村旅游盈利方式
  9. (二)MySQL数据库-库的创建和删除
  10. cad2006安装未找到html文件,我的CAD已安装在D驱动器上,但是在打开dwg文件时,它提示找不到C...