Unityで2Dゲームを作っていてタッチ(クリック)した場所にエフェクトを出したかったのですが、
ググってもなかなか関連記事が出て来なかったので、メモ程度にまとめます。
こんな感じで作ってみました。
以下の手順で実装しました。
- アセットストアからエフェクトをダウンロード
- タッチした座標にエフェクトを生成
- 生成したエフェクトは1秒後に削除
使用したエフェクトは無料の以下のものです。
https://assetstore.unity.com/packages/vfx/particles/effect-textures-and-prefabs-109031#description
これをUnityにインポートしましょう。

動画で使っているのはHitEffect_Bです。
これを使ってタッチしたところにエフェクトを出してみるコードを作成します。
コードは以下の通り。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class TapParticle : MonoBehaviour { public GameObject prefab; public float deleteTime = 1.0f; // Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0)) { //マウスカーソルの位置を取得。 var mousePosition = Input.mousePosition; mousePosition.z = 3f; GameObject clone = Instantiate(prefab, Camera.main.ScreenToWorldPoint(mousePosition), Quaternion.identity); Destroy(clone, deleteTime); } } }
上記のコードを適当なオブジェクトにアタッチして、変数のprefabにインポートしたHitEffect_Bをドラッグアンドドロップで代入すれば完成です。
お疲れ様でした。