

캡슐 컴포넌트와 메쉬 컴포넌트의 Collision 세팅을 Custom으로 바꾸고, Camera의 Collision을 Ignore로 설정해줌
→ 플레이어 캐릭터의 카메라와 충돌을 일으키지 않게 하기 위함
ChasePlayer : 플레이어를 쫓는 이벤트

BeginPlay

플레이어를 쫓는 로직인데 위와 같이 적용했을 때 아직 아무 일도 일어나지 않음
AI에게 영역을 지정해 주어야 함

NavMeshBoundsVolume을 이용해 영역을 지정해 줌
이 상태에서 P를 누르면

움직일 수 있는 영역을 알 수 있음
이렇게 되면 위의 로직이 정상적으로 작동 됨



플레이어에게 다가간 후 공격을 하는 동작을 플레이하게 만듦

현재 공격 모션은 잘 동작하지만, 강의에 나온 휘두르기 동작처럼 뭔가 이상하게 동작하는 애니메이션들이 있음
이건 IK설정 때문인데 FootIK라고 한다면, 발이 지면과 붙어있게 만드는 것
해당 캐릭터의 AnimGraph에서 설정할 수 있음
일단, 해당 몽타주에서 IK 커브를 설정해줘야 함

강의에서 문제된 부분은 다리 부분이므로 DisableLegIK 커브를 만들어 줌

생성된 커브를 더블클릭하면 그래프가 나오는데 이것을 우클릭해서 AddKey를 눌러줌
Value를 0~1로 설정

캐릭터의 AnimGraph로 가서 Control Rig의 알파값을 설정해줌
위의 블루프린트 로직을 Behavior Tree로 바꿔보려고 함

Behavior Tree, Blackboard 생성


![]() | ![]() |
|---|
왼쪽 블루프린트와 오른쪽 Behavior Tree는 똑같은 동작을 함
이 때, Behavior Tree의 Move To 노드에 Detail 부분을 설정해줘야하는데

생성한 Blackboard에서 타겟이 될 오브젝트를 생성해줌

생성된 오브젝트 변수의 Detail 패널에서 Base Class를 Actor로 설정

그리고 다시 Behavior Tree로 돌아와서 MoveTo 노드의 Blackboard Key를 방금 생성한 AttackTarget 액터로 설정하고, Radius도 블루프린트 노드와 똑같이 설정해줌
위의 Behavior Tree를 사용하려면 AI Controller를 만들어서 사용해야 함

Run Behavior Tree 노드에서 우리가 생성한 BT_EnemyBase를 지정해주고, Set Value as Object 노드를 통해 Blackboard에 생성한 AttackTarget 변수를 지정해줘야 함

이때, Player Character가 생성되기 전에 이것이 실행되면 오류가 생기므로,

이벤트가 실행됐을 때 딜레이를 걸어줘서 캐릭터가 먼저 생성되도록 함

그리고 BP_EnemyBase로 돌아가서 AI Controller Class를 방금 만든 AIC_EnemyBase로 바꿔줌