유니티에서 Particle System 은 폭발, 모닥불, 번개 및 각종 마법 등 여러 효과를 만드는데 아주 유용하게 사용되는 기능입니다. 이 글에서는 Particle System 을 이용하여 탄막 슈팅게임에서 볼 수 있는 탄막 효과를 아주 간단하게 만드는 방법에 대해서 알아보도록 하겠습니다.
▶ 공통
Particle System 의 Transform 의 Position 과 Rotation 은 모두 0으로 설정하고 Start Size 는 0.2로 합니다.
▶ 단방향 발사
총알을 한 방향으로 주기적으로 발사합니다.
ParticleSystem 의 Emission 과 Shape 을 다음과 같이 설정합니다.
● 발사 주기조절: Emission의 Rate over Time 값 변경
● 방향: Shape의 Roatation Y 값 변경
▶ 원형 (Burst)
원형 (Burst) 는 총알이 원점을 중심으로 원형을 그리며 한 번에 퍼져 나가듯이 발사됩니다.
Particle System 의 Emission 과 Shape 을 다음과 같이 설정합니다.
총알이 주기적으로 끊김없이 나가도록 하려면 Cycles * Interval = Start Life 가 되도록 설정해 주시면 됩니다.
▶ 부채꼴
부채꼴은 총알이 부채꼴 모양으로 퍼져 나갑니다.
Particle System 의 Emission 과 Shape 을 다음과 같이 설정합니다.
● 부채꼴 모양으로 발사되는 총알 수: Emission > Bursts > Count 값 조절
● Arc 값에 따른 Rotation Y 값 = (Arc - 90) - (Arc / 2)
여기서도 Cycles * Interval = Start Life 값이 되도록 하면 일정 간격으로 발사되게 할 수 있습니다.
▶ 원형 (Ping-Pong, Loop)
총알이 한 번에 퍼져 나가는 것이 아닌 시간 간격을 두고 원형을 그리면서 발사됩니다.
Particle System 의 Emission 과 Shape 을 다음과 같이 설정합니다.
● 총알 빈도: Emission의 Rate over Time 값 조절
● 회전 속도: Shape의 Speed 값 조절. 음수가 되면 반대로 돕니다.
PingPong 은 Shape 의 Loop 을 PingPong 으로 변경하면 됩니다.
'게임 프로그래밍 > 유니티 활용' 카테고리의 다른 글
[유니티 활용] ScriptableObject를 이용한 Data 관리 예제 - 몬스터 (0) | 2023.04.24 |
---|---|
Coroutine 과 UniTask 비교 예제 (5) | 2023.01.21 |
[유니티 활용] 액션 RPG 스타일의 실시간 전투 구현하기 (0) | 2023.01.14 |
[유니티 활용] StateMachine 을 활용한 3D 몬스터 AI 구현 (5) | 2023.01.12 |
[유니티 활용] NavMeshAgent 사용법 (Simple Monster AI) (26) | 2023.01.11 |
댓글