[UE] Behavior Tree 2
행동 트리를 만든 후에는 게임이나 시뮬레이션에서 NPC 또는 AI가 제어하는 엔티티에 연결할 수 있다. 그런 다음 동작 트리는 트리 구조에 정의된 논리에 기초하여 엔티티의 동작을 결정한다.
목차
Behavior Tree - Melee
0. BP_Enemy - StateComponent |
BP_AIController_Melee | 0. BB_AI 0. BT_Melee |
1. BP_Enemy_AI - WeaponComponent - MovingComponent - BehaviorTree (Behavior Tree) |
1. BTService_Melee | |
2. BP_Enemy_AI_Melee | 2. BTTask_Speed 2. BTTask_Patrol |
2. BP_Enemy_AI_Melee
- Default - Behavior Tree - BT_Melee로 변경
E Behavior Type 생성
블루프린트 - 열거형 - EBehaviorType 생성
- Wait, Approach, Action, Patrol, Hitted, Avoid 추가
E Speed Type 생성
블루프린트 - 열거형 - ESpeedType 생성
- Walk, Run, Sprint 추가
Moving Component - Set Speed 함수 추가
- Set Speed 함수 추가
- 입력 추가: InType (ESpeedType)
- 변수 생성: Speed (float 배열)
- 0: 200.0 설정
- 1: 400.0 설정
- 2: 600.0 설정
0. BB_AI
Blackboard
- 새 키:
- SelfActor (Object): Actor
- Target (Object): BP_Player
- Behavior (Enum): EBehavior Type
0. BT_Melee
- Notify Observer
- On Result Change:
- 결과 바뀜 - 가져온 컨디션 결과가 바뀌었을 때만 재시작 한다.
- =실행하면서 성공이나 실패가 바뀌없을 때 재시작 한다.
- =Reevaluate only when the condition has changed.
- On Value Change:
- 값 바뀜 - 관찰되는 블랙보드값이 바뀔 때마다 재시작한다.
- =지정한 변수값이 바뀔 때 재시작 한다. 잘 사용하지 않음.
- =Reevaluate only when the observed Blackboard Key changes.
- On Result Change:
1. BTService_Melee
Tick AI
- Tick AI 함수 생성
- 입력 생성: InController (BP_AIController_Melee), InCharacter (BP_Enemy_AI)
- 변수 생성:
- TargetKey (Blackboard Key Selector)
- BehaviorKey (Blackboard Key)
- ActionDistance (Float): 150.0 설정. 여기서는 행동이 일어나게 하는 범위로 사용하는 변수로 사용. 150.0 범위 내로 들어가면 Branch가 True가 되어 EBehaviorType이 Action이 된다.
- 로컬변수 생성: Target (BP_Player)
Event Graph
- 함수 오버라이드 - Receive Tick AI 이벤트 생성
- 위에서 만든 Tick AI 함수 호출하여 실행.
2. BTTask_Speed
Event Graph
- 함수 오버라이드 - Receive Execute AI 이벤트 생성
- 변수 생성: SpeedType (ESpeedType)
- Moving Component에서 Set Speed를 호출해온다(조금 전에 Moving Component내에 Set Speed함수를 만들어 주었다).
2. BTTask_Patrol
Event Graph
- 함수 오버라이드 - Receive Execute AI 이벤트, Received Tick AI 이벤트 생성
- 변수 생성:
- RandomDistance (Float): 1500.0으로 설정.
- Location (Vector)
- AcceptanceRadius (Float): 20.0으로 설정.
- DrawDebug (Boolean)
실행화면
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 |
||
Parkour | Run_Climb_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 | Basic | BP_AIController_Basic BP_Enemy_AI_Basic BT_Basic BT_Move |
|
Melee | BP_AIController_Melee BP_Enemy_AI_Melee BT_Melee BTService_Melee |
||
Tasks | BTTask_Patrol BTTask_Speed |
||
BB_AI BP_Enemy BP_Enemy_AI |
|||
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 AN_End_BowString AN_EndParkour |
||
Parkour | EParkourArrowType EParkourType FParkourData ParkourComponent ParkourData |
||
Player | BP_Player FZoomData |
||
Sounds | S_BGM S_HitPunch S_OneHand_Hit |
||
Textures | Crosshair T_Around T_Black T_Bow T_Fireball T_Fist T_Hammer T_Sword T_Warp |
||
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 WB_Menu WB_MenuButton WB_Name |
'⭐ Unreal Engine > UE RPG Blueprint' 카테고리의 다른 글
[UE] Behavior Tree 4, Melee Attack & Range (0) | 2023.02.23 |
---|---|
[UE] Behavior Tree 3, Spline(Bezier, Catmull-Rom) (0) | 2023.02.22 |
[UE] Behavior Tree (0) | 2023.02.20 |
[UE] Widget, Widet 내 텍스트 설정 (0) | 2023.02.17 |
[UE] Widget (0) | 2023.02.16 |
댓글
이 글 공유하기
다른 글
-
[UE] Behavior Tree 4, Melee Attack & Range
[UE] Behavior Tree 4, Melee Attack & Range
2023.02.23 -
[UE] Behavior Tree 3, Spline(Bezier, Catmull-Rom)
[UE] Behavior Tree 3, Spline(Bezier, Catmull-Rom)
2023.02.22 -
[UE] Behavior Tree
[UE] Behavior Tree
2023.02.20 -
[UE] Widget, Widet 내 텍스트 설정
[UE] Widget, Widet 내 텍스트 설정
2023.02.17