[Unity]17.파티클을 이용한 이펙트 효과

안녕하세요 유랑입니다.



이번 시간에는 파티클에 대해 배워보겠습니다.

철권같은 격투게임 뿐만 아니라 여러 장르 불문하고 사용되고 있습니다.




1. Particle



Particle은 작은 이미지를 생성하고 애니메이션하여 액체, 구름 및 불꽃 같은 유체 엔티티를 시뮬레이션 합니다.

이 방식을 이용해 마법을 보여준다던지, 펀치를 날리면 불꽃이 보인다던지 다양한 효과를 줄 수 있습니다.






1-1) 프로젝트 생성 후 설정



프로젝트 이름과 생성 위치를 설정 후 프로젝트를 만들어 주자.






단축키 Ctrl + 9를 이용하여 에셋스토어를 실행 후 Unity Particle Pack을 다운받고 임포트하자.





1-2) 파티클 시스템 기본구성



FlamthrowerEffect라는 파티클 오브젝트를 드래그하여 하이라키뷰에 놓자.

파티클도 오브젝트로 구성되어 있으며, 다음 오브젝트는 

세 개정도의 파티클을 포함하고 있다.





Flames 오브젝트를 보면 Particle System이라는 컴포넌트를 가지고 있다.

파티클 효과를 보여주기 위한 컴포넌트로 다양한 기능들을 포함하고 있는데,

하나하나 설명해 주려고 한다.

우선 Duration은 파티클을 실행하는 시간이다.

다음과 같이 설정하면 2초동안 파티클을 실행시키지만, Looping을 체크하면 

지속시간이 끝나면 다시 시작되어 주기적으로 계속 반복한다.





Start Lifetime은 파티클의 수명이다. 

Random Between Two Constants를 이용해 정해진 두 개의 값 사이에서 랜덤하게 값이 정해져 

파티클의 수명이 정해지는 것이다.





파티클의 속도와 크기 각도를 정하는 속성이다.

* Start Speed => 파티클의 속도

* Start Size => 각 파티클의 크기

* Start Rotation => 파티클의 초기 회전 각도





Start Color를 이용하면 파티클의 색깔도 변경 가능하다.

파티클은 텍스쳐 이미지를 화면에 뿌려주는 방식인데 

텍스쳐 이미지의 색깔을 바꾸는 것과 똑같다.





알아두면 유용한 기능들이다.

* Gravity Modifier => 중력 값을 의미하며 값을 0으로 설정하면 중력이 적용되지 않는다.

* Delta Time => Scaled와 Unscaled중에서 선택을 한다. Scaled를 하면 TimeScale에 영향을 받기에 

                      일시정지 메뉴를 사용할 때 유용하다.

* Play On Awake => 체크하면 오브젝트가 생성될 때 파티클 시스템이 자동으로 시작한다.

* Emitter Velocity => 파티클 시스템 또한 속도를 구할 수 있다. 방식은 Rigidbody와 Transform을 이용해 

                             가능하다.

* Max Particles => 한 번에 포함될 수 있는 파티클 수를 의미한다. 해당 Duration 동안에 정해진 

                         파티클의 양이 나오는 것이다.

* Stop Action => 파티클이 완료되면 Disable(게임 오브젝트 비활성화), Destory(게임 오브젝트 삭제), 

                        Callback(콜백 함수 적용)






1-3) 파티클 시스템 - Emission



기존의 파티클을 비활성화하고 새로운 파티클 오브젝트를 추가해 주자.






Emission 모듈은 파티클의 방출 속도와 타이밍을 설정 가능하다.

시간에 따라 파티클의 양이 다르다거나, 원하는 시간에 파티클을 내보낼 수 있다.

* Rate over Time => 시간 단위당 방출되는 파티클의 수

* Rate over distance => 이동한 거리 단위당 방출되는 파티클의 수

* Bursts => 파트클을 생성하는 이벤트

- Time => 버스트를 방출할 시점(초)

- Count => 방출되는 파티클 수

- Cycles => 버스트를 반복할 횟수

- Interval => 반복되는 시간 사이의 간격(초)






1-4) 파티클 시스템 - Shape



기존의 파티클을 비활성화하고 새로운 파티클 오브젝트를 추가해 주자.






Shape 모듈은 파티클의 모양과 방향을 정의한다.

원하는 모양과 방향으로 파티클을 방출할 수 있게된다.

* Sape => 방출되는 모양을 뜻하며 여러가지 모양이 존재한다.

* Radius => 모양의 반지름을 뜻한다.

* Radius Thickness => 값을 0으로 설정하면 모양의 바깥 표면에 방출이 되며,

                              값을 1로 설정하면 입체 전체에서 방출이 이루어 진다.

* Position => 파티클을 생성하는 데 사용되는 이미터 모양의 위치값

* Rotation => 파티클을 생성하는 데 사용되는 이미터 모양의 회전값

* Scale => 파티클을 생성하는 데 사용되는 이미터 모양의 크기값





나머지 기능들도 많이 존재하지만 이 부분은 추후 강의 때 진행하도록 하겠습니다^^






2. 마무리



이번 시간에는 파티클 시스템을 이용해 이펙트 효과주는 방법에 대해 배워보았습니다.

다음 시간에는 버튼을 이용하여 씬전환을 해보겠습니다.

다양한 게임 효과에서 쓰이는 파티클 효과 어떻게 쓰이면 좋을지라는 감이 오셨다면 좋겠습니다.

추후에 참격을 날리거나 총을 쓸 때 사용되는 파티클에 대해 진행해 보겠습니다.

오늘도 고생하셨습니다.

감사합니다.




수업자료: https://github.com/YouRang12/-Tistory-Unity---Basic

댓글

Designed by JB FACTORY