Kanade Labo

かなで研究所

{unity:script/memo}クリックした位置にパーティクルプレハブを表示する

Unity初心者の かなで がネットで調べて、実践できた知識の覚書。
基本的に自分用備忘録の為、説明不備はご了承くださいm(_ _)m

黒字:デフォルト
赤字:今回追加
青字:自己解釈(一般解釈とはかけ離れてる事に注意!)

目標:クリックした位置にパーティクルプレハブを表示する

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

public class sample : MonoBehaviour {
	private Vector3 clickPosition;  //クリックした場所を代入
	public GameObject particlePrefab; //パーティクルのプレハブ

	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
		if (Input.GetMouseButtonDown (0)) { //もしマウスクリックされたら
			clickPosition = Input.mousePosition; //クリックした座標をclickPositionに代入
			clickPosition.z = 10f; //Z軸(奥行)をCanvasより手前に設定
			clickPosition = Camera.main.ScreenToWorldPoint(clickPosition); //座標をメインカメラ用に変更
			var instance = Instantiate (particlePrefab,clickPosition, Quaternion.identity); //実体化
		}		
	}
}

 

またCanvasより手前にパーティクルを表示したい場合、

「Canvas」→「Rendar Mode」を「Screen Space - Camera」に変更し、「Rendar Camera」をメインカメラに変更する事。

-unity