728x90

1. 개발 현황

1. Enemy AI

1. Blackboard (BB_EnemyBase)

Behavior Tree에서 활용할 변수 선언

2. Blueprint Interface (BPI_EnemyAI)

3. Behavior Tree (BT_EnemyBase)

3.1. BTT_SetMovementSpeed

3.2. BTT_ClearFocus

3.3. BTT_FocusTarget

3.4. BTT_DefaultAttack

4. AI Controller (AIC_EnemyBase)

- Controller 동작:

(1) Blackboard 변수 설정

(2) TODO: Event에 따른 Blackboard 변수 제어

+) 초기 Delay 적용이 생략된 경우 Error 발생 (compile 순서에 따른 버그로 추정됨 -> 추후에 Error 원인을 분석해서 개선해보도록 하자)

5. Character Blueprint (BP_EnemyBase)

- 동작:

(1) Attack: BPI 호출 시, Montage 동작 함수 구현

TODO: 추후 Interface를 만들어 C++ Base Class에서 기초 Animation을 함수화 하는 방향 고민 중

#pragma once

#include "WeaponBase.h"
#include "CoreMinimal.h"
#include "GameFramework/Character.h"
#include "EnemyBase.generated.h"

class AWeaponBase;
DECLARE_DELEGATE(FDele_Single);

UCLASS()
class OPENWORLD_3D_V0_3_API AEnemyBase : public ACharacter
{
	GENERATED_BODY()

public:
	// Sets default values for this character's properties
	AEnemyBase();

private:
	UPROPERTY(EditAnyWhere, BlueprintReadWrite, Category = "Equip", meta = (AllowPrivateAccess = "true"))
	AWeaponBase* WeaponActor;
	UPROPERTY(EditAnyWhere, BlueprintReadWrite, Category = "Equip", meta = (AllowPrivateAccess = "true"))
	bool bIsWieldingWeapon;

	FDele_Single Fuc_DeleSingle;
protected:

};

2. TODO

- Delegate

(1) C++ Class 내 Event 선언 및 Bind를 통한 활용 구현

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/delegates-and-lamba-functions-in-unreal-engine?application_version=5.4

 

- AIC

(1) Event에 따른 Blackboard 변수 제어 추가

(2) 초기 Delay 적용이 생략된 경우 Error 발생, compile 순서에 따른 버그로 추정됨 -> 추후에 Error 원인을 분석해서 개선

 

- behavior

(1) perception 기능 추가

(2) EQS 기능 추가

 

- EnemyBase

(1) 근거리, 원거리에 따른 상속 구현

3. 참고자료

 

+ Recent posts