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

 

Paragon: Gideon 에셋을 프로젝트에 추가한다.

 


UE4_Mannequin_Skeleton을 연다.


Retarget Manager를 열어 Select Rig: Select Humanoid Rig를 선택한다.

 


Primary_Attack_A_Medium 애니메이션을 연다.

 

Skeleton 탭으로 이동한다.


Retarget Manager를 열어 Select Rig: Select Humanoid Rig를 선택한다.

 


Primary_Attack_A_Medium 애니메이션을 우클릭하고 Retarget Anim Assets - Duplicate Anim Assets and Retarget을 클릭한다.


Content 폴더에 새로운 Primary_Attack_A_Medium 애니메이션이 생성된다

 


Primary_Attack_A_Medium 애니메이션을 우클릭하고 Create - Create AnimMontage를 클릭해 애니메이션 몽타주를 만든다.

 


애니메이션 몽타주를 열고 Anim Slot Manager에서 새로운 UpperBody 슬롯을 생성한다.


몽타주 타임라인에서 UpperBody 슬롯을 선택한다.

 


ThirdPerson_AnimBP를 연다.

 

 

New Save cached pose를 선택해 새로운 DefaultPose 포즈 캐시를 만들고 Default에서 연결한다.

  • 포즈 캐시는 상태 머신을 변수로 사용하는 것과 비슷하다.

 

Use cached pose 'DefaultPose'를 선택해 포즈 캐시를 사용할 수 있도록 한다.

 

 

Slot 노드를 생성하고 DefaultGroup.UpperBody로 슬롯을 변경한다.

 

 

Layered blend per bone 노드를 추가하고 포즈 캐시를 Base Pose에, UpperBody 슬롯을 Blend Pose 0에 연결한다.

 

 

Skeleton 탭에서 Bone 이름을 확인한다.

 

 

Layered blend per bone의 Layer setup - Branch Filters에서 +버튼을 눌러 필터를 추가한다.

 

새로운 필터의 Bone Name에 확인한 spine_01을 입력한다.

 

 

AI_Classic에서 KillPlayer 이벤트를 생성한다.

 

Play Montage 노드로 애니메이션 몽타주를 재생할 수 있다.

  • Montage to Play에 아까 만든 몽타주를 설정한다.

 


L1_Character에 CaughtByEnemy 이벤트를 생성한다.

  • Pawn (Object Reference) 타입의 Enemy를 입력으로 받는다.
  • Actor - Pawn - Character 순으로 상속 받기 때문이다.

 


CaughtByEnemy 이벤트를 구현하고 Timer를 이용해 AI에게 몸을 돌리는 RotateToEnemy 이벤트를 추가한다.

 


BT_Classic에서 블랙보드 탭으로 이동해 canAttackPlayer 키를 추가한다.

 


플레이어와의 거리에 따라 canAttackPlayer의 값을 설정하는 BTS_IsCloseToPlayer 서비스를 생성한다.


Event Receive Activation AI 이벤트는 서비스에 실행 흐름이 들어왔을 때 발생하는 이벤트이다.


Distance (Vector) 노드를 이용해 두 벡터의 거리를 계산할 수 있다.

 


AI가 canAttackPlayer가 참이 되었을 때 실행할 BTT_KillPlayer Task를 생성한다.

 

 

Can See Player 셀렉터를 우클릭해 BTS_IsCloseToPlayer 서비스를 추가한다.

  • Interval과 Random Deviation을 설정하고 Event Receive Tick AI 이벤트를 구현하면 랜덤 시간마다 실행하도록 할 수도 있다.

 

 

BTT_KillPlayer Task도 추가하여 최종 수정된 모습은 다음과 같다.

  • 플레이어를 죽인 후에는 무한히 5초 Wait를 실행해 가만히 있도록 한다.

 

 

AI 공격하기 구현에 성공했다.

 

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

AI 문 여닫기 구현  (0) 2023.02.24
다시하기 구현  (0) 2023.02.24
AI 발각 사운드 재생  (0) 2023.02.22
AI 수색하기 구현  (0) 2023.02.22
AI 쫓기 구현  (0) 2023.02.22
profile

Make Unreal REAL.

@diesuki4

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

검색 태그