본문 바로가기
개발일지/The Outcast House

[The Outcast House] 3. 적 인공지능

by heydotory 2025. 2. 26.

추격하는 적이 필요했다.

그리고 AI가 자연스럽게 세상과 상호작용 하길 원했다.

우선 유튜브에서 비헤비어 트리 튜토리얼을 찾아 따라한 뒤 이곳저곳 돌아다니는 적을 만들었다. 

Testbed

 

AI가 틈새를 뛰어넘거나 땅에서 떨어지며 이동하게 하기 위해서 Nav Link Proxy를 사용했다.

적이 Nav Link Proxy에 도달하게 되면 어떠한 행동을 하게 할지 프로그래밍할 수 있다.

다음 문서를 참고했다.

점프하여 이동
앉아서 이동

 

적이 Nav Link Proxy에 도달해도 Event Receive Smart Link Reached가 호출되지 않는 문제가 있었다.

이는 설정을 통해 해결하였다.

설정은 Project Settings -> Engine -> Navigation Mesh 또는 레벨에 내비게이션 볼륨을 배치하면 생기는 RecastNavMesh-Default에서 수정할 수 있다.

Nav Mesh 설정 -> Runtime -> Runtime Generation을 Static이 아닌 Dynamic 또는 Dynamic Modifiers Only으로 해줘야 호출이 되었다.  

 

다음으로 플레이어의 마지막 위치를 기억하고 찾도록 만들었다. 


디버깅을 위해 마지막 위치를 표시하도록 했다. 스플린터셀의 경우를 참고했다. 

최종 빌드에는 몰입감을 위해 안 들어가지 않을까 싶다. 

단순히 투명 모델링을 가진 액터를 마지막으로 확인된 위치로 이동시켜서 구현했다. 

 

다음으로 점프 스퀘어를 만들었다. 

 

이를 위해 먼저 적 캐릭터 머리 본에 카메라를 달았다. 

 

캐릭터 메쉬 앞에 콜리전을 달아놓고 여기에 플레이어가 닿으면 애니메이션을 재생하 가했던 카메라View를 변경시켰다. 

이를 위해 Set View Target with Blend 호출하여 View Target을 Enemy로 변경했다.