오늘의 목표

ch3 팀 프로젝트 회의

언리얼 마스터 라이브세션 수강

ch3 팀 프로젝트 

 


 

언리얼 마스터 과제 4번 (~5/7)

 


 

팀 프로젝트 <Last Artemis>

 

맡은 역할: 아군 AI 만들기

 

구현할 것 목록

  • 아군 캐릭터 구현
  • **- [ ] 체력/방어력 시스템 (base 캐릭터 상속)** **- [ ] 피격/사망 처리**
  • 적 AI 탐지
  • 적 AI 추적
  • 공격 범위 내 공격
  • NavMesh 기반 경로 탐색
  • 장애물 회피

추가 구현 가능 요소

  • 아군→플레이어 서포트
    • 체력 회복
    • 오염도 회복 etc…

상속구조

BaseCharacter

ㄴ아군AI

(나중에 적군 AI와 공통되는 부분 묶어서 BaseAI 만들기로 함)

  • PerceptionSystem(적/아군 인식)
  • 어떤 캐릭터를 적/아군으로 인식할지 설정해서 쓰게 하면 될 것 같음 아마도(확인필요)
  • Blackboard + BehaviorTree

AI 기억과 판단

1. 아군이 존재하는 목적부터 정의하기

  • 아군이 플레이어와 함께 싸우는가, 아니면 독립적으로 싸우는가?
    • 독립적으로.
  • 플레이어가 없을 때 아군은 어떻게 행동해야 하는가?
    • 플레이어가 멀리 있을 때 → 플레이어 가까이로 이동
    • 플레이어가 죽었을 때 → 게임오버되므로 상관 X
  • 아군이 죽으면 어떻게 되는가?
    • 그냥 죽음 vs 부활? (고민됨) 일단 전자로 결정

2. 세부 기획

감지

  • 아군은 적을 어떻게 발견하는가?
    • 라인 트레이싱으로 감지
  • 발견한 대상이 적인지 아군인지 어떻게 구별하는가?
    • 감지한 대상의 태그 확인?

이동

  • 아군은 평소에 어디에 있는가?
    • 게임 첫 시작 - 특정 위치에서 스폰
    • 플레이어와 특정 거리 내에서 랜덤으로 이동?
  • 적을 발견했을 때 어디로 이동하는가?
    • 적이 사정거리 내에 들어올 때까지 적이 있는 쪽 방향으로 장애물을 피하면서 이동
    • (일단은 직선이동으로 구현부터 하는게 나을듯)
  • 플레이어가 멀어지면 어떻게 하는가?
    • 플레이어가 특정 거리 내에 들어올때까지 장애물을 피하면서 이동
    • (마찬가지로 직선이동 구현부터)
    이거는 이동 로직을 하나로 합쳐두는게 나을듯

전투

  • 적과의 거리에 따라 행동이 어떻게 달라지는가?
    • 적이 보이지 않으면 플레이어와 특정 거리를 유지하면서 맵을 랜덤으로 돌아다니며 적을 찾음
    • 적을 발견했고, 적과의 거리가 사정거리보다 길면 가까이 접근.
    • 사정거리 내에 적이 들어오면 공격
    • 가장 거리가 가까운 적부터 공격
  • 공격 타이밍은 어떻게 결정하는가?
    • 적이 사정거리 내에 들어오면 바로 공격
  • 아군이 피격당하면 행동이 바뀌는가?
    • 아군이 피격당하면 아군을 공격한 적을 우선적으로 공격? 아니면 플레이어가 피격당하면 플레이어를 공격한 적을 우선적으로 공격…근데 생각해보니까 좀 웃기다…다같이 우르르 몰려가서 패기
    • 아군이 피격당해서 체력이 특정 수치 이하로 떨어지면 서포트?수치는 조정가능
    • 서포트가 트리거되었을 때 플레이어 근처로 이동 후 발동.
    • 여기서 서포트란: 플레이어 체력이 특정 수치 (30%) 이하로 내려갔을 때 힐 / 오염도가 특정 수치 이상 (70%) 올라갔을 때 오염도 해소

판단

  • 위 상황들 중 우선순위는 어떻게 되는가?
    • 조건 충족 시 → 플레이어한테 이동 → 힐/오염도 해소
    2순위 — 전투 판단
    • 적 감지 → 사정거리까지 이동 → 공격
    • 피격 시 → 공격자로 타겟 전환
    3순위 — 대기/탐색 판단
    • 적 없음 → 플레이어 주변 랜덤 이동
    • 플레이어 멀어짐 → 플레이어 쪽으로 이동
  • 1순위 — 서포트 판단
  • 동시에 여러 상황이 발생하면 무엇을 먼저 하는가?
    • 플레이어 체력이 특정 수치 이하일 때 서포트하는 것이 최우선.
    • 그다음 가장 가까이 있는 적 or 피격당한 적부터 때림
    • 그다음 이동

3. 구현 순서 고민해보기

어떤 걸 먼저 만들어야 나머지가 자연스럽게 연결될까요?

힌트: 감지가 없으면 전투가 시작될 수 없고, 판단이 없으면 이동 목적지가 결정되지 않습니다.

감지부터

감지

감지 범위…흠 일단 1000?

시야각 제한: 130도

감지 주기: 0.1초

아군에게 ‘Ally’ 태그 부여해서 감지→Ally태그 확인→공격 여부 판단

플레이어에는 ‘player’ 태그 부여하면 될듯

서포트

플레이어 체력이 특정 이하로 떨어지면 or 오염도가 특정 수치 이상으로 증가하면 Support Event 트리거

→ 트리거되면 가장 가까운 아군이 서포트하는 방식으로?

델리게이트로 구현하면 된다는데 안써봐서 공부해야된다

일단 BaseCharacter 상속받아서 기본 체력/방어력/피격/사망 처리부터 ㄱㄱ

체력:

방어력: 퍼센트로 곱해서 처리할 것인지 상수값을 공격력에서 빼서 적용시킬것인지…

'Unreal5 공부 > TIL' 카테고리의 다른 글

2026/5/6 TIL  (0) 2026.05.06
2026/5/4 TIL  (0) 2026.05.04
2026/04/29 TIL  (1) 2026.04.29
2026/04/28 TIL  (0) 2026.04.28
2026/04/27 TIL  (0) 2026.04.27

+ Recent posts