Unity-Particle System属性介绍(一)基本属性

什么是ParticleSystem

粒子系统是Unity中用于模拟大量粒子的行为的组件。每个粒子都有一个生命周期,包括出生、运动、颜色变化、大小变化和死亡等。粒子系统可以用来创建烟雾、火焰、水、雨、雪、尘埃、闪电和其他各种视觉效果。

开始

在项目文件下创建一个Vfx文件夹用于存放我们的Prefab资源。进入Vfx文件夹之后,右键选择Prefab,命名为testVfx后双击在Scenes界面出现一个空白对象。

Add Component中输入Particle System(之后简称PS)便可以自动添加一个带有示例的Particle System组件。

点击播放,可以见到下图效果:

基本属性

由于Particle System中属性内容复杂,将会分模块讲述。我们姑且将testVfx中的部分称之为基本属性,内容如下,可以对照目录直接跳转对应部分查看。

Duration-发射粒子的时间长度

PS发射粒子的时间长度(以秒为单位),如果勾选了下方的looping则默认设置为1。

将其设置为3并将原本的looping取消勾选,便可以发现粒子发射大约3s后停止发射。

Prewarm-预热选项

预热选项(常用于大量粒子会被发射,需要提前进行模拟的情景),仅有当looping勾选时方可进行勾选。

The Particle System looks like it has already simulated for one loop when first becoming visible.

Start Delay-开始发射的延迟时间(秒)

开始发射的延迟时间(秒),但是Duration中设计的秒数会往后顺延——原本3s结束发射,拖延到了4s结束。

Start Lifetime-粒子的生命周期

粒子的生命周期。将其设置为2之后再次点击播放,可以明显见到存在的粒子数目明显减少,消散速度变快。

StartSpeed-开始时的出发速度

开始时的出发速度,我们将其设置为20。可以见到锥形显示区域明显变大,播放后粒子移动速度加快。

3D Start Size-3D 方向伸长大小调节

如果勾选,便可以调节粒子在x,y,z轴上各自的长度。留意此处坐标轴并非是和世界坐标轴相一致,而是相对于相机的坐标轴。

我们将z设置为10,点击播放。可以发现并没有发生变化。因为z轴是垂直我们观察角度的轴,其长短变化不可视。使用右键移动视角之后发现亦是如此。

将z设置回1,将x设置为7。点击播放。

3D Start Rotation-旋转角度

如果勾选,便可以调节粒子在x,y,z轴上各自的逆时针翻转角度(度)。我们将z设置为90。

可以见到原本横条全部变为了竖条(薯条🍟)。

Flip Rotation-反翻转

设置多少比例的粒子,反着设置的3D Start Rotation进行发射。(取值范围0~1)

我们将3D Start Rotation中的z设置为45,Flip Rotation设置为0.3。

可以见到少数粒子变为顺时针翻转45°。

Start Color-开始粒子颜色

设置一开始的粒子颜色,但是非常短暂几乎不可见。

Gravity Source-重力来源

拥有 3D Physics 和 2D Physics 两个选项。根据实际项目情况进行选择即可。

Gravity Modifier-重力调节器

重力的调节器,设置为0为无重力状态,之后 True Gravity = Modifier * Gravity。

此处我们设置为1,可以看到粒子呈现往下掉的视觉效果。

Simulation Space-粒子模拟相对空间

粒子模拟空间

  • Local:粒子系统将在其父对象(一般为Particle System所属对象)的局部空间内进行模拟。这意味着粒子的位置是基于父对象的位置和旋转计算的。这对于当你想要粒子系统跟随父对象移动或旋转时非常有用。

  • World:粒子系统将在世界空间中进行模拟。这意味着粒子的位置是基于整个场景的世界坐标计算的。这对于当你想要粒子系统独立于父对象移动或旋转时非常有用。

  • Custom:粒子系统将在自定义空间中进行模拟。这是一个更高级的选项,允许你定义自己的空间变换矩阵,从而实现更复杂的粒子系统行为。

Simulation Speed-粒子模拟速度

模拟速度。我们将其设置为秒,可以见到原本结束发射时间为4秒,现在被快进2倍到2秒。


Delta Time-更新时间模式

在粒子系统中,Delta Time(ΔT)是每一帧中时间的增量,用来驱动粒子系统的更新。Delta Time 可以有两种模式:ScaledUnscaled,它们的区别主要体现在时间的计算方式上。

1. Scaled Delta Time

Scaled Delta Time 是根据游戏的帧率和时间缩放(Time Scale)来计算的。也就是说,它会受到游戏时间缩放的影响。当游戏处于暂停状态(即 Time.timeScale为 0)时, Delta Time 会变为 0,这会导致粒子系统的更新暂停。此选项通常用于基于实际游戏进度更新粒子的行为。

  • 适用场景:当你希望粒子系统的行为与游戏的时间流逝同步(如普通的物理模拟)时使用 Scaled Delta Time。
  • 影响因素
    • 游戏暂停时,Delta Time 为 0。
    • 如果游戏速度变慢,粒子系统的更新也会变慢。

2. Unscaled Delta Time

Unscaled Delta Time 是不受游戏时间缩放影响的时间增量。即使游戏暂停或时间缩放发生变化,Unscaled Delta Time 仍然会按照真实的时间流逝进行计算。通常用于需要不受时间缩放影响的粒子行为,比如基于真实世界时间的粒子更新,或者希望粒子系统独立于游戏的时间控制之外。

  • 适用场景:当你希望粒子系统的行为独立于游戏时间流逝时(比如在暂停或时间慢速时依然希望粒子继续播放)使用 Unscaled Delta Time
  • 影响因素
    • 游戏暂停时,Unscaled Delta Time 仍然会继续计算,保持粒子的更新。
    • 游戏时间缩放对粒子系统没有影响。

Scaling Mode-缩放方式

  • Hierarchy:粒子系统缩放依赖于父物体的缩放,适用于需要粒子与父物体一起缩放的场景。
  • Local:粒子系统的缩放独立于父物体,适用于不希望粒子系统受到父物体缩放影响的情况。
  • Shape:只将缩放应用于形状模块。这种方式下,只有粒子发射器的形状和大小会被缩放所影响,而不改变生成的粒子的大小。

Play On Awake-唤醒播放

是否在被enable时就开始播放,并且此选项会作用于所有Particle System下的这个Particle Effect。

Emitter Velocity Mode-发射速度模式

发射速度模式设置

  • Transform: 根据系统的变换为粒子增加速度。这意味着如果粒子系统本身在运动或旋转,这种运动将传递给发射的粒子。
  • Rigidbody: 使用与粒子系统连接在同一个游戏对象上的刚体组件。如果物体有一个刚体并且它在运动,粒子就会继承这个运动。
  • Custom: 允许使用 Custom Velocity 属性指定粒子的自定义速度。

Max Particles-最大粒子数

最大粒子数,可以有效防止策划同学填了一个毁灭世界的值。: )

Auto Random Seed-行为随机化

勾选后,每次发射的行为都将不同(引入随机变量,有点像C语言里面的srand)

Stop Action-完结动作

当所有粒子发射之后,GameObject所应该执行动作。

  • None:不采取任何行动。粒子系统停止后,游戏对象保持启用状态。
  • Disable:禁用游戏对象。当粒子系统停止且所有粒子都消失时,游戏对象将被禁用。这可以防止游戏对象接收更新调用,从而节省CPU资源。
  • Destroy:销毁游戏对象。当粒子系统停止且所有粒子都消失时,游戏对象将被销毁。这将完全移除游戏对象及其组件,释放所有相关资源。
  • CallBack: 未知,占空

Culling Mode-未显示时行为模式

粒子系统未在屏幕显示上的行为模式。

  • Automatic:此选项表示当粒子系统不在屏幕上时,Unity会自动决定是否继续模拟粒子系统。具体来说,对于循环系统,它会暂停离屏模拟;而对于非循环系统,则始终模拟。

  • Pause and Catch-up:选择此选项时,当粒子系统不在屏幕上时,Unity会暂停其模拟。但是,一旦粒子系统重新进入屏幕,Unity会执行一个大型的仿真步骤来追赶时间,使得粒子看起来就像它们从未被暂停一样。

  • Pause:选择此选项时,当粒子系统不在屏幕上时,Unity会暂停其模拟。这意味着粒子系统会在粒子系统再次出现在屏幕上之前停止生成新的粒子,直到它重新出现为止。

  • Always Simulate:选择此选项时,无论粒子系统是否在屏幕上,Unity都会持续地模拟粒子系统。这意味着即使在粒子系统不在屏幕上时,也会继续生成新的粒子。

Ring Buffer Mode-粒子结束行为

  • Disabled:这是默认设置。在这种模式下,粒子在其生命周期结束后就会死亡,然后新粒子会取代旧粒子。

  • Pause Until Replaced:当粒子的生命周期结束时,它们不会立即死亡,而是会暂停,直到有新的粒子替换它们。

  • Loop Until Replaced:当粒子的生命周期结束时,它们会重置为初始状态并开始一个新的生命周期。粒子会不断循环,直到有新的粒子替换它们。对象池模式。

结语

用好Particle System是创造出优秀游戏动态美术效果的第一步。

一起加油,无限进步!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET8/.NETCore 依赖注入:自动注入项目中所有接口和自定义类

.NET8/.NETCore 依赖接口注入&#xff1a;自动注入项目中所有接口和自定义类 目录 自定义依赖接口扩展类&#xff1a;HostExtensions AddInjectionServices方法GlobalAssemblies 全局静态类测试 自定义依赖接口 需要依赖注入的类必须实现以下接口。 C# /// <summary>…

使用pyQT完成简单登录界面

import sysfrom PyQt6.QtGui import QMovie,QPixmap from PyQt6.QtWidgets import QApplication, QWidget, QLabel, QPushButton,QLineEdit#封装我的窗口类 class MyWidget(QWidget):#构造函数def __init__(self):#初始化父类super().__init__()# 设置窗口大小self.resize(330,…

linux安装部署mysql资料

安装虚拟机 等待检查完成 选择中文 软件选择 网络和主机名 开始安装 设置root密码 ADH-password 创建用户 等待安装完成 重启 接受许可证 Centos 7 64安装完成 安装mysql开始 Putty连接指定服务器 在 opt目录下新建download目录 将mysql文件传到该目录下 查看linux服务器的…

vscode 怎么下载 vsix 文件?

参考&#xff1a;https://marketplace.visualstudio.com/items?itemNameMarsCode.marscode-extension 更好的办法&#xff1a;直接去相关插件的 github repo 下载老版本 https://github.com/VSCodeVim/Vim/releases?page5 或者&#xff0c;去 open-vsx.org 下载老版本 点击这…

医院管理系统

私信我获取源码和万字论文&#xff0c;制作不易&#xff0c;感谢点赞支持。 医院管理系统 摘要 随着信息互联网信息的飞速发展&#xff0c;医院也在创建着属于自己的管理系统。本文介绍了医院管理系统的开发全过程。通过分析企业对于医院管理系统的需求&#xff0c;创建了一个计…

AWS账号提额

Lightsail提额 控制台右上角&#xff0c;用户名点开&#xff0c;选择Service Quotas 在导航栏中AWS服务中找到lightsail点进去 在搜索框搜索instance找到相应的实例类型申请配额 4.根据自己的需求选择要提额的地区 5.根据需求来提升配额数量,提升小额配额等大约1小时生效 Ligh…

Day52 | 动态规划 :单调栈 每日温度下一个更大的元素I下一个更大元素II

Day52 | 动态规划 &#xff1a;单调栈 每日温度&&下一个更大的元素I&&下一个更大元素II 单调栈【基础算法精讲 26】_哔哩哔哩_bilibili 及时去掉无用数据&#xff0c;保证栈中元素有序 文章目录 Day52 | 动态规划 &#xff1a;单调栈 每日温度&&下一…

第30天:安全开发-JS 应用NodeJS 指南原型链污染Express 框架功能实现审计0

时间轴&#xff1a; 演示案例&#xff1a; 环境搭建-NodeJS-解析安装&库安装 功能实现-NodeJS-数据库&文件&执行 安全问题-NodeJS-注入&RCE&原型链 案例分析-NodeJS-CTF 题目&源码审计 开发指南-NodeJS-安全 SecGuide 项目、 环境搭建-NodeJ…

Unity中的数学应用 之 插值函数处理角色朝向 (初中难度 +Matlab)

CodeMonkey教程&#xff1a; https://www.youtube.com/watch?vQDWlGOocKm8 Siki学院汉化教程&#xff1a;如何使用Unity开发分手厨房&#xff08;胡闹厨房&#xff09;-Unity2023 - SiKi学院|SiKi学堂 - unity|u3d|虚幻|ue4/5|java|python|人工智能|视频教程|在线课程 版本&am…

SQL注入利用方式(实战Hack World 1)

一、布尔盲注利用 假如注入的网页能返回1或0的提示信息&#xff0c;我们可以写如下代码: select password from admin where username 1 or 11;#11是我们利用的逻辑点&#xff0c;我们能在此处进行一个判断&#xff0c;比如判断某个数据字段第几位上的字符是否为’ 1’&#…

nlp培训重点

SGD梯度下降公式&#xff1a; 当梯度大于0时&#xff0c;变小&#xff0c;往左边找梯度接近0的值。 当梯度小于0时&#xff0c;减去一个负数会变大&#xff0c;往右边找梯度接近0的值&#xff0c;此时梯度从负数到0上升 #coding:utf8import torch import torch.nn as nn impo…

38 基于单片机的宠物喂食(ESP8266、红外、电机)

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52单片机&#xff0c;采用L298N驱动连接P2.3和P2.4口进行电机驱动&#xff0c; 然后串口连接P3.0和P3.1模拟ESP8266&#xff0c; 红外传感器连接ADC0832数模转换器连接单片机的P1.0~P1.…

Python 【图像分类】之 PyTorch 进行猫狗分类功能的实现(Swanlab训练可视化/ Gradio 实现猫狗分类 Demo)

Python 【图像分类】之 PyTorch 进行猫狗分类功能的实现(Swanlab训练可视化/ Gradio 实现猫狗分类 Demo) 目录 Python 【图像分类】之 PyTorch 进行猫狗分类功能的实现(Swanlab训练可视化/ Gradio 实现猫狗分类 Demo) 一、简单介绍 二、PyTorch 三、CNN 1、神经网络 2、卷…

week 6 - SQL Select II

Overview 1. Joins 包括交叉连接&#xff08;Cross&#xff09;、内连接&#xff08;Inner&#xff09;、自然连接&#xff08;Natural&#xff09;、外连接&#xff08;Outer&#xff09; 2. ORDER BY to produce ordered output 3. 聚合函数&#xff08;Aggregate Functio…

算法训练营day23(二叉树09:修建二叉搜索树,有序数组转化为平衡二叉搜索树,二叉搜索树转化为累加树,二叉树专题总结)

第六章 二叉树part09今日内容&#xff1a;● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树 ● 总结篇 详细布置 669. 修剪二叉搜索树 这道题目比较难&#xff0c;比 添加增加和删除节点难的多&#xff0c;建议先看视频理解。题目…

C语言操作符深度解析

目录 一、操作符的分类 1、算术操作符 1、1、 和- 1、2、* 1、3、/ 1、4、% 2、赋值操作符&#xff1a;和复合赋值 2、1、连续赋值 2、2、复合赋值符 3、单⽬操作符&#xff1a;、--、、- 3、1、和-- 3、1、1、前置 3、1、2、后置 3、2、1、前置-- 3、2、2、后…

Python 深度学习框架之Keras库详解

文章目录 Python 深度学习框架之Keras库详解一、引言二、Keras的特点和优势1、用户友好2、多网络支持3、跨平台运行 三、Keras的安装和环境配置1、软硬件环境2、Python虚拟环境 四、使用示例1、MNIST手写数字识别 五、总结 Python 深度学习框架之Keras库详解 一、引言 Keras是…

【大语言模型】ACL2024论文-23 检索增强的多语言知识编辑

【大语言模型】ACL2024论文-23 检索增强的多语言知识编辑 目录 文章目录 【大语言模型】ACL2024论文-23 检索增强的多语言知识编辑目录摘要研究背景问题与挑战如何解决核心创新点算法模型实验效果&#xff08;包含重要数据与结论&#xff09;相关工作后续优化方向 后记 检索增强…

_C#_串口助手_字符串拼接缺失问题(未知原理)

最近使用WPF开发串口助手时&#xff0c;遇到一个很奇怪的问题&#xff0c;无论是主线程、异步还是多线程&#xff0c;当串口接收速度达到0.016s一次以上&#xff0c;就会发生字符串缺失问题并且很卡。而0.016s就一切如常&#xff0c;仿佛0.015s与0.016s是天堑之隔。 同一份代码…

基于Python的猎聘网招聘数据采集与可视化分析

1.1项目简介 在现代社会&#xff0c;招聘市场的竞争日趋激烈&#xff0c;企业和求职者都希望能够更有效地找到合适的机会与人才。猎聘网作为国内领先的人力资源服务平台&#xff0c;汇聚了大量的招聘信息和求职者数据&#xff0c;为研究招聘市场趋势提供了丰富的素材。基于Pyt…