ABP: Animation Blueprint
AN: Blueprint Class AnimNotify
ANS: Blueprint Class - AnimNotifyState

BP: Blueprint Class
BS: Blend Space

BF: Blueprint Function Library
CS: Matinee Camera Shake
E: Enum 열거형
DT: Data Table
F: 구조체

I: Blueprint Interface

 

UE2212_02

  Level - LEVEL
ABP_Player
BP_GameMode
BF_Helper
IDamage
 
AdvancedMagicFX12
Materials  
Meshes  
Particles  
Textures  
Character Animation Bow
Common
Fist
Hammer
Parkour
Sword
Unarmed
Wizard
BlendSpaces BS_Bow
BS_Fist
BS_Hammer
BS_Sword

BS_Unarmed
BS_Wizard
Materials

MaterialLayers
M_UE4Man_Body
M_UE4Man_ChestLogo
Mesh SK_Mannequin
SK_MAnnequin_PhysicsAsset
Skel_Mannequin

Montages
Around Around_Montage
Common HitReaction_Move_Montage
HitReaction_Stop_Montage
Fist Fist_Attack_1_Montage
Fist_Attack_2_Montage
Fist_Attack_3_Montage
Fist_Hitted_Montage
Hammer Frank_RPG_2Hand_Combo01_1_Montage
Frank_RPG_2Hand_Combo01_2_Montage
Frank_RPG_2Hand_Combo01_3_Montage
Frank_RPG_2Hand_Combo01_4_Montage
Sword Draw_Sword_Montage
Sword_Attack_1_Montage
Sword_Attack_2_Montage
Sword_Attack_3_Montage
Warp Warp_Montage
Enemy_DeadFall_Montage
HitReaction_Montage
 
Textures UE4_LOGO_CARD
UE4_Mannequin__normals
UE4_Mannequin_MAT_MASKA
UE4Man_Logo_N
Weapons Elven Bow
Greate Hammer
Sword
Component EStateType
MovingComponent
StateComponent
WeaponComponent
   
Effects P_Cube_Mesh_Test
P_Genno_Weapon_Lightning_01
   
Enemies BP_Enemy    
Environment
Materials Textures  
Meshes    
Obstacle    
InfinityBladeEffects
Effects
FX_Combat_Base  
FX_Materials  
FX_Meshes  
FX_Monsters  
FX_Textures  
FX_Textures_IB  
Masters  
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
ANS_Combo
ANS_Collision
AN_BeginAction
AN_EndAction
AN_CameraShake
   
Player BP_Player    
Sounds S_BGM
S_HitPunch
S_OneHand_Hit
   

 
Weapons
Around Around_FireBall
Around_FireBall1
Around_IceBall
Around_IceBall1
DT_DoAction_Around
DT_Equip_Around
DT_HitData_Around
Skill_Around
Weapon_Around
 
Bow    
FireBall DT_DoAction_FireBall
DT_Equip_FireBall
DT_HitData_FireBall

Skill_FireBall
Weapon_FireBall
 
Fist Combo_Fist - Blueprint Class Actor Weapon_Combo 상속
CS_Fist
DT_DoAction_Fist

DT_Equip_Fist
DT_HitData_Fist
 
Hammer Combo_Fist - Blueprint Class Actor Weapon_Combo 상속
CS_Hammer
DT_DoAction_Hammer
DT_Equip_Hammer
DT_HitData_Hammer

 
Sword Combo_Sword - Blueprint Class Actor Weapon_Combo 상속
CS_Sword
DT_DoAction_Sword
DT_Equip_Sword
DT_HitData_Sword
 
Warp Weapon_Warp -  Blueprint Class Actor Weapon 상속
DT_DoAction_Warp

DT_Equip_Warp
 
EWeaponType
FDoActionData
FEquipData
FHitData
Weapon - Blueprint Class Actor
Weapon_Combo - Blueprint Class Actor Weapon 상속
M_Weapon
Skill
   

 


 

 

Fire Ball 수정

 

어제 기본상태의 FireBall과는 달리 방향을 만들어서 사용.

 

Skill
Weapon
Skill_Around Skill_FireBall Weapon_Around Weapon_FireBall Weapon_Combo
-  Around_FireBall
-  Around_FireBall1
-  Around_IceBall
-  Around_IceBall1
      - Combo_Fist
- Combo_Sword
- Combo_Hammer

 

 


Skill_FireBall 수정

 

Event Graph

  • Projectile Movement - Activation - Auto Active 체크 해제
  • Custom Event - Shoot 커스텀 이벤트 생성
  • 커스텀 이벤트 Shoot 입력에 InDirection(vector) 생성
  • On Component Overlay Begin: 상대방이 FireBall을 맞았을 때 피격을 구현하는 부분
    • Skill_Around의 Damaged 커스텀 이벤트 부분을 수정해서 사용.

 


 

Weapon_FireBall 수정

 

Begin Do Action

  • Skill_FireBall에서 만든 커스텀이벤트 Shoot을 불러오고 Direction 값을 넣어준다.

 

 

실행화면

 

 

 

 


 

 

 

 

Bow

 

Skill
Weapon
Skill_Around Skill_Arrow Skill_FireBall Skill_Warp Weapon_Around Weapon_Bow Weapon_FireBall Weapon_Combo
-  Around_FireBall
-  Around_FireBall1
-  Around_IceBall
-  Around_IceBall1
            - Combo_Fist
- Combo_Sword
- Combo_Hammer

 

 

 

USkinnedMeshComponent
   UDestructibleComponent 파괴 가능한 Mesh. ex. 벽
   UPoseableMeshComponent 포즈 상에서 수정 가능. BP 상 Bone 변경 가능. ex. 활
   USkeletalMeshComponent 

 

https://docs.unrealengine.com/4.26/en-US/API/Runtime/Engine/Components/USkinnedMeshComponent/

 

USkinnedMeshComponent

Skinned mesh component that supports bone skinned mesh rendering.

docs.unrealengine.com

 

 


 

Skel_Mannequin 소켓 추가

 

Skel_Mannequin 소켓 추가 -  Holster_Bow, Hand_Bow_Left, Hand_Bow_Right_Arrow

 

Holster_Bow

Hand_Bow_Left

Hand_Bow_Right_Arrow


 

 

Montage 생성 - AR_DrawBow_Montage, AR_ShootAndDraw_Montage

 

AR_DrawBow_Montage

 

AR_ShootAndDraw_Montage


 

 

ABP_Player 수정

 

Locomotion 생성

  • 애니메이션 레이어 생성 -  LocomotionLayer  생성
  • Anim Graph에 있던 캐시 포즈들을 LocomotionLayer에 옮겨준다.

 

BowLayer 생성

  • 애니메이션 레이어 생성 - BowLayer 생성
  • BS_Bow 블랜드 스페이스를 넣어주고 연결한다. (추후에 수정 예정)

 

 

AnimGraph

  • 만들어준 LocomotionLayerBowLayer링크된 애님 레이어에 넣어준다.
  • bool로 포즈 블랜딩을 생성하고 이어준다. 

 


 

 

DT_Equip_Bow, DT_DoAction_Bow, DT_HitData_Bow 생성

 

DT_Equip_Bow.csv

 

DT_DoAction_Bow.csv

 

DT_HitData_Bow.csv

 

 

DT_Equip_Bow, DT_DoAction_Bow, DT_HitData_Bow 불러오기

 

 


 

Weapon_Bow 생성

 

Blueprint Class (- Actor) - Weapon - 자손블루프린트 클래스 생성 -  Weapon_Bow 생성 

 

 

 

Event Graph

  • Attach Actor To Component로 Bow를 Character 소켓 위치에 붙여준다.
  • Begin Equip 시 등에 있던 Bow가 왼손으로 이동.

 

 

End Equip

 

 

Do Action

  • Weapon_FireBall에 있는 Do Action과 원리가 같으므로 복사 붙여넣기하여 사용한다. 

 

 

Create Arrow

  • 변수 생성: Arrow(Skill Arrow), Arrows(Skill Arrow 배열)

 

 

Begin Do Action

  • 로컬변수 생성: Temp(Skill Arrow)
  • Get Attach Parent Actor의 의미 = Arrow가 Character(여기서는 BP_Player)에 붙어 있다.
  • 이 상황이면 Temp를 세팅하고 Break로 들어가 Completed로 나온다.
  • Detach From Actor를 World로 떼어준다.
  • Temp에 연결된 Shoot = Temp의 Arrow가 In Directijon 방향으로 Shoot에 의해 발사된다.

 

 

End Do Action

  • Character - Mesh의 충돌체의 Collision을 꺼준다. 캐릭터와 활의 충돌을 방지하기 위해 임시로 한 방법이라 추후에 수정할 것이다. 
  • Arrow가 계속해서 생성될 수 있게 만들어준다. 

 


 

 

 

 

Skill_Arrow 생성

 

Blueprint Class (- Actor) - Skill - 자손블루프린트 클래스 생성 -  Skill_Arrow 생성 

 

  • 충돌체가 기준이 되어야 한다. 충돌체는 정중앙. 메쉬를 위치조정
  • 충돌체 Sphere와 Mesh 화살 끝이 맞도록 Mesh화살을 x방향으로 -75.0만큼 이동시켜준다.

 

  • Static Mesh - Collision - Collision Preset - No Collision 으로 설정 
  • 화살 매쉬 활 매쉬 사이의 Block연산을 막기 위해 No Collision으로 변경해준 것이다. 

 

  • Projectile Movement - Projectile - Initial Speed = 1000.0, Projectile Gravity Scale = 0 설정 
  • Projectile Movement - Activation - Auto Activate 체크 해제

 

 

Event Graph

 


 

 

 

 

실행화면