uinty粒子系统子物体变大_Unity的粒子系统(一)基础篇

简介

闲来无事,仔细的学习一下粒子系统,也当是给自己做个笔记方便之后进行回顾。

引擎版本:Unity2018.3

创建一个ParticleSystem

创建方式:

1、Hierarchy-->Effects-->ParticleSystem

f7c3b24cb9ea

第一种创建方式

f7c3b24cb9ea

创建结果

2、gameObject-->AddComponent-->ParticleSystem

f7c3b24cb9ea

第二种创建方式

f7c3b24cb9ea

第二种创建结果

两种创建的方式的区别只有是否有默认材质球的区别,即是否携带初始材质。

ParticleSystem的基础模块与大致功能

f7c3b24cb9ea

ParticleSystem的基础模块

1、OpenEditor:打开粒子编辑面板,同一父物体下的粒子系统会按照从上到下的关系从左到右排序。

2、基础模块:ParticleSystem下的物件名(图片中的ParticleSystem),可以进行粒子运动的参数进行基础的设置。

3、Emission:发射模块,控制粒子的单次发射数(时间或者移动距离),以及可控的粒子发射时间。

4、Shape:形状模块(发射器的形状),控制修改发射器的形状和相应的参数。

5、Velocity over Lifetime:粒子生命周期内的速度变化模块,在粒子生命周期内的对速度进行控制。(可以在粒子还没销毁前控制其速度的变化)。

6、Limit Velocity over Lifetime:粒子生命周期内的限速模块,控制粒子的最大速度。

7、Inherit Velocity:粒子速度继承模块,控制粒子是否继承父物体的移动参数(需要改变基础模块中Simulation Space的参数为World)。

8、Force over Lifetime:生命周期内粒子力的变化模块,在粒子生命周期内对力进行控制。

9、Color over Lifetime:生命周期内粒子颜色的变化模块,控制粒子生命周期内颜色的变化。

10、Color by Speed:根据粒子速度改变粒子颜色模块,通过粒子的速度控制粒子的颜色。

11、Size over LifeTime:生命周期内粒子大小的变化模块,控制粒子生命周期内粒子大小的变化。

12、Size by Speed:根据粒子速度改变粒子大小模块,通过粒子速度改变粒子的大小。

13、Rotation over Lifetime:生命周期内粒子旋转属性的变化模块,控制粒子生命周期内粒子旋转属性的变化。

14、Rotation by Speed:根据粒子速度改变粒子速度模块,通过粒子速度改变粒子的旋转。

15、External Forces:外力模块,当粒子碰到相关联物体给粒子增加一个力。

16、Noise:噪音模块,可以对粒子进行不规则的运动设置。

17、Collision:碰撞体模块,可以控制粒子与指定物体之间的碰撞,以及碰撞后的粒子效果。

18、Triggers:触发器模块,控制粒子进出指定触发器后的粒子效果。

19、Sub Emitters:添加发射器模块,给该发射器增加其他的发射器。

20、Texture Sheet Animation:粒子帧动画模块,使粒子呈现帧动画形式的播放。

21、Lights:粒子灯光模块,可以给粒子增加实时光照。

22、Trails:路径模块,可以显示粒子的发射路径。

23、Custom Data:自定义模块,可以自定义粒子的一些属性。

24、Renderer:渲染模块,对粒子的展现形式进行设置,包括但不仅限于粒子的大小与材质。

Particle System Force Field组件的功能

f7c3b24cb9ea

组件的参数与属性

组件解释

Particle System Force Field(粒子系统的力场组件),其作用是对所关联的粒子系统施加外力,要使用这个组件,需要开启粒子系统中的External Forces(外力模块)并进行关联。

参数解释

1、shape:形状,力场的表现样式。

2、Start Range:开始的范围(无法大于End Range)。

3、End Range:结束的范围,数值越大力场越大。力场介于Start Range 至End Range之间。

4、Direction(x,y,z):x,y,z方向上力的大小。

5、Gravity

5.1、Strength(Gravity):强度,可以想象成地球的引力,数值越大,越容易被焦点(引力点)吸引。

5.2、Focus(Gravity):焦点,控制引力点对粒子是吸引还是排斥。

6、Rotation

6.1、Rotation(Speed):粒子围绕力场中心运动的速度。

6.2、Rotation(Attraction):粒子被卷入中心点的强度。

6.3、Rotation(Randomness):对粒子产生随机性的推动。

7、Drag

7.1、Strength(Drag):拽住粒子的强度,类似你上楼梯后面有人拉你的衣角不让你上去的感觉。

7.2、Multiply by size(Drag):根据粒子大小调节拖拽强度。

7.3、Multiply by Velocity(Drag):根据粒子速度调节拖拽强度。

8、Vector Field

8.1、Volume Texture(Vector Field):向量场的纹理贴图(Texture 3D)。

8.2、Speed(Vector Field):改变通过向量场的粒子的速度。

8.3、Attraction(Vector Field):向量场的吸引力强度。

Particle System 常见的数值设置

在ParticleSystem与Particle System Force Field中最常见的数值设置有三种,在下面给出

第一种:权重,范围为0-1,例如Attraction的范围等。

第二种:固定参数,固定一个参数,例如粒子发射器的持续时间。

第三种:参数曲线,这种数值设置是粒子系统可以千变万化的根源所在,通过对曲线的调变可以变化出各式各样的粒子效果。

f7c3b24cb9ea

颜色参数曲线

f7c3b24cb9ea

数值参数曲线

我们着重来讲第三种数值设置(参数曲线)。参数曲线方便了我们想要粒子在什么时间段进行什么样的颜色变化或者效果变化。

颜色参数曲线:

1、Color:纯色显示。

2、Gradient:颜色按照梯度进行显示(举例,越迟生成的粒子颜色越接近右端)。

3、Random Between Two Colors:粒子颜色在两个纯色中任选一个。

4、Random Between Two Gradients:粒子颜色在两个梯度中任意选择一个显示。

5、Random Color:在你定义的色谱上任意选择一个颜色作为粒子颜色。

数值参数曲线:

1、Constant:常量。

2、Curve:单条曲线,多了时间的属性,可以根据时间进行变化。可以自行拖拽改变曲线形状获得想要的粒子效果

f7c3b24cb9ea

数值参数曲线Curve

3、Random Between Two Constant:在两个常量间随机一个数值。

4、Random Between Two Curve:跟随着时间,粒子某个属性值为两条曲线围成的区间的该时间点上的随机值。(粒子效果很大的一部分都需要在数值曲线中进行调节)

f7c3b24cb9ea

数值参数曲线Random Between Two Curve

ParticleSystem模块分类

按照笔者自己的分类习惯,将ParticleSystem的23个功能模块分类为以下六个类别

(一)最基础模块

1、基础模块:ParticleSystem下的物件名(图片中的ParticleSystem)。

2、Renderer:渲染模块。

(二) 发射器模块

1、Emission:发射模块。

2、Shape:形状模块(发射器的形状)。

3、Sub Emitters:添加发射器模块。

(三)粒子生命周期特效控制模块

1、Velocity over Lifetime:粒子生命周期内的速度变化模块。

2、Limit Velocity over Lifetime:粒子生命周期内的限速模块。

3、Force over Lifetime:生命周期内粒子力的变化模块。

4、Color over Lifetime:生命周期内粒子颜色的变化模块。

5、Size over LifeTime:生命周期内粒子大小的变化模块。

6、Rotation over Lifetime:生命周期内粒子旋转属性的变化模块。

(四)粒子自身特效控制模块

1、Color by Speed:根据粒子速度改变粒子颜色模块。

2、Size by Speed:根据粒子速度改变粒子大小模块。

3、Rotation by Speed:根据粒子速度改变粒子速度模块。

4、Texture Sheet Animation:粒子帧动画模块。

5、Trails:路径模块。

6、Noise:噪音模块。

(五)粒子与外界交互的特效控制模块

1、Inherit Velocity:粒子速度继承模块。

2、External Forces:外力模块。(Particle System Force Field组件属于这一块)

3、Collision:碰撞体模块。

4、Triggers:触发器模块。

5、Lights:粒子灯光模块。

(六)自定义模块

Custom Data:自定义模块。

说明:关于over LifeTime模块与by Speed模块的区别

over LifeTime模块:类似花开花落的一生。

by Speed模块:类似跑龙套,当你满足条件则执行。

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

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

相关文章

java定义返回码常量_码出规范(四)常量定义

01各位屏幕前的读者朋友大家早上中午晚上凌晨好,本文是《码出规范》专题的第四篇,文中参考阿里巴巴最新发布的《Java开发手册》,结合《springboot2.x独门秘籍》专题中的项目开发进度,学以致用,让你在开发中码出高效&am…

centos下载mysql_python数据分析之路——centos下载并配置mysql与navicat的使用

python数据分析之路——centos下载并配置mysql与navicat的使用在之前的文章中已经说明了如何购买并配置一台自己的服务器,那么在安装完anaconda之后,为了之后方便用Django进行网站开发与数据分析,需要对数据库进行配置,那么在数据…

mysql 解压缩安装_[mysql] MySQL解压缩安装步骤

以前装的MySQL出问题了,只好卸载了。又下载了一个mysql-5.6.24-win32.1432006610.zip。msi文件直接安装就行了。这里需要解压到指定目录,配置后可使用。环境变量配置:在 mysql根目录下修改 my-default.ini :# These are commonly set, remove…

mysql数据库如何创建表_mysql数据库如何创建数据表

mysql数据库创建数据表的方法是:可以通过CREATE TABLE语句来创建,基本语法:【CREATE TABLE ([表定义选项])[表选项][分区选项];】。要注意的是,创建数据表不能使用SQL语言中的关键字。在 MySQL 中,可以使用 CREATE TAB…

mysql 主从一致性_mysql 主从一致性保证

MySQL 主备的基本原理MySQL 主备切换流程.png主备同步流程图备库 B 跟主库 A 之间维持了一个长连接。主库 A 内部有一个线程,专门用于服务备库 B 的这个长连接。一个事务日志同步的完整过程是这样的:在备库 B 上通过 change master 命令,设置…

php study是什么,phpstudy与wamp区别的区别是什么?

phpstudyphpstudy是一个php运行环境的集成包,用户不需要去配置运行环境,就可以使用,phpstudy不仅是一款比较好用的php调试环境工具,并且还包括了开发工具和常用手册,对于新手是有很大帮助的。phpstudy集成最新的Apache…

java全局机制,java实现全局异常机制

先上自己的代码,后整理下原理知识。下面是自己实现的全局异常机制1.继承Exception,自定义异常类​package com.zichen.xhkq.exception;/**** Title: CustomException* Description: 系统自定义的异常类型,实际开发中可能要定义多种异常类型* authorCNZZ*…

mysql crash定位分析_MySQL实例crash的案例详细分析

【问题描述】我们生产环境有一组集群的多台MySQL服务器(MySQL 5.6.21),不定期的会crash,但error log中只记录了重启信息,未记录crash时的堆栈:mysqld_safe Number of processes running now: 0mysqld_safe mysqld restarted接下来…

matlab 读取照片imread,利用matlab读取图像

怎样用matlab读取20张图片并依次展示出来指定路径下 单个文件夹data中所有图像 P .\data\;% 图像文件夹路径 img_path_list dir(strcat(P,*.jpg));%获取该文件夹中所有jpg格式的图像 N length(img_path_list);%获取图像总数量 for j 1:N%逐一读取图像 image_name img_path…

python元素定位input button_python+selenium 定位到元素,无法点击的解决方法

报错selenium.common.exceptions.WebDriverException: Message: Element is not clickable at point (234.75, 22). Other element would receive the click: 需要点击的按钮页面显示不了,需要下拉滚动条,能看到按钮了才能点1、尝试下拉一段滚动条&#…

python模拟浏览器请求的库_基于Python模拟浏览器发送http请求

1.使用 urllib2 实现#! /usr/bin/env python# -*- codingutf-8 -*-import urllib2url"https://www.baidu.com"req_header {"User-Agent":"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11&…

owncloud8 php,owncloud-8.2.3

安装依赖Red Hat Enterprise Linux and CentOS 6 still ship with PHP 5.3. ownCloud requires PHP 5.4 or better. There areseveral third-party repositories that supply PHP 5.4, but you must use the Software Collections (SCL) repository to bein compliance with yo…

php7 提示500错误解决,升级php7出现500错误怎么办

升级php7出现500错误怎么办发布时间:2020-08-24 10:40:45来源:亿速云阅读:69作者:小新小编给大家分享一下升级php7出现500错误怎么办,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧&#xff01…

oracle 怎么 制造崩溃,oracle数据库崩溃

通过幸存oracle文件修复oracle9i数据问:我没有备分oralce,也没有导出数据库,现在操作系统崩溃了,但是oracle目录下的文件很完整,请问如何修复我的表?答:建一个相同的数据库(磁盘目录相同,否则要改init文件&…

php 500 yii,yii2.0出现500错误怎么办

1、首先开启web/index.php defined(YII_DEBUG) or define(YII_DEBUG, true); 将此改为true;看下报错的问题:Exception (Invalid Configuration) yii\base\InvalidConfigException with message The directory is notwritable by the Web process: /home/…

受迫阻尼 matlab 仿真,MATLAB系统仿真报告——有阻尼受迫振动系统

一、 问题描述有阻尼受迫振动的结构及基本原理图一 有阻尼的受迫振动系统图1为有阻尼的受迫振动系统,质量为M,摩擦系数为B, 弹簧倔强系数为K。拉力、摩擦力和弹簧力三都影响质量为M的物体的加速度。如果系统的能量守恒,且振动一旦…

php 数组 定义 遍历,php针对数组的定义、遍历及删除

本篇文章主要介绍php针对数组的定义、遍历及删除,感兴趣的朋友参考下,希望对大家有所帮助。本文实例讲述了php实现搜索一维数组元素并删除二维数组对应元素的方法,具体如下:定义一个一维数组一个二维数组如下$fruitarray(apple,or…

Linux怎么对文件内容trim,Linux平台下SSD的TRIM指令的最佳使用方式(不区别对待NVMe)...

SSD写数据会出现什么问题SSD读写的单位不是位,而是一个块。如果要改变这个块中的一位,首先要将整个块擦写成1,然后再写入更新的数据。为了解决擦写块的低效,SSD的策略是将需要改写的块,读取出来,进行数据修…

linux命令行如何上翻,Linux学习教程-获取可用命令行参数 or 文件上下翻转和左右翻转...

导读前面使用的,有几个用到了参数如ls -l, head -n 6等,需要注意的是跟参数之间要有空格。获取可用命令行参数终端运行man ls可以查看ls所有可用的参数,上下箭头翻页,按q退出查看。(man: manual, 手册)ctehbio:~/data$ man lsNAME…

用微PE安装KALI LINUX到U盘,【U盘安装kali】U盘 kali pe三合一教程!装机,存储

最近发现U盘可以做出pekali正常u盘的结合教程,并且可以正常当做U盘使用,但是在网上各种教程下我出现了各种问题,整整三天捣鼓,终于实现了这个操作,并且解决了persistence存储问题!现在将来以最详细的图文来…