본문 바로가기
프로그래밍/Unreal 부트캠프

TIL 2025.03.04 기록

by Rozentea 2025. 3. 4.

0. 개요


주말과 공휴일날 진행된 부분이 생각보다 많다..

때문에 다 정리하긴 힘들것 같고 몇 개씩 나누어 적어보려 한다.  : )

 

1. 팀 프로젝트


1. 와이어에 로프 머티리얼 적용하기

로프 머티리얼을 추가해 주었다.

음.. 선을 아무래도 얇게 해야하니까.. 더 눈에 들어왔음 좋겠는데 아쉽긴하다..

UV값을 이용해 조금 확대해주면 눈에 잘들어올거라 해주셔서 해봤더니 확실히 로프다워졌다!

감사합니다 한빈님! ><b

머티리얼 적용하니까 할 맛 난당!

 

2. Drone 수정하기

< 시점 변경 시 버그 >

만약, 드론의 SceneCameraComponent를 회전시킨 상태에서 시점을 변경하면, 돌아오지 않아 w키를 눌러도 정면인 위를 향해 날라가게 된다.

언제 어느 시점에 플레이어가 빙의를 할지 모르기 때문에 해당 부분을 수정해주어야 한다고 생각했다.

단순히 드론에 빙의할 때, SceneCameraComponent의 Rotate를 0,0,0으로 초기화 해주는 것으로 해결했다.

 

< 드론 상태 전환시 길찾기 초기화 해주기 >

영상 초반부인 이동 명령 시 길찾기는 잘 초기화 되어 다음 행동때, 이어서 길을 찾아가지 않는다.

하지만, 영상 후반부를 보면, 플레이어를 추적하던 중 찾던 길이 남아있다면, 다시 플레이어를 추적하는 행동을 할 때, 지나치지 않았던 길을 다시 끝까지 가고나서 플레이어에게 온다.

때문에 행동에 처음 들어갈 때, 초기화를 해주도록 추가해주었다.

 

3. Drone에 공격 기능 추가

< 적 탐색 방법 생각하기 >

몇 가지 생각을 해보았는데..

음.. BeginOverlap 때, 대상이 적일 경우 Set에 등록하고, EndOverlap일 때, 등록했던 Set에서 등록을 해제해주는 방식으로 드론 주변의 적을 관리하려 한다.

거기다 0.5초에 한번씩 Set에 등록되어 있는 적이 아직 유효한지 검사를 해주도록 할 것이다.

또, 타겟을 정할 것인데, 타겟을 정할때는 Set을 순회하면서 거리가 가장 가까운 적을 현재 타겟으로 지정해 따라다니면서 공격을 하도록 구현할 생각이다.

 

< 적 탐색 로직 짜기 >

우선.. 드론에 구형 컬리전을 하나 만들어주고, 해당 컬리전과 beginoverlap 순간과 endoverlap 순간 때, 주변 적들을 등록하고 해제하도록 만들었다.

UBTTask_FindClosestEnemy은 드론 주변에 등록된 적들 중 가장 가까운 적을 고르는 행동 노드이다.

잘 동작하는 것을 확인 할 수 있었다.

 

< 공격 행동 추가하기 >

우선은 계속 데미지를 전달해 주도록 했다.

잘 동작하는 것을 확인할 수 있었다.

실제로 총을 쏘는 것처럼 탄 퍼짐을 추가하고, UBTTask_FindClosestEnemy과 UBTTask_DroneAttack을 잘 연결해주었다.

이후 몬스터의 체력을 확인해 죽었다면, 더 이상 공격하지 않도록 수정해 주었다.

또, 항상 몬스터를 향해 회전하도록 추가해 주었다.

 

< UBTTask_RangeCheck 만들기 >

공격 범위를 벗어났는지, 적이 죽지 않았는지 등등 조건을 처리해야하는 부분이 꽤 늘어났다.

때문에 이런 조건 처리를 한 곳에서 맡으면 좋겠다는 생각이 들어 최대한 한 곳에서 이런 분기처리를 해줄 수 있도록 UBTTask_RangeCheck를 만들어 주었다.

 

따라서 공격 → 범위 체크

만약, 적이 죽었다면, 범위 체크 → 주변 적 탐색

만약, 인식 범위를 벗어났다면, → 주변 적 탐색

만약, 사거리만 벗어났다면, 범위 체크 → 적을 향해 이동

만약, 사거리도 벗어나지 않았다면, 범위 체크 → 적 공격

 

과 같은 분기 처리를 해당 노드에서 해주도록 구현했다.

 

< 적을 향해 이동하는 기능 만들기 >

기존에 만들어 두었던, UBTTask_MoveToCommand를 조금 수정해 활용해 주었다.

적을 추적하고, 이후 다시 범위 체크를 통해 적을 잘 공격하도록 구현했다.

또, 다른 기존 행동들과 문제 없이 로직이 수행되는 것을 확인했다.

 

단, 문제가 발생하는 순간이 하나 있는데, 음.. 드론이 목적지에 완벽히 도달하지 못했는데, 속도가 느릴 경우 목적지까지 아주 천천히 이동하면서 다른 행동으로 넘어가지 못하는 경우가 있다.. 이 부분을 수정해야겠다.

'프로그래밍 > Unreal 부트캠프' 카테고리의 다른 글

TIL 2025.03.06 기록  (0) 2025.03.06
TIL 2025.03.05 기록  (0) 2025.03.05
TIL 2025.02.28 기록  (0) 2025.02.28
TIL 2025.02.27 기록  (0) 2025.02.27
TIL 2025.02.26 기록  (0) 2025.02.26