Make Unreal REAL.
article thumbnail
Unreal Engine: Ultimate Survival Horror Course


블백보드에 Boolean 타입의 killHiddenPlayer와 Rotator 타입의 targetRotation 키를 추가한다.

 

 

BPI_PlayerHiding 인터페이스를 생성한다.

 

숨기 전에 AI가 플레이어를 보았는지 확인할 DidEnemySee 인터페이스 함수를 생성하고 입력을 추가한다.

 


AIC_Classic에 BPI_PlayerHiding 인터페이스를 추가하고 DidEnemySee 인터페이스 함수를 구현한다.

 


BP_HideActor의 Interact 인터페이스 함수에서 플레이어가 숨을 때 실행되는 부분 앞에 AI가 플레이어를 봤는지 확인하는 부분을 추가한다.

 

Cast To Class 노드는 Get Actor Of Class에 Class를 전달하기 위해 사용된 것이다.

  • Class에 AIC_Classic을 지정한다.

 

Get Actor Of Class는 처음 찾은 하나의 액터만 가져온다.

  • Get All Actors Of Class는 클래스에 해당하는 월드의 모든 액터를 TArray로 가져온다.

 


BP_HideActor에 AILocation Arrow를 추가한다.

  • 플레이어가 숨었을 때 AI가 도착할 목적지이다.

 


BP_HideActor_Locker에서 AILocation의 위치를 설정한다.

 


BTT_RotateAI 태스크를 추가한다.

  • Task - Tick Interval - Interval에서 값을 설정하면 Tick 실행 주기를 설정할 수 있다. (음수일 경우 매 Tick마다 실행된다.)
  • AI를 서서히 회전시키기 위해 Event Receive Tick AI 이벤트를 사용한다. (설정한 Tick마다 실행된다.)

 

 

BP_HideActor에 EnemyFound 이벤트를 생성한다.

 

 

BP_HideActor_Locker의 Interact 인터페이스 함수에서 문 여는 부분을 OpenDoor 이벤트로 만든다.

 

 

EnemyFound 이벤트를 오버라이드한다.

  • Static Mesh - Set Collision Enabled 노드를 이용해 Collision 설정을 변경할 수 있다.

 


AIC_Classic에 EnemyFound 함수를 실행하는 PullOutOfHiding 이벤트를 추가한다.

 


BTT_PullOutOfHiding 태스크를 생성한다.

 


BPI_PlayerHiding 인터페이스에 LeftHidingSpot 인터페이스 함수를 추가한다.

 


숨기가 끝난 이후에 실행되는 BP_HideActor의 FinishedMoving 이벤트에 AI가 숨은 위치에서 떠나도록 하는 LeftHidingSpot (Message) 인터페이스 함수를 실행하는 부분을 추가한다.

 


AIC_Classic에서 LeftHidingSpot 인터페이스 함수를 구현한다.

 


BT_Classic Behavior Tree에 killHiddenPlayer 값에 따라 숨은 플레이어를 찾아내는 부분을 추가한다.

 

 

숨은 플레이어를 찾아 공격하는 기능을 구현했다.

 

'Unreal Engine > Ultimate Survival Horror Course' 카테고리의 다른 글

완강 및 후기  (0) 2023.02.24
메인 메뉴 만들기  (0) 2023.02.24
AI 문 여닫기 구현  (0) 2023.02.24
다시하기 구현  (0) 2023.02.24
AI 공격하기 구현  (0) 2023.02.23
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그