728x90
반응형
- 개요
적을 스폰하는 건물 오브젝트를 추가하고 적이 최종 목적지에 도달하면 파괴되도록 설정한다
- 스크립트 작업
1) WaypointManager 클래스

적이 이동할 경로를 관리하는 매니저 클래스를 추가한다
싱글톤 패턴을 이용하여 매니저 클래스에 접근할 수 있으며 씬이 전환되면 같이 파괴한다
2) EnemyManager 클래스

적을 생성하고 관리하는 매니저 클래스를 추가한다
멤버변수의 구성은 위와 같다
- enemySpawner 멤버변수 : 적을 생성할 건물 오브젝트의 트랜스폼
- spawnCooldown 멤버변수 : 적을 생성할 간격
- spawnTimer 멤버변수 : 적을 생성할 시간을 측정하는 타이머
- Instance 멤버변수 : 싱글톤 패턴을 사용하여 매니저 클래스에 접근
- basicEnemy 멤버변수 : 생성할 적의 프리팹

Awake 함수에서는 싱글톤 객체를 생성한다
경로 매니저와 동일하게 씬이 전환되면 같이 파괴한다

Update 함수의 로직은 위와 같다
spawnCooldown 변수에 설정한 값의 간격마다 CreateEnemy 함수를 호출하여 적을 생성한다

CreateEnemy 함수의 로직은 위와 같다
새로운 적 객체를 생성한 후에 지역변수에 저장한다
3) PlayerCastle 클래스

플레이어의 거점 역할의 PlayerCastle 클래스를 추가한다
OnTriggerEnter 함수를 오버라이드하여 트리거된 대상의 태그가 "Enemy"라면 파괴한다
4) Enemy_Base 클래스

Start 함수에서 적이 이동할 경로를 경로 매니저를 통해 설정한다
- 애셋 작업
1) 적 프리팹

적의 프리팹들의 태그를 위와 같이 "Enemy"로 설정한다

콜라이더를 통해 판별하기 위해 Box Collider 컴포넌트와 RigidBody 컴포넌트를 추가한다
2) 거점 프리팹

적이 들어왔는지 판단하기 위해 Box Collider를 추가하고 Is Trigger로 설정하여 트리거로 동작하도록 설정한다
- 최종 실행 결과

728x90
반응형
'유니티 엔진 - 게임 프로젝트 > 타워 디펜스 게임' 카테고리의 다른 글
| 유닛 세팅 - 2) 유닛의 공격 이펙트 추가 (0) | 2026.05.26 |
|---|---|
| 유닛 세팅 - 1) 타워 유닛 클래스 생성 (0) | 2026.05.25 |
| 적 세팅 - 최종) 웨이브 시스템 추가 (0) | 2026.05.19 |
| 적 세팅 - 2) 적의 움직임 설계 (0) | 2026.05.18 |
| 적 세팅 - 1) AI Navigation 패키지의 사용 (0) | 2026.05.18 |