Create Game/[UE5] BLUEPRINT & C++

[UE5] COMBAT SYSTEM - WEAPON

GameChoi 2022. 12. 27. 20:05

1. Base Equppable

1.1 Attach Actor

 - 플레이어 무기 Socket 추가

   - Sword Socket (Light, Great Sword)

Weapon Socket

 - 플레이어가 무기를 사용할 수 있도록 장착 (Attach Actor To Component)

Attach Actor To Component

1.2 무기 장착

 - Project Settings에서 Interact 추가

Input

 - Trace를 사용하여 물체가 있는지 확인

   - start, end : 플레이어의 위치

   - Object Type : Collision Type

   - Actor to Ignore : 트레이스 사용시 무시하는 것

Trace For Object

 - 무기에 해당하는 물체가 있다면 장착

   - Interface를 사용하여 무기가 있다면 무기를 생성하고 장착

Equipped Weapon

 

2. Base Weapon

2.1 Animation

2.1.1 Equipment, Unequipment

 - 무기 장착 애니메이션 생성 및 Socket 추가

   - Animation Montage 생성 및 Anim Notify 생성

변수 생성 및 무기 장착시 활성화 및 Socket 추가

 - Attach To Hand를 사용하여 활성화시 손에 무기 장착, 비활성화 시 손이 아닌 정한 위치 장착

Select Weapon Socket
Attach To Hand 활성화 & 비활성화

2.1.2 Locomotion

 - 무기에 맞는 Locomotion 추가

 - Animation Blend Space 1D

원하는 Locomotion 추가

 - Speed Settings

=Speed Settings

2.1.3 Animation Blueprint

 - 무기 장착하고 움직일 때 부자연스러움( 상하 움직임이 이상함)

   - layered blend per bone을 사용하여 절반을 나누고 사용

layered blend per bone

 - 무기 타입에 맞게 장착 모션 변경

   - Combat Type (Light, Great Weapon)

     - Locomotion에 맞게 생성한 blend space로 스피드에 맞게 실행

Locomotion

 

   - 착용하고 있지 않을 때 변경

Equipment, Unequipment

 

2.2 Great Sword

- Great Sword에 필요한 변수 설정

 

2.3 Light Sword

- Light Sword에 필요한 변수 설정

2.3 플레이어 무기 장착 시 애니메이션 실행

 - Play Anim Montage 사용 시 앞 서 설정한 값들로 인해 자동으로 실행

Play Anim Montage


[Equipment Weapon] Player