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

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 시 구르기 사용 가능
-구르기 시 애니메이션에 이동 값이 있어서 문제 애니메이션 이동 값 삭제 혹은 애니메이션 교체 예정

글을 쓰게 되는건 내가 생각하는거나 공부하는걸 정리하는데 공부를 진행하며 적기에는 효율이 좋지 못해서 잘 적지는 않는데 제일 중요한 바니걸에 대한 고찰을 빼고 적고 있었다.

어느때부터였을까 어느 순간 좋아하게 된게 맞다. 다른 복장도 많지만 개인적으로 좋아하는 복장 중 바니걸이 최고라고 생각된다.

우연치 않게 바니걸을 알아보는 중 알게된건 플레이보이 소위 말하는 서양에 잘알들이 개발한 복장이다. 정확히 나온 시기는 불분명하지만 20세기로 보이는데 이건 사실 중요하지 않다. 어떤 부분이 이목을 끄는건지 그게 중요하다고 생각한다.

바니걸에 기본 복장 구성은

나비 넥타이와 카라가 있는 초커, 커프 링크스를 단 셔츠를 닮은 손목 밴드, 가슴부터 골반까지 가려주는 레오타드, 팬티 스타킹, 토끼 꼬리 장식, 하이힐이다.

이 기본 구성 중 완성도를 높이는 요소는 골반의 노출도 귀에 형태가 중요하다고 생각한다. 그 중 괜찮았던건 아래 이미지

바니걸 선배님, 이 애니는 우연치 않게 바니걸을 보고 내용이 괜찮다는 의견을 듣고 보게 되었는데. 내용도 좋았고 재밌게 잘 봤다. 굳이 바니걸 요소를 출현 시킨건 이유가 나오지만 사실 작가가 좋아하는게 분명한 것 같다. 디테일이 남다르기 때문에 그렇게 생각한다. 골반 부분 파임 정도와 검은 스타킹, 토끼귀 형태가 정말 내가 좋아하는 디폴트 검정 바니걸이다.

흰색, 망사도 좋지만 검정 스타킹은 30~40데니아 정도가 최고인 것 같다.

그리고 귀는 아래가 좁고 한쪽이 접혀있는 형태는 다시봐도 디테일이 좋고 마음에 들었다. 접혀있는게 귀로 감정 표현을 하고 있는 것과 같이 마치 원래 있던 것과 같이 접혀있는 부분이 정말 좋다.

이정도로 열번을 토해냈으면 바니걸에 매력을 잘 알 수 있을꺼라고 생각된다. 글을 마치고 공부하러가야겠다.

그리고 해당 애니는 순수하게 재밌으니 봐도 괜찮아. '청춘돼지는 바니걸 선배의 꿈을 꾸지 않는다.'

'잡담' 카테고리의 다른 글

봇치 캐릭터 분석?  (4) 2025.07.30

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로 만들 예정입니다.

https://youtu.be/WFV5IewGks8

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

  1. AI 정찰 경로 생성
  2. 정찰  & 공격
  3. 상태 전환
  4. 상태에 따른 애니메이션

AI 정찰 경로 생성: Patrol Route

블루프린터 - 스플라인 컴포넌트 생성

스플라인 좌표 정보를 벡터로 반환

 

AI 인터페이스 생성 BPI_Enemy

AI Speed Enum (열거형) 생성 (AI 걷기, 달리기, 전력질주 속도 값)

AI PatrolRoute 스플라인 오브젝트 생성

AI 스플라인 포인트 위치 계산 블루 프린트

 

신규 태스크 생성: BTT_MoveAlongPatrolRote

AI 루트를 따라서 이동

AI 상태 변경 시 정지 (애니메이션 재생을 위함)

 

신규 태스크: BTT_SetMoveSpeed

캐릭터 상태에 따른 무브 스피드 세팅

 

신규 데코레이터: BTD_IsWieldingSword

무기가 생성 되어있지 있지 않을 시 BTT_WieldSword 태스크 실행

BTT_WieldSword 태스크를 BT에 의해서 실행 (Wield Sword 함수 실행)
모듈화를
 위한
바인딩으로 Finish 처리

 

신규 데코레이터: BTD_HasPatrolRoute

맨 위 BT에서 캐릭터의 상태가 패트롤이 될 시 한번 더 검증하는 데코레이터로 PatrolRoute를 가지고 있는지 null 검사를 하는 단계
null 일 시 False을 반환하여 정찰이 실행되지 않는다.

상태 전환 값 생성: E_AIState

Enum AI State 상태 열거

BT에서 블랙보드 키 값 데코레이터로 검증

테스트용으로 Player BP '1' 키 입력 시 AI의 상태 전환을 부여

상태에 따른 애니메이션 추가: BTT_SheatSword

검집에 검을 집어넣는 몽타주 부여 (상태 전환 시)
Bool 값 변경 위치 개선 (순서에 맞게 배치)

2편 정리 완료 감사합니다.
새로운 형태와 개념이 나오다보니 정리가 좀 더 디테일해졌습니다.

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

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

학습 방법 [접은 글]

더보기

영상을 토대로 학습하는데 있어 자막 자동 번역에 기능은 좋지만 학습하기에는 조금 부족한 부분이 있기 때문에 영상에서 사용하는 기능에 대한 개념, 기본 지식은 어느정도 알고 있어야 개념 설명 시 이해하기 쉽습니다. 언어를 알아 들을 수 있다면 더할 나위 없습니다.

 

전 한국어로 제작된 학습 자료를 통해 두, 세번 정도 간단한 AI를 만들어보고 진행하였습니다. 외 설명 시 이해가지 않는 부분은 구글링을 하였습니다. 불편함을 감수하고 이 강의를 선택한 이유는 시리즈 형태로 AI에 대한 전체적인 튜토리얼을 체계적이고 세심하게 다루고 있어서 입니다.

  1. 여러 단축키
  2. 팔로우 및 공격 AI (블루프린터로 구현)
  3. 애니메이션 시 LegIK 일시정지 방법
  4. 팔로우 및 공격 AI (비헤이어트리로 구현)
  5. 휘두르는 검 생성

많이 사용한 단축키

Ctrl + 스페이스 콘텐츠 드로우 호출
Alt + P 플레이
ESC 플레이 종료
블루프린터
정리할 항목 드래그 후 Q 선택된 노드 직선으로 나열하여 정리
애니메이션 타임라인에서
커브 추적
F

2. 팔로우 및 공격 AI (블루프린터로 구현)

AI 언리얼 제공 기능 사용

BeginPlay 시작 시 호출되는 이벤트로 경우에 따라서 호출이 늦어지는 경우가 있으므로 사용하지 않는 이벤트
커스텀 이벤트 생성 하여 언리얼에서 제공하는 AI Move To를 이용하여 구현

입력된 범위 안에 타겟이 들어올 시 이동 성공

 

공격 이벤트 생성

공격 실행 커스텀 이벤트 생성 (연결 되어있는 우측 완료 시, 중단 시는 무시하고 진행)

사용 할 애니메이션 시퀀스로 몽타주 생성 후 플레이 될 몽타주를 연결해 줍니다.

Attack 이벤트를 적절한 위치에 생성하여 연결하여 테스트

IK가 꼬이는 문제

몽타주 타임라인에서 커브 DisableLegIK를 추가 키 추가하여 0 - 1.0으로 수정하여 시간적 변형이 없게 설정합니다.
이후 테스트 시 몽타주 실행 중에만 IK가 적용되지 않고 재생 완료 후 IK가 적용되는 모습을 볼 수 있습니다.\

 

비헤이비어를 사용하여 구현

비헤이어트리 기본 설명은 생략합니다.

비헤이어트리로 기본 AI 구성 시 BP, BB, BT, AIC가 필요합니다.
AIC에 Event On Possess 이벤트를 이용해 BT를 호출 기본 BeginPlay 사용보다 이걸 사용합니다. (위 설명)

Delay 경우 Enemy가 생성되기도 전에 호출되기 때문에 유예를 주기 위함입니다.
이러하면 AI 컨트롤러의 세팅이 완료됩니다.

새 태스크를 만들 시 중요한 사항으로 붉은 박스 안 이벤트와 함수를 양끝에 오도록 해야합니다.

이후에는 구현된 AI를 나열하겠습니다.

 

어택 단계입니다.

Attack 입니다. On Attack End 호출은 Attack 애니메이션이 다 재생 될 때까지 기다려주기 위함입니다.

Attack 이벤트를 실행 후 종료 On Attack End 호출을 기다린 후 이벤트를 끝냅니다.

 

휘두르는 검 생성 단계입니다.

 

WieldSword입니다. 미리 세팅된 스태틱 메쉬를 설정해둔 소켓에 생성하는 이벤트입니다. (검 생성)
Rule 세팅과 올바른 Socket Name을 입력해줘야합니다.

생성한 WieldSword 태스크입니다. 검을 생성하는 태스크입니다.

검을 한번 생성한 후 이후 생성하지 않기 위한 생성한 데코레이터입니다.

 

타겟 포커스 부분입니다.

타겟을 포커스하는 이벤트입니다.

캐릭터 BP 무브먼트에서 이미지와 같이 세팅하여야 포커스가 올바르게 작동합니다.

좀 더 AI 처럼 만들기 위한 포커스를 초기화하는 이벤트입니다.

완성된 비헤이어트리입니다.

셀렉터로 검 생성 후 데코레이터가 생성된 검 검증 후 ChasePlayer 시퀀스가 실행됩니다. 

감사합니다.

+ Recent posts