2013-10-21 23:29:50 Mono1977 阅读数 1663

先准备一张贴图,2n自是不必说,在ps里把图片像表格一样排好,爱要几张就几张,我这里用了4张

tiles就是几行几列

animation,是选择单行还是多行

frame over time,每张贴图的存在时间,3种选择,单行,两个随机行,曲线

cycles:贴图更换速度


大概如此吧,用到粒子上以后你会惊奇的发现每个粒子的贴图都不一样了!


2018-05-28 20:33:22 DDghsot 阅读数 12621

github传送门。
https://github.com/ddghost/unity3d_n/tree/粒子效果

这次作业要做的是粒子效果,我就来做一个火焰的效果吧。
下面就是成果(emmm。。。感觉还是不是太像),还是有点火的样子的嘛,点击按钮可以调节火的大小,左右摇摆。
这里写图片描述

在百度随便搜了张图,参考着来调整火焰(尽管最后也不是很像)
这里写图片描述

首先新建一个unity项目,导入unity自带的particle System资源,里面也有不少粒子效果,但这次只是想用一下里面的贴图而已(略略路.jpg),然后就可以开干了。
在这里插入图片描述
这里写图片描述

试过几个贴图,感觉还是白烟这张贴图好,因为本身白色,颜色调了比较明显,在Renderer处的Material和Trail选择ParticleSmokeWhite这个贴图。
这里写图片描述

然后再调整相关的属性,duration设为2,startLiftime设为2,start speed设为4,start size设为5。
这里写图片描述

由于火焰应该是由一个比较小的口发出,因此在shape这个地方将angle设为0,radius设为0.3。
这里写图片描述

考虑到火焰是底部小,中部大,上部小的,因此设置size over Lifetime,调整它的变化曲线,在曲线上右键就可以加一个节点,加一个节点,大概调整一下,调整的时候可以看着粒子的变化自己选择。
这里写图片描述

然后完成以上步骤就可以看到这个火的效果的形状已经有了。
这里写图片描述

有了形状,还要有颜色,修改color over lifetime,因为由之前的样例图可以看到火一般底部是蓝火,因此把开始的颜色设为蓝色,然后中部设为黄色,同时在上面调整透明度的地方,把最后的透明度调为0,这样火就会越来越透明了,看起来较为平缓。
这里写图片描述

修改完颜色的效果如下
这里写图片描述

完成了这些,一个粗略的火效果已经做完了,然后就是代码部分,代码较为简单,主要就是调整火的左右摇摆和大小而已,代码如下,直接把它挂到粒子系统上即可。

public class UserGui : MonoBehaviour {
	ParticleSystem particleSystem;
	ParticleSystem.ForceOverLifetimeModule forceMode;
	// Use this for initialization
	void Start () {
		particleSystem = GetComponent<ParticleSystem>();
		forceMode = particleSystem.forceOverLifetime;
	}
	
	// Update is called once per frame
	void Update () {
		
	}

	void OnGUI(){
		if( GUI.Button(new Rect(10 , 30 , 50 , 30) ,  "left") ){
			ParticleSystem.MinMaxCurve temp = forceMode.x ;
			temp.constantMax = temp.constantMax - 0.5f;
			forceMode.x = temp;
		}
			
		if( GUI.Button(new Rect(10 , 70 , 50 , 30) ,  "right") ){
			ParticleSystem.MinMaxCurve temp = forceMode.x ;
			temp.constantMax = temp.constantMax + 0.5f;
			forceMode.x = temp;
		}
			
		if( GUI.Button(new Rect(10 , 110 , 50 , 30) ,  "big") ){
			particleSystem.startSize =  particleSystem.startSize * 1.11f;
			particleSystem.startLifetime = particleSystem.startLifetime * 1.11f;
		}

		if( GUI.Button(new Rect(10 , 150 , 50 , 30) ,  "small") ){
			particleSystem.startSize =  particleSystem.startSize * 0.9f;
			particleSystem.startLifetime = particleSystem.startLifetime * 0.9f;
		}
	}

}

最后,值得注意的是,由于代码中用到了forceOverLifetime,因此在粒子系统上一定要把这一项勾了,否则就无法左右摇摆了,在这里也是坑了很久。

2014-10-07 00:00:17 cuit 阅读数 3998

概述

在3D游戏中,大多数人物,小道具以及自然景观都以mesh表示,而2D游戏中用sprite表示。mesh和sprite是描绘这些形状定义明确的固态对象的理想方式。游戏中还有一些实体,在大自然中是流动的和无具体形状的,很难用mesh和sprite描绘。像流动的液体,烟雾,云彩以及魔法效果等效果,可以用一种叫做“粒子系统”的方式来实现这些与生俱来的流动体和能量。

基本概念

粒子是粒子系统中大量的显示并移动的小型简单的图片或mesh,每个粒子表示液体或无形实体的一部分,所有粒子的效果共同形成了完整实体的效果。使用一个烟雾云举例,每个例子都有一个小的烟雾纹理,可能像一片小的云。当很多这些小的云片在场景中的某一块区域组合在一起时,整体效果就是一大块填充的云。

系统的动力学

每个粒子都有一个预定的生命周期,一船是几秒种,在这几秒钟内可能会发生各种变化。其生命周期最开始是被粒子系统生成或发射出来,系统发射粒子的位置是一个区域内随机的,可能是一个球体,半球体,圆锥体,盒子或任意mesh。粒子会一直显示到其时间结束时,被系统移除。系统的发射率决定了每秒中有多少粒子会被发射,但是发射的精确时间是稍微有点随机的。发射率和平均生命周期决定了稳定状态下粒子的数量。

粒子的动力学
发射和生命周期的设置会影响整个系统的行为,但是单个粒子可能会随着时间改变,每个粒子都有一个速度向量,此向量决定其方向和每一帧粒子移动的距离。此速度可能会被力和重力改变,或者当粒子在Terrain的风区(wind zone)被吹动时也会改变。粒子的颜色,大小和旋转也会随着时间改变,或者随时其当前的移动速度改变。颜色包括alpha(透明度),所以一个粒子可以被渐渐退色或加色,而不是简单地突然消息或出现。
粒子动力可以用于方便地模拟很多种流动效果。比如瀑布可以通过使用一个薄的发射形状然后让水珠在重力下加速下落。火的烟雾上升,扩大,最终消散,所以这个系统应该给烟粒子用一个向上的力,并扩大其大小和透明度。

属性

粒子系统组件有很多属性,分成了很多块,每一块都可以再展开,不钩选表示不使用些功能。


Particle System,粒子系统的全局属性


  • Duration,粒子系统的运行时间
  • Looped,
  • Prewarm,
  • Start Delay
  • Start Lifetime
  • Start Speed
  • Start Size
  • Start Rotation
  • Start Color
  • Gravity Multiplier,重力的倍数。
  • Inherit Velocity,粒子是否继承整个系统的速度。
  • Simulation Space,活动在系统空间还是世界空间中。
  • Play on Awake
  • Max Particles

Emission Module,发射率和发射时间


  • Rate
  • Bursts

Shape Module,决定粒子的形状以及在哪里开始发射


  • Shape
  • Random Direction
  • Radius
  • Angle
  • Box X, Y, Z
  • Mesh
  • Emit from Shell
  • Emit from

Velocity Over Lifetime Module,加速度


  • X, Y, Z
  • Space

Limit Velocity Over Lifetime Module,决定速度怎样减少


  • Speed
  • Space
  • Dampen

Force Over Lifetime Module,粒子上的外力



Color Over Lifetime Module,粒子的颜色和透明度如何随着时间变化




Color By Speed Module,随着速度变化的颜色



Size Over Lifetime Module,粒子大小的变化


Size By Speed Module


Rotation Over Lifetime Module/Speed Module


External Forces Module,在风区时的外力倍数


Collision Module,决定粒子碰撞的方式


Sub Emitters Module,设置子发射器。


Texture Sheet Animation Module,粒子的纹理


Renderer Module,粒子的图片或mesh如何变换




2013-07-07 10:19:31 qqMCY 阅读数 2046

Hierarchy视图:

      Hierarchy视图主要存放游戏场景中具体的游戏对象:

Particle System: 粒子效果发射器,可处理游戏中的所有粒子效果。

Camera:  游戏中摄像机。

GUI Text : 3D 平面文字。

GUI Texture: 平面贴图

3D text  :3D 立体字体

Directional Light :定向光源,常用于天空向地面定向投射的光源。

Point Light:点光源,在一定范围内照亮的光源。

Spotlight:聚光灯,与点电源类似,但光线只照亮一个圆锥区域。

Area Light:区域灯,可照亮整个选定的区域。

Cube  : 立方体

Sphere:球体

Capsule:胶囊体

Cylinder:圆柱体

Plane : 平面

Cloth: 布料

Audio Reverb Zone:音频效果

Ragdoll:布娃娃效果

Tree: 树模型

Wind Zone:风向,可影响游戏中的对象


2020-02-06 03:38:12 qq_41616829 阅读数 4

火把粒子效果设定

1.创建particle system
在这里插入图片描述
2.设定生命周期和运行速度
在这里插入图片描述
3.在Render中加入Material
在这里插入图片描述
4.设定Text Sheet Animation
在这里插入图片描述

  • 根据贴图设定X,Y值

5.设定粒子开始大小
在这里插入图片描述
6.修改粒子数量
在这里插入图片描述
7.修改Size over Lifetime
在这里插入图片描述

  • 下大上小
没有更多推荐了,返回首页