Unity 屏幕粒子特效生成

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BuddleTest : MonoBehaviour
{
    Vector3 point;
    GameObject effectGo;
    public ParticleSystem ps;
    void Start()
    {
        effectGo = Resources.Load("ParticlePrefabs/Bubble Particles");
    }

    // 方法一
    void BubbleSpawn(Vector2 spawnPos)
    {
        point = new Vector3(spawnPos.x, spawnPos.y, 1f);//获得鼠标点击点
        point = Camera.main.ScreenToWorldPoint(point);//从屏幕空间转换到世界空间
        GameObject go = Instantiate(effectGo, transform, true);
        go.transform.localPosition = point;
    }
    
    // 方法二
    void BubbleSpawn2(Vector2 spawnPos)
    {
        point = Camera.main.ScreenToWorldPoint(spawnPos);//从屏幕空间转换到世界空间
        point = new Vector3(point.x, point.y, 1f);//获得鼠标点击点
        ParticleSystem newParticlePrefab = Instantiate(ps, point, ps.transform.rotation);
        newParticlePrefab.transform.parent = transform;
    }
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
           // BubbleSpawn(Input.mousePosition);
            BubbleSpawn2(Input.mousePosition);

        }
    }
}

2.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ParticleMsg : MonoBehaviour
{
    public static ParticleMsg Instance;
    public GameObject[] effectGo; // 粒子特效预设体数组

    private void Awake()
    {
        Instance = this;
    }

    Vector3 point; // 保存粒子生成的初始坐标

    
    /// 
    /// 
    /// 
    ///  粒子生成坐标
    /// 生成的粒子下标
    /// 生成的粒子生命周期
    void BubbleSpawn(Vector2 spawnPos,int index,float lifeTimer)
    {
        point = new Vector3(spawnPos.x, spawnPos.y, 1f);//获得鼠标点击点
        point = Camera.main.ScreenToWorldPoint(point);//从屏幕空间转换到世界空间
        GameObject go = Instantiate(effectGo[index], transform, true);
        go.transform.localPosition = point;
        Destroy(go, lifeTimer);
    }
    
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            BubbleSpawn(Input.mousePosition,0,2f);

        }
    }
}

 

你可能感兴趣的:(unity)