[UE] 보간식, Bow Aim 2, Cross Hair 만들기
목차
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 |
||
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 |
||
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 |
Cross Hair 조준점 만들기
Curve_Aim 생성 + 보간식
기타 - 커브 - CurveFloat - Curve_Aim 생성
- (0, 90), (0.1, 45) 값 넣기
- 3차(큐빅) 보간- 자동 탄젠트 눌러주기
보간식
Skill_Aim 수정
Event Graph
Pressed, Released 커스텀이벤트 부분
Tick 이벤트 부분
BeginPlay 이벤트 - CrossHair
ABP_Character 수정
Event Graph
- Weapon Component를 검증된 Get으로 변경한 이유는?
- 적의 경우 없는 경우도 있기 때문에 검증된 Get으로 변환하여 유효한지/유효하지않은지 구분하여 사용한다.
BowLayer
WB_CrossHair 생성 + Widget 설명
유저 인터페이스 - 위젯 블루프린트 - WB_CrossHair 생성
Designer
Graph
Widget | |
UMG | Slate |
게임의 UI | 편집툴의 UI |
Screen에 그려지는 UI
- HUD: Canvas가 화면이랑 1:1 매칭되면 HUD
- ex. 조준점, HP, MP
World에 그려지는 UI
Skill_Arrow
Destroy Actor로 삭제하면 Weapon_Bow 블루프린트의 변수 Arrows(Skill Arrow 배열)는 NULL이어서 Dangling Pointer가 될까? 만약 그렇다면 어떻게 지워줄까?
Yes. Dangling Pointer가 된다. 그래서
- Skill_Arrow 블루프린트에 End Play 이벤트를 만들어준다.
- Weapon_Bow 블루프린트에 OnArrowDestroyed를 만들어준다.
Skill_Arrow 블루프린트
Event Graph
Weapon_Bow 블루프린트
CreateArrow
OnArrowDestoryed
실행화면
Yes. Dangling Pointer가 된다. 그래서
- Skill_Arrow 블루프린트에 End Play 이벤트를 만들어준다.
- Weapon_Bow 블루프린트에 OnArrowDestroyed를 만들어준다.
Skill_Arrow 블루프린트
Event Graph
Weapon_Bow 블루프린트
CreateArrow
OnArrowDestoryed