【Unity】ボタンを押したらハート送りまくる機能を実装する【Particle System】
ボタンを1回押すと1つハートが出てきます。
【やってること】
・ボタンとParticle Systemを連携
・OnButtonDownを検知するたびにParticle SystemをPlay()
【環境】
・Mac OSX El Capitan
・Unity versiton:2018.3.0
【結果】
【作り方】
①Particle Systemを作成する
・Particle Systemをシーンに配置する
・Loopingのチェックを外す
・Start Speedの値を10にする
・PlayOnAwakeのチェックを外す
・EmissionのRate over Timeを0にする
・EmissionのBurstsを下図のように設定
※Burstsはパーティクルがどのタイミングでどれくらい出るかを設定できます。
今回は押した瞬間に1つ出てきて欲しいので、Time=0、Count=1です。
・Limit Velocity over Lifetimeを下図のように設定
※SpeedとDampenの役割についてはこちらのサイトを参考にさせていただきました
http://tsubakit1.hateblo.jp/entry/2017/05/03/211922
・Color over Lifetimeを下図のように設定
②Particle System用のMaterialを作る
・このハートのPNG画像をアセットに追加、Texture TypeをSprite(2D and UI)に変更する
※真っ白だから見えないけど↓ここにハートの画像があります。
・新しいMaterialを作成する
・ShaderをParticles/Standard Unitに変更する
・Render ModeをFadeにする
・ハートの画像をMaterialのAlbedoの□にドラッグ&ドロップする
・このMaterialをParticle SystemのRender内のMaterialに入れる
③押したらハートが出るボタンを作る
・Buttonをシーンに配置する
・FlashLike.csをアタッチする
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FlashLike : MonoBehaviour
{
public ParticleSystem likeEffect;
// Start is called before the first frame update
void Start()
{
likeEffect = likeEffect.GetComponent<ParticleSystem>();
}
public void PlayLikeEffect() {
likeEffect.Play();
}
}
・InspectorからFlashLikeコンポーネントのLikeEffectにParticle Ststemを代入する
・ButtonコンポーネントのOnClickからFlashLike,PlayLikeEffectを選択する
以上!完成!
Limit Velocity over LifetimeやColor Over Lifetimeの値をいじって好きなハートの出し方を探ってみてください!
Author And Source
この問題について(【Unity】ボタンを押したらハート送りまくる機能を実装する【Particle System】), 我々は、より多くの情報をここで見つけました https://qiita.com/maqiita/items/b4d3c6d4009f6c140213著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .