안녕하세요. 이관호입니다.
이번 포스트에서는 게임의 뷰를 담당하는 파티클을 사용하는 방법에 대해서 알아보도록 하겠습니다.
가장 먼저 파티클이 무엇이냐 ... 를 생각하시는 분이 있을텐데요.
파티클은 불꽃, 먼지, 폭발 등의 이펙트라고 생각하시면 쉬울거 같애요!
많은 렌더링과 수학적 함수가 들어가서 소규모의 인원으로 진행하는 프로젝트에서는 하나하나 만들려고 하면 인력과 시간 소모가 굉장히 많이 일어날 것입니다.
그래서! 유니티에서는 파티클 시스템이라는 것을 제공해주고, 왠만한 이펙트 효과는 모두 해결할 수 있도록 제공해주고 있습니다.
또한, 이미 만들어진 파티클을 가져와서 사용하여도 큰 문제는 없으니 게임 개발 후에 화려한 효과를 덧붙이기 원하는 분들에게는 최고의 시스템이라고 할 수 있겠죠??
본 포스트에서는 간단하게 사용하는 방법 정도만 적을 것입니다. 자신에게 맞는 심화된 효과를 원하시는 분은 독스를 참고하여서 효과를 만드시거나, 이미 만들어진 효과를 가져다 사용하시는 것을 추천드립니다. (뭐 난 코딩과 수학의 천재여서 직접 만들겠다 하시면 말리지는 않겠습니다 ..)
자 그럼 시작합니다!
1. 파티클을 만들어보자!
가장 먼저 파티클을 만들어 보겠습니다. 굉장히 간단해요!
메뉴 - GameObject - Particle System 을 선택하게 되면
위와 같은 가장 기본적인 파티클 시스템이 생성되게 됩니다.
하얀 먼지들이 위로 올라가는 것을 보실 수가 있어요!
그리고 오른쪽에 보시면 여러 메뉴가 있는 것을 보실 수 있습니다.
위로 올라가는 하얀 먼지를 저 메뉴의 값 설정을 통해 바꾸는 것으로 왠만한 효과는 만들 수 있습니다.
예를 들어
간단하게 Shape 의 속성을 살짝 바꿔보게 되면
위로만 올라가던 하얀 먼지들이 사방으로 뻗혀 나가는 것을 보실 수 있습니다!
좀더 이것저것 건들여 보게 되면 위와같이 흙먼지가 튀기는 모습을 볼 수도 있네요!
파티클 시스템의 각 속성이 무엇을 의미하는지는
http://docs.unity3d.com/kr/current/Manual/PartSysMainModule.html
위 유니티 독스를 참고하면서 개발을 하시면 될 것 같습니다!
2. 만들어진 파티클을 가져와 보자!
위에서 파티클 시스템을 이용하여 간단한 효과들을 만들 수 있다는 것을 살펴보았습니다.
근데도 이마저도 귀찮다 하는 분들이 분명히 계시리라 생각합니다 ... ㅠㅠ
우리의 훌륭한 유니티는 그런 분들을 위하여서도 기본 패키지를 제공해 줍니다!!
Asset - Import Package - ParticleSystem 을 클릭하시고 잠시만 기다리시게 되면
위와 같은 작은 창이 하나 생깁니다.
저는 싹다 가져오기 위해 모두 체크된 상태에서 Import를 눌러 봤습니다.
자! Import를 누르시고 잠시 기다리시면 위와 같이 프로젝트 폴터 2개가 생성되신 것을 볼 수 있습니다.
그중 Standard Assets - ParticleSystems - Prefabs로 들어가시면 완성된 파티클을 몇 가지 보실수 있습니다!
원하는 파티클을 드래그하시게 되면
반짝반짝 예쁜 구슬을 보실 수 있어요!!
그리고 이 구슬은 Particle System을 사용했는지 인스펙터창을 보시면 Particle System을 보실 수 있는데, 여기서 살짝 조작을 해주시면 구슬에서 빨간 먼지가 튀어 오르는 것을 보실 수 있습니다!
Flair라는 파티클을 넣어 보았는데 불꽃이 예쁘게 튀기네요. 불꽃놀이 등에 이 효과를 사용하면 좋을거 같네요!
근데 난 이 정도로도 만족하지 못한다... 난 지갑전사여서 돈으로 해결하겠다..!! 하시는 분들도 ... 있으실 겁니다 ...
그런 분들을 위해 전 세계의 유니티 개발자들이 만든 훌륭한 파티클 ... 에셋 스토어가 있죠
에셋 스토어에서 particle 을 검색하시면 다양한 파티클이 나오는데 무료는 얼마 없더라구요 .. 전 무료여도 효과가 굉장히 좋다고 느꼈는데 이로도 만족하지 못하시는 분들은 유료 효과를 구매하셔서 사용하시면 보다 나은 파티클을 감상하실 수 있습니다!!
3. 파티클을 사용해보자!
이때까지는 파티클을 불러와서 속성 조정 등만을 해보았습니다.그런데 파티클이라함은 무언가 폭발하거나, 캐릭터가 움직이거나 할 때 나오는 것인데 ... 그럴때는 어떻게 사용하냐는 생각을 하실 수 있습니다.
여기서는 방법이 여러가지가 있고, 그중 한개만 간단히 소개해 드리겠습니다.
우선 유니티 스크립트 개발을 어느 정도 해보신 분이라고 가정하겠습니다.
C#을 기준으로 스크립트에
public GameObject explosion;
를 만들게 되면 해당 스크립트가 부착된 오브젝트에 하나의 게임 오브젝트를 삽입할 수 있습니다.
감이 오시나요? 그렇습니다. 만들어둔 파티클을 게임 오브젝트로 부착해주시면 됩니다.
그리고 콜리전, 무브 등의 각종 상태에 대해 해당 파티클을 on/off나 Instantiate/Destroy를 이용해서 구현해주시면 됩니다.
댓글 없음:
댓글 쓰기