본문 바로가기
Uneal DataAsset으로 Combo System 만들기 // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Engine/DataAsset.h"#include "ABComboActionData.generated.h"/** * */UCLASS()class PRACTICE_API UABComboActionData : public UPrimaryDataAsset{ GENERATED_BODY()public: UABComboActionData(); UPROPERTY(EditAnywhere, Category = Name) FString MontageSectionNamePrefix; UPROPERTY(Ed.. 2025. 3. 24.
Unreal DataAsset DataAssetUDataAsset을 상속받은 Unreal Object Class이다.에디터에서 에셋 형태로 편리하게 데이터를 관리할 수 있다. 예시캐릭터 컨트롤에 관련된 주요 옵션을 모아 Data Asset으로 관리를 예시로 해보자.C++ Class에서 DataAsset을 추가하고헤더파일에 이와 같이 다양하게 추가해준다.float값의 경우엔 생성자에 다음과 같이 작성해주면 된다. 그리고 Unreal 에디터에서Miscellaneous -> DataAsset으로 들어가서 방금 생성한 Class를 선택해주면 생성이 된다. 생성한 DataAsset에 들어가보면다음과 같이 헤더 파일에 선언한 속성값을 채워넣을 수 있게 UI가 제공이 된다.다음과 같이 사용할 값을 DataAsset(여기선 UABCharacterC.. 2025. 3. 22.
Unreal AIController 제작 이번에 BehaviorTree에 쓰일 AIContoroller(AIC)를 직접 제작해보았다. UPawnSensingComponent에서 UAIPerceptionComponent로 변경UPawnSensingComponent: 간단한 AI 감지 시스템에 필요한 경우 사용된다.UAIPerceptionComponent: PawnSensingComponent에서 제공하는 시각, 청각 감지 기능뿐만 아니라 손상 등 다양한 감지 기능을 지원한다.  이렇기에 이후에 더 확장성이 높은 UAIPerceptionComponent로 바꾸었다.AIPerceptionComponent = CreateDefaultSubobject(TEXT("AI Perception"));AIC의 생성자에 다음과 같이 추가했다. OnPossessht.. 2024. 10. 7.
Unreal BehaviorTree RequestExecution(), StopTree() Player를 쫓아오는 AI를 만들 때 일정 거리에 도달하면 근처에서 대치하는 상황을 만들고 싶었다. 이때 이상한 현상이 발생했다.코드는 다음과 같다.void UBTD_IsWithInIdealRange::TickNode(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, float DeltaSeconds){ CalculateRawConditionValue(OwnerComp, NodeMemory); if(!TickFlag){ UE_LOG(LogTemp, Display, TEXT("Tick Node!!")); TickFlag = true; }}bool UBTD_IsWithInIdealRange::CalculateRawCon.. 2024. 9. 24.