유니티 엔진 - 게임 프로젝트/타워 디펜스 게임

적 추가 - 1) 무리지어 오는 적의 추가

monstro 2026. 9. 22. 11:03
728x90
반응형

- 개요

이전에 존재하던 적들에 무리지어 오는 적을 추가한다

 

- 스크립트 작업

1) Enemy_Base 클래스

 

EnemyType 열거형에 위와 같이 Swarm 값을 추가하여 무리지어 오는 적의 타입을 설정한다

 

2) Enemy_Swarm 클래스

 

Enemy_Base 클래스를 상속받은 Enemy_Swarm 클래스를 생성하여 무리지어 오는 적을 정의한다

 

3) SwarmParts 클래스

 

무리지어 오는 적들에게 적용할 시각 효과와 관련된 SwarmParts 클래스를 생성한다

멤버변수는 위와 같다

  • variants 멤버변수 : 무리지어 오는 적들의 3가지 외형 타입
  • bounceCurve 멤버변수 : 무리지어 오는 적들에게 튀어다니는 애니메이션을 적용할 애니메이션 커브
  • bounceSpeed 멤버변수 : 무리지어 오는 적이 튀어다닐 속도
  • minHeight 멤버변수 : 무리지어 오는 적이 튀어오를 최소 높이
  • maxHeight 멤버변수 : 무리지어 오는 적이 튀어오를 최대 높이
  • bounceTimer 멤버변수 : 애니메이션 커브를 적용하기 위한 타이머
  • canBounce 멤버변수 : 불필요한 Update 함수 호출을 방지하는 불리언 변수

 

 

ChooseVisualVariants 함수를 추가하여 랜덤한 외형 중 하나를 선택하여 적용한다

 

 

DoBounce 함수를 추가하여 0 ~ 1초 사이의 시간을 반복하여 애니메이션 커브에 대입하여 

무리지어 오는 적들의 높이값을 갱신하도록 구성하였다

 

 

StopBounce 함수를 추가하고 Enemy_Base 클래스의 OnDestinationReached 이벤트에 바인딩하여

불필요하게 Update 함수를 호출하는 것을 방지한다

 

 

Start 함수에서 ChooseVisualVariants 함수를 호출하여 몰려오는 적들의 외형을 설정한다

 

 

Update 함수에서 DoBounce 함수를 호출하여 몰려오는 적들의 튀어오르는 애니메이션을 재생한다

 

- 최종 실행 결과

728x90
반응형