Behavior Tree
[UE] Behavior Tree: 활 조준 및 발사하기
[UE] Behavior Tree: 활 조준 및 발사하기
2023.08.08Player에 구현한 화살 발사를 궁수 AI에도 적용한다. SetFocus를 사용하여 적을 지속적으로 바라보게 만든다. 몽타주를 재생시켜 활의 시위를 당기고 화살 발사 준비를 마친 후 CSubAction_Bow 코드를 재사용하여 화살을 발사한다. CSubAction_Bow 코드 내에 AIController일 때도 Press()와 Released(), 즉 조준 후 발사가 가능하도록 코드를 추가한다. 목차 Plugins Weapon Resource Icon128.pngweapon_thumbnail_icon.png Source Weapon SWeaponCheckBoxes.h .cppSWeaponDetailsView.h .cppSWeaponDoActionData.h .cpp..
[UE] Behavior Tree: 활 Enemy 생성, Player 바라보기
[UE] Behavior Tree: 활 Enemy 생성, Player 바라보기
2023.08.07이번에는 궁수 AI를 만들것이다. 원거리에서 화살을 날리는 궁수 AI는 근거리 AI와 함께 게임에 배치하면 적 공격 패턴이 다양해져 게임에 재미를 더할 수 있다. Behavior Tree는 일전에 구현한 Melee와 크게 다르지 않다. 적을 인식하면 무기를 장착하고 활 시위를 당긴 후 화살을 날리게 만들 것이다. 목차 Plugins Weapon Resource Icon128.pngweapon_thumbnail_icon.png Source Weapon SWeaponCheckBoxes.h .cppSWeaponDetailsView.h .cppSWeaponDoActionData.h .cppSWeaponEquipmentData.h .cppSWeaponHitData.h .cppS..
[UE] Behavior Tree: 피격(Hitted)
[UE] Behavior Tree: 피격(Hitted)
2023.07.31적(Enemy)의 피격과 Behavior Tree가 연결되어 있지 않다. 적이 피격 되었을 때 Behavior Tree에 알리고 피격이 끝났을 때 Behavior를 WaitMode로 변경하는 코드를 추가하였다. 목차 Plugins Weapon Resource Icon128.pngweapon_thumbnail_icon.png Source Weapon SWeaponCheckBoxes.h .cppSWeaponDetailsView.h .cppSWeaponDoActionData.h .cppSWeaponEquipmentData.h .cppSWeaponHitData.h .cppSWeaponLeftArea.h .cppWeapon.Build.csWeaponAssetEditor.h ...
[UE] Behavior Tree: 무기 장착(Equip)
[UE] Behavior Tree: 무기 장착(Equip)
2023.07.26현재 적 AI 순찰을 진행하다 Player가 시야 범위 내에 들어오면 접근한다. 이번 시간에는 Player에게 접근한 후 무기를 장착하는 것을 Behavior Tree를 통해 구현할 것이다. BTTask_Node를 새로 만들어 무기 장착 Task를 전담하게 할 것이다. 목차 Plugins Weapon Resource Icon128.pngweapon_thumbnail_icon.png Source Weapon SWeaponCheckBoxes.h .cppSWeaponDetailsView.h .cppSWeaponDoActionData.h .cppSWeaponEquipmentData.h .cppSWeaponHitData.h .cppSWeaponLeftArea.h .cppWeapo..
[UE] Behavior Tree: 순찰(Patrol)
[UE] Behavior Tree: 순찰(Patrol)
2023.07.25적의 상태에 따라 이동속도를 다르게 설정해보자. 적 Behavior Tree에 순찰 기능을 추가하고 Player가 접근하면 달려오도록 수정해보자. 목차 Plugins Weapon Resource Icon128.pngweapon_thumbnail_icon.png Source Weapon SWeaponCheckBoxes.h .cppSWeaponDetailsView.h .cppSWeaponDoActionData.h .cppSWeaponEquipmentData.h .cppSWeaponHitData.h .cppSWeaponLeftArea.h .cppWeapon.Build.csWeaponAssetEditor.h .cppWeaponAssetFactory.h .cppWeaponCo..
[UE] Behavior Tree 4, Melee Attack & Range
[UE] Behavior Tree 4, Melee Attack & Range
2023.02.23행동 트리를 만든 후에는 게임이나 시뮬레이션에서 NPC 또는 AI가 제어하는 엔티티에 연결할 수 있다. 그런 다음 동작 트리는 트리 구조에 정의된 논리에 기초하여 엔티티의 동작을 결정한다.목차 Behavior Tree - Melee Sword Attack 0. BP_Enemy- StateComponentBP_AIController_Melee0. BB_AI0. BT_Melee1. BP_Enemy_AI- WeaponComponent- MovingComponent- BehaviorTree (Behavior Tree)---------------------0. BP_PatrolPath---------------------1. BTService_Melee2. BP_Enemy_AI_Melee-----------..
[UE] Behavior Tree 2
[UE] Behavior Tree 2
2023.02.21행동 트리를 만든 후에는 게임이나 시뮬레이션에서 NPC 또는 AI가 제어하는 엔티티에 연결할 수 있다. 그런 다음 동작 트리는 트리 구조에 정의된 논리에 기초하여 엔티티의 동작을 결정한다. 목차 Behavior Tree - Melee 0. BP_Enemy- StateComponentBP_AIController_Melee0. BB_AI0. BT_Melee1. BP_Enemy_AI- WeaponComponent- MovingComponent- BehaviorTree (Behavior Tree) 1. BTService_Melee2. BP_Enemy_AI_Melee 2. BTTask_Speed2. BTTask_Patrol 2. BP_Enemy_AI_Melee Default - Behavior Tree ..
[UE] Behavior Tree
[UE] Behavior Tree
2023.02.20행동 트리(Behavior Tree)는 언리얼 엔진에서 게임이나 시뮬레이션에서 NPC(Non-Player Characters) 또는 AI 제어 엔티티의 동작을 설계하고 구현하기 위해 사용되는 시각적 프로그래밍 도구이다. 동작 트리는 작업, 조건 및 제어 흐름을 나타내는 노드의 계층 구조로 구성된다. 목차 Behavior Tree - 개념 설명 Behavior Tree 행동 트리(Behavior Tree)는 언리얼 엔진에서 게임이나 시뮬레이션에서 NPC(Non-Player Characters) 또는 AI 제어 엔티티의 동작을 설계하고 구현하기 위해 사용되는 시각적 프로그래밍 도구이다. 동작 트리는 작업, 조건 및 제어 흐름을 나타내는 노드의 계층 구조로 구성된다.동작 트리에는 네 가지 주요 유형의 ..
[Unreal] 3D - 9: Behavior Tree
[Unreal] 3D - 9: Behavior Tree
2023.01.17목차 인프런 Rookiss님의 '자료구조와 알고리즘' 강의를 기반으로 정리한 필기입니다. 😎 [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘 강의 들으러 가기! Behavior Tree BP_Monster 생성 Blueprint Class - Pawn - BP_Monster 생성 BP_MonsterController 생성 Bluepritn Class - AI Controller - BP_MonsterController 생성 BB_Monster Artificial Intelligence - Blackboard - BB_Monster 생성 New Key 눌러서 PatrolLocation (Vector) 생성 TargetEnemy (object) 생성 BT_Monst..