[UE5] Assassin18 - Player Detaction

윤정민·2023년 6월 28일
0

[Unreal Project]Assassin

목록 보기
19/26

1. 개요

현재 개발한 내용을 보면 적들이 플레이어를 보자마자 칼을 착용하고 전투태세로 들어간다. 하지만 다른게임에서도 현실에서도 주변에 보이는 사람을 바로 공격하진 않는다. 보통 경계태세를 취하다 전투태세로 들어간다. 이번시간에는 경계태세를 보여주는 기능을 개발할것이다.

2. 아이디어

2.1. AI 상태관리

AI의 상태를 경계, 홀딩, 공격으로 관리하여 경계>홀딩>공격>홀딩>공격... 순서로 반복하자. 결론적으로 홀딩, 공격으로 들어가기전 경계상태를 추가한 것이다.

  • enum을 사용하여 AI의 상태 관리
UENUM(BlueprintType)
enum class EAIState : uint8
{
	E_Holding = 0 UMETA(DisplayName = "Holding"),
	E_Attacking = 1 UMETA(DisplayName = "Attacking"),
	E_Warning = 2 UMETA(DisplayName = "Warning"),
};

2.2. 경계상태를 유지하는 조건

  • 감지레벨을 만들어 AI의 sight perception이 활성화 되면 감지레벨을 증가하고, sight perception을 잃으면 감소
  • 감지레벨이 100에 도달하면 홀딩 상태로 진입
  • 홀딩 상태에서 AI의 sight perception을 잃으면 다시 경계 상태로 돌아감

2.3. 경계 상태일 때 AI의 행동

  • 플레이어 주변 위치로 이동

3. 결과

profile
그냥 하자

0개의 댓글