▣ ParticleManager 코드 설명
ParticleManager는 싱글톤 패턴을 사용하여 어디서든 접근 가능하게 만들고, 이름으로 파티클을 선택하여 원하는 위치에서 애니메이션을 재생하고 파티클을 관리하는 클래스입니다.
▣ 주요 기능 설명
싱글톤 패턴 구현:
public static ParticleManager Instance { get; private set; }로 싱글톤 인스턴스를 생성하여 어디서든 ParticleManager.Instance를 통해 접근할 수 있게 합니다.
Awake()에서 싱글톤 인스턴스를 초기화하며, 이미 인스턴스가 존재할 경우 중복되는 오브젝트를 파괴합니다.
DontDestroyOnLoad(gameObject)로 씬이 전환되더라도 ParticleManager가 파괴되지 않도록 설정합니다.
▣ 파티클 프리팹을 이름으로 관리:
Dictionary<string, GameObject>를 사용하여 파티클 프리팹을 이름으로 관리할 수 있게 했습니다. particlePrefabs 배열을 순회하여 딕셔너리에 각 파티클의 이름과 해당 프리팹을 매핑합니다.
PlayParticle() 함수는 파티클 이름을 인자로 받아, 딕셔너리에서 해당 이름의 파티클을 찾아 생성합니다.
▣ 파티클 생성 및 레이어 순서 설정:
파티클 생성 후 SpriteRenderer의 sortingOrder를 설정하여 레이어 순서를 제어합니다. 이를 통해 파티클이 플레이어보다 뒤에 배치되도록 조정할 수 있습니다. 기본값은 0이지만, 레이어 순서를 지정할 수 있도록 추가적인 파라미터(layerOrder)를 받습니다.
▣ 애니메이션 종료 후 파티클 삭제:
생성된 파티클은 애니메이션이 재생된 후 자동으로 삭제됩니다. StartCoroutine()을 사용해 애니메이션의 길이만큼 기다린 후 Destroy()를 호출하여 파티클을 삭제합니다.
https://docs.unity3d.com/ScriptReference/Object.Instantiate.html
https://docs.unity3d.com/ScriptReference/WaitForSeconds.html
'[ Unity ] > - 유니티 실습' 카테고리의 다른 글
유니티 Movement 애니메이션(걷기, 뛰기) (4) | 2024.09.28 |
---|---|
유니티 Character Controller 바닥 충돌 (10) | 2024.09.28 |
유니티 UI (Hp Slider, Text) (6) | 2024.09.26 |
유니티 2D RayCast활용 아이템획득 (1) | 2024.09.25 |
유니티 2D RayCast, ShotGun RayCast (2) | 2024.09.24 |
댓글