[ProjectH]Investigating

2023. 11. 19. 12:45언리얼 엔진/개인도전!

이젠 AI에게 플레이어를 발견하지않아도 조사하는것을 한번 만들어보겠다.

우선 BB에 Bool타입 키를 하나 만들어주고 이걸로이제 추격중인지 아닌지를 판단할것이다.

플레이어를 보지않아도 추격할 수 있기 때문이다.

 

 

그이후 BT도 이에맞게 수정해준다. 기존 CanNotSeePlayer도 Is Not PursingPlayer로바꿔주고. 블랙보드키도 수정해준다.

이후에 Pursuing일때 CanNotSeePlayer 시퀀스도 추가해준다.

이후 새로운 BT를 만들어주고 다음과같이 BP를 써준다. (대충 캐릭터 Location위치를 키에 지정해줌)

그후 BB에 이렇게 설정해주면 이제 플레이어를 추격중일 때 플레이어가 보이지않으면 마지막으로 봤던 위치로 걸어오게 된다.

그리고 이제 플레이어를 찾아다니는 BT를 추가해주고(마지막위치에서 SearchRadius반경(250)의 랜덤위치 지정)

그리고 위에 CanNotSeePlayer 마지막부분에 LoopSeach라는 시퀀스와 Loop데코레이터를 추가해준다.

Loop데코레이터는 해당 행동을 몇번이나 반복을 해주는 데코레이터이기 때문에 3이면 플레이어의 랜덤위치값으로 NPC가 3번움직일 것이다. Wait에다도 랜덤값을주어 움직임에 자연스러움을 추가한다.

그리고 Set IsPursuing BT도 추가해주고 Set해주는 BP를 만든다. 이때 변수에 눈표시는 꼭해주자 위에것들도 전부 마찬가지.

이렇게 추가해주면. 3번의 탐색동안 플레이어를 못찾으면 다시 순찰하는것으로 변경될것이다.

그 후 AIC에 CanSeePlayer를 조절했던곳에서 IsPursuingPlayer도  추가해준다. (최초 발견시 추격모드 ON)

 

플레이어를 보면 쫒다가 결국 마지막으로 보였던위치를 서성이다가 플레이어가 안보이면 다시 순찰로 돌아간다.

'언리얼 엔진 > 개인도전!' 카테고리의 다른 글

[ProjectH] 메인메뉴 만들기  (1) 2024.01.07
[ProjectH]Chasing  (0) 2023.11.03
[ProjectH]Patrol  (0) 2023.10.31
[ProjectH]HeadFollow  (1) 2023.10.28