[C#, 유니티] Unity3D_FPS Particle, Animator

2022. 8. 17. 16:38코딩 2막 <C#개념편>

728x90

실습 주제


Particle System(파티클 시스템)

FPS라면 빠질 수 없는 요소!! 바로 파티클이다

인게임에서 폭발이나 연기, 파편 등이 튀는 비주얼적인 효과들을 보여주기 위한 수단으로

파티클이라고 부르는 매우 작은 이미지나 Mesh를 시뮬레이션하고 렌더링하여 시각적인 효과를 연출할 수 있다

 

시스템의 각 파티클은 효과의 개별 그래픽 요소를 구현한다

또한 모든 파티클을 종합적으로 시뮬레이션하여 완성된 효과를 구현할 수 있다

 

다양한 효과를 연출하기위해 유니티 에셋스토어에 공유된 에셋을 이용하였는데

아래 링크를 누르면 해당 패키지를 무료로 이용할 수 있다

 

Unity Particle Pack 5.x | 에셋팩 | Unity Asset Store

Get the Unity Particle Pack 5.x package from Unity Technologies and speed up your game development process. Find this & other 에셋팩 options on the Unity Asset Store.

assetstore.unity.com

 

unity particle pack 5.ver

해당 에셋을 다운받았다면 현 버전과 다를 수 있기 때문에

최신버전으로 업데이트 해줘야 오류가 발생하지 않는다

 

업데이트 방법!!

유니티 상단 Window - Package Manager - Packages:In Project의 'Post Processing' 업데이트 !!

파티클 생성 및 구현

target 인스펙터창

파티클 시스템은 무수히 많은 기능들을 쓸 수 있으니

많이 다뤄보면 좋을 것 같다!

파티클 시스템

타겟을 맞췄을 때 타겟의 체력이 깎이면서

체력이 0 이하가 되면 파괴되는데 이때 파티클 효과를 주었다

그리고 render, particle, collider는 타겟이 파괴가 되면 비활성화 처리를 해주었다

타겟 스크립트

총의 경우 총구쪽에 섬광의 효과를 파티클을 통해 구현하였고

총을 쏴서 총알이 맞는 부분(hit)의 노멀벡터를 계산하여 해당 부분에 총알효과(자국)가 남도록 하였습니다

 

총 스크립트

 


결과

Animator

에니메이션을 플레이 해줌으로써 어느정도 반응이 있게끔 만들 수 있습니다

예를 들면 총을 쐈을 때 총의 반동을 보여줌으로 더욱 현실감있게 인게임을 구현할 수 있습니다 

 

플레이어에게는 여러가지 모션을 가지고 있을 것이다

걷는, 뛰는, 가만히 있는, 앉는 등등 여라가지 모션들을 플레이 하고 싶은 에니메이션 컴포넌트를 만들고

만든 에니메이션 컴포넌트를 관리할 에니메이터를 통해 조작이 가능하다

 

에니메이션과 에니메이터를 관리하는 방식은 아래 영상을 업로드 해두었으니 참고바랍니다

code review

+) 사격 중 총 발사 사운드


공감해주셔서 감사합니다

728x90