갓똥
나는야 프로그래머
갓똥
전체 방문자
오늘
어제
  • 분류 전체보기 (186)
    • 프로그래밍 (146)
      • 자바 (9)
      • 안드로이드 (2)
      • 유니티 (20)
      • C++ (38)
      • C# (56)
      • HTML (2)
      • 파이썬 (3)
      • 자료구조 (2)
      • 알고리즘 (0)
      • 문제풀이 (4)
      • 디자인 패턴 (7)
      • 카카오톡 봇 (1)
      • 엑셀 (1)
      • 기타 (1)
    • 게임 (21)
      • 테일즈위버 (0)
      • 카이로소프트 (1)
      • 순위 (19)
      • 기타 (1)
    • 일상 (13)
      • 카페 (1)
      • 방탈출 (12)
    • 기타 (6)
      • 웃긴자료 (5)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • c# unboxing
  • C++ virtual
  • C++ 소멸자
  • 게임매출순위
  • 유니티 그래프 그리기
  • 알고리즘
  • Unity Graph
  • C++
  • C# 예외 처리
  • pc게임 순위
  • 롤 골드그래프
  • 전세계 게임 매출
  • 유니티 골드그래프
  • 자바
  • 게임 디자인 패턴
  • c# Thread
  • c# coroutine
  • 강남 방탈출
  • 유니티 그래프
  • C++ 상속
  • pc 게임 순위
  • C# boxing
  • c# 코루틴
  • 게임 매출 순위
  • 2020년 게임 매출
  • 전세계게임매출순위
  • c# collection
  • 모바일 게임 순위
  • c# delegate
  • 글로벌게임매출

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갓똥

나는야 프로그래머

프로그래밍/유니티

[유니티] 터치 이펙트 (Click Particle)

2022. 7. 12. 22:19
728x90
반응형
[Header("[Click Particle]")]
public GameObject[] clickParticles;
private RectTransform[] _particleRects;
private Canvas _canvas;
private int _idx;

private void InitClickParticle()
{
    _particleRects = new RectTransform[clickParticles.Length];
    
    for (int i = 0; i < clickParticles.Length; i++)
    {
        _particleRects[i] = clickParticles[i].GetComponent<RectTransform>();
    }

    _canvas = GetComponent<Canvas>();
    _idx = 0;
}

private void OnUpdateClickParticle()
{
    if (Input.GetMouseButtonDown(0))
    {
        _particleRects[_idx].gameObject.SetActive(false);

        Vector2 startPos = Input.mousePosition / _canvas.scaleFactor;
        _particleRects[_idx].anchoredPosition = startPos;
            
        _particleRects[_idx].gameObject.SetActive(true);
            
        _idx++;
    }

    if (_idx >= clickParticles.Length)
        _idx = 0;
}

처음엔 한개로 시작해서 ParticlePool을 만들어 동적으로 생성하고 관리하려했는데

이펙트 재생시간 자체가 짧고 중간에 사라져도 티도 안나서 그냥 5개정도로 고정해서 사용했다.

 

이펙트는 particle system을 통해 재생이 끝나면 오브젝트를 끄고

idx도 돌려쓰는게 아니라 0번부터 재생중이지 않은 particle이 있으면 그걸 재생시키고 하는 방식이였는데  수정했다.

728x90
반응형

'프로그래밍 > 유니티' 카테고리의 다른 글

[유니티] Curved Text  (0) 2022.08.29
[유니티] 슬라이더 값이 0인데 이미지가 남아있을 때  (0) 2022.08.04
[유니티] Hierarchy의 오브젝트 Path복사  (0) 2022.03.09
[유니티] MonoSingleton  (0) 2022.01.14
[유니티] 롤 골드그래프를 만들어보자(4) - 최종 코드  (0) 2021.08.12
    '프로그래밍/유니티' 카테고리의 다른 글
    • [유니티] Curved Text
    • [유니티] 슬라이더 값이 0인데 이미지가 남아있을 때
    • [유니티] Hierarchy의 오브젝트 Path복사
    • [유니티] MonoSingleton
    갓똥
    갓똥
    공부하며 알아가는 내용을 정리해 봅니다.

    티스토리툴바