본문 바로가기

분류 전체보기

(236)
7/20_ 보호되어 있는 글입니다.
50. PatrolRoute로 정찰 / 개곡선, 폐곡선 Enemy가 PatrolRoute 따라서 이동하기 BP_PatrolRoute에서 추가한 스플라인 포인트들의 위치를 받아와서 BP_Enemy가 해당 경로로 이동하도록 한다. 먼저 BP_PatrolComponent에서 Get Destination 함수를 추가했다. Get Destination 함수 PatrolRoute 변수가 유효한지 검사를 먼저 한다. 만약 유효하지 않다면 그대로 반환하며 함수가 끝나게 되고, 유효하다면 PatrolRoute 안에 있을 Spline에서 Get Location at Spline Point로 각각의 SplinePoint 마다의 Location을 반환하도록 한다. Point Index는 변수로 승격하여 변수(Index)로 만든 뒤, Index의 값을 증가 / 감소 시키면서 Spl..
7/19_ 보호되어 있는 글입니다.
49. AI Move & Attack / Spline을 통한 정찰 Enemy의 대상 추격 / 공격 구현하기 저번 시간에는 AIPerception 컴포넌트를 통해서 인식된 대상을 BT_Enemy_Melee 비헤이비어 트리에서 받기까지 했다. 이번에는 인식한 대상을 추격하여 일정 거리 좁혀지면 공격하도록 해보았다. 제일 처음 Selector의 서비스(BTS_FindTarget)을 통해서 Target키에 값을 받아오고, 다음 데코레이터(Blackboard Based Condition)에서 Target키의 유효성을 검사한다. Target키가 지정됬다면 Selector로 흘러가고, 아니라면 Wait 태스크로 계속 넘어간다. 다음으로 데코레이터(BTD_IsArmed)로 현재 Enemy의 장비 상태를 확인하는데, 데코레이터의 bCompareTo변수값과 CharacterInterfa..
7/18_ 보호되어 있는 글입니다.
48. AI의 Sound 감지 / AI 인식된 대상 받아 넣기 AI Perception 컴포넌트의 Sound 감지 실제로 AI가 자동으로 소리를 감지하지 못한다. 때문에 소리가 발생하는 대상이 직접 MakeNoise / Pawn Make Noise 함수를 호출해야 AI가 소리가 났다는 것을 인식한다. 이번에는 검을 휘두를 때 타이밍에 맞게 소리가 발생하고 이를 AI가 인식할 수 있도록 해볼 것이다. 공격 시 사용하고 있는 Attack_1 Montage에서 사용할 노티파이를 만들었다.(AN_MakeNoise) AN_MakeNoise Received Notify 오버라이드 함수를 추가하고 Play Sound at Location을 통해 사운드의 위치와 방향을 지정하고 재생한다. 해당 몽타주 Mesh Comp의 Owner를 받아와서 Location / Rotation을 ..
7/13_ 보호되어 있는 글입니다.
47. BTT_LookAt 태스크 / AI Perception 컴포넌트 / Sound2D, 3D BTT_LookAt 태스크 BT_Enemy_Melee 비헤이비어 트리에서 사용하기 위해 저번 시간에 추가했던 새 태스크(BTTask_BlueprintBaseNew)의 이름을 BTT_LookAt으로 바꾸어주었다. * BTT_LookAt : Target이 Set되면 해당 Target을 바라보도록 부드럽게 회전시켜줄 태스크 우선 현재 BTT_LookAt 태스크가 잘 작동하는지 확인하기 위해서 잠시 수정해준 부분이 있다. 먼저 이벤트그래프에서 기존에 Target에서 Actor를 받아오던 로직을 Vector를 받도록 수정하였다. 다음으로 Receive Tick AI 함수에서는 Target변수에서 Vector를 받은 NewVar0변수를 FindLookatRotation의 Target 인자로 바꿔주었다 (이전에 했던..