2023. 11. 3. 23:35ㆍ언리얼 엔진/개인도전!
추격
우선 기존에 만든 AIC_Patrol에 인지 컴포넌트를 추가해준다.
이후 시야를 추가해준다. (언리얼에서 제공해주는 감지 시스템이다.)
이후 상세하게 봐보면 자신의 입맛대로 시야를 조절할 수 있다.
이후 게임에서 " ; " 키와 Numpad " 4 " 를 누르면 해당 AI의 시야를 볼 수 있다.
이후 OnTargetPerceptionUpdate 이벤트를 추가해주고 NPC가본게 플레이어라면 Hello를 Print시키는걸 추가해본다.
사진은 이미추가해서 기존이벤트에 보인다.
잘 나온다. 그럼이제Hello가 아니라 다른것으로 바꾸면 플레이어를 봤을 때 그기능을 수행한다는것이다.
이후 블랙보드에 새로운 Bool 타입의 CanSeePlayer라는 키를 하나 추가해주고.
만약 Player를 봤다면 해당 BlackBoard의 Bool값을 True로 세팅한다고 해준다.
그후 BT를 열어서 새로운 시퀀스를 추가해주고 CanSeePlayer라고한뒤 우클릭을 해서 블랙보드 데코레이터를 추가해준다. 이후 CanSeePlayer로 설정해주고
CanNotSeePlayer 시퀀스에도 동일하게 추가해준다. 이때는 Not Set으로도 바꿔준다.
물론 캐릭터를 볼경우 못볼경우 계속 바뀔수 있으니 관찰자 중단은 Both로 설정해준다.
이후 CanSeePlayer 아래에 속도를 조절해주고
BT_FindPlayerLocationAndChasePlayer를 새로만들어준다. 기존방법을 이용하면 쉽게 만들 수 있다.
그 후 추가해주면 끝. 그러나 플레이어를 못봤을때 되돌아가게해줘야하므로
AIC에 플레이어를 발견했을 때 부분에 만약 실패하면 False처리로 Bool값을 False로 바뀌는것을 추가해준다.
이후 테스트를 해보자.
플레이어에게 닿을때 까지 계속 잘 쫓아온다.
시야에서 놓치면 포기하고 돌아간다.(패트롤위치로)
'언리얼 엔진 > 개인도전!' 카테고리의 다른 글
[ProjectH] 메인메뉴 만들기 (1) | 2024.01.07 |
---|---|
[ProjectH]Investigating (0) | 2023.11.19 |
[ProjectH]Patrol (0) | 2023.10.31 |
[ProjectH]HeadFollow (1) | 2023.10.28 |