⭐ Unreal Engine/UE RPG Blueprint

[UE] Wizard, Decal, 워프 구현

Designerd 2023. 1. 26. 10:11

 

 

목차

     

     


     

     

    무기 추가(Wizard), 이펙트 추가, Decal

    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 Common
    Sword
    Unarmed
    BlendSpaces BS_Fist
    BS_Sword

    BS_Unarmed
    BS_Wizard
    Materials

    MaterialLayers
    M_UE4Man_Body
    M_UE4Man_ChestLogo
    Mesh SK_Mannequin
    SK_MAnnequin_PhysicsAsset
    Skel_Mannequin

    Montages
    Common HitReaction_Move_Montage
    HitReaction_Stop_Montage
    Fist Fist_Attack_1_Montage
    Fist_Attack_2_Montage
    Fist_Attack_3_Montage
    Fist_Hitted_Montage
    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
       
    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
       
    Player BP_Player    
    Sounds S_BGM
    S_HitPunch
    S_OneHand_Hit
       
     
    Weapons
    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
       

     

     

     

     

     

     

    ABP_Player 수정

     

    Anim Graph

     

     

     

    Warp_Montage 생성

     

    Anim Montage - Warp_Montage 생성

     


     

     

     

    Data Table  - DT_Equip_ Warp, DT_DoAction_Warp 생성

     

    DT_Equip_Warp.csv

     

    DT_DoAction_Warp.csv

     

     

    DT_Equip_Warp, DT_DoAction_Warp 생성

     

     

    Weapon_Warp에 Data Tables 할당

    • Weapon_Warp 블루프린트 열기
    • Weapon_Warp - Data Tables - Equip Data Table과 Do Action Data Table 칸에 위에 생성한 데이터테이블을 넣어준다. 

     

     

    Project Setting

     


     

    Weapon Component 수정

     

    Set Warp Mode 생성

    • Set Sword Mode, Set Fist Mode, Set HammerMode와 같은 방식으로 Set Warp Mode를 만들어준다.

     

    BP_Player 수정

     

    Event Graph > Action

    • Weapon Component - Default - Weapon Classes - 4번 위치에  Weapon_Warp 할당.
    • 위의 과정 잊어버리기 쉬우니 항상 체크하자.
    •  Sword, Fist, Hammer 입력 액션과 같이 Warp 입력 액션을 만들어준다.

     

     

    Weapon_Warp 수정

     

    Weapon_Warp에 Data Tables 할당

    • Weapon_Warp 블루프린트 열기
    • Weapon_Warp - Data Tables - Equip Data Table과 Do Action Data Table 칸에 위에 생성한 데이터테이블을 넣어준다. 

     

     

    Decal 생성

    • Decal - Decal - Decal Material - M_Cursor_Inst 할당
    • Decal - Decal - 데칼 크기 - 10, 64, 64 할당

     

     

    오늘의 핵심!


    Event Graph

     

     

    Get Cursor Location and Rotation (pure)

     

     

    Do Action

    다음강(=20강)에서 수정한 내용

     

     

    Begin Do Action

    다음강(=20강)에서 수정한 내용

     


     

     

     


     

     

    실행화면

     


     

     

     

    Projection

     

    IA -> VS -> RS -> PS -> OM

     

    VS (World, View, Projection 조정) 

    RS (vp)

     

    NDC 공간

     

    z(깊이)는 0~1인 이유는? (카메라) 뒤쪽은 없다. 고로 음수는 쓸 일이 없다.

     

     

    • Perspective 원근 투영: 가까울수록 크고, 멀수록 작다.
    • Orthographic 직교 투영: 

     

    Projection 과정 = 3D 정점 -> W, V, P  -> 2D

    Unprojection 과정 = 2D -> W, V, P -> 3D 정점

     

     

     

    Picking이란?

    • 마우스 클릭 위치에서 far위치로부터의 거리를 활용하여 Unprojection