当前位置: 首页 > news >正文

Unity3D * 粒子特效 * Particle System

(基于阿发教程做的重点笔记)

粒子

用于模拟一些流动的,没有形状的物质,例如 液体,烟雾,火焰,爆炸,魔法等效果

去除粒子外框

particle system 粒子发生器,有1个主模块和22个子模块,默认启用

Emission发射的频率 /Shape 粒子发生器的形状 /Renderer 粒子的显示

还可以启用size over Lifetime ,鼠标长停留有详细注释

(实操)透明贴图变成粒子材质方法:

1.导入之后,勾选,然后apply

2.添加新粒子材质,着色器可以如下选择

然后把贴图托进去,进行替换即可

粒子的形状

本质是创建了无数小纸片,帮我们控制粒子的运动,而且就像广告牌一样,无论从哪个角度观察永远面对观察者,使用着色器和贴图,黑底比较好去除,使用透明或黑的好

粒子着色器的细节

additive multiply

主模块下的参数为基础参数:

两种常用设置:固定值和随机区间范围 

周期和时长设置

 模拟空间 ,其中的粒子系统要负责每一个粒子的坐标,速度,旋转,颜色,大小

发射模块Emission

匀速发射或者爆发式发射,匀速发射的两种方式:

时间匀速和距离匀速(rate over time)   (rate over distance),也可以作为粒子数量计算的考虑

粒子数量上限:max particles 默认1000,超过上限会停止产生,防止系统过载。

一般设置为1 或者概率值

一次爆炸大概0.1-0.2秒瞬间发生。(速度变慢,尺寸变小,颜色变淡)

粒子发射器形状

shape模块,发射器的形状,有立体有平面,

cone(圆锥形)

同理还有 box盒型发射器,sphere 球形发射器, circle 圆形发射器, 无形状发射器(粒子从轴心点发射向着Z轴方向),多进行实操的时候理解

颜色渐变(color over lifetime) 渐变器编辑器(gradient editor)alpha 渐入渐出效果(控制透明度渐变,淡入淡出,时隐时现)  最多添加八个控制点 ,注意颜色是做乘法的运算得到最终结果

大小渐变 size over lifetime   粒子材质  粒子大小  在粒子生命周期内会变大变小  横坐标,lifetime 纵坐标 size  曲线的编辑:贝塞尔曲线  通过控制点定义形状           constant 恒定值

粒子速度控制

velocity over lifetime(linear x/y/z ) space(world/ local) 加速/变速运动   curve x/y/z

粒子环绕, 环绕速度,与shape模块配合使用,初始速度设置为0 

velocity over lifetime :所有粒子绕着Z轴,轨道速度进行旋转,边绕行边扩大,注意有些形状初始速度为0会有影响。

速度叠加,V= start Speed + Velocity over lifetime 两者的矢量之和,初速度在发射时设置,并恒定。

linear z轴 是-2,向上运动,粒子会先向上运动再向下,speed modifier 是进一步的调节速度

速度如何叠加计算

粒子的受力 ,粒子在力的作用下也可以改变运动速度

force over lifetime (直接添加作用力,受力可以通过牛顿定律计算,但是粒子系统的力和物理世界的力没有关系,只是计算的模拟)

粒子以加速度下降 

limit velocity over lifetime  drag参数最重要,力的衰减 摩擦阻力

噪声模块,来自于介质的扰动,也可以说是噪波

strength 强度,空气扰动力量多大

frequency 频率,多长时间扰动

旋转  start rotation,默认情况下绕着Z轴旋转,也可以在3D空间中旋转

rotation over lifetime 每秒转多少度【角速度】

粒子的朝向

如何旋转,调整 render mod,想要让每个粒子的飞行方向和它的头部指向一致的时候:

第一步:切换渲染方式,到Stretched Billboard将长宽比设置为1

第二步:修改粒子的贴图,使得头的方向朝左

Stretched Billboard(拉伸广告牌),可以拉伸显示 length scale(长宽2:1)

  

计算公式得到最终拉伸比例speedscale一般是小数值,相乘结果表示的就是视觉残影,例如火星飞溅等情况,就是利用了视觉残影

制作爆炸效果,粒子小,生命周期短,速度快,思路步骤如下:

horizontal billboard 水平广告牌,

要注意背面会不会被着色,否则从下往上看不到,可以在shader中的 

进行设置 two size背面也着色

注意要记得prewarm

拖尾效果 Trails

粒子后面长长的小尾巴,例如烟花绽放         拖尾需要两个材质,一个开始,一个尾巴,尾部不要设置太多数量,trail中设置0-1  start lifetime = 5 秒  trail lifetime =0.1 

长度是时间长度的定义

宽度参数是width over trail  一般都用曲线来定义宽度

拖尾也可以是弯的,根据粒子的运动轨迹进行

拖尾的颜色 根据AB共同影响,粒子颜色

粒子动画

使用模块,tiles可以切割大图进行播放

可以分割贴图,并挨个显示图片,达到动图效果,*.tif是静态图片,只用一个粒子,渲染64帧图片

一些细节,例如1是指HDR可以调节

制作烛火效果步骤:

粒子与光照

粒子着色器比较特殊,无光照条件下也是一样的,不受光照影响(把光照的X值调到负数就会得到黑暗环境)照亮周围可以在粒子上添加点光源

可以在添加light模块,在粒子系统里添加点光源,选择预制体或者实例,

并不是所有粒子都携带了光源,那样性能损耗太大

爆炸效果

小技巧:不知道该怎么管理的时候可以挂一个空的父节点进行管理

是一个典型的粒子组合效果,爆发式的特点,速度快,时间短,思路步骤如下:

1.制作两种爆炸粒子,圆形和拉长效果的圆形粒子

2.圆形粒子,生命周期改短,速度快,初始大小改小,

3.添加velocity over lifetime      曲线修改向下曲线,让粒子往下走

4.修改粒子颜色如之前一样,变化

5.在粒子下添加火花子节点,替换粒子材质,爆发式的发射,球形发射,粒子大小随机值,速度变大,生命周期比前面的还短,速度因子velocity over lifetime,曲线调整,颜色淡入淡出变化

6.在粒子下再添加闪光子节点粒子效果,创建并加入材质

7.改成爆发式发射,一两个闪光即可,shape球形,半径值0.1,不需要速度,大小变大

8.size over lifetime 曲线从小到大,生命期改短,颜色渐变,淡入淡出(一般都需要),颜色变化

二级发射器

 记得使用burst发射,最好作为子节点   sub emiters

爆发概率

小练习  烟花绽放效果

1.爆发式粒子效果,拖尾模块,噪声干扰,颜色设置,

2.二级粒子球形发射器,半径小,爆发式发射,速度快,生命短,重力下落

3.一级粒子下面sub  emitters发射器,一级死亡产生二级,二级和一级颜色一致,继承inherited

粒子的碰撞

collision模块,落地弹起,推荐使用平面方式进行

物体之间碰撞就是碰撞体

使用world时候可以使用层来细化要碰撞的目标,尽量减少碰撞,物理系统下的层的概念。在unity进阶中有

粒子碰撞事件,当发生碰撞时可以使用脚本,事件函数无法预览,只有运行才可以

小练习:飞船和粒子传送阵

粒子效果分为循环播放,例如飞船尾焰,也有一次性使用的,例如碰撞

相关文章:

Unity3D * 粒子特效 * Particle System

(基于阿发教程做的重点笔记) 粒子 用于模拟一些流动的,没有形状的物质,例如 液体,烟雾,火焰,爆炸,魔法等效果 去除粒子外框 particle system 粒子发生器,有1个主模块和22个子模块&#xff0…...

【基础篇】1. JasperSoft Studio编辑器与报表属性介绍

编辑器介绍 Jaspersoft Studio有一个多选项卡编辑器,其中包括三个标签:设计,源代码和预览。 Design:报表设计页面,可以图形化拖拉组件设计报表,打开报表文件的主页面Source:源代码页码&#xff…...

数据结构:算法篇:快速排序;直接插入排序

目录 快速排序 直接插入排序 改良版冒泡排序 快速排序 理解: ①从待排序元素中选定一个基准元素; ②以基准元素将数据分为两部分:(可以将:大于基准元素放左,小于基准元素放右) ③对左半部分…...

WebAPI编程(第一天,第二天)

WebAPI编程(第一天,第二天) day01 - Web APIs 1.1. Web API介绍 1.1.1 API的概念1.1.2 Web API的概念1.1.3 API 和 Web API 总结 1.2. DOM 介绍 1.2.1 什么是DOM1.2.2. DOM树 1.3. 获取元素 1.3.1. 根据ID获取1.3.2. 根据标签名获取元素1.3.…...

查看MySQL存储引擎方法,表操作

修改数据库表存储引擎 show create table dept; show table status from itpux where name s2\G; select * from information_schema.TABLES where table_schemaitpux and table_names3; 查询整个mysql里面存储引擎是innodb/myisam的表 建表时候要写好存储引擎 -- 创建表 -- 表…...

【Python教程】Python3基础篇之Number(数字)

博主介绍:✌全网粉丝21W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…...

基于openEuler22.09部署OpenStack Yoga云平台(一)

OpenStack Yoga部署 安装OpenStack 一、基础准备 基于OpenStack经典的三节点环境进行部署,三个节点分别是控制节点(controller)、计算节点(compute)、存储节点(storage),其中存储…...

I.MX6U 启动方式详解

一、启动方式选择 BOOT 的处理过程是发生在 I.MX6U 芯片上电以后,芯片会根据 BOOT_MODE[1:0]的设置 来选择 BOOT 方式。 BOOT_MODE[1:0]的值是可以改变的,有两种方式,一种是改写 eFUSE(熔 丝),一种是修改相应的 GPIO 高低电平。第一种修改 eFUSE 的方式只能修改一次,后面就…...

施耐德变频器ATV320系列技术优势:创新与安全并重

在工业自动化领域,追求高效、安全与智能已成为不可阻挡的趋势。施耐德变频器ATV320系列凭借其强大的设计标准和全球认证,成为能够帮助企业降低安装成本,提高设备性能的创新解决方案。 【全球认证,品质保障】ATV320 系列秉持施耐德…...

系统思考—全局思维

昨天接到一个企业需求,某互联网公司VP希望N-1的核心团队一起学习系统思考,特别是在新业务快速发展的阶段。公司增长势头不错,但如何解决跨部门的协作问题,成为了瓶颈。全局思维就是关键。产品、技术、市场、运营、客服……如何打破…...

Windows如何切换用户访问局域网共享文件夹,如何切换网上邻居的账户

Windows如何切换用户访问局域网共享文件夹,如何切换网上邻居的账户 查看共享连接 使用net use命令可以查看当前已经建立的共享连接。net use删除共享连接 使用net use * /del 或net use * /delete命令可以删除所有当前的共享连接。net use * /delnet use * /delete如果只想删除…...

如何在谷歌浏览器中启用语音搜索

想象一下,你正在拥挤的地铁上,双手都拿着沉重的购物袋,突然你想搜索附近的咖啡馆。此时如果你能通过语音而不是打字来进行搜索,那将多么的便利!在谷歌浏览器中,启用语音搜索功能就是这么简单而高效&#xf…...

HarmonyOS NEXT 技术实践-基于基础视觉服务实现骨骼点识别

本示例展示了如何在HarmonyOS Next中实现基于基础视觉服务的骨骼点识别功能。骨骼点识别是计算机视觉中的一项重要技术,广泛应用于运动分析、健身监控和增强现实等领域。通过使用HarmonyOS Next提供的视觉API,开发者能够轻松地对人物图像进行骨骼点检测&…...

Debian系统宝塔面板安装LiteSpeed Memcached(LSMCD)

参考链接 1. 官网指引: https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:lsmcd:installation 2. 安装OpenLiteSpeed官方LSMCD对象缓存替换Memcached详细图文教程 - 搬主题 实操记录: 首先LSMCD 默认的端口是11211,…...

tcp 的三次握手与四次挥手

问1: 请你说一下tcp的三次握手一次握手两次握手三次握手问: 为什么不四(更多)次握手? 问 2: 请说一下 tcp 的 4 次挥手一次挥手两次挥手问题:能不能等到数据传输完成再返回 ack? 三次挥手四次挥手问: 为什么要等两个最大报文存在时间? bg: tcp 是可靠的连接,如何保证 建立连…...

QT--信号与槽机制

什么是信号与槽? 在 Qt 中,信号与槽是一种用于对象间通信的机制。它使得一个对象可以通知其他对象某个事件的发生,而不需要直接知道这些对象的具体实现。这种机制非常适合事件驱动的编程模型,如用户界面交互。 1. 信号&#xff…...

vue3项目history路由模式部署上线405、刷新404问题(包括部分页面刷新404问题)

一、找不到js模块 解决方法:配置Nginx配置文件: // root /your/program/path/dist root /www/wwwroot/my_manage_backend_v1/dist;二、刷新页面导致404问题(Not found) 经过一系列配置后发现进入页面一切正常,包括路由前进和回退&#xff0…...

电阻容差是啥意思

定义 电阻器在生产过程中,由于工艺等因素的限制,其实际阻值不可能与标称阻值完全一致,总会存在一定的误差。例如,一个标称阻值为100Ω、容差为5%的电阻,其实际阻值可能在95Ω至105Ω之间。 产生原因 材料特性差异&a…...

Rust: offset祼指针操作

offset是偏移元素个数,不是字节数! fn main(){let student_a Student{id:20240001,name:"张三娃".into(),class_id:3,age:14,grade:1};let student_b Student{id:20240002,name:"李四牛".into(),class_id:3,age:15,grade:1};let …...

SD本地部署和云端部署的区别以及优劣

相信有相当多多小伙伴应该是看了一些技术或者设计的博主的教程后开始尝试使用SD的,在大多数的SD教程中,绝大多数都是推荐本地化的部署流程,毕竟本地部署后的SD自由度会显得高一些,大部分的操作也都完全可以实现,只不过…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制&#xff0…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...