UnrealEngine
-
[UE5 RPG] 9. 몬스터 Behavior Tree 순찰, 추적, 공격 : BlackBoard, Nav Mesh Bounds Volume, AIPerceptionComponentUnrealEngine/SomedayProject 2025. 11. 17. 13:49
📌 Someday Proejct 개발일지 시리즈더보기"> 몬스터를 어떻게 관리할까?몬스터는 보통 종족별로 비슷한 외형을 가지고 비슷한 행동 패턴을 가지기 마련몬스터 종류마다 별도의 스켈레톤, ABP, BT가 필요하다→ 세부 몬스터마다 추가적으로 별도의 HP, 방어력, 드랍 아이템 정보 등이 들어가야할것이다일단 지금 단계에서는 단순한 몬스터부터 만들어보자 👹몬스터 생성 과정콘텐츠 브라우저에서 SPMonsterDataAsset 인스턴스를 생성해 몬스터별 스탯·공격 어빌리티·데미지 이펙트를 설정하기새 ASPMonsterCharacter 서브클래스를 만들고 MonsterData에 해당 데이터 에셋을 지정하기ASPMonsterCharacter 를 상속받는 BP 생성하고 MonsterData 연결AI 컨트..
-
[UE5 RPG] 8. 활성화된 GA로 전투 애니메이션 출력하기 : 애니메이션 노티파이, Default SlotUnrealEngine/SomedayProject 2025. 11. 11. 14:54
📌 Someday Proejct 개발일지 시리즈더보기"> 🦾 AI로 만들어보기🛡️ 공격 GA 내부에서 EndAbility를 처리하는 과정일반적인 공격 GA 내부에서는 다음과 같은 흐름으로 End Ability를 호출합니다.Event Activate Ability (활성화 시작)Commit Ability (비용/쿨다운 적용)Ability Task: Play Montage and Wait for Event (몽타주 재생 시작)몽타주 재생 중애니메이션 노티파이 발생Ability Task의 이벤트 출력 핀 실행 (공격 판정 로직 실행)공격 판정 및 피해 적용 완료K2_EndAbility 노드 호출어빌리티 종료제미나이 로직 추천받아봤고 커서한테 다 만들라고 해봤다 1,2분만에 뚝딱 나옴 ㄷㄷ추가적으로 ..
-
[C++/UE] Inappropriate '*' on variable of type 'FGameplayEventData', cannot have an exposed pointer to this type.UnrealEngine/자잘한 팁 2025. 11. 11. 14:43
매크로로 설정된 Delegate 를 실행하려고 하니 이런 에러가 나왔다컴파일에서는 문제가 없었는데 막상 빌드를 실행하니 문제가 나타난걸로 봐서 링크나 언리얼 빌드 시에 문제가 있던 모양 SPGameAbility_WeaponDefault.h(76): error : Inappropriate '*' on variable of type 'FGameplayEventData', cannot have an exposed pointer to this type. UFUNCTION() void HandleAttackStartEvent(FGameplayTag EventTag, const FGameplayEventData* Payload); 알고보니 함수 선언할 때 `UFUNCTION` 으로 선언한 함수에 구조체 포인터 ..
-
[UE5 RPG] 7. 전투 입력을 통해 GA 활성화하기 : GameAbility, GamePlayTag, 어빌리티 디버그 창 켜기UnrealEngine/SomedayProject 2025. 11. 11. 14:36
📌 Someday Proejct 개발일지 시리즈더보기"> 이번에는 전투 애니메이션을 만들고인풋이랑 연결해보려고 한다 https://hyun2and.tistory.com/38 애니메이션에 Ablitiy 를 연결해서 쓴다는듯하다나중을 위해 미리 세팅하고 넘어가기✏️ GameplayAbilities 를 쓰려면SomedayProject.Build.cs 에 PublicDependencyModuleN" data-og-host="hyun2and.tistory.com" data-og-source-url="https://hyun2and.tistory.com/38" data-og-url="https://hyun2and.tistory.com/38" data-og-image="https://scrap.kakaocdn...
-
[C++/UE] LNK2019 확인할 수 없는 외부 참조입니다UnrealEngine/자잘한 팁 2025. 11. 3. 16:16
SPAbilitySystemComponent.gen.cpp.obj : error LNK2001: 확인할 수 없는 외부 기호 "protected: virtual struct FGameplayTagContainer __cdecl IGameplayTagAssetInterface::BP_GetOwnedGameplayTags(void)const " (?BP_GetOwnedGameplayTags@IGameplayTagAssetInterface@@MEBA?AUFGameplayTagContainer@@XZ)1>SPAbilitySystemComponent.gen.cpp.obj : error LNK2001: 확인할 수 없는 외부 기호 "public: virtual void __cdecl UGameplayTasksCompo..
-
[C++/UE] E1696 파일 소스를 열 수 없습니다UnrealEngine/자잘한 팁 2025. 11. 3. 12:15
제대로 클래스 파일을 생성했으나 파일 소스를 열 수 없다는 에러가 나온다 제대로 클래스 파일을 생성했으나 파일 소스를 열 수 없다는 에러가 나온다단순하게 앞에 경로를 더 적어줘도 된다지금의 내 상황처럼 프로젝트 기본 폴더인 경우엔 Build.cs 의 PublicIncludePath에 추가해주는 것이 좋다public class SomedayProject : ModuleRules{ public SomedayProject(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; PublicDependencyModuleNames.AddRange(new string[..
-
[UE5 RPG] 6. 무기 장착하기 : WeaponEquipmentDefinition, Blueprintable, UCLASSUnrealEngine/SomedayProject 2025. 11. 2. 14:39
📌 Someday Proejct 개발일지 시리즈 더보기"> ✔️ 일단 칼로 전투를 하려면폰에 무기를 장착하고장착한 상태에서 애니메이션이 이어져야 함 (디테일한 애니메이션 작업 필요)공격 인풋도 추가하고공격 인풋을 Tag로 관리할까?나중엔 여러가지 무기,, 마법이나 활 같은 도구도 필요해질것 🔎 Lyra에서는 어떻게 하고있나InputConfig 에 InputAction_Fire 와 InputTag.Fire 를 매칭해주고 있다 2. ULyraHeroComponent 에서 InputComponent 초기화할 때 Mapping 값을 ActivatePair 를 통해 연결해주고..void ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerIn..
-
[UE5 RPG] 5. 착지 개선, 카메라 세팅 수정 : 포물선, 애니메이션 노티UnrealEngine/SomedayProject 2025. 11. 1. 19:50
📌 Someday Proejct 개발일지 시리즈 더보기"> 🏃♀️➡️ 착지 개선실제로 착지 하기 전에 착지 모션을 출력해야만 한다Lyra 에서는 땅과의 높이를 계산해서 미리 출력해주고 있음보통은 착지 시간을 계산해서 착지가 끝나기 전에 표시한다 → 이 방법을 써보자이런 포물선 공식을 쓰면 시간이 나온다if(GetOwningActor() == nullptr){ return 0.0f;}ACharacter* Character = Cast(GetOwningActor());if(Character == nullptr){ return 0.0f;}FVector Location = Character->GetActorLocation();// 중력 가속도 (언리얼 기본값 참고, cm/s^2)const f..