열심히 Unity공부를 하고 있는데요 이번시간에는 파티클시스템(Particles System)을 적용해보도록 하겠습니다.


적용하기에 앞서 이게 대체 무엇인지 알아봐야겠네요...


파티클시스템(Particles System)이란?


일종의 효과입니다. 가장 쉽게 생각하면.. 내가 총을쏴 어떤 물체를 맞췄는데 총알이 물체에 맞았을 때 불꽂이 튀는 것들 만들고 싶거나    아니면.. 모닥불을 지폈는데 불꽃이 활활 타오르는 것을 표현하거나 하는 것 같이요. 폭발물이 터지는 효과도 그렇습니다. 좀 그럴듯한 효과를 구현하기 위해 추가된 유니티의 패키지입니다.



실제 적용을 해보니 복잡하거나 힘든 작업이 결코 아닙니다.   이미 완성된 효과가 많이 있기 때문에 원하는 효과를 그냥 사용하면 됩니다. 직접 만들어서 사용하셔도되고요.. 아니면 에셋스토어에서 원하는 자료를 다운로드 받으셔도 됩니다.



지금 진행하고 있는 연습 게임에 적용시켜보겠습니다. 그냥.. 총알을 쏘는건데.. 적 물체를 맞추면..  폭발하는 효과를 표현했습니다.



파티클시스템 유니티에 적용하기


메뉴화면에서  [Import Package]->[Particles] 를 누르시고 [ Import]를 눌러서 추가합니다.





Project폴더 아래에 Particles라는 폴더가 생기고 그 아래에 추가가 된 모습이 보이게 될 것입니다.


저는 아래에  Small explosion이라는 만들어져 있는 프리팹을 적용해 보기로 하였습니다.


Enemy Control이라는 스크립트 파일에  public 으로 Explosion이라는 게임오브젝트를 받을 수 있도록 선언 해 놨습니다.


마우스로 드래그 해서 해당 위치에 가져다 놓으면 연결이 됩니다.




어떠한 효과인지 궁금해서 씬 화면에 올려다 놨는데.. 제법 그럴듯하네요..ㅎㅎ


근데 폭발이 계속 반복이 됩니다.   한번만 폭발하는걸로 만들고 싶거든요.. 이럴 경우  인스펙터화면에서.. One Shot에 체크해주시면되겠습니다.




또한 스크립트에서 프리팹을 연결하기 위해서  public GameObject explosion; 이렇게 변수를 선언했습니다.


또한 연결되어있는 오브젝트의  OnTriggerEnter 메소드에  Instantiate메소드로 생성하는 스크립트를 만들어 넣어봤습니다.


또한 이렇게 충돌 시 이벤트가 발생하도록 하려면, 인스펙터 화면에서 collider의 Is Trigger에 체크가 되어야 합니다...




그리고.. 실제 잘 작동하는지 play를 눌러봤습니다.


총알이 날라가면서..   적 물체에 충돌을 하게 되면 Small explosion 프리팹으로 만들어진 파티클이 동작하도록 말이죠.. 


잘되네요..  




아직은 초반이고 기초가 많이 부족해서..  차근차근진행중입니다.  ^^;    생각보다 많이 복잡하지 않습니다.  열심히 공부해서 게임을 만들어야겠습니다.











블로그 이미지

delphi개발자 메르세데쓰

C#,delphi,db,network,server,it 개발자 메르세데스입니다

Tag

댓글을 달아 주세요