Unreal Engine: Ultimate Survival Horror Course
AIC_Classic에서 AIPerception 컴포넌트를 추가한다.
AI Perception - Sense Config에 AI Sight config를 추가한다.
Sight Radius
- 처음 감지할 수 있는 최대 거리
Lose Sight Radius
- 이미 감지된 타겟을 감지할 수 있는 최대 거리
PeripheralVisionHalfAngleDegrees
- 시야각
- 한 쪽이므로 90일 경우 180°가 된다.
Detection by Affiliation
- 감지할 종류
Max Age
- 설정한 초가 지나면 Stimuli를 잊고 초기화된다.
Dominant Sense: AISense_Sight로 설정한다.
'P 키를 입력하면 네비게이션 관련 정보를 디버깅할 수 있다.
Num Lock을 켜고 넘버 패드 0, 1, 2, 3, 4를 누르면 각각을 확인할 수 있다.
BB_Classic 블랙보드에 Boolean 타입의 canSeePlayer 키를 추가한다.
AIC_Classic에서 AIPerception을 우클릭하고 On Target Perception Updated 이벤트를 추가한다.
Actor: 감지된 액터
Stimulus: 자극의 정보이다.
- Age: 감지된 이후로 지난 시간
- Expiration Age: 소멸까지 남은 시간
- Strength: 자극에 설정된 강도
- Stimulus Location: 자극이 발생한 위치
- Receiver Location: 자극이 등록된 위치
- Tag: 자극에 설정된 태그
- Successfullty Sensed: 감지 성공 여부
AIController - Get Blackboard 노드를 이용해 Behavior Tree에 등록된 Blackboard를 가져올 수 있다.
Blackboard - Set Value as.. 노드에 키 이름과 값을 전달해 블랙보드에 설정된 키에 값을 설정할 수 있다.
BT_Classic에서 새로운 BTT_FindAndChasePlayerLocation Task를 생성한다.
Blackboard Key Selector - Get Blackboard Value as.. 노드를 이용해 Blackboard Key의 값을 가져올 수 있다.
Controller - Simple Move to Location 노드로 플레이어의 위치로 이동하도록 한다.
- Simple Move to Actor를 이용하고 Player Character 액터를 전달해도 된다.
BT_Classic에서 Can See Player 시퀀스를 추가한다.
시퀀스를 우클릭 Add Decorator.... - Blackboard를 선택해 Blackboard 키의 상태에 따라 조건을 만드는 Decorator를 추가한다.
- Decorator는 조건을 만드는 역할을 한다.
Observer aborts: Both
Key Query: Is Set
Blackboard Key: canSeePlayer
Can Not See Player 시퀀스에도 Decorator를 추가하고 설정한다.
Observer aborts: Both
Key Query: Is Not Set
Blackboard Key: canSeePlayer
BTT_SetSpeed, BTT_FindAndChasePlayerLocation Task를 추가하고 변수를 설정한다.
AI 쫓기 기능 구현에 성공했다.
'Unreal Engine > Ultimate Survival Horror Course' 카테고리의 다른 글
AI 발각 사운드 재생 (0) | 2023.02.22 |
---|---|
AI 수색하기 구현 (0) | 2023.02.22 |
AI 패트롤 구현 (0) | 2023.02.21 |
AI 플레이어 바라보기 구현 (0) | 2023.02.21 |
FNAF 보안 카메라 구현 (0) | 2023.02.20 |