Partical System

2024-09-09 04:18
文章标签 system partical

本文主要是介绍Partical System,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

创建"粒子系统物体"(点击菜单GameObject -> Create Other -> Particle System)

添加"粒子系统组件"(点击Component -> Effects  ->Particle System)

粒子系统检视面板

 点击粒子系统检视面板的右上角的"+"来增加新的模块。(Show All Modules:显示全部)

初始化模块:

•       Duration(持续时间):粒子系统发射粒子的持续时间

•       Looping(循环):粒子系统是否循环

•       Prewarm(预热):当looping开启时,才能启动预热(Prewarm),游戏开始时粒子已经发射了一个周期。

•       Start Delay(初始延迟):粒子系统发射粒子之前的延迟。注意在prewarm(预热)启用下不能使用此项。

•       Start Lifetime(初始生命)以秒为单位,粒子存活时间。

•       Start Speed(初始速度):粒子发射时的速度。

•       Start Size(初始大小):粒子发射时的大小。

•       Start Rotation(初始旋转):粒子发射时的旋转值。

•       Start Color(初始颜色):粒子发射时的颜色。

•       Gravity Modifier(重力修改器):粒子在发射时受到的重力影响。

•       Inherit Velocity(继承速度):---控制粒子速率的因素将继承自粒子系统的移动(对于移动中的粒子系统)。

•       Simulation Space(模拟空间):粒子系统在自身坐标系还是世界坐标系。

•       Play On Awake(唤醒时播放):如果启用粒子系统当在创建时,自动开始播放。

•       Max Particles(最大粒子数):粒子发射的最大数量

 

Emission (发射模块):

 

控制粒子的发射时的速率,在粒子系统存续期间可以在某个时间生成大堆粒子(模拟爆炸)。

•       Rate(速率):每秒的粒子发射的数量 (小箭头可选择“每秒(Time)”或“每米(Distance)”)。

•  Bursts(突发):在粒子系统生存期间增加爆发

•       爆炸的时间 | 数量(Time |Particles):指定时间(在生存期内,以秒(Time)为单位时),将发射指定数量的粒子。用"+"或"-"调节爆发数量。

 

Shape(发射器形状模块) :

 

发射器形状内部随机位置生成,并能提供初始的力,该力的方向将延表面法线或随机方向发射。

1.      Sphere  [球体]

•       Radius(半径):球体的半径。

•       Emit from Shell(从外壳发射):从球体外壳发射。

•       Random Direction(随机方向):随机方向或是沿表面法线。

2.      Hemisphere[半球]

•       Radius 半径:半椭圆的半径。

•       Emit from Shell从外壳发射:从半椭圆外壳发射。

•       Random Direction随机方向:随机方向或是沿表面法线。

3.      Cone 锥体 喇叭~

•       Angle 角度:圆锥的角度(喇叭口)。如果是0,粒子将延一个方向发射(直筒)。

•       Radius半径:发射口半径。

4.      Box立方体

•       Box X:X轴的缩放值

•       Box Y:Y轴的缩放值

•       Box Z:Z轴的缩放值

•       Random Direction随机方向 :粒子将延一个随机方向发射(取消:延Z轴发射)。

5.      Mesh网格

•       Type类型:粒子将从顶点(Vertex)、边(Edge)、或三角面(Triangle)发射。

•       Mesh网格 :选择一个面作为发射面。

•       Random Direction随机方向:粒子发射将随机方向或是沿表面法线。

 

Velocity Over Lifetime 存活时间的速度模块:

 

粒子的直接动画路径。(通常用于复杂物理粒子,不过是简单的视觉行为和物理世界的小互动,如与飘荡的烟雾和气温降低。)

•       XYZ:使用常量曲线或在曲线中随机去控制粒子的运动。

•       Space:局部/世界 速度值在局部还是世界坐标系。

 

Limit Velocity Over Lifetime 存活期间的限制速度模块 :

 

-基本上被用于模拟的拖动。如果有了确定的阀值,将抑制或固定速率。可以通过坐标轴或向量调整。

•       Separate Axis 分离轴 :用于每个坐标轴控制。

•       ---- Speed速度:用常量或曲线指定来限制所有方向轴的速度。(未选中)

•       ----XYZ:用不同的轴分别控制。见最大最小曲线。(选中)

•       Dampen阻尼:(0-1)的值确定多少过度的速度将被减弱。(值为0.5,将以50%的速率降低速度)

 

Force Over Lifetime存活期间的受力模块:

 

•       XYZ:使用常量或随机曲线来控制作用于粒子上面的力。

•       Space:Local自己的坐标系,World世界的坐标系。

•       Randomize随机:每帧作用在粒子上面的力都是随机的。(两组xyz时可选择,随机范围是这两组xyz之间的差值。)

 

Color over LifeTime 存活时间的颜色模块:

 

控制每个粒子存活期间的颜色(与初始颜色叠加)。粒子存活时间越短变化越快。

两种颜色随机比例互相叠加。

Color By Speed颜色速度模块:

 

使粒子颜色根据其速度动画化。为颜色在1个特定范围内重新指定速度。

•       Color颜色:用于指定的颜色。使用渐变色来指定各种颜色。

•       Color Scale颜色缩放:使用颜色缩放可以方便的调节纯色和渐变色。

•       Speed Range速度范围:min和max值用来定义颜色速度范围。

 

Size Over Lifetime存活时间的大小模块:

 

•       Size大小:控制每个粒子在其存活期间内的大小。曲线,随机双曲线或随机范围数值。

 

Size By Speed存活时间的大小速度模块:

 

•       Size大小:大小用于指定速度。用曲线表示各种大小。

•       Speed Range速度范围:min和max值用来定义大小速度范围。

 

Rotation Over Lifetime存活期间的旋转速度模块:

 

以度为单位指定值。

•       Rotational Speed旋转速度:控制每个粒子在其存活期间内的旋转速度。使用常量,曲线,2曲线随机。

 

Rotation By Speed旋转速度模块:

 

•       Rotational Speed旋转速度:用来重新测量粒子的速度。使用曲线表示各种速度。

•       Speed Range速度范围:为min和max值用来定义旋转速度范围。

 

碰撞模块(Collision Module):

 

为粒子系统建立碰撞。现在只有平面碰撞被支持,这个将很有效率的做简单探测。

•       Planes平面:Planes被定义为指定引用。可以动画化。如果多个面被使用,Y轴作为平面的法线。

•       Dampen阻尼:0-1 在碰撞后变慢。

•       Bounce反弹:0-1 当粒子碰撞后的反弹力度。

•       Lifetime Loss生命减弱:(0-1) 每次碰撞胜铭减弱的比例。0,碰撞后粒子正常死亡。1,碰撞后粒子立即死亡。

•       Visualization可视化:可视化平面:网格还是实体

•       ----- Grid网格:在场景渲染为辅助线框。

•       ---- Solid实体:在场景渲染为平面。

•       Scale Plane缩放平面:重新缩放平面

 

Scale Plane子粒子发射模块:

 

可以生成其他粒子系统,用下列的粒子事件:出生、死亡、碰撞。

•       Birth出生:在每个粒子出生的时候生成其他粒子系统

•       Death死亡:在每个粒子死亡的时候生成其他粒子系统

•       Collision碰撞:在每个粒子碰撞的时候生成其他粒子系统。重要的 碰撞需要建立碰撞模块。见碰撞模块

 

Texture Sheet Animation纹理层动画模块:

 

在粒子存活期间动画化UV坐标。动画每帧可以显示在表格或1个表格的每行,这样将动画分开。每帧可以用曲线动画或者在2个曲线取随机。速度被定义为"循环"、

注意:用于动画的纹理是在渲染器模块中材质找到使用的。

•       Tiles平铺:定义纹理的平铺

•       Animation动画:指定动画类型:整个表格或是单行。

•       ---- Whole Sheet整个表:为UV动画使用整个表格。

•       ------- Frame over Time时间帧:在整个表格上控制UV动画。使用常量,曲线,2曲线随机。

•       ---- Single Row单行:为UV动画使用表格单独一行。

•       ------- Random Row随机行:如果选择第一行随机,不选择得指定行号(第一行是0)

•       ------- Frame over Time时间帧:在1个特定行控制每个粒子的UV动画。使用常量,曲线,2曲线随机。

•       Cycles周期:指定动画速度。

 

Renderer渲染器模块:

 

渲染模块显示粒子系统渲染组件的属性。注意:即使一个游戏物体有渲染粒子系统组件,当此模块被删除/添加后,它的属性也只能显示在这里。这个实际上是粒子系统渲染组件的添加和删除。

•       Render Mode渲染模式:选择下列粒子渲染模式之一

•       ---- Billboard广告牌:让粒子永远面对摄像机。

•       ---- Stretched Billboard拉伸广告牌:粒子将通过下面属性伸缩。

•       ------- Camera Scale摄像机缩放:决定摄像机的速度对粒子伸缩的影响程度。

•       ------- Speed Scale速度缩放:通过比较速度来决定粒子的长度。

•       ------- Length Scale长度缩放:通过比较宽度来决定粒子的长度。

•       ---- HorizontalBillboard水平广告牌:让粒子延Y轴对齐,面朝Y轴方向。

•       ---- Vertical Billboard垂直广告牌:当面对摄像机时,粒子延XZ轴对齐。

•       ---- Mesh网格:粒子被渲染时使用mesh而不是quad。

•       ------- Mesh网格:渲染粒子所用的网格引用。

•       Material材质:材质。

•       Sort Mode排序模式:绘画顺序可通过具体,生成早优先和生成晚优先。

•       Sorting Fudge排序校正:使用这个将影响绘画顺序。粒子系统带有更低sorting fudge值,更有可能被最后绘制,从而显示在透明物体和其他粒子系统的前面。

•       Cast Shadows投射阴影:粒子能否投影?这是由材质决定的。

•       Receive Shadows接受阴影:粒子能否接受阴影?这是由材质决定的。

•       Max Particle Size最大粒子大小:设置最大粒子大小,相对于视窗大小。有效值为0-1。

________________________________________

粒子系统检视面板

管理复杂的粒子效果,untiy提供了粒子编辑器,用户从监事面板的粒子组件面板可以点击"Open Editor"按钮。

 


这篇关于Partical System的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

小技巧绕过Sina Visitor System(新浪访客系统)

0x00 前言 一直以来,爬虫与反爬虫技术都时刻进行着博弈,而新浪微博作为一个数据大户更是在反爬虫上不遗余力。常规手段如验证码、封IP等等相信很多人都见识过…… 当然确实有需要的话可以通过新浪开放平台提供的API进行数据采集,但是普通开发者的权限比较低,限制也比较多。所以如果只是做一些简单的功能还是爬虫比较方便~ 应该是今年的早些时候,新浪引入了一个Sina Visitor Syst

System.getProperties().

Java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目录 java.vm.specification.version Java 虚拟机规范版本 java.vm.specification.vendor

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

android6/7 system打包脚本

1.android5打包system就是网站上常见的制作ROM必备的解包打包system脚本 指令如下:mkuserimg.sh -s out/target/product/$TARGET_PRODUCT/system out/target/product/$TARGET_PRODUCT/obj/PACKAGING/systemimage_intermediates/system.img

android打包解包boot.img,system.img

原帖地址:http://www.52pojie.cn/thread-488025-1-1.html 转载Mark一下,日后研究 最近工作需要对boot.img,system.img进行破解。顺便将心得分享一下。 我的工作环境是在linux下的。所以工具都是针对linux的。 boot.img破解相关工具: 1、split_boot    perl脚本 2、boot_i

MTK Android P/Q system/vendor/super快速打包

一、Android 新版本默认开启了动态分区,把system vendor  product等分区打包成一个super分区。这对于我们使用替换分区的方法来排查问题不是很方便,直接替换一个super也不知道到底是哪个部分导致的。所以我们需要自己制作super.img来缩小范围。下面讲讲如何快速生成system、vendor、super,以及vbmeta(校验image,不匹配可能会导致不开机) 二

Linux函数fcntl/system学习

本文针对项目中用到的几个函数进行详细分析,并尽可能的添加示例进行验证学习。比如fcntl/ioctl函数、system/exec函数、popen/pclose函数、mmap函数等。 重点参考了《UNP》和《Linux程序设计》第四版。 一、fcntl函数 fcntl函数可以改变或者查看已打开文件的性质。该函数的定义如下: #include <fcntl.h> int fcntl(

【UVA】11400-Lighting System Design(动态规划)

这道题感觉状态式不是很好推。。。 WA了好几次是因为排序的时候出问题了。 这道题出在线性结构里了,先说一下最长上升子序列吧。 dp[i]代表了以array[i]结尾的时候,最长子序列长度。 推导的时候,以起点递增的顺序进行推导。 #include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#i

解决PHP Warning: strftime(): It is not safe to rely on the system's timezone set

当运行一些程序时,在httpd日志中会有如下警告日志: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set(

POJ 1018 Communication System(枚举)

题目: http://poj.org/problem?id=1018 题解: 我们可以枚举每一种B可能的值,然后寻找每一行里大于等于B里最小的P。 代码: #include<cstdio>#include<stdlib.h>struct in{double B,P;}a[101][101];double b[10001];int t[101];int cmp(cons