关于Unity3d粒子系统的小发现(天堂3技能释放)

导入系统给的粒子包,发现了一个问题:系统的粒子都有移动轨迹。

而自己新建的空粒子系统却没有这个功能。顺便也复习一下粒子系统。

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 (0)) {
    
                        //获取鼠标点击位置,射线
            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 (0)) {
                        //过时间销毁
            Destroy(showFire,10.1f);
        } 
}
原文地址:https://www.cnblogs.com/SHOR/p/4895861.html