[UE] 무기관리
목차
무기 관리
BP: Blueprint Class
BS: Blend Space
ABP: Animation Blueprint
AN: Blueprint Class AnimNotify
ANS: Blueprint Class - AnimNotifyState
E: Enum 열거형
DT: Data Table
UE2212_01
01_Blueprints | Level - LEVEL BP_01_Variable |
|
02_Player | 02_Player - LEVEL ABP_Player BP_Player |
|
03_Vector | 03_Vector - LEVEL 03_Vector_Trace - LEVEL BP_03_01_Location BP_03_02_Direction BP_03_03_Trace |
|
04_Sword | BP_Sword | |
05_Collision | 05_Collision - LEVEL BP_05_01_ActorOverlap BP_05_02_ComponentOverlap BP_05_03_OverlapAndHit |
|
06_Enemy | ABP_Enemy BP_Enemy |
|
Character | Animation | Common |
OneHand | ||
Unarmed | ||
BlendSpaces | BS_Sword BS_Unarmed |
|
Materials |
MaterialLayers | |
M_UE4Man_Body M_UE4Man_ChestLogo |
||
Mesh | SK_Mannequin SK_MAnnequin_PhysicsAsset Skel_Mannequin |
|
Mixamo | Alpha_Body_MAT Alpha_Joints_MAT Standing_Taunt_Battlecry Y_Bot Y_Bot_PhysicsAsset Y_Bot_Skeleton |
|
Montages | Enemy_DeadFall_Montage HitReaction_Montage Sword_Attack_1_Montage Sword_Attack_2_Montage Sword_Attack_3_Montage |
|
Textures | UE4_LOGO_CARD UE4_Mannequin__normals UE4_Mannequin_MAT_MASKA UE4Man_Logo_N |
|
Weapons | Sword | |
Materials | M_Mesh M_White_Inst M_Red_Inst M_Green_Inst M_Blue_Inst M_UE4Man_Body_Inst M_UE4Man_ChesLogo_Inst |
|
Meshes | Cone_2 Cube_2 Cylinder_2 Sphere_2 |
|
Notifies | AN_Begin_Equip AN_Begin_Unequip AN_Begin_Action AN_End_Equip AN_End_Unequip AN_End_Action AN_End_Dead ANS_Combo ANS_Collision |
UE2212_02
Level - LEVEL ABP_Player BP_GameMode |
|||
Character | Animation | Common |
|
OneHand |
|||
Unarmed |
|||
BlendSpaces | BS_Sword BS_Unarmed |
||
Materials |
MaterialLayers |
||
M_UE4Man_Body M_UE4Man_ChestLogo |
|||
Mesh | SK_Mannequin SK_MAnnequin_PhysicsAsset Skel_Mannequin |
||
Montages |
Sword | Draw_Sword_Montage Sword_Attack_1_Montage Sword_Attack_2_Montage Sword_Attack_3_Montage |
|
Enemy_DeadFall_Montage HitReaction_Montage |
|||
Textures | UE4_LOGO_CARD UE4_Mannequin__normals UE4_Mannequin_MAT_MASKA UE4Man_Logo_N |
||
Weapons | Sword |
||
Component | EStateType MovingComponent StateComponent WeaponComponent |
||
Environment |
Materials | Textures | |
Meshes | |||
Obstacle | |||
Materials | M_Mesh M_White_Inst M_Red_Inst M_Green_Inst M_Blue_Inst M_UE4Man_Body_Inst M_UE4Man_ChesLogo_Inst |
||
Meshes | Cone_2 Cube_2 Cylinder_2 Sphere_2 |
||
Notifies | ANS_Equip | ||
Player | BP_Player | ||
Weapons |
Sword | Combo_Sword - Blueprint Class Actor Weapon_Combo 상속 DT_Equip_Sword |
|
EWeaponType Weapon - Blueprint Class Actor Weapon_Combo - Blueprint Class Actor Weapon 상속 |
언리얼은 리플렉션이 가능하다
- Enum의 문자를 숫자가 아닌 문자로 인식.
- 구조체+데이터테이블 방식. 아래의 FEquipData + DT_Equip_Sword 방식.
FEquipData 생성
Blueprint Class - 구조체 - FEquipData 생성
- 변수 생성
- Montage(Anim Montage), PlayRate(Float), UseControlRotation(Boolean), CanMove(Boolean)
DT_Equip_Sword 생성
액셀을 활용하여 데이터를 입력한 후 .csv파일로 저장한다. 그 후 언리얼에서 .csv파일을 불러와서 데이터로 활용한다.
Exel - DT_Equip_Sword.csv 파일 생성
언리얼에서 DT_Equip_Sword.csv 파일 불러오기
Combo_Sword
- 컴포넌트 추가 - SkeletalMesh 생성
- 메시 - Skeletal Mesh - SK_Sword로 설정
- Data Tables - Equip Data Table - DT_Equip_Sword 로 설정
ANS_Equip 생성
Get Notify Name
Received NotifyBegin
Received NotifyEnd
Draw_Sword_Montage 생성
- Animation - Sword - "Draw_Sword_1" + "Draw_Sword_2"를 조합하여 애님몽타주 생성 - Draw_Sword_Montage
- UpperBody로 변경
- 노티파이 - 노티파이 스테이트 추가 - ANS Equip 15~37프레임 설정
Weapon Component
Event Graph
- Get Weapon - 우클릭 - 검증된 Get으로 변환
ChangeType
SetMode
- In New Type == Type 장착하려는 무기가 장착된 무기가 같은지 확인. Branch
- True: 장착하려는 무기 = 장착된 무기인 경우 Set Unarmed Mode로 무기해제
- False: 장착하려는 무기 != 장착된 무기인 경우 Branch로 '무기가 장착되었는지' '무기가 장착되어있지 않은지' 확인
- Is Unarmed Mode를 Branch로 검사하여
- True: 무기장착x, Set Weapon으로 무기 장착
- False: 무기장착o, Unequip으로 무기장착을 해제해준 후에 Set Weapon으로 무기 장착
SetUnarmedMode
Weapon
Event Graph
Set Owner
Set Component
Load Equip Data
Equip
Begin Equip
End Equip
UnEquip
MovingComponent
IsCanMove
Move
Stop
Enable Control Rotation
Disable Control Rotation
StateComponent
Is Idle Mode
실행화면
'⭐ Unreal Engine > UE RPG Blueprint' 카테고리의 다른 글
[UE] Unreal Interface, Weapon (0) | 2023.01.13 |
---|---|
[UE] 무기관리 2 (0) | 2023.01.12 |
[UE] Enum, Statement Component (0) | 2023.01.10 |
[UE] Collision, Retargeting, Mixamo Plugin 설치 (0) | 2023.01.09 |
[UE] Collision (0) | 2023.01.06 |
댓글
이 글 공유하기
다른 글
-
[UE] Unreal Interface, Weapon
[UE] Unreal Interface, Weapon
2023.01.13 -
[UE] 무기관리 2
[UE] 무기관리 2
2023.01.12 -
[UE] Enum, Statement Component
[UE] Enum, Statement Component
2023.01.10 -
[UE] Collision, Retargeting, Mixamo Plugin 설치
[UE] Collision, Retargeting, Mixamo Plugin 설치
2023.01.09