본문 바로가기
유니티

파티클 이펙트

by Nhahan 2022. 6. 12.

Add Component로 추가해줄 수도 있지만 이렇게 하는 것이 원하는 위치에 파티클을 생성하기에 용이하다.

Hierarchy에서 우클릭 - Effects -Particle System을 클릭한다.

 

파티클 시스템 옵션들은 그냥 정말 직관적이라 따로 설명은 필요없지만, 꼭 알아야할 부분은 Random 기능이다.

만약 이 설정이 없다면 모든 파티클이 똑같은 시간에 생성되서 똑같은 시간을 지속 후, 똑같은 시간이 지나면 사라질 것이다.

 

따라서 이런 식으로 랜덤성을 주어서 이펙트가 너무 딱딱하지 않게 조절해주는 기능을 알면 좋다.

 

 

 

 

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

public class FinishLine : MonoBehaviour
{
    [SerializeField] ParticleSystem finishEffect;

    void OnTriggerEnter2D(Collider2D other) {
        if(other.tag == "Player") {
            Invoke("ReloadScene", 1f);
            Debug.Log("Restart Game in 1second.");
        }
    }

    void ReloadScene() {
        SceneManager.LoadScene(0);
    }
}

원하는 스크립트에 ParticleSystem 타입의 변수를 선언해주고

 

추가된 변수에 파티클 시스템을 넣어준다.

 

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

public class FinishLine : MonoBehaviour
{
    [SerializeField] ParticleSystem finishEffect;

    void OnTriggerEnter2D(Collider2D other) {
        if(other.tag == "Player") {
            finishEffect.Play();

            Invoke("ReloadScene", 1f);
            Debug.Log("Restart Game in 1second.");
        }
    }

    void ReloadScene() {
        SceneManager.LoadScene(0);
    }
}

그리고 원하는 곳에 변수명.Play();를 해주면 된다.

 

 

 

 

728x90

댓글