Unity 粒子系统参数说明

news/2024/9/18 8:13:08/ 标签: unity, 游戏引擎

一、Particle System

在这里插入图片描述

1. Duration(持续时间)

  • 粒子系统运行一次所需的时间。它决定粒子系统持续播放的时间长度。

2. Looping(循环播放)

  • 如果启用,粒子系统将在播放完一次后自动重新开始播放,直到你停止它。这通常用于持续的效果,比如烟雾、火焰。

3. Prewarm(预热)

  • Looping 启用时,此选项可以让粒子系统在播放前提前模拟一个周期,给人一种粒子效果已经在运行一段时间的感觉,比如风吹树叶时,叶子已经在空中飞舞。

4. Start Delay(开始延迟)

  • 粒子系统开始播放前的等待时间。可以用于创建复杂效果,或者与其他动画同步。

5. Start Lifetime(初始生命周期)

  • 控制粒子的存活时间。生命周期结束后,粒子会被销毁。不同的粒子可以有不同的生命周期,以达到多样化的效果。

6. Start Speed(初始速度)

  • 粒子出生时的速度。通过调整速度,可以模拟不同效果,比如快速飞舞的火花或者缓缓飘落的雪花。

7. 3D Start Size(三维初始尺寸)

  • 粒子的初始尺寸可以在 3D 空间内分别设置 x、y、z 轴的大小。不同轴上的尺寸可以用来生成扁平、细长、宽大的粒子。

8. Start Size(初始尺寸)

  • 粒子的整体初始尺寸。如果没有启用 3D Start Size,则使用该参数。

9. 3D Start Rotation(三维初始旋转)

  • 粒子在生成时在 3D 空间内的旋转角度。可以给粒子不同方向的初始角度。

10. Start Rotation(初始旋转)

  • 控制粒子在生成时的旋转角度。如果没有启用 3D Start Rotation,则使用该参数。

11. Flip Rotation(翻转旋转)

  • 控制粒子旋转时的翻转,通常用于创建对称效果。

12. Start Color(初始颜色)

  • 粒子在生成时的颜色,可以用于模拟各种效果,例如火焰从橙色渐变到灰色。

13. Gravity Modifier(重力修正)

  • 控制粒子受重力影响的程度。用于模拟现实中重力对物体的影响,比如水滴下落。

14. Simulation Space(模拟空间)

  • 确定粒子系统是相对于世界空间(World)还是本地空间(Local)模拟。Local 模拟让粒子跟随粒子系统的移动,而 World 则让粒子独立于粒子系统。

15. Simulation Speed(模拟速度)

  • 控制粒子系统的播放速度。可以用来快速生成或减慢粒子的运动速度。

16. Delta Time(时间增量)

  • 控制粒子系统的时间流动。通常与 Simulation Speed 配合调整。

17. Scaling Mode(缩放模式)

  • 决定粒子系统是否随 GameObject 的缩放变化。例如,在 Scaled 模式下,缩放粒子系统的父对象时,粒子尺寸也会相应变化。

18. Play On Awake(在激活时播放)

  • 如果启用,粒子系统在被激活时会自动开始播放。

19. Emitter Velocity Mode(发射器速度模式)

  • 控制粒子生成时是否受到发射器移动速度的影响。用于模拟烟雾从快速移动的车辆后面流动的效果。

20. Max Particles(最大粒子数量)

  • 限制粒子系统中同时存在的粒子数量。可以用来控制性能,防止生成过多的粒子。

21. Rigidbody(刚体)

  • 如果粒子系统与物理引擎交互,可以为粒子系统添加刚体组件。

22. Auto Random Seed(自动随机种子)

  • 自动为粒子系统生成随机种子,使每次播放的效果略有不同,增添自然感。

23. Stop Action(停止动作)

  • 粒子系统停止播放时执行的操作,例如销毁粒子系统或者禁用 GameObject。

24. Culling Mode(剔除模式)

  • 控制粒子系统是否在摄像机看不到时自动停止模拟,以节省性能。

25. Ring Buffer Mode(环形缓冲区模式)

  • 控制粒子系统如何循环复用粒子。用于创建无限循环的效果。

在这里插入图片描述

二、Emission

1. Emission(发射)

  • 这个模块控制粒子从发射器中生成的方式,包含粒子的生成速率和方式。

2. Rate over Time(时间发射率)

  • 控制粒子系统每秒生成的粒子数量。数值越高,粒子生成越快。例如,设置为 10,则每秒会生成 10 个粒子。
  • 适用于持续性粒子效果,比如烟雾或火焰,通常希望粒子能以固定速率不断生成。

3. Rate over Distance(距离发射率)

  • 控制粒子系统每移动一定距离生成的粒子数量。例如,将其设置为 5,则粒子系统每移动 1 个单位距离,就会生成 5 个粒子。
  • 适用于模拟移动效果,比如一个快速移动的火箭尾焰,火箭移动越快,尾焰越多。

4. Bursts(爆发)

  • 设置粒子系统在特定时间点一次性生成大量粒子的数量。你可以指定多个爆发事件,每个事件在指定时间生成指定数量的粒子。
  • 通常用于模拟瞬时发生的效果,比如爆炸、火花四射等。
Bursts 的参数
  • Time(时间):指定爆发事件发生的时间点,以秒为单位。
  • Count(数量):每次爆发生成的粒子数量。可以设置一个范围,例如 10-20,这样每次爆发时粒子的数量会在 10 到 20 之间随机变化。
  • Cycles(循环次数):指定该爆发事件要重复多少次。
  • Interval(间隔):如果 Cycles 大于 1,Interval 指定每次爆发的时间间隔。
  • Probability(概率):控制该爆发事件发生的概率。范围是 0 到 1,例如设置为 0.5,表示该爆发事件有 50% 的概率发生。

三、Shape

在这里插入图片描述

1. Shape(形状)

  • 该参数决定粒子从何种形状的区域发射出来。Unity 提供了多种形状选项,比如球形、圆锥形、立方体等,每种形状都有不同的参数用于进一步调整发射效果。

常见的形状类型及参数

Cone(圆锥)
  • 粒子从一个圆锥形区域发射,适用于模拟火焰、喷泉等效果。主要参数如下:
    • Angle(角度):控制圆锥的发射角度。较小的角度会让粒子从更窄的范围发射,较大的角度则会扩散得更广。
    • Radius(半径):圆锥底部的半径,决定粒子发射区域的大小。
    • Radius Thickness(半径厚度):控制粒子是从圆锥的边缘还是从内部发射。范围从 0 到 1,0 表示粒子只从边缘发射,1 表示粒子从整个半径范围发射。
    • Arc(弧度):圆锥形的弧度范围,0 到 360 度。可以用于生成半圆、扇形发射效果。
    • Emit from(发射位置):控制粒子是从圆锥的底部还是整个圆锥区域发射。例如,可以选择从圆锥的底部、边缘或体积内发射。
Sphere(球体)
  • 粒子从一个球形区域发射。常用于模拟烟花、爆炸、气泡等效果。
    • Radius(半径):球形的半径。
    • Emit from(发射位置):可以选择粒子从球体表面或球体内部发射。
Box(盒子)
  • 粒子从一个立方体区域发射,适用于模拟瀑布、雨等效果。
    • Scale(缩放):控制立方体的大小。
    • Emit from(发射位置):选择粒子从盒子的表面、边缘或内部发射。
Circle(圆形)
  • 粒子从一个圆形区域发射,适用于模拟喷泉、光环等效果。
    • Radius(半径):圆形的半径。
    • Arc(弧度):圆形的弧度范围,0 到 360 度。
    • Emit from(发射位置):可以选择从圆的边缘、内部发射。

2. Texture(纹理)

  • 可以使用一张 2D 纹理来定义粒子的发射形状。例如,用一张图片来定义发射区域,粒子会根据纹理图案进行分布和发射。
纹理参数
  • Position(位置):控制纹理在发射器上的位置偏移。
  • Rotation(旋转):控制纹理的旋转角度,影响粒子发射的方向。
  • Scale(缩放):调整纹理的大小,影响粒子的发射范围。

3. Align To Direction(与方向对齐)

  • 粒子会根据它们的发射方向对齐,适用于模拟火花、射线等具有方向性的粒子效果。

4. Randomize Direction(随机化方向)

  • 给粒子的发射方向添加随机性,可以模拟不规则的发射效果,例如烟花散开的轨迹。

5. Spherize Direction(球形化方向)

  • 将粒子的发射方向球形化,使粒子朝向发射器的外部。这在球形发射器中非常有用,可以创建爆炸或向外扩散的效果。

6. Randomize Position(随机化位置)

  • 在发射形状内随机化粒子的初始位置,使得粒子效果更加自然和多样化。

四、Renderer

在这里插入图片描述
这些参数属于 Unity 粒子系统中 “Renderer” 模块的设置,用于控制粒子的外观和渲染方式,包括粒子的对齐、大小、材质、排序等。下面是这些参数的详细解释:

1. Render Mode(渲染模式)

  • 控制粒子的渲染方式,有多种选项:
    • Billboard:粒子始终面向摄像机,无论摄像机的位置如何。常用于烟雾、火焰等效果。
    • Stretched Billboard:粒子以拉伸的方式呈现,通常用于尾迹效果,如火箭尾焰、子弹轨迹等。你可以调整拉伸参数使效果更合适。
    • Horizontal Billboard:粒子始终与地面平行,适用于地面雾气、水面波纹等效果。
    • Vertical Billboard:粒子始终垂直于地面,适用于一些特殊的视觉效果。
    • Mesh:粒子呈现为 3D 模型(网格),可以选择自定义的 Mesh(网格)作为粒子外形。

2. Normal Direction(法线方向)

  • 控制粒子的法线方向,影响粒子的光照效果。通常用于调整粒子的光照和反射。正值让法线向外,负值让法线向内。

3. Material(材质)

  • 用于为粒子指定材质(Material),控制粒子的外观。材质决定了粒子的颜色、透明度、纹理等特性。你可以选择自定义材质以实现更复杂的视觉效果。

4. Sort Mode(排序模式)

  • 决定粒子的渲染顺序,防止粒子之间的视觉冲突:
    • None:不对粒子进行排序,按创建顺序进行渲染。
    • By Distance:根据粒子到摄像机的距离进行排序,通常用于透明粒子,以正确显示重叠效果。
    • Oldest in Front:最早生成的粒子在最前面。
    • Youngest in Front:最近生成的粒子在最前面。

5. Sorting Fudge(排序偏移)

  • 一个微调参数,用于在相同深度的多个粒子系统之间设置渲染顺序。值越大,该粒子系统越靠前显示。

6. Min Particle Size(最小粒子尺寸)

  • 控制粒子在屏幕上的最小显示尺寸,防止粒子因为距离过远而变得太小或消失。范围是 0 到 1,1 表示粒子始终保持原始尺寸。

7. Max Particle Size(最大粒子尺寸)

  • 控制粒子在屏幕上的最大显示尺寸。防止粒子因为距离过近而变得太大。

8. Render Alignment(渲染对齐)

  • 决定粒子在世界空间或局部空间的对齐方式:
    • View:粒子始终面向摄像机。
    • World:粒子按世界坐标系对齐,受世界空间的影响。
    • Local:粒子按本地坐标系对齐,适用于固定在特定物体上的效果。

9. Flip(翻转)

  • 随机翻转粒子在 X、Y 轴的显示方向,通常用于增加视觉效果的多样性。

10. Pivot(枢轴)

  • 控制粒子的旋转中心点,可以调整粒子图形的偏移。

11. Masking(遮罩)

  • 控制粒子的遮罩方式,影响粒子与其他对象之间的可见性。例如,用于遮挡粒子穿过物体的效果。

12. Custom Vertex Streams(自定义顶点流)

  • 设置自定义数据流,以便在着色器中使用。例如,用于实现更高级的粒子效果,如动态颜色变化。

13. Cast Shadows(投射阴影)

  • 决定粒子是否投射阴影,常用于粒子与环境的交互。
    • On:粒子投射阴影。
    • Off:粒子不投射阴影。
    • Two-Sided:双面投射阴影。

14. Receive Shadows(接受阴影)

  • 控制粒子是否接受其他对象的阴影,影响粒子的受光效果。

15. Motion Vectors(运动矢量)

  • 控制粒子的运动矢量,用于实现运动模糊效果。

16. Sorting Layer ID(排序层 ID)Order in Layer(层内顺序)

  • 用于指定粒子系统的渲染层和层内的渲染顺序。用于确保粒子效果与其他对象的正确显示顺序。

17. Light Probes(光照探针)

  • 控制粒子系统是否使用场景中的光照探针,影响粒子的光照效果。

18. Reflection Probes(反射探针)

  • 控制粒子系统是否使用场景中的反射探针,影响粒子的反射效果。

通过调整这些参数,你可以自定义粒子的渲染方式,实现不同的视觉效果,例如烟雾、火焰、爆炸、闪电等。


http://www.ppmy.cn/news/1526243.html

相关文章

SpringBoot框架Web开发

1. 控制器开发 (1) JSON的支持 Spring Boot默认支持JSON格式的数据交换,主要通过以下方式实现: 依赖:spring-boot-starter-web 依赖包已经包括了 Jackson,用于将Java对象序列化为JSON,以及将JSON反序列化为Java对象…

Protubuf入门

⼀、初识 ProtoBuf 1. 序列化概念 序列化和反序列化 序列化:把对象转换为字节序列的过程 称为对象的序列化。 反序列化:把字节序列恢复为对象的过程 称为对象的反序列化。 什么情况下需要序列化 存储数据:当你想把的内存中的对象状态…

Java零基础-replace(CharSequence target, CharSequence replacement)详解

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互…

2024年某大厂HW蓝队面试题分享

🤟 基于入门网络安全/黑客打造的资源包无偿分享中: 👉黑客&网络安全入门&进阶学习资源包 应急响应流程 1)首先判断服务器资产、影响范围以及严重程度,确认有没有必要将服务器下线隔离,然后根据服务…

【佳学基因检测】在织梦网站中, 创建或修改目录:/var/www/html/cp 失败! DedeTag Engine Create File False

【佳学基因检测】在织梦网站中, 创建或修改目录:/var/www/html/cp 失败! DedeTag Engine Create File False 在使用 DedeCMS(一个常用的内容管理系统)时,如果遇到“创建或修改目录:/var/www/html/cp 失败&…

工程师 - HUE(Humans in User Experience)介绍

HUE:Humans in User Experience(用户体验中的人类)是用户体验(UX)设计领域的一种概念或方法,强调在设计过程中考虑人的因素的重要性。它侧重于了解用户的需求、行为和情感,从而创造出更有效、更…

flask框架

Flask 1 flask简介 我们之所以在浏览器中输入localhost:8080然后就可以把webapps下面的项目文件以浏览器的方式打开,功臣在与tomcat。python语言写的项目,转换为web,Flask框架 轻量级web应用框架。 环境准备: pip install fl…

基于鸿蒙API10的RTSP播放器(七:亮度调节功能测试)

目标: 当我的手指在设备左方进行上下移动的时候,可以进行屏幕亮度的调节,在调节的同时,有实时的调节进度条显示 步骤: 界面逻辑:使用Stack() 组件,完成音量图标和进度条的组合显示&#xff0c…

鹏哥C语言自定义笔记重点(67-)

67. 68. 69. 70. 71.结构体内容 72.理解结构体的字节数 73. #pragma once //头文件中使用,功能是:防止头文件被多次引用 74.结构体传参 结论:结构体传参时,要传结构体地址。 75.位段 76.static是只能在该文件中看到,其他地方看不到 77.…

通俗理解矩阵的秩

通俗理解矩阵的秩 flyfish 一、通俗的理解 想象有一张表格(矩阵),表格里有很多数字。矩阵的秩告诉我们这个表格里的数据有多么“特别”或者“复杂”。 1. 行和列的概念: 矩阵是由行(横排的数字)和列&a…

vue + Lodop 制作可视化设计页面 实现打印设计功能(四)

历史: vue2 Lodop 制作可视化设计页面 实现打印设计功能(一) vue Lodop 制作可视化设计页面 实现打印设计功能(二) vue Lodop 制作可视化设计页面 实现打印设计功能(三) 前言&#xff1a…

uniapp vue3 梯形选项卡组件

实现的效果图&#xff1a; 切换选项卡显示不同的内容&#xff0c;把这个选项卡做成了一个组件&#xff0c;需要的自取。 // 组件名为 trapezoidalTab <template> <view class"pd24"><view class"nav"><!-- 左侧 --><view cla…

web基础之文件上传

1.下载安装 下载地址 链接&#xff1a;百度网盘-链接不存在 提取码&#xff1a;jhks 安装 直接把他放在phpstudy的WWW目录中。&#xff08;phpstudy的下载安装&#xff0c;可以自行百度一下&#xff09; 打开 访问地址&#xff1a;127.0.0.1/upload-labs 问题 这里可能…

MCU与SOC的区别

自动驾驶中 MCU 与 SoC 的区别 在自动驾驶系统中&#xff0c;**MCU&#xff08;微控制单元&#xff0c;Microcontroller Unit&#xff09;和SoC&#xff08;系统级芯片&#xff0c;System on Chip&#xff09;**都是关键的电子元件&#xff0c;但它们在性能、功能和应用领域等…

MATLAB在嵌入式系统设计中的最佳实践

嵌入式系统设计是一个复杂的过程&#xff0c;涉及硬件和软件的紧密集成。MATLAB提供了一套全面的解决方案&#xff0c;从算法开发到代码生成&#xff0c;再到硬件验证&#xff0c;极大地简化了这一过程。本文将探讨使用MATLAB进行嵌入式系统设计的最佳实践&#xff0c;包括模型…

10分钟在钉钉上增加一个AI机器人

您只需 10 分钟&#xff0c;无需任何编码&#xff0c;即可为您的组织在钉钉平台上创建一个有大模型能力加成的 AI 机器人。这个机器人可以全天候&#xff08;7x24&#xff09;响应用户咨询&#xff0c;还能解答私域问题&#xff0c;成为您业务的专属机器人&#xff0c;提升用户…

时序数据库 TDengine 的入门体验和操作记录

时序数据库 TDengine 的学习和使用经验 什么是 TDengine &#xff1f;什么是时序数据 &#xff1f;使用RPM安装包部署默认的网络端口 TDengine 使用TDengine 命令行&#xff08;CLI&#xff09;taosBenchmark服务器内存需求删库跑路测试 使用体验文档纠错 什么是 TDengine &…

k8s service如何实现流量转发

1 基本概念 Service&#xff1a;在Kubernetes&#xff08;K8s&#xff09;中&#xff0c;Service用于将流量转发到后端的Pod中。Service提供了一种稳定的网络入口&#xff0c;尽管后端的Pod可能会动态改变 kube-proxy: kube-proxy是Kubernetes集群中的核心组件之一&#xff0…

C++:opencv多边形逼近二值图轮廓--cv::approxPolyDP

cv::approxPolyDP 是 OpenCV 中一个用于多边形逼近的函数。它通过 Douglas-Peucker 算法将复杂的轮廓简化为更少的点&#xff0c;这在图像处理和计算机视觉中非常有用。例如&#xff0c;简化的轮廓可以帮助提高形状分析和轮廓检测的效率。 函数原型 void cv::approxPolyDP(co…

基于Python的自然语言处理系列(9):使用TorchText与预训练词嵌入进行新闻分类

在前一篇文章中&#xff0c;我们展示了如何使用TorchText和RNN进行新闻分类。在这篇文章中&#xff0c;我们将改进之前的模型&#xff0c;通过使用预训练词嵌入、优化器的更改、正交初始化以及打包填充序列的技巧&#xff0c;提升模型的学习效率和效果。 1. 改进方向 提高模型…