【Unity】鼠标点击在屏幕上产生特效

首先,产生特效无非就是生成一个特效物体。但是怎么确定生成的位置呢?

我希望是和鼠标的位置一样,但是鼠标点击Input.MousePosition的坐标系和GameObject所在是世界坐标系怎么转换呢?

using UnityEngine;

public class ClickEffect : MonoBehaviour {
    Vector3 point;
    GameObject effectGo;
	// Use this for initialization
	void Start () {
        effectGo = Resources.Load<GameObject>("Prefabs/EffectClick");
	}
	
	// Update is called once per frame
	void Update () {

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


猜你喜欢

转载自blog.csdn.net/qq_36622009/article/details/80655918