unity鼠标点击显示粒子特效

参考链接:(51条消息) unity 两个相机叠加 - CSDN

(51条消息) 【Unity】鼠标点击在屏幕上产生特效_SuperWiwi的博客-CSDN博客_unity点击特效

(51条消息) Unity中实现粒子效果显示在UI上_Hello Bug.的博客-CSDN博客_unity粒子线条

我的需求是在内置管线下显示粒子特效显示在UI上,查了一些资料,经过一些尝试终于完成下面记录一下实现细节

首先除了主相机外在建一个相机,用于显示Ui的,然后Clear Flags设置为Depth Only,主相机保持原来设置不变,将Canvas的RenderMode设置为Screen Space - Camera, 然后将RenderCamera设置为新建的相机,然后在相机上挂上如下脚本

using UnityEngine;

public class ClickEffect : MonoBehaviour
{
    Vector3 point;
    GameObject effectGo;
    [SerializeField]
    Camera car;
    void Start()
    {
        effectGo = Resources.Load("Prefabs/ClickEffect");
    }


    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            //获得鼠标点击点
            point = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 4f);
            point = car.ScreenToWorldPoint(point);//从屏幕空间转换到世界空间
            GameObject go = Instantiate(effectGo);//生成特效
            go.transform.position = point;
            Destroy(go, 0.5f);
        }
    }
}

相机设置为新建的相机,这样就完成了

你可能感兴趣的:(U3d,unity)