Unity/기초 예제

유니티 Particle 파티클을 이용하여 비 내리는 효과 만들기 간단한 예제 유니티 기초

최애뎡 2021. 7. 8. 19:55
728x90
반응형

이런 식으로 오른쪽 하단에 있는 버튼을 클릭하여
Particle 활성화, 비활성화를 통해 만들어 보도록 하겠습니다.

만들어보기 전에 몇 가지 준비물이 필요합니다.
구름, 빗방울, 버튼, 캐릭터(사실 필요 없습니다..) 이미지를 준비하고
위와 같이(사실 원하시는 데로) 빗방울을 제외하고 세팅을 해주시면 아주 좋습니다.
여기서 2D이기 때문에 Main Camera의 속성 중 Projection을 Orthographic으로 바꾸어 주시면 이미지가 휘어 보이는 일은 없을 것이고, 빗방울의 경우 포토샵이나 일러스트로 하얗게 그리셔서 사용하시면 후에 Particle에서 직접 색을 변경하셔서 사용하시면 더 이쁘게 표현하실 수 있습니다.
이제 Particle을 제작해볼까요?!

Hierarchy 뷰에서 Particle을 만들어줍니다.

기본 생성된 Particle의 모습입니다.
여기서 준비한 이미지를 사용하기 위해

 

Renderer의 Material을 Sprites-Default로 바꾸어줍니다.
그러면 오른쪽 이미지와 같이 Particle이 생성됩니다.
이제

Texture Sheet Animation의 Mode를 Sprites로 바꾸고

이렇게 준비한 이미지를 넣어주면 바로 적용이 됩니다.
그런데 비가 내리는 모양이 이상하죠?
이를 이쁘게 바꾸어 보겠습니다.

 

Shape를 Edge로 바꾸어주시면 위와 같이 Particle이 형성됩니다.
여기서

Particle의 Transform에서 Rotation을 바꾸어주면 위에서 아래로 빗방울이 떨어지게 됩니다.
이제 구름의 한 부분이 아닌 전체의 부분에서 비가 떨어지면 되겠군요?!

다시 Shape으로 돌아가서 Radius를 넓혀주겠습니다.
Scene 뷰의 구름을 자세히 보시면 Radius가 보이실 겁니다.
이제는 비가 내리는 정도(Particle이 생성되는 정도)나 크기, 생명주기 등을 설정하여보겠습니다.

먼저 Emission의 Rate Over Time을 설정하여 1초당 몇 개의 Particle이 형성되는지 정해줍니다.
그리고

Particle의 사이즈를 Random 하게 만들기 위해 Start Size에서
Random Between Two Constants를 선택하고 값을 지정해줍니다.

저 같은 경우는 0.2 ~ 0.5사이의 크기로 결정을 하였습니다.
이제 Size와 마찬가지로 Lifetime, Speed도 자유롭게 설정해주세요!

 

이제 Particle에 Collision 부분을 보도록 하겠습니다.

 

만든 Particle에 충돌이 필요하다면 Collision에서 위와 같이 설정을 합니다.
(여기서는 빗방울이 땅(Collider)에 닿았을 때 약간 튀기는 효과를 주기 위해 사용하게 됩니다.)
그리고

빈 오브젝트를 만들어 Box Collider 2D를 적용하게 되면

Particle이 Collider와 충돌하였을 때 위로 튀기는 보습을 보실 수 있습니다.
이렇게 튀기는 것은 Collision의 Bounce가 1로 되어있어서인데 이를 줄이게 되면

이렇게 빗방울이 아주 약간 튀어 오르는 모습을 보실 수가 있습니다.
다음으로 아주 간단한 버튼을 구현하여
튼을 클릭 시 Partice을 활성화하고, Particle이 활성화되어 있는 상태에서 버튼을 클릭 시에는
Particle이 비활성화되는 토글식 버튼을 만들어 보도록 하겠습니다.

버튼으로 사용할 이미지 오브젝트에 Box Collider을 추가하고

마우스로 버튼 이미지를 클릭할 때마다 Particle의 Actice 상태의 반대의 값을 넣어주어 
버튼을 누를 때마다 Particle의 액티브가 꺼졌다 켜졌다 하게 만들어줍니다. 

작성한 스크립트를 버튼 이미지에 적용하고 Particle을 가져옵니다.
그리하면!

이렇게 완성할 수 있습니다.
Particle의 경우 이런저런 속성이 많아 공부해야 할 부분이 많다 보니 접근이 약간 힘들 수도 있는데 이렇게 간단한 예제를 통해 어느 정도의 접근이 가능할 수 있었으면 좋겠습니다!!

 

참고!

https://www.youtube.com/watch?v=_z68_OoC_0o

 

https://unity3d.com/kr/learn/tutorials/topics/graphics/particle-system?playlist=17102

 

Recorded Video Sessions on Graphics - Unity Learn

In this session you will learn the basics of the Unity camera system. You will learn about perspective and orthographic cameras as well as how to layer multiple cameras to achieve interesting effects. Unity tutor: Mike Geig

learn.unity.com

반응형