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

AO: Aim Offset

BP: Blueprint Class
BS: Blend Space

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

I: Blueprint Interface

WB: Widget Bluepprint

 

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
Bow AR_DrawBow_Montage
AR_ShootAndDraw_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
FeetComponent
TargetComponent
   
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
FZoomData
   
Sounds S_BGM
S_HitPunch
S_OneHand_Hit
   
Textures Crosshair    

 
Weapons
Around Around_FireBall
Around_FireBall1
Around_IceBall
Around_IceBall1
DT_DoAction_Around
DT_Equip_Around
DT_HitData_Around
Skill_Around
Weapon_Around
 
Bow AO_Aim
Curve_Aim
DT_DoAction_Bow

DT_Equip_Bow
DT_HitData_Bow
FAimData
Skill_Aim
Skill_Arrow
Weapon_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
   
Widget WB_CrossHair    

 

 

 

 

Warp Effect 수정

 


 

P_ky_aura_shine 수정

 

  • Required
    • Emitter Loops = 0은 무한, 1은 1회 실행, 2는 2회 실행...
    • Emitter Duration: 플레이되는 시간
    • Emitter Low: 전체에 곱해지는 비율값
  • Spawn
    • Distribution
      • Distribution Float Constant: 상수 하나의 값이 들어감.
      • Distribution Float Constant Curve: 지점을 만들어서 0~1번 구간, 1~2번 구간 값이 들어가게 함. 
      • Distribution Float Uniform: Min~Max 사이의 랜덤값.
  • Lifetime 수명 주기
  • Initial Size: 시작 크기
  • Color Over Life: 라이트 색
  • Scale Color / Life: 스케일
  • Initial Location: 시작 위치

 


 

Warp_Montage 수정

 

  • Warp_Montage의 이펙트를 변경한다.

 

 

실행화면

 

 


 

 

 

 

IK 수정

 

 


 

Skel_Mannequin 수정 - 애님 커

 

  • 애님 커브
  • 기존에 있는 커브 삭제하고 새롭게 만들어준다. 
  • 커브 생성: LeftFoot, RightFoot

 


 

Unarmed_Idle 수정

 

  •  커브 생성 - LeftFoot, RightFoot

 

 


 

Sword_And_Shield_Run_L 수정

 

  •  커브 생성 - LeftFoot, RightFoot

 

LeftFoot 키값 잡기

 

RightFoot 키값 잡기

  • 발이 바닥에 붙기 시작하는 순간 = 0
  • 발이 바닥에 완전히 붙은 순간 = 1
  • 발이 바닥에 발이 떨어지기 직전 = 1
  • 발이 바닥에 완전히 떨어진 순간 = 0

 

※ 다른 Animation들에도 위와 같은 작업 반복


 

ABP_Player 수정

 

FeetLayer

  • IK가들어가면 Get Curve Value를 다 넣어줘야 한다.
  • 다소 노가다(?)성 작업이지만 자연스러운 IK 움직임을 구현하려면 필요한 작업이다. 
  • 위에서는 Unarmed_Idle과 Sword_And_Shield_Run_L에서만 LeftFoot, RightFoot을 넣어주었지만 다른 동작들에도 LeftFoot, RightFoot을 넣어주고 발이 바닥에 붙고 떼어지는 시기에 따라 키값을 잡아줘야 한다.

 


 

BP_Player 수정

 

  • FeetComponent - Trace - Draw Debug - None으로 변경

 

 


 

실행화면

 

 

 

 


 

 

 

Targeting

 

 


Project Setting

 

엔진 > 입력

  • 액션 매핑 추가
  • Targeting: 키보드 T
  • Left_Target: 키보드 Q
  • Right_Target: 키보드 E

 

엔진 > 콜리전

  • Preset - 새 프로파일 추가
  • Targeting
    • 콜리전 켜짐: Physics Only (No Query Collision) 블록연산
    • 오브젝트 유형: Pawn. 어딘가에 충돌할 때 반응을 줌.
    • Pawn만 Block으로 체크
    • 위의 뜻 = Pawn만 블록연산 하겠다.

 

State Component 

 

Is Dead Mode 생성

Set Dead Mode 생성


 

Target Component 생성

 

Blueprint Class - Actor Component - Target Component 생성

 

 

Event Graph

  • Target이 Get Component by Class(State Component)로 죽었는지(Is Dead Mdoe) 확인.
  • Trace Distance = 1000.0으로 설정함.
  • Character와 Target의 거리가 1000.0 이하라면 Tick Event 유지.
  • Character와 Target의 거리가 1000.0 초과라면 End Targeting으로 끝냄.

 

 

Begin_Targeting

  • Begin_Targeting 함수 생성
  • MultiSphereTraceByProfile
    • Actors to Ignore에서 Make로 만들어 Character와 이어준다.
    • Character 자기자신은 Targeting의 대상에서 제외시킨다.
  • 변수 생성: Particle (Particle System Component), Character (Character), Target (Character), DrawDebug (EDraw Debug Trace)
  • 로컬변수 생성: Targets (Character 배열) 
    • Targets선별된 Target 대상자이다. 그러므로 마지막에 Add로 밀어넣어준다. 

 

 

 

Change_Targeting

  • Change_Targeting 함수 생성. 함수 입력에 In Candidate (Character) 추가
  • 변수 생성: ParticleAsset (Particle System)
  • 이미지 내 오타수정: *Targeting된 대상 -> Targeting이 될 대상

 

 

End_Targeting

  • End_Targeting 함수 생성
  • Targeting 되었다가 Targeting 해제되면 Paricle를 Destroy 

 

 

Tick_Targeting

  • End_Targeting 함수 생성
  • 변수 생성: Finish Angle (Float)
    • Finish Angle = 5.0 으로 설정. 각도 오차범위를 5.0도로 설정해준다. 
  • 로컬변수 생성: ControlRotation (Rotator), OwnerToTarget (Rotator)

 


 

BP_Player

 

 

  • Target Component - Draw Debug - For Duration으로 변경
  • Draw Debug를 일정시간 동안 실행. 

 

 


 

실행화면