UE5 RPG 만들기 (GAS, AI)
-
[UE5 RPG] 9. 몬스터 Behavior Tree 순찰, 추적, 공격 : BlackBoard, Nav Mesh Bounds Volume, AIPerceptionComponent
📌 Someday Proejct 개발일지 시리즈더보기"> 몬스터를 어떻게 관리할까?몬스터는 보통 종족별로 비슷한 외형을 가지고 비슷한 행동 패턴을 가지기 마련몬스터 종류마다 별도의 스켈레톤, ABP, BT가 필요하다→ 세부 몬스터마다 추가적으로 별도의 HP, 방어력, 드랍 아이템 정보 등이 들어가야할것이다일단 지금 단계에서는 단순한 몬스터부터 만들어보자 👹몬스터 생성 과정콘텐츠 브라우저에서 SPMonsterDataAsset 인스턴스를 생성해 몬스터별 스탯·공격 어빌리티·데미지 이펙트를 설정하기새 ASPMonsterCharacter 서브클래스를 만들고 MonsterData에 해당 데이터 에셋을 지정하기ASPMonsterCharacter 를 상속받는 BP 생성하고 MonsterData 연결AI 컨트..
-
[UE5 RPG] 8. 활성화된 GA로 전투 애니메이션 출력하기 : 애니메이션 노티파이, Default Slot
📌 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분만에 뚝딱 나옴 ㄷㄷ추가적으로 ..
-
[UE5 RPG] 7. 전투 입력을 통해 GA 활성화하기 : GameAbility, GamePlayTag, 어빌리티 디버그 창 켜기
📌 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...
-
[UE5 RPG] 6. 무기 장착하기 : WeaponEquipmentDefinition, Blueprintable, UCLASS
📌 Someday Proejct 개발일지 시리즈 더보기"> ✔️ 일단 칼로 전투를 하려면폰에 무기를 장착하고장착한 상태에서 애니메이션이 이어져야 함 (디테일한 애니메이션 작업 필요)공격 인풋도 추가하고공격 인풋을 Tag로 관리할까?나중엔 여러가지 무기,, 마법이나 활 같은 도구도 필요해질것 🔎 Lyra에서는 어떻게 하고있나InputConfig 에 InputAction_Fire 와 InputTag.Fire 를 매칭해주고 있다 2. ULyraHeroComponent 에서 InputComponent 초기화할 때 Mapping 값을 ActivatePair 를 통해 연결해주고..void ULyraHeroComponent::InitializePlayerInput(UInputComponent* PlayerIn..
최신글
-
[UE5 RPG] 9. 몬스터 Behavior Tree 순찰, 추적, 공격 : BlackBoard, Nav Mesh Bounds Volume, AIPerceptionComponentSomedayProject 2025.11.17 13:49
📌 Someday Proejct 개발일지 시리즈더보기"> 몬스터를 어떻게 관리할까?몬스터는 보통 종족별로 비슷한 외형을 가지고 비슷한 행동 패턴을 가지기 마련몬스터 종류마다 별도의 스켈레톤, ABP, BT가 필요하다→ 세부 몬스터마다 추가적으로 별도의 HP, 방어력, 드랍 아이템 정보 등이 들어가야할것이다일단 지금 단계에서는 단순한 몬스터부터 만들어보자 👹몬스터 생성 과정콘텐츠 브라우저에서 SPMonsterDataAsset 인스턴스를 생성해 몬스터별 스탯·공격 어빌리티·데미지 이펙트를 설정하기새 ASPMonsterCharacter 서브클래스를 만들고 MonsterData에 해당 데이터 에셋을 지정하기ASPMonsterCharacter 를 상속받는 BP 생성하고 MonsterData 연결AI 컨트..
-
코딩맨 유튜브를 보고주기적인 회고 2025.11.14 16:07
갑자기 내 알고리즘에 이분 유튜브가 떴는데 너무 뼈를 많이 맞아서 인상깊은 멘트들을 기록해두려고 한다 개발감각 있는지 확인하는 법개발 감각은 코드를 예쁘게 짜는 능력이 아닙니다. 그것은 지금 풀어야 할 수많은 문제들 중에서 어떤 것이 진짜 풀어야 할 문제인지 를 짚어내고 그 문제를 가장 값싸게 해결할 기술적 포인트를 찾아내는 능력입니다. 일하면서도 느꼈지만, 어떤 상황에서 이렇게 하시죠 하고 해결책이 딱 나오는 사람들에게서 일을 잘 한다는 느낌을 받곤 했었다 예전에 TD님께서도 코딩실력이나 언어, 엔진 같은 것들은 도구일 뿐이라고 했다.내가 엄청 큰 드라이버 쓰는법만 알고 있으면 나중에 조그만한 나사 풀때는 못쓰지 않나?그런것처럼 다양한 도구를 쓰는 법을 알고 필요할 때 가져다 쓸 수 있는게 중요하다고 ..
-
[UE5 RPG] 8. 활성화된 GA로 전투 애니메이션 출력하기 : 애니메이션 노티파이, Default SlotSomedayProject 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.자잘한 팁 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` 으로 선언한 함수에 구조체 포인터 ..