Unity 粒子系统(Particle System) (三)Sub Emitters,Texture Sheet Animation,Lights等属性详解

本文主要是介绍Unity 粒子系统(Particle System) (三)Sub Emitters,Texture Sheet Animation,Lights等属性详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上篇点击这里(一)!!

上篇点击这里(二)!!

Sub Emitters module(子发射器)

属性

属性功能
Sub Emitters配置子发射器的列表,并选择它们的触发条件以及它们从其父粒子继承的属性。

细节

许多类型的粒子在其生命周期的不同阶段产生效果,也可以使用粒子系统来实现。例如,一颗子弹在离开枪管时可能伴随着一团粉尘烟雾,而一个火球则可能因撞击而爆炸。您可以使用子发射器来创建这些效果。

子发射器是在场景或Prefabs(预制件)中创建的普通的粒子系统对象。这意味着子发射器可以拥有自己的子发射器(这种类型的布置对于像烟花这样的复杂效果可能是有用的)。然而,使用子发射器产生大量的粒子是非常容易的,这可能是资源密集型的。

有三个条件可以用来触发子发射器:

  • Birth(诞生:创建粒子时
  • Collision(碰撞:当粒子碰撞一个物体
  • Death(死亡:当粒子被破坏

请注意,Collision Death 事件只能在Emission(发射)模块中使用爆发排放

另外,可以使用Inherit选项将属性从父粒子传递到每个新创建的粒子可以传输任何尺寸,旋转,颜色和使用寿命的组合。要控制速度如何继承,请在子发射器系统上配置Inherit Velocity模块。


Texture Sheet Animation module(纹理图表动画模块)

一个粒子的图形不需要是静止图像。此模块可让您将“纹理”视为可作为动画帧回放的独立子图像的网格。

Grid mode properties(网格模式的属性)

PropertyFunction
Mode popup选择Grid (网格模式。
Tiles纹理分为X(水平)和Y(垂直)两个方向。
Animation(动画)动画模式可以设置为“Whole Sheet(整体或“ Single Row(单行)(单行:表单的每一行代表一个单独的动画序列)。
Random Row(随机行)

从表格中随机选择一行以产生动画。此选项仅在选择Single Row(单行作为Animation模式时可用.

Row(行)

选择工作表中的特定行以生成动画此选项仅在选择“ Single Row(单行模式并禁用“ Random Row(随机行时可用

Frame over Time(随着时间的推移指定动画框架随着时间的推移而增加的曲线。
Start Frame(开始帧)允许您指定粒子动画应该在哪个帧上开始(对每个粒子随机调整动画有用)
Cycles动画序列在粒子寿命期间重复的次数。
Flip U(翻转U在一定比例的粒子上水平镜像纹理。较高的值翻转更多的粒子。
Flip V(翻转V在一定比例的粒子上垂直镜像纹理。较高的值翻转更多的粒子。
Enabled UV Channels(启用UV通道
允许您精确指定哪些UV流受到粒子系统的影响。
 

Sprite mode properties(精灵模式属性)

PropertyFunction
Mode popupSelect Sprites mode.
Frame over Time(随着时间推移)
  指定动画框架随着时间的推移而增加的曲线。  Start Frame 允许您指定粒子动画应该在哪个帧上开始(对每个粒子随机调整动画有用)。 Cycles 动画序列在粒子寿命期间重复的次数。 Flip U 在一定比例的粒子上水平镜像纹理。 较高的值翻转更多的粒子。 Flip V 在一定比例的粒子上垂直镜像纹理。 较高的值翻转更多的粒子。 Enabled UV Channels 允许您精确指定哪些UV流受到粒子系统的影响。

细节

粒子动画通常比角色动画更简单和不太详细。在粒子单独可见的系统中,可以使用动画来传达动作或动作。例如,火焰可能会闪烁,虫群中的昆虫可能会像扑翼一样振动或颤抖。在粒子形成像云这样的单一连续实体的情况下,动画粒子可以帮助增加能量和运动的印象。

您可以使用Single Row(单排模式为粒子创建单独的动画序列,并在脚本之间切换动画。这对于创建变体或在碰撞后切换到不同的动画可能很有用。Random Row(随机行选项非常有效,可以打破粒子系统中显着的规律(例如,一组重复完全相同的闪烁动画的火焰对象)。该选项也可以用于每行一个帧,以生成随机图形的粒子。这可以用来打破像云这样的对象的规则性,或者从单个系统产生不同类型的碎片或其他对象。例如,bl might可能会发射一堆钉子,螺栓,球和其他抛射物,或者撞车的效果可能会导致弹簧,汽车油漆,螺钉和其他金属碎屑的排放。

UV翻转是为您的效果添加更多视觉效果的好方法,无需编写额外的纹理。

选择Sprites(精灵)“模式”下拉列表中的选项允许您定义要为每个粒子显示的精灵列表,而不是在纹理上使用常规网格。使用这种模式,您可以利用Sprite的许多功能,如Sprite Packer,自定义枢轴和每个Sprite框架的不同大小。Sprite Packer可以帮助您在不同的粒子系统之间共享材质,通过纹理的贴图,反过来可以通过动态分批提高性能。使用此模式需要注意一些限制。最重要的是,所有连接到粒子系统的精灵必须共享相同的纹理。这可以通过使用多模式Sprite或使用Sprite Packer来实现。如果为每个Sprite使用自定义枢轴点,请注意,您不能在它们的帧之间进行混合,因为每个框架之间的几何图形会有所不同。只支持简单的精灵,而不是9片。另外请注意,Mesh粒子不支持自定义枢轴或变化的Sprite大小。 


Lights module(灯光模式)

使用此模块将实时灯光添加到一定比例的粒子中。

属性

PropertyFunction
Light(灯光)指定一个Light Prefab来描述你的粒子灯应该如何显示。
Ratio(比例)介于0和1之间的值,描述将接收光的粒子的比例。
Random Distribution(随机分配)                   选择灯光是否随机或定期分配。勾选此设置每个粒子有一个随机的机会接受一个基于比例的光。较高的值会增加粒子发光的概率。取消勾选Ratio控制新创建的粒子接收光的频率(例如,每个第N个粒子将接收光)。
Use Particle Color(使用粒子颜色)勾选此设置,光线的最终颜色将被其附着的粒子的颜色调制。取消勾选,则使用Light颜色而不进行任何修改。
Size Affects Range(大小影响范围启用时,Light中指定Range(范围)将乘以粒子的大小。
Alpha Affects Intensity(Alpha影响强度)启用时,Intensity(强度)乘以粒子阿尔法值。
Range Multiplier(范围乘数)使用此曲线将自定义乘数应用于粒子生命周期中的光强度。
Intensity Multiplier(强度乘数)使用此曲线将自定义乘数应用于粒子生命周期中的光强度。
Maximum Lights(最大灯光)

使用此设置可避免意外创建大量灯光,这可能会导致编辑器无响应或使您的应用程序运行速度非常缓慢。

细节

Lights模块是一种快速添加实时灯光效果的方法。它可以用来使系统投射到周围环境,例如火灾,烟火或闪电。它也允许你让灯继承它们附着的粒子的各种属性。这可以使粒子效应本身发光的可信度更高。例如,这可以通过使光线与其颗粒淡出并使它们共享相同的颜色来实现。

这个模块使得很容易快速地创建大量的实时灯,而且实时灯具有高性能成本,尤其是在正向渲染模式下。如果灯光也投下阴影,性能成本更高。为了防止对排放速率的意外调整,从而导致创建数千个实时灯,应使用Maximum Lights属性。创建比目标硬件能够管理更多的灯光可能会导致速度变慢和无响应。


Trails module(足迹模块)

使用此模块将轨迹添加到您的粒子的百分比。该模块与Trail渲染器组件共享许多属性,但可以轻松将Trails附加到粒子,并从粒子继承各种属性。路径可以用于各种效果,如子弹,烟雾和魔法视觉效果。

“粒子”模式下的“追踪”模块

Particles(粒子模式下的Trails(足迹)模块

功能区模式中的Trails模块

Ribbon(功能区模式中的Trails模块

属性

Property:Function:
Mode选择如何为粒子系统生成路径。
Particle (粒子)模式创建一个效果,每个粒子在其路径上留下一条固定的路径。
Ribbon (功能区)模式创建一个连接每个粒子的轨迹,根据其年龄。
Ratio(比例)介于0和1之间的值,描述具有分配给它们的Trail的粒子的比例。Unity随机分配路径,所以这个值代表一个概率。
Lifetime(生命周期)取值介于0和1之间的值。轨迹中每个顶点的生命周期,表示为它所属粒子生命周期的乘数。当    每个新的顶点  被添加到轨迹中时,它在存在之后消失的时间比其总寿命长。
Minimum Vertex Distance最小顶点距离定义粒子在其Trail接收新顶点之前必须行进的距离。
World Space世界空间当启用时,即使使用Local Simulation Space(本地模拟空间,轨迹顶点也不会相对于粒子系统的游戏对象移动相反,轨迹顶点在世界中被放弃,并且忽略粒子系统的任何移动。
Die With Particles(粒子死亡)如果选中此复选框,则当它们的粒子死亡时,迹线立即消失。如果未选中此框,则剩余的路径将根据其剩余的生命期自然消失。
Ribbon Count   丝带计数选择在整个粒子系统中渲染多少个Ribbon(丝带值为1将创建一个连接每个粒子的单个功能区。但是,高于1的值会创建连接每个第N个粒子的色带。例如,当使用值2时,将有一个带连接颗粒1,3,5,另一个带连接颗粒2,4,6等。粒子的排序是根据它们的年龄决定的。
Split Sub Emitter Ribbons拆分子发射器丝带当在用作子发射器的系统上启用时,从同一父系统粒子派生的粒子共享一个条带。
Texture Mode(纹理模式选择应用于轨迹的纹理是沿着其整个长度延伸,还是以每N个距离单位重复。重复率是根据Tiling (料中)Material(物质参数来控制的
Size affects Width(大小影响宽度)如果启用(该框被选中),Trail宽度乘以粒度。
Size affects Lifetime(大小影响生命周期)如果启用(该框被选中),轨迹寿命乘以粒度。
Inherit Particle Color(继承粒子颜色)如果启用(该框被选中),Trail颜色将被粒子颜色调制。
Color over Lifetime(足迹的颜色)一条曲线来控制路径在其长度上的颜色。
Width over Trail(足迹的宽度)控制Trail在其长度上的宽度的曲线
Color over Trail(足迹的颜色)一条曲线来控制路径在其长度上的颜色。
Generate Lighting Data

启用此项(勾选框),建立包含法线和切线的Trail几何。这允许他们使用使用场景照明的材质,例如通过标准着色器,或使用自定义着色器



Custom Data module(自定义数据模块)

自定义数据模块允许您在编辑器中定义自定义数据格式以附加到粒子。你也可以在脚本中设置它。有关如何从脚本设置自定义数据并将该数据提供给着色器的更多信息,请参阅粒子系统顶点流的文档

数据可以采用Vector的形式,最多可包含4个MinMaxCurve组件,或者Color,这是一个支持HDR的MinMaxGradient使用此数据驱动脚本和着色器中的自定义逻辑。

每个曲线/渐变的默认标签可以通过点击它们并输入上下文名称来定制。将自定义数据传递给着色器时,了解在着色器内如何使用这些数据很有用。例如,曲线可以用于自定义alpha测试,或者可以使用梯度向粒子添加第二颜色。通过编辑标签,很容易在UI中记录每个自定义数据输入的目的。


Renderer module(渲染器模块)

渲染器模块的设置决定了粒子的图像或网格如何被其他粒子转换,着色和透支。

属性

PropertyFunction
Render Mode如何从图形图像(或网格)生成渲染图像。细节,下面,以获取更多信息
    Billboard( 广告牌粒子总是面向相机。
    Stretched Billboard(拉伸的广告牌)粒子面向相机,但应用了各种缩放(见下文)。
    Camera Scale(相机比例)根据相机移动拉伸粒子。将其设置为0可禁用相机移动拉伸。
    Velocity Scale(速度比例)沿着它们速度的方向按比例地将粒子拉伸到当前的大小。将其设置为0有效长度为0使得粒子消失。
    Length Scale  (长度比例)   沿着它们速度的方向按比例地将粒子拉伸到当前的大小。将其设置为0使得粒子消失,具有有效的0长度。
    Horizontal Billboard(水平广告牌 粒子平面平行于XZ“底”平面。
    Vertical Billboard( 垂直广告牌粒子在Y轴上是直立的,但是面向相机。
    Mesh(网孔粒子是从3D网格而不是纹理渲染的。
    None(无)如果您只想渲染路径并隐藏默认渲染,则在使用Trails模块时,这可能很有用
Normal Direction(正常方向用于粒子图形的照明法线偏移。相机的法线值为1.0,0.0值指向屏幕中心(仅限广告牌模式)。
Material(材料用于渲染粒子的材质。
Trail Material(足迹材质用于渲染粒子轨迹的材质。该选项仅在Trails模块启用时可用。
Sort Mode(排序模式粒子被抽取的顺序(因此被重叠)。可能的值是By Distance (from the Camera)Oldest in FrontYoungest in Front系统中的每个粒子将根据此设置进行排序。
Sorting Fudge                    粒子系统排序的偏差。较低的值会增加粒子系统相对于其他透明GameObjects(包括其他粒子系统)的相对机会。此设置仅影响整个系统出现在场景中的位置 - 它不会对系统中的单个粒子进行排序。
Min Particle Size(最小粒径最小的颗粒大小(不管其他设置),表示为视口大小的一部分。请注意,此设置仅适用于“Rendering Mode(渲染模式设置为“Billboard(广告牌”时
Max Particle Size(最大粒径最大粒径(不管其他设置),以视口尺寸的一部分表示。请注意,此设置仅适用于“Rendering Mode(渲染模式设置为“ Billboard(广告牌)”时
Billboard Alignment(广告牌队列)使用下拉菜单选择粒子广告牌面对的方向。
    View粒子面向摄像机。
    World粒子与世界轴线对齐。
    Local粒子与其GameObject的Transform组件对齐。
    Facing粒子面对Camera GameObject的直接位置。
Pivot(中心点)修改用作旋转粒子中心的中心点。
Visualize Pivot(可视化中心点)在场景视图中预览粒子中心点。
Custom Vertex Streams(自定义定点流)在您的材质的顶点着色器中配置哪些粒子属性可用。有关更多详细信息,请参阅粒子系统顶点流。
Cast Shadows(投射阴影)如果启用,粒子系统在阴影投射光照时创建阴影。
    On选择On(可启用阴影。
    Off选择Off (关)可禁用阴影。
    Two-Sided(双面)选择Two Sided(双面)可以从网格的任何一边投射阴影(意思是不考虑背面剔除)。
    Shadows Only(仅阴影 Shadows Only(仅阴影为了使阴影可见,但是网格本身不是。
Receive Shadows(接收阴影指示是否可以将阴影投射到粒子上。只有不透明的材料可以获得阴影。
Sorting Layer(排序图层)渲染器的排序图层的名称。
Order in Layer(在图层中订购)此渲染器在排序图层中的顺序。
Light Probes(光探针)基于interpolation (探头)的照明插值模式。
Reflection Probes(反射探针)如果启用并且场景中存在反射探针,则会为此GameObject选取反射纹理,并将其设置为内置Shader统一变量。
Anchor Override(锚覆盖)用于确定使用Light Probe(光探针)Reflection Probe(反射探针)系统时的插值位置的变换  or Reflection Probe systems are used.

细节

Render Mode(渲染模式)可以让你几个2D图形广告牌模式和Mesh模式之间进行选择。使用三维网格物体,当它们代表坚固的GameObjects(如岩石)时,会给予粒子更多的真实性,并且还可以提高云,火球和液体的体积感。当使用2D广告牌图形时,不同的选项可以用于各种效果。

  1. Billboard mode(广告牌模式)适用于表示从任何方向(如云)看起来都相同的音量的粒子。

  2. Horizontal Billboard(水平广告牌)模式可以在粒子覆盖地面时使用(例如目标指示符和魔法效果),或者当它们是平面飞行或平行于地面浮动的平面物体(例如,手枪)。

  3. Vertical Billboard(垂直广告牌模式保持每个粒子直立和垂直于XZ平面,但允许它围绕其y轴旋转。当使用正交相机时,这可能会有所帮助,并希望粒径保持一致。

  4. Stretched Billboard(拉伸的广告牌模式突出显示了粒子的速度,类似于传统动画设备使用的“拉伸和压扁”技术。请注意,在“展开式广告牌”模式下,粒子会对齐到面向相机,并与其速度对齐。无论速度比例值如何,这种对齐都会发生 - 即使“速度比例”设置为0,此模式下的粒子仍会与速度对齐。

正常方向可用于在平面矩形广告牌上创建球形阴影。如果您使用将光照应用于粒子的材质,这可以帮助创建3D粒子的幻觉。此设置仅用于Billboard渲染模式。


如果有理解错误的地方欢迎指点!!!

这篇关于Unity 粒子系统(Particle System) (三)Sub Emitters,Texture Sheet Animation,Lights等属性详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/412134

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

嵌入式Openharmony系统构建与启动详解

大家好,今天主要给大家分享一下,如何构建Openharmony子系统以及系统的启动过程分解。 第一:OpenHarmony系统构建      首先熟悉一下,构建系统是一种自动化处理工具的集合,通过将源代码文件进行一系列处理,最终生成和用户可以使用的目标文件。这里的目标文件包括静态链接库文件、动态链接库文件、可执行文件、脚本文件、配置文件等。      我们在编写hellowor

LabVIEW FIFO详解

在LabVIEW的FPGA开发中,FIFO(先入先出队列)是常用的数据传输机制。通过配置FIFO的属性,工程师可以在FPGA和主机之间,或不同FPGA VIs之间进行高效的数据传输。根据具体需求,FIFO有多种类型与实现方式,包括目标范围内FIFO(Target-Scoped)、DMA FIFO以及点对点流(Peer-to-Peer)。 FIFO类型 **目标范围FIFO(Target-Sc

019、JOptionPane类的常用静态方法详解

目录 JOptionPane类的常用静态方法详解 1. showInputDialog()方法 1.1基本用法 1.2带有默认值的输入框 1.3带有选项的输入对话框 1.4自定义图标的输入对话框 2. showConfirmDialog()方法 2.1基本用法 2.2自定义按钮和图标 2.3带有自定义组件的确认对话框 3. showMessageDialog()方法 3.1

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super