导入系统给的粒子包,发现了一个问题:系统的粒子都有移动轨迹。
而自己新建的空粒子系统却没有这个功能。顺便也复习一下粒子系统。
Particle System (粒子系统):
Duration(持续时间)
Looping(是否循环)
Prewarm(不知)
Start Delay(启动延迟)
Start Lifetime (粒子产生后的寿命)有四个选项:Constant(常数,固定时间消失),Curve(曲线,设定个曲线控制粒子寿命),Random Between Two Constants(两个常熟之间随机),Random Between Two Curves(两个曲线之间随机)
Start Speed(粒子速度)选项同上
Start Size (粒子大小)选项同上
Start Rotation(粒子角度)选项同上
Start Color(粒子颜色)有四个选项:Color(单一颜色),Gradient(颜色梯度控制,可调透明度),Random Between Two Color,Random Between Two Gradient
Gravity Modifier(重力):可调成负数,比如用来制作烟雾效果。
Simulation Space(模拟空间):在世界坐标和本地坐标中切换,这个就是制作技能痕迹的重要位置,新建的粒子系统一般都默认为local,所以在粒子本体移动的时候也跟着进行移动,改为world的话,粒子就不会跟随本体移动而是随着发出的方向自己进行移动。
就可以出现以下效果(用鼠标写出来的):
附上代码,灰常简单:
using UnityEngine;
using System.Collections; public class MouseFire : MonoBehaviour { public GameObject Fire;
private GameObject showFire; void Update () { if (Input.GetMouseButtonDown ()) { //获取鼠标点击位置,射线
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
RaycastHit hit = new RaycastHit ();
Physics.Raycast (ray, out hit);
//实例化出火焰
showFire = Instantiate (Fire,hit.point, Quaternion.identity) as GameObject; } else if (Input.GetMouseButtonUp ()) {
//过时间销毁
Destroy(showFire,10.1f);
}
}