두가지를 남겨두고 있습니다. 공격 범위만 해결한다면 이후는 문제가 없어보입니다.
이전에 유니티에서 사용했던 방식이 아닌 노티파이를 이용해서 블루프린트를 이용해 박스로 검증하여 범위를 구현할려고 합니다.

공격 범위

애님 블루프린트에서 몽타주에 설정한 노티파이 통해서 콜라이더를 On/Off 하며 플레이어 BP에서 콜라이더에 오버랩 되는 자신을 제외한 Pawn만 검증해서 대미지를 줍니다.

 

공격 패턴

콜라이더 설정 후 위와 같이 세팅하면 몬스터 패턴 1도 완료

범위 설정 후 경고 표시

기존 콜라이더 크기를 불러오고 메시를 불러오는 특성 상 잘못 표기되더라구요 그래서 마이너스를 하여 범위 표시를 올바르게 표시해줬습니다.

요기까지 계획 했던 언리얼 엔진 5 보스몬스터 제작기였습니다.

이후 패턴 추가하며 놀아볼예정입니다.

'게임 기획 글 (기획서X) > 언리얼 엔진 5' 카테고리의 다른 글

언리얼 엔진 5 정리 (5)  (0) 2025.07.16
언리얼 엔진 5 정리 (4)  (1) 2025.07.15
언리얼 엔진 5 정리 (3)  (0) 2025.07.14
언리얼 엔진 5 정리 (2)  (2) 2025.07.14
언리얼 엔진 5 정리 (1)  (2) 2025.07.13

개별 UI 생성 (메시에 붙는 widget 컴퍼넌트 세팅 필요)

전체 화면 UI 생성

대미지 테스트 블루프린트

기본적인 시스템은 블루프린터를 이용해서 구축하였고 이를 퀄리티 업을 할 예정입니다.
우선 중요한 스킬 범위 구현과 간단한 패턴을 만들 예정입니다.

고정형 보스 AI (블루프린트)
캐릭터
- 기본 제공 캐릭터 사용
- 추가 기능 : 구르기 (무적) [개발중], 공격 구현
보스 몬스터
1페이즈
- 공격 패턴 구현
  - 기본 공격인 좁은 범위 공격
  - 범위 공격인 휩쓸기
  - 조건부 패턴으로 바위 던지기 (일정 이상 거리가 벌어질 시)
기본 개발 목표로 개발 우선순서대로 나열

구르기 (무적)
애니메이션 몽타주에서 노티파이 기능을 이용해서 무적 설정


개발 중

공격 범위
공격 패턴



 

'게임 기획 글 (기획서X) > 언리얼 엔진 5' 카테고리의 다른 글

언리얼 엔진 5 정리 (6)  (0) 2025.07.17
언리얼 엔진 5 정리 (4)  (1) 2025.07.15
언리얼 엔진 5 정리 (3)  (0) 2025.07.14
언리얼 엔진 5 정리 (2)  (2) 2025.07.14
언리얼 엔진 5 정리 (1)  (2) 2025.07.13

조우 애니메이션
몽타주를 이용해서 어택 애니메이션 앞 부분을 잘라서 사용 두번째는 역재생하여 자연스럽게 이어 붙임

Attack
기존 배웠던 강의는 플레이어를 복사하여 사용해서 애님 부분의 설명이 부족하여 찾아본 결과
블루프린트로 애니메이션을 설정할 시 아래 이미지와 같이 설정

애니메이션 모드를 블루프린트 기반으로 설정하고 클래스를 만들어서 바인딩

클래스는 아래와 같이 설정한다. Idle 기본 모션 (루프 설정) DefaultSlot 을 Output Pose와 이어줌 이후에는 블루프린터에서 모두 설정 가능

기본적인 공격 모션만 하는 형태 제작 완료 (아래 이미지 참고)

공격에 대한 쿨타임을 따로 설정하지 않고 애니메이션이 다 끝나길 기다릴 시 아래와 같이 설정 해줘야 실행 중이던 애니메이션이 다 재생된다.

BOSS HP 인터페이스 세팅

적절한 값을 넣어서 HP 바를 위치 시킵니다.

시작 시 인터페이스를 불러옵니다.

보스 HP 테스트를 위해서 플레이어 어택을 완벽하게 만들어 줄 껍니다.
대미지 시스템 구축
Damageable BPI 생성
변수 생성 및 파라미터 작성

TakeDamage에 경우 많은 함수명 스트럭쳐를 사용하여 작성합니다.

스트럭쳐, 함수를 이용하여 Damage BPI에 Take Damge 함수를 작성합니다.

대미지 모든 처리를 위해서 대미지, 블록, 무적, 대미지 입지 않은 상태를 처리해줍니다. 아래 이미지 참고

함수를 완성 시키고 다시 플레이어 블루프린터에 Take Damage 함수로 가서 연결 시켜줍니다.

아래와 같이 플레이어 BP 연결 

스크립트에 아래와 같이 연결합니다. 이제 조건에 따라서 위 이미지에 작성한 노드대로 나올 것 입니다.

 

'게임 기획 글 (기획서X) > 언리얼 엔진 5' 카테고리의 다른 글

언리얼 엔진 5 정리 (6)  (0) 2025.07.17
언리얼 엔진 5 정리 (5)  (0) 2025.07.16
언리얼 엔진 5 정리 (3)  (0) 2025.07.14
언리얼 엔진 5 정리 (2)  (2) 2025.07.14
언리얼 엔진 5 정리 (1)  (2) 2025.07.13

진행 상황

플레이어 구르기
구르기는 도중 이동 불가 상태 고정

플레이어 공격
이전 Enemy 구현 시 사용했던 BeginPlay 이벤트로 sword 호출
콤보 애니메이션을 몽타주를 이용해서 애니메이션 속도 및 첫번째 부분만 잘라서 사용

 

보스 구현

몬스터 Ani

Idle

FBX 파일 언리얼5 애니메이션 리타겟팅하는 방법
-애니메이션을 제외하고 임포트 (임포트 시 체크 확인)
-애니메이션 임포트 (애니메이션에 스켈레톤을 연결 확인)
-애니메이션 우클릭
-애니메이션 목록에 리타겟팅
원하는 파일에 익스포트

블렌더를 이용해서 이동 값 삭제 시 FBX 블렌더 임포트 > 이동 값 삭제 > 블렌더 FBX 익스포트 > 사용
- 해당 FBX 저장 시 선택한 오브젝트만 저장을 선택하여 저장

구르기 시 높은 곳에서 떨어질 시 중력 영향을 받도록 설정

Z 값을 캐릭터 무브먼트에 연결하여 개별 설정

고정형 보스 AI (블루프린트)
캐릭터
- 기본 언리얼  5 캐릭터 사용
- 추가 기능 : 구르기 (무적), 공격 구현 [개발중]
보스 몬스터
1페이즈
- 공격 패턴 구현
  - 기본 공격인 좁은 범위 공격
  - 범위 공격인 휩쓸기
  - 조건부 패턴으로 바위 던지기 (일정 이상 거리가 벌어질 시)
기본 개발 목표로 개발 우선순서대로 나열

이전 진행도
-왼쪽 Shift 시 구르기 사용 가능
-구르기 시 애니메이션에 이동 값이 있어서 문제 애니메이션 이동 값 삭제 혹은 애니메이션 교체 예정
이후 진행도
-구르기 애니메이션 이동 값 삭제 후 블루프린터 값으로 이동
-캐릭터 공격 구성 중

 

BOSS AI를 만들기 전 언리얼 엔진 5 기초 공부한거 정리

1. 외워두면 좋은 단축키
뷰포트

V 버택스 스냅
End 가장 가까운 바닥에 스냅
F11 뷰포트 최대화 / 최소화
F 선택한 옵젝 포커스
Ctrl & L 디렉셔널 라이트 마우스로 조절
(한번 입력 후 Ctrl 키 홀딩하고 조절)
   
   

머테리얼 노드 뷰포트

키보드 1 Constant 노드 생성
키보드 3 Constant3Vector 노드 생성
L Lerp (LinearInterpolate) 선형 보간
T Texture Sample 노드
A Add 노드 생성
M Multiply
   
   

머테리얼

이미시브 컬러 (방사, 방출)
- Constant (값 입력) - 머테리얼 이미시브 컬러 연결
- 이를 이용한 특정 부분만 빛이 나도록 설정하는 방법

텍스처
- 검정색 부분은 0의 값
- 흰색 부분은 1의 값
TextureCoordinate
- 텍스처 샘플 UVs 에 연결 (반복되는 텍스처 일 시 Multiply에 연결해서 UVs 분배 시 아래 값 개별 입력 필요 없음)
- UTiling, VTiling (타일링 크기) - 조절이 필요할 시 가로, 세로 값을 일일히 설정 가능

선형 보간
- A < > B
- 1 - 0 의 값 (Alpha 값)
- 텍스쳐를 Alpha에 연결 시 위 텍스쳐 값을 기준으로 적용


고정형 보스 AI (블루프린트)
캐릭터
- 기본 제공 캐릭터 사용
- 추가 기능 : 구르기 (무적) [개발중], 공격 구현
보스 몬스터
1페이즈
- 공격 패턴 구현
  - 기본 공격인 좁은 범위 공격
  - 범위 공격인 휩쓸기
  - 조건부 패턴으로 바위 던지기 (일정 이상 거리가 벌어질 시)
기본 개발 목표로 개발 우선순서대로 나열

진행도
-왼쪽 Shift 시 구르기 사용 가능
-구르기 시 애니메이션에 이동 값이 있어서 문제 애니메이션 이동 값 삭제 혹은 애니메이션 교체 예정

1. 캐릭터 모델링

캐릭터의 모델링을 봤을 때 타 게임과 비교도 안될 정도로 수려하다.

 

좌측부터 출시 순서

 

처음 음림을 봤을 때 와.. 라는 감탄사가 나왔고 금희와 장리를 봤을 때 서브 컬쳐 게임 중 모델링 이정도 퀄리티 뽑는 곳은 없을 것이라고 생각했고 카를로타를 보고 2돌파를 하였다. 현재도 브렌트, 기염, 절지를 제외하고 모두 뽑았다.
그정도로 이 게임에 모델링은 뛰어나다.

 

2. 스토리적 이점을 통한 캐릭터 매력 어필

1막 초기 스토리 정말 다른 의미로 아찔한 스토리였다.

시작할 때 익숙한 구도, 치샤를 보고 까부냥이 생각나서

매력적이지만 부족했던 초반 히로인 2인방, 세계관을 우겨넣은 듯한 스토리와 고유명사 남발, 한국 번역팀 이슈, 이어지는 보고 싶지 않은 캐릭터에 대한 스토리, 전체적인 스토리가 어떤 걸 이야기 하려는지 난해했었던거 같다. 보통 이런 스토리를 밀 때 집중해서 어느정도 기억에 남는게 있는데 진짜 안좋은게 여러개 겹치니 이 글을 쓰는 중에도 기억해보려고 해도 기억에 남는게 없다. 당시 금희, 장리가 나를 달래줬다.
1막에 대한 안좋은 기억에 이렇게 많은 감상평을 남겼지만 1막 이후 그래도 캐릭터 서사 중심, 흡사 연애 시뮬레이션을 하는 듯한 서사가 좋았다. 전체적인 스토리도 세계관, 방랑자에 대한 이야기를 유저가 이해하는데 있어 어렵게 만들지 않았다.
이때 명조가 스토리에 대한 노선을 확실히 잡은 것 같다고 느꼇다. 접은 글에는 게임 스토리에 대한 짧은 생각을 작성

더보기

추후에 스토리 또한 써보고 싶기에 생각난 김에 생각을 정리해볼까 한다. 스토리를 쓸 때 목적이 중요한거 같다. 특히 게임은 장르에 맞춰서 전개나 템포 시뮬레이션을 돌려보며 유저가 느끼는 감정은 글에서 느끼는 감정이 전부가 아니기 때문에 장르에 따라서 많은 고민이 필요한거 같다. 에를 들어 액션 게임이라면 스토리 진행 중 어느 상황에 전투가 들어가야할 것이고 중간 보스, 마지막 클라이막스에서 연출적인 부분을 생각하여 화려하게 싸울 부분을 생각해야한다.

3. 전투
액션 게임이기에 이 부분이 빠진다면 아쉬울 것이다. 명조는 많이 알려진 전투 시스템으로 짜임새 있게 만들었다.

패링

짧게 표현하자면 전투에 빈틈이 없다. 하지만 이러한 빈틈 없는 전투라서 단점 또한 존재한다. 그건 이후에 작성

3-1. 파티 사이클
게임 내 파티를 만들고 이를 통해 파티 사이클이 완성, 수행하면서 만족감을 느끼며 행복 스파이럴이 완성 된다.

짜임새 있는 전투 시스템에 큰 축을 담당하고 있다. 이게 빠진다면 명조가 아니다. 그만큼 중요한 요소이고 모든 유저가 행하고 있는 전투 방식이다. 파티 사이클을 수행하지 하지 않으면 플레이하는데 많은 어려움이 있다. 그리고 딜 사이클이 실패하면 짜증나기도 한다. 유저가 원하는대로 1 - 2 - 3 들어맞게 딜 사이클을 수행 함에 따라 대미지, 클리어 타임 단축과 같은 성과에 재미를 느낀다. 

3-2. 전투 시스템
패링, 극한 회피, 에코, 파티 사이클을 통해서 정말 짜임새 있는 전투를 보여준다.
파티 사이클 도중 에코와 패링, 극한 회피 모든 전투 시스템 활용이 이루어진다.
이를 통해 전투 중 유저는 사이클은 사이클대로 수행하고 몬스터 패턴은 패턴대로 그에 맞춰서 패링, 극한 회피를 수행한다.
하다 보면 전투 중 엄청 바쁜 날 볼 수 있다.

3-3. 단점
명조 전투에 큰 단점은 타의로 인한 딜 사이클이 꼬이는 문제다. 열심히 깎고 만든 딜 사이클이 몬스터 무적 패턴이나 이동 패턴에 의해서 사이클이 꼬인다. 이 부분은 어쩌할 도리가 없다. 지금은 적응해서 그려러니 하고 어느정도는 이해하는 편이다. 연출적인 부분을 보여주고 싶은거라고

4. 이동
이동 시스템은 혁명이고 이 부분을 잘 아는 것 같다. 원신을 처음 했을 때 불편했던 부분이 바로 이동 부분인데 그걸 좋은 방안을 해결했다.
4-1. 벽 달리기
스태미너가 존재하지만 답답하지 않고 시원하게 박차고 올라고 간다. 지붕이나 걸리는 부분은 추가적인 동작으로 뛰어넘는다.
벽을 붙잡고 세월아 네월아 기어가는건 내 스타일이 아니다.

4-2. 활공
이 시스템이 처음 나오고 충격을 받았다. 활공이라는 시스템은 타 게임에도 많지만 이정도로 잘 어울리는 게임은 명조뿐일 것이다.

활공을 처음하게 될 장소

이전에도 명조 게임에 배경 디자인은 좋았지만, 라군나로 넘어오며 배경 디테일이 폭발적으로 증가한 것 같다. 확 트인 배경이 정말 이루어 말할 수 없는 감정이였다. 게임에서 이런 감정을 느낀게 오랜만이라고 말하고 싶다.
활공으로 낮, 황혼, 밤 모두 날아보며 배경을 감상했다. 이게 혁명이 아니면 무엇일까 싶다.
이렇게 봤을때 정말 디테일적으로 잘 준비하는거 같다. 어떤 시스템을 만들고 끝이 아니고 즐길 수 있는 방안을 같이 주는, 아마 노리고 한건 아닐것이다. 그냥 좋은 게임을 만들고 싶은 사람들이 만들다보니 이렇게 된게 아닐까 싶다.

주절이 많이 주제에 안 맞는 이야기도 들어가 있지만 명조는 최근 내 인생 게임으로 자리 잡고 평소에 잘 즐기고 있다.

https://youtu.be/oEAC9zKnuhk?list=PLcaQc6eQjXCxFhrsFWWemTkxAWwAmbxzi (공부 영상)

part.1

기획서 작성 중 의사 전달을 위해서 배워볼까해서 튜토리얼을 참고하며 기록합니다.

A를 누를 시 뷰 포트안에 모든 오브젝트를 선택, A+Alt를 누를 시 해제 가능

투시가 없는 뷰 확인 용 (축마다 확인 가능), 휠 클릭 후 이동 시 중앙 기준으로 회전 가능 (빠르게 가능)

우측 손바닥을 누르고 마우스 이동 시 뷰포트 상하좌우 이동이 가능하다. (Shift+Alt 시 같은 기능)

우측 돋보기 누르고 위 아래로 마우스 이동 시 선택 오브젝트 기준 축소 확대 가능 (휠 업, 다운 시 같은 기능) 

뷰 포트를 투시 투영과 직교 투영으로 전환하는 기능 (넘버 패드 5까지 단축키 존재)

*투시 투영(Perspective projection)은 우리 눈으로 보는 것과 같은 방식으로, 멀리 있는 물체는 작게, 가까이 있는 물체는 크게 보이는 효과를 줍니다. 현실감 있는 3D 장면을 표현하기에 적합합니다.

*직교 투영(Orthographic projection)은 물체의 크기를 일정하게 유지하며, 평행선을 유지하는 방식으로 투영합니다. 즉, 거리에 관계없이 물체의 크기가 동일하게 보입니다. 건축 도면이나 기술 도면처럼 정확한 비율과 치수를 표현해야 할 때 유용합니다.

해당 아이콘 클릭 및 넘버 패드 0 누를 시 현재 설정해둔 카메라 렌즈 기준에서 오브젝트를 볼 수 있습니다. (넘버 패드 0)

*추가

넘버 패드 1,3,7,9 축에 따른 직교 뷰포트로 변경하는 단축키

넘버 패드 4,8,6,2 경우 카메라 회전 조정 단축키

기준이 될 물체를 선택 View - Frame Selected 할 시 카메라 회전 기준이 변경됨 (넘버 패드 .)

part.2

크기 전환 시 마우스 <-> 상태에서 우클릭 시 나오는 뷰 설정

수직 분할 (Vertical Split)

수평 분할 (Horizontal Split)

작업 중 실수로 해당 창을 지워버릴 시 이미지에 활성화된 버튼을 눌러서 같이 다시 생성 가능

Join 기능은 현재 방향을 설정하여 합쳐지는 기능으로 변경됨

Ctrl+Space 시 해당 선택한 뷰포트가 전체화면으로 변경됨 (다시 한번 누를 시 해제)

퀵 메뉴 (T 단축키) 

마우스 퀵 메뉴 (Shift+Space 단축키) - 더 유용할 듯

뷰포트 우측 < 를 누를 시 선택된 오브젝트의 속성 값이 표시됨 (N 단축키) 

Shift + 우클릭 시 오브젝트의 회전이 되는 기준점 이동 가능

Shift + S 누르고 시 3D 커서에 대한 메뉴가 나오며 N 속성 값에서 View 탭 메뉴에서도 변경 가능하다.

이미지에 선택되어 있는 Cursor to World Origin 값을 선택할 시 기존 값으로 되돌아 간다.

마우스에 대한 정보

최종 이미지 렌더링 설정

출력 - 파일 저장 위치등 출력 내보내기 시 설정하는 값

우측 위 렌더링 미리 보기 기능

렌더링 시 월드(배경) 값을 설정하는 곳

오브젝트 속성 값

값 체크 시 렌더링 뷰포트에서 투평하게 처리 됨 

수정자(Modifier) 오브젝트의 형태를 변경하는 데 사용되는 도구입니다. 오브젝트의 데이터를 직접 수정하지 않고도 다양한 효과를 적용할 수 있어 비파괴적인 작업 방식을 가능하게 합니다.

오브젝트 제약 조건(Object Constraint)
오브젝트 제약 조건은 오브젝트의 위치, 회전, 크기 등을 다른 오브젝트나 특정 조건에 따라 제한하는 기능입니다. 애니메이션 작업이나 복잡한 움직임을 구현할 때 유용하게 사용됩니다.

오브젝트 데이터 속성(Object Data Properties)
선택한 오브젝트의 유형에 따라 다양한 속성을 설정하고 편집

part.3

  이동 회전 크기
단축키 G R S
X,Y,Z 축 이동 시 G + 각 축에 해당하는 X,Y,Z 키 입력
숫자 입력 후 Enter 시
해당하는 값 변경 가능
X O O
변경 시 방법 변경 후 클릭할 시 변경, 오른쪽 or ESC 누를 시 변경 취소 가능
Ctrl + Z 시 되돌리기

단축키 I - 키프레임 추가
ㄴ다음 키프레임에서 변경 후 I 를 눌러서 설정을 한번 더 해야함

ㄴ하지만, 이런 번거러움을 위한 기능인 Auto Keying이 있습니다.


단축키 X - 누를 시 삭제 가능
단축키 Shift + A - 빠르게 뷰포트에 오브젝트를 추가하는 방법

로케이션 값들을 키 프레임으로 변경할려면 해당 값을 변경해야합니다.

part.4

뉴 씬 단축키 Ctrl + N

타임 라인, 도프 시트, 그래프 편집기

타임라인
키 프레임을 이동하려면 단축키 G

누를 시 시작와 끝을 설정 후 반복 재생 가능 (보통 자세한 프레임 수정이 필요할 시 사용) 
한번 더 누를 시 복구 휠 클릭 시 타임라인 이동 가능
Ctrl+Home 시 시작 프레임으로 이동 End 시에는 종료 프레임 설정
Shift+D 시 키프레임 복제
아래 마커 네임 F2로 설정 가능

part. 5 이후 기록은 하지 않겠습니다. 간단한거나 직접하며 숙달해야하는 부분 시 시간이 좀 더 걸려 기록을 생략할 예정입니다.

명조:워더링 에이브

https://youtu.be/BCDL6v02XxA

이번 파수인 스토리에서 나오는 노래인데 좋아서 링크 올려둡니다. 틀어두고 보셔도 좋습니다.
멀티 플랫폼 액션 게임 명조의 패링을 분석할 예정입니다.

패링

  • 패링 조건
    • 노도급(준보스급) 이상의 패링 패턴 시전 (이펙트 효과)
  • 패링 성공 조건
    • 몬스터 패링 패턴 시전 시 패링 표시 이펙트에 표시에 맞게 공격

  • 프로젝트내 예상되는 패링 설정 방법
    • 프로젝트 룰이 정해져있고(기본값) 패링이 가능/불가능한 공격에 대해서 파라미터로 개별 설정 가능할 것으로 예상
  • 패링 불가능한 조건
    • 캐릭터가 공격 시전 시 몬스터가 공격 사거리 밖에 있을 시
    • 캐릭터의 공격이 패링 불가능한 공격 일 시
      • 일반 투사체 공격
      • 특정 스킬 공격
        • 연발 투사체 스킬
          • 마지막 피니쉬 공격이 있을 시 패링 가능
    • 에코(소환수) 별 불가능한 에코와 가능한 에코로 나눠짐
    • 캐릭터의 공격으로 패링 대상 사망 시

  • 패링이 가능한 상태 표시 방법
    • 이펙트 표기 (허점 아이콘)

  • 패링 이후
    • 메리트
      • 몬스터 패턴 스킵
        • 패링 히트 애니메이션으로 넘어가며 후속 패턴 스킵, 3초 가량 딜 타임
      • 준보스급부터는 그로기 게이지가 존재, 패링 성공 시 게이지를 대량 감소 시킵니다.
    • 시각적 효과
      • 이펙트
      • 사운드
      • 카메라 쉐이크
      • 포스트프로세싱
      • 애니메이션
    •  

명조 패링 분석을 끝마치고 플랫폼별 패링의 차이점을 정리하며 마무리하겠습니다.

패링 시스템은 플랫폼에 따라, 특히 콘솔/PC 게임과 모바일 게임에서 뚜렷한 차이를 보입니다. 가장 큰 차이점은 바로
패링의 난이도입니다. 패링의 조건, 패링 타이밍 이펙트 표기 차이 등으로 패링의 난이도에서 큰 차이가 납니다.

이러한 차이는 플랫폼별 특징과 유저층, 게임 디자인의 방향성을 반영한 결과입니다. 모바일 게임은 터치스크린 조작, 이동 중 플레이 등의 특징을 지니고 있으며, 매번 반복해야 하는 콘텐츠 특성상 높은 난이도는 유저에게 피로감을 줄 수 있습니다. 따라서 모바일 환경에 맞춰 패링 난이도를 낮추는 선택을 한 것으로 보입니다.

결론적으로 개발자는 플랫폼의 특성과 게임의 장르, 타겟 유저층을 고려하여 최적화된 패링 시스템을 고려해야 합니다.

https://youtu.be/gsyZdKYAT_4?list=PLNwKK6OwH7eW1n49TW6-FmiZhqRn97cRy

영상을 따라하며  AI 제작을 진행하였습니다. 포스팅은 복습용이므로 설명이 불충분한 부분은 영상으로 확인 바랍니다.

  1. AI 플레이어 인지 종류 (AIPerception)
  2. AI 인지 및 AI 동작 처리
  3. 정찰 (Investigating)

AI 인지 컴포넌트 생성: AIPerception

AI 시야 구성(Sight config)
최대 수명은 AI가 플레이어를 기억하는 시간 (목표가 벗어날 시 벗어난 좌표를 기억하고 좌표를 기반으로 행동 후 입력한 시간이 지난 후 완전히 벗어난 상태가 된다.)

디버그 방법
플레이 후 ' 키를 누를 시 디버그가 가능
숫자패드 0 ~ 4를 누를 시 각 디버그 (4. AI 인지 관련 디버그) [설정한 디버그 컬러로 나타남]
해당 키는 변경 가능

AI 인지 테스트: 키에 할당하여 테스트

Player에게 키를 할당하여 테스트 (사운드 및 대미지)

AI 인지 함수: Can Sense Actor

Can Sense Actor: 타깃에 대한 정보가 올바르게 인지한게 맞는지 검증하는 함수

AI 인지 후 동작 처리: 
시야 범위에 들어왔을 시 ,청각 탐지 범위에서 소리가 났을 시 ,대미지를 입었을 시

플레이어를 어떤 방법으로 인지 시 플레이어 액터 정보를 시퀀스에 따라서 실행 "Can Sense Actor"에서 검증 후 True가 나오는 행동을 실행하는 블루프린트 구성
For Each Loop에 경우 여러 플레이어 처리를 위한 노드
사운드 경우 발생한 사운드 발생 위치에 대한 벡터 좌표가 필요

정찰(Investigating): AI를 정찰 상태로 변경 

AI가 정찰 상태로 변경 시 필요한 정보를 받음

무브 스피드를 세팅하고 정찰 상태로 들어갈 시 얻은 Vector 정보에 따라서 이동 후 설정된 시간 동안 적이 감지가 안될 시 다시 패트롤 상태가 된다.

이번 강의 영상까지는 기초적인 AI를 만들었습니다. 다음은 AI가 지형지물을 이용하는 등 조금 더 똑똑한 AI로 만들 예정입니다.

+ Recent posts