unity 3d实现下雨、雾气、萤火虫和火花四溅的粒子效果

文章目录

  • 先看最终效果
    • 1. 下雨效果
    • 2. 雾气效果
    • 3. 萤火虫和火花四溅的效果
  • 3d下雨粒子效果
  • 涟漪效果
  • 雨滴和涟漪效果结合
  • 水花效果
  • 雨滴涟漪水花结合
  • 问题
  • 雾气效果
  • 萤火虫
  • 火花效果
  • 萤火虫和火花效果结合
  • 完毕

先看最终效果

1. 下雨效果

在这里插入图片描述

2. 雾气效果

在这里插入图片描述

3. 萤火虫和火花四溅的效果

在这里插入图片描述

3d下雨粒子效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
直接调整为【Stretched Billboard拉伸/延伸渲染】
在这里插入图片描述
在这里插入图片描述
控制雨的大小
在这里插入图片描述

创建个材质
在这里插入图片描述
材质设置
在这里插入图片描述
挂载材质 设置延申效果
第一个叫做Speed Scale:通过比较每个粒子的速度,来去决定每个粒子拉伸/延伸的长度
而Length Scale:通过粒子的宽度,来决定粒子的长度
在这里插入图片描述

3d粒子大小随机化
在这里插入图片描述
颜色也可以设置随机化
在这里插入图片描述
在这里插入图片描述
开启碰撞
在这里插入图片描述
Planes类型:如果我们让粒子,
和某个模型希望有碰撞的话
那么呢,我们就将这个、某个模型添加到Planes当中
我们可以选择一种更加方便的方法
选择World世界模式
那就意味着:世界坐标系下任何的对象,都会与粒子效果进行交互碰撞
(严谨点说应该是:任何含有Collider组件的对象)
在这里插入图片描述
设置弹力
在这里插入图片描述
在这里插入图片描述

我们可以将Dampenl阻尼系数设置为1
表示的是,在粒子碰撞之后,
损失的速度百分比呢为100%
碰撞之后呢,阻止了粒子、可以使碰撞的粒子消失
在这里插入图片描述

在这里插入图片描述

涟漪效果

本期的重点就是:当我们的雨滴到达地面后呢
会发生涟漪,以及水花溅出的效果
在这里插入图片描述
我们这里,需要勾选【Sub Emitters子发射器模块】
在这里插入图片描述
选择在当前粒子的不同状态下
将会触发其他的“子的”粒子效果的功能
我们先提前去实现【涟漪的效果】
涟漪效果,新建粒子效果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
画个涟漪图片,这里有一种素材,直接下载就可以使用
请添加图片描述

新建材质
在这里插入图片描述
我们可以去选择【Horizontal Billboard】始终保持水平方向的形式,进行这张图片、这个材质的渲染
在这里插入图片描述
调亮材质的颜色
在这里插入图片描述
设置淡入淡出效果
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
设置曲线
在这里插入图片描述
在这里插入图片描述
初始颜色这里,我也选择在两种不同的透明度之间进行随机化

在这里插入图片描述
取消勾选,表示的是:这一个粒子效果并不是循环播放的
在这里插入图片描述
涟漪效果
在这里插入图片描述

雨滴和涟漪效果结合

将涟漪效果添加到我们刚才的雨滴当中,然后添加到Sub Emitters模块当中
在这里插入图片描述
触发的条件,我们选择的是当当前粒子、也就是我们的雨滴碰撞到任何的模型物体时呢,就会发出涟漪的效果
在这里插入图片描述

水花效果

创建【水花四溅的粒子效果:Splash】
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
水花材质
在这里插入图片描述
【这里还调整了Size over Lifetime,越来越小】
在这里插入图片描述
水花四溅效果
在这里插入图片描述

雨滴涟漪水花结合

将水花效果添加到我们刚才的雨滴当中
在这里插入图片描述
效果
在这里插入图片描述

问题

如果你在运行的过程当中,一开始有涟漪和水花的效果,然后过了一段时间呢又没有了,后面又继续出现水花播放的效果
那就说明了:你当前粒子效果能够显示的最大颗粒数,场景中允许的颗粒数,已经饱和了,就不会继续去生成新的粒子效果了,也就是在主模块当中的Max Particles达到了极限,就需要修改这里的Max Particles
在这里插入图片描述

上面设置的值表示,当粒子效果数量达到100以后,它就会为了保护计算机,当前面一波的粒子效果消失之后,才会去进行下一波的粒子效果的显示,这是一种保护性能、设置上限的方法,也是一种保护性能‘设置上限的方法

雾气效果

新建云层材质
在这里插入图片描述
这里材质拖入的雾气图片
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

绑定材质
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
效果
在这里插入图片描述

萤火虫

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
添加拖尾效果和拖尾材质,材质省事就用雨滴的材质
在这里插入图片描述

在这里插入图片描述

新增点光源,作为预设体
在这里插入图片描述
设置光源颜色
在这里插入图片描述
在这里插入图片描述
萤火虫贴图
在这里插入图片描述

萤火虫材质
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修改大小和颜色
在这里插入图片描述
在这里插入图片描述

火花效果

在这里插入图片描述
材质贴图
在这里插入图片描述

跟前面一样,弄个材质放在粒子上
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
旋转
在这里插入图片描述
淡入淡出
在这里插入图片描述

萤火虫和火花效果结合

萤火虫开启碰撞
在这里插入图片描述
绑定火花粒子效果
在这里插入图片描述
记得人物要开启碰撞collider组件
在这里插入图片描述

完毕

好了,我是向宇,https://xiangyu.blog.csdn.net/

一位在小公司默默奋斗的开发者,出于兴趣爱好,于是开始自习unity。最近创建了一个新栏目【你问我答】,主要是想收集一下大家的问题,有时候一个问题可能几句话说不清楚,我就会以发布文章的形式来回答。 虽然有些问题我可能也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~

我知道阁下是一位白嫖高手,但假如我说下面有个打赏按钮,那阁下又该如何应对呢?
(量力而行,力虽微,心暖人,你的支持是我创作的最大动力)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/28679.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

函数栈帧的创建与销毁

函数栈帧的创建与销毁 前言认识相关寄存器认识相关汇编命令详解思路图 前言 函数栈帧的创建与销毁在不同编译器下,函数调用过程中栈帧的创建略有差异,具体细节取决于编译器的实现,但大体逻辑是一致的。(在使用编译器时&#xff0…

某游戏登录密码加密,webpack

注意:文章内容仅用于学习和技术交流,切勿做出违法的事情,如有侵权请联系我删除。 网址(今天的大冤种):aHR0cHM6Ly93d3cuZ205OS5jb20v 一,分析 从上面图片可以看到,他的密码是加密了…

桥接模式(十)

不管怎么样,都要继续充满着希望 上一章简单介绍了适配器模式(九), 如果没有看过, 请观看上一章 一. 桥接模式 引用 菜鸟教程里面的 桥接模式介绍: https://www.runoob.com/design-pattern/bridge-pattern.html 桥接(Bridge)是用于把抽象化…

谷粒商城p46-配置网关路由与路径重写

软件 : vscode idea 服务: renren-fast,gulimall-product,gulimall-gateway、nacos 前提条件: gateway、renren-fast已经注册到nacos 注意: 1、renren-fast单独注入nacos依赖,不要注入common…

#2023开放原子全球开源峰会之旅

#2023我在开源峰会 2023开放原子全球开源峰会参会指南 嗨咯,大家好! 6月11号,是一年一度的开放原子大会,有幸参加,很开心! 文章目录 1、逛展区(领周边)环节1.1 CSDN展区1.2 阿里云 …

ansible的部署和命令模块

一、 ansible 的概述 1、ansible简介 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。 它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。 它使用SSH来和节点进行通信。Ansible基于 …

(九)CSharp-数组

一、矩形数组 1、访问数组元素 class Program{static void Main(string[] args){int[] intArr1 new int[15];intArr1[2] 10;int var1 intArr1[2];int[,] intArr2 new int[5, 10];intArr2[2, 3] 7;int var2 intArr2[2, 3];int[] myIntArray new int[4];for (int i 0; i…

计算字母出现次数【存在括号计算】

计算字母出现次数【存在括号计算】 此代码考虑到了本问题的大多可能情况,闲话少述,代码中的注释很丰富。 代码绝对可以解决你的问题! 不行你就评论,回复速度超快 作者时间YaoChongChong2023年6月14日10:40 Descript…

【gcc, cmake, eigen, opencv,ubuntu】五.CMakeLists.txt编写

文章目录 CMakeLists.txt编写1.CMakeLists.txt模板2.设置编程语言版本3.设置编译类型Debug,Release4.设置获取文件列表5.添加include目录6.配置编译选项 CMakeLists.txt编写 1.CMakeLists.txt模板 一个使用opencv 的 CMakeLists.txt # cmake最低版本要求 cmake_m…

该怎么学Python?自学Python的方法和资料整理!

导语 Python 作为一门简洁、易学且功能强大的编程语言,备受程序员和初学者的喜爱。如果你也想学习 Python,但不知从何入手,本文将为你整理一些自学 Python 的方法,助你快速入门并掌握这门语言。 为什么学习Python?&a…

requests库的使用

文章目录 get 请求post 请求get 请求和 post 请求的区别response1. res.headers2. status_code3. json get 请求 参数类型作用urlstr发起请求的地址params字典url为基准地址,不包含查询参数;使用此参数会自动对 params 字典编码,然后和url拼…

函数参数的拓展

函数参数的默认值 C 中可以在函数声明时为参数提供一个默认值 当函数调用时没有提供默认参数的值,则使用默认值 参数的默认值必须在函数声明中指定 当函数声明时没有出现参数的默认值,而定义的时候出现参数的默认值,编译器会报错 当函数声…

看了这几个C语言例子,你一定和我一样连说5个卧槽,声音一次比一次大

曾经我一直以为自己C语言学的还挺好的&#xff0c;直到看到这几个例子。 例1 首先来看一下&#xff0c;大师是如何求圆周率的&#xff0c;一口君实在词穷&#xff0c;first卧槽。 #include <stdio.h>long a10000,b0,c10000,d,e,f[10001],g;void main(){for(;b ! c; f[…

nginx的安装及代理和负载均衡设置

一、通过yum方式进行安装 官网参考地址&#xff1a;https://nginx.org/en/linux_packages.html#RHEL 1.1 安装好依赖 执行下面的命令安装 sudo yum install yum-utils1.2、 先配置好yum源 新建文件/etc/yum.repos.d/nginx.repo&#xff0c;文件内容&#xff1a; [nginx-s…

Spark SQL数据源:Hive表

文章目录 一、Spark SQL支持读写Hive二、Spark配置hive-site.xml三、准备工作&#xff08;一&#xff09;启动Hive的metastore&#xff08;二&#xff09;启动Spark Shell 四、Spark读写Hive数据&#xff08;一&#xff09;导入SparkSession&#xff08;二&#xff09;创建Spar…

内网安全:Cobalt Strike 与 MSF 联动( 会话 相互转移 )

内网安全&#xff1a;Cobalt Strike 与 MSF 联动&#xff08; 会话 相互转移 &#xff09; 在渗透中&#xff0c;有时候 Cobalt Strike 会话可能会受限制&#xff0c;所以我们需要把 Cobalt Strike 会话转移到 MSF 上进行后面的渗透。也有的时候会话在 MSF 上&#xff0c;但是…

MySQL数据库的认识及基础命令操作

目录 一、数据库的基本概念 1、数据库定义 &#xff08;1&#xff09; 数据 &#xff08;2&#xff09;表 &#xff08;3&#xff09; 数据库 2、 数据库管理系统&#xff08;DBMS&#xff09; 3、 数据库系统&#xff08;DBS&#xff09; 二、数据库系统发展史 1、 第一…

编程必备:JAVA多线程详解

目录 前言 1.入门多线程 1.1. 线程、进程、多线程、线程池 1.2.并发、串行、并行 1.3. 线程的实现方式 1.3.1. 继承 Thread 类 1.3.2. 实现 Runnable 接口 1.3.3. 使用 Callable 和 Future 1.3.4. 使用线程池 1.4.线程的状态 1.5. 线程常用方法 1.5.1 sleep() 1.4…

docker 网络理论知识点 - CNM 和命名空间

Network 目录 1 network namespace1.1 动手小实验 2 回到 docker2.1 driver and docker02.2 network2.3 网桥 docker0 3 总结 1 network namespace 1.1 动手小实验 网络命名空间。linux kernel 提供的网络虚拟化的功能。创建多个隔离的网络空间。每个空间内 firewall, ether …

【taro react】---- 解决H5接入uni-app版本的IM

1. 问题 由于项目开发比较紧张&#xff0c;腾讯 IM 的接入就使用了 TUIKit 含UI集成方案&#xff0c;遇到的问题&#xff0c;uni-app的UI本来就是一个单独的项目&#xff0c;需要集成到现有的 Taro React 中&#xff0c;就只能作为一个独立的项目&#xff0c;不跳转时不影响原有…