묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
복습중에 include 인텔리전스 질문드립니다.
포맷 후에 다시 복습중에 있습니다.강사님께서 include "Player/ABPlayerController.h" 저희가 선언한 c++과 include "Components/ProgressBar.h" 언리얼에서 제공해주는 헤더파일 같이 모든 폴더에 인텔리전스가 잘 작동하여 강의영상에서 include 추가 시에 용이해보입니다. 근데, 이번에 제가 다시 비쥬얼스튜디오2022 등 다 재설치 + 언리얼1강 설정 등 모든 방법을 해봐도 include 인텔리전스가 잘 작동하지않는데 제가 놓친 부분이 있을까요 ?
-
해결됨2025 언리얼 공인강사 – UE5 스파르타 클래스: 실전편
총관련 질문
안녕하세요 강사님, 총기 관련해서 구현 중에 궁금한 점이 생겨서 질문합니다.언리얼 팹 마켓을 보면 총과 탄창이 합쳐져있는 스켈레톤 메쉬로 되어 있는 에셋들이 많이 있더라고요. 근데 이걸 왜 합쳐놓은건지 이해가 잘 안됩니다. 분리가 되어 있으면 작업하기 더 좋을 것 같은데 말이죠.. 그래서 직접이 이 에셋을 탄창과 총 부분을 분리시켜 재작업해야하는건지, 혹은 스켈레톤 메쉬로 총과 탄창이 병합되어 있어도 그걸 이용해서 장전 모션같은걸 작업할 수 있는 방법이 있는지가 궁금합니다.
-
미해결실전! 언리얼 소울라이크 개발: A to Z
유효성 검사
안녕하세요. 어떤 경우에 따라 다르게 하는건가요? == nullptr, !~component, ::isvalid 등 어떤 경우에 따라서 다르게 하는건가요?
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
ASC nullptr 문제
자꾸 UHakEquipmentInstance* FHakEquipmentList::AddEntry(TSubclassOf<UHakEquipmentDefinition> EquipmentDefinition)에서UHakAbilitySystemComponent* ASC = GetAbilitySystemComponent(); check(ASC); { for (const TObjectPtr<UHakAbilitySet> AbilitySet : EquipmentCDO->AbilitySetsToGrant) { AbilitySet->GiveToAbilitySystem(ASC, &NewEntry.GrantedHandles, Result); } }이쪽, GiveToAbilitySystem에서 ASC가 nullptr이라면서 터지길래 열받아서 ASC를 아래처럼 플레이어스테이트에서 직접 가져왔더니 문제가 해결되었습니다. // 1. OwnerComponent의 소유자 (보통 Character일 것) ACharacter* OwnerCharacter = Cast<ACharacter>(OwnerComponent->GetOwner()); // 2. Character의 PlayerState 가져오기 AHakPlayerState* HakPlayerState = Cast<AHakPlayerState>(OwnerCharacter->GetPlayerState()); // 3. PlayerState에서 ASC 가져오기 UHakAbilitySystemComponent* ASC = HakPlayerState->GetHakAbilitySystemComponent(); // 혹은 직접 변수 접근 문제는 아래 함수인 것 같은데. UHakAbilitySystemComponent* FHakEquipmentList::GetAbilitySystemComponent() const { check(OwnerComponent); AActor* OwningActor = OwnerComponent->GetOwner(); // GetAbilitySystemComponentFromActor를 잠시 확인해보자: // - EquipmentManagerComponent는 AHakCharacter를 Owner로 가지고 있다 // - 해당 함수는 IAbilitySystemInterface를 통해 AbilitySystemComponent를 반환한다 // - 우리는 HakCharacter에 IAbilitySystemInterface를 상속받을 필요가 있다 return Cast<UHakAbilitySystemComponent>(UAbilitySystemGlobals::GetAbilitySystemComponentFromActor(OwningActor)); }이 코드가 제대로 작동 안 하고 null을 주는 것 같은데 왜 그런걸까요? HakCharacter에서 제대로 IAbilitySystemInterface 구현했고, 강의 코드 제대로 따라갔다고 생각하는데...
-
미해결실전! 언리얼 소울라이크 개발: A to Z
적 무기를 들면 패링이 안되는 문제?
안녕하세요, 저는 무기를 만들때 복사해서 BP_Sword1 , 2 , BP_Sword_Enemy 이런식으로 늘리고 Mesh Asset 만 바꿔서 사용중인데, 적이 들고있는 무기를 전용으로 만들고 그 무기도 똑같이 바닥에 배치해두어서 플레이어도 주워 사용할 수있게 했는데, 플레이어가 다른 Sword1,2 사용시에는 Left_Alt를 누르면 패링 애니메이션 기능 , 스태미너 감소 다 잘이루어집니다. 근데 적 무기랑 똑같은걸 들면 스태미너만 차감되고 패링 기능 + 애니메이션같은게 재생이 안되고 캐릭터가 멈춰버립니다. 그리고 좌클릭 ( 공격) , Space(구르기) 같은 모션을 하면 StateClear가 되서 돌아옵니다. 어느 부분을 체크해봐야 이것을 고칠 수 있을까요 ?
-
해결됨2025 언리얼 공인강사 – UE5 스파르타 클래스: 심화편
에임오프셋 질문
안녕하세요 강사님! 언리얼이 쉽지 않네요, 본론으로 질문하겠습니다.현재 상황 조준 상태일 때 상체에 에임오프셋을 적용시켰는데 비정상적으로 동작하는 현상1번 사진은 에임오프셋이고 Pitch만 받아서 사용함, 2번 사진은 인게임에서 해당 에임오프셋을 적용한 상태로 Pitch값은 0으로 둘다 동일함, 하지만 인게임에서는 손 위치가 밑에 떨어져 있음구현하고자 하는 기능 조준 상태일 때, basePose에서 상체에 에임오프셋을 적용하여 상하로 움직이는 상태로 만들어주고 싶음 코드 설명 및 구현한 방법 BasePose는 IdleWalkRun의 블랜드스페이스로 적용이 되어 있고, 착용가능한 무기에 따라서 각기 다른 IdleWalkRun을 구현할 수 있도록 만듬우클릭을 누르면 조준상태가 되며 관련 정보는 Cpp내부에서 처리MainState에서 스테이트 에얼리어스를 추가하여 조준 상태일 때, Aiming스테이트로 이동하게 만들고Aiming 상태에서 가지고 있는 장비타입에 따라 다른 에임오프셋들을 적용시켜주고, 해당 에임오프셋과 BasePose를 Layerd blend per bone으로 섞어 상체는 에임오프셋, 하체는 기존 BasePose를 사용하도록 애니메이션을 섞음 구글 드라이브 링크https://drive.google.com/file/d/1X1tpQo5A2J-XeGTXWUaEiWsjXJ1j4Th_/view?usp=sharingPS. 우클릭을 누르고 있으면 조준상태로 바뀌며, 콘솔창에 Handle Pistol, Fist, Rifle을 입력하면 현재 캐릭터가 착용하는 무기타입이 바뀌게 설정해놨습니다.
-
미해결실전! 언리얼 소울라이크 개발: A to Z
작동 흐름이 맞는지 헷갈려 질문 드립니다!
UI ProgressBar 작동 흐름을 요약해보자면게임이 시작되면 DS1PlayerHUDWidget -> NativeConstruct 함수에서 OnAttributeChanged를 델리게이트 바인딩하면서 초기값을 세팅하고만약 스테미나 값이 변경되면 AttributeComponent에서 변경된 타입과 비율을 담아 신호를 보내고,신호를 받은 DS1PlayerHUDWidget -> OnAttributeChanged함수가 호출되며자동 바인딩된(이름이 같은) StaminaBarWidget을 통해 SetRatio함수로 비율을 넘거주며 DS1StatBarWidget에서 비율을 받아 SetRatio 함수를 통해 Progress Bar의 퍼센트가 변경되며 화면에 보여진다.제가 델리게이트 활용이 처음이라 헷갈려서 복습을 하며 정리를 해보았는데, 제가 정확히 이해했을까요?AttributeComponent ( 신호를 보내고 )PlayerHUDWidget ( 신호를 받고 , 바인딩된 변수를 통해 함수를 호출하고 ) StatBarWidget ( Progress Bar가 변경된다. )
-
미해결[입문자를 위한 UE5] Part4. 언리얼 엔진 C++
32. 디아블로 방식의 컨트롤
마지막에 Nav Mesh Bounds Volume 이 안들어가서 캐릭터가 가다 말다 가다 말다해서 한참 찾았습니다.너무 성의 없이 강의를 찍으시는것 같아요. 언급만이라도 해주셨으면 좋겠습니다.
-
해결됨2025 언리얼 공인강사 – UE5 스파르타 클래스: 심화편
월드파티션 질문 - 미니맵
안녕하세요 강사님, 강의 잘 시청하고 있습니다.월드 파티션 쪽 공부하다가 GTA스타일로 미니맵을 구현해보고 싶어서 질문드립니다.현재는 단순하게 위에서 아래로 직교로 런타임 단위로 촬영하는 카메라를 도입하여 구현 한 상황입니다.하지만 GTA같은 거대한 오픈월드의 미니맵을 구현할 때, 모든 엑터를 동적으로 촬영하는 것은 비효율적이라 생각하기에 마음에 들지 않는 상황입니다.그래서 새롭게 구현하고자 하는 방식은 동적 엑터와 정적 엑터를 나눠서 구현하는 것입니다. 동적엑터는 런타임에 생성되거나 움직이는 엑터 ex) 플레이어나, 적, 미션위치, 기타 등등 2. 정적엑터 런타임에 수정되지 않고 고정되어 있는 엑터 ex) 도로나, 건물 기타 등등정적 엑터를 미리 Texture로 깔아 놓고 동적 엑터만 위에 깔아두는 식으로 설계하면 성능적으로 더 효율적일꺼라 생각했습니다.그래서 먼저 맵에 깔려있는 도로나 건물같은 정적 엑터들을 미리 Texture로 만들 수 있는 방법을 찾아보다가 베이킹이라는 용어도 알게되었고, World Partition Minimap 및 World Partition Minimap Volume이라는 걸 찾았습니다. 이걸 이용해서 현재 레벨의 맵을 베이킹할 수 있다고 하는데 그 방법을 당최 모르겠습니다.언리얼 5.4에서 도입되었다고 하는데, World Partition Minimap, World Partition Minimap Volume을 이용하면 현재 레벨의 맵을 베이킹할 수 있는지도 궁금하고, 만약 안된다고 하면현재 레벨의 맵을 어떻게 베이킹할 수 있는지 궁금합니다.
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
애니메이션이 안 나옵니다.
Weapon Animation까지 완료했습니다.애니메이션이 적용이 안 되는 문제가 있습니다.임시파일들 지우고 Generatie VS project files... 했습니다.HakAnimLayerSet::SelectBestLayer 쪽에 중단점 찍어서 피스톨 애님 레이어 잘 들어오는거 확인 했습니다.B_Hero_ShooterMannequin 에서 메시에 기본 ABP 설정 했습니다.B_Manny에서 CopyPose ABP 설정 했습니다.다른 질문 글에서 B_WeaponInstance_Pistol에서 애님셋 Equipped랑 Unequipped에 둘 다 넣어서 해결되었다고 해서 해봤지만 안 됩니다.아예 총도 안 움직이는 것 보니 Base ABP부터가 문제인 것 같은데 왜 이럴까요? 일단 ABP_Base에서 LogString해서 확인한 결과 껴지긴 했어요.이 문제를 해결하기 위해 섹션 12를 처음부터 끝까지 다시 들어야 할까요? 저녁에 하루 한 편만 겨우 듣고 있는데;;저와 같은 문제를 겪으신 분 없나요?
-
해결됨2025 언리얼 공인강사 – UE5 스파르타 클래스: 심화편
애니메이션 질문
안녕하세요 강사님 애니메이션 강의를 보며 프로젝트에 적용 중인 학생입니다.블루프린트에서 애니메이션을 구현하는 부분에서 궁금한점이 생겨 질문드립니다.착지 Additive를 구현 중이고, 떨어지는 상태에 맞는 애니메이션을 에셋을 드롭하여 Apply Addtive에 추가를 해주고 싶은데특정 상태에 맞는 애니메이션을 선택하는 방법을 찾지 못하고 있습니다. 참고 사진 : State:Land안에 있는 노드 정보어떻게 하면 M Fall State에 따라서 Controlled Fall과 Uncontrolled Fall에 맞는 애니메이션을 선택하여 Apply Addtive의 Additive에 넣어줄 수 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
BBAsset 과 UseBlackboard(BBAsset, BlackBoardPtr) 를 작성한 이유가 궁금합니다.
BBAsset 은 BTAsset 을 통해서 가져올 수 있는데, BBAsset 을 변수로 선언하신 이유가 궁금합니다. 또한 RunAI 함수에서 UseBlackboard 를 사용하셨는데, RunBehaviorTree 함수 내부에서 동일한 기능을 수행하고 있습니다. RunBehaviorTree 를 사용하기에 앞서 UseBlackboard 를 사용하신 이유가 궁금합니다.
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
UPROPERTY매크로 AllowedType이 동작하지 않습니다.
사진에 보이는 에디터 화면은 UserFacingExperience상속받아 만든 DataAsset인데 MapId나 Experienceid를 눌렀을때 AllowedType대로 동작하지 않고 에셋매니저에 등록된 모든 에셋을 불러옵니다.혹시 제가 사진에 올린거 말고도 다른것들을 해줘야했나요?
-
해결됨2025 언리얼 공인강사 – UE5 스파르타 클래스: 실전편
수강 전 질문
안녕하세요.강의 초반 버전 관련 영상을 보고 질문 드립니다. 강의마다 언리얼 버전이 바뀌는데, 영상에서 언리얼 버전을 올리면 다시 내릴 수 없다고 말씀 주셨습니다.그럼 강의를 따라가며 버전을 올렸을 경우, 다음 파트가 낮은 버전이 필요 할 때는 어떻게 진행하면 될까요?언리얼버전을 5.0버전 부터 5.6버전까지 다 깔아둬야하나요?유료강의와 다르게 무료강의(실전편)에는 파트마다 버전 표시가 안되어있는데, 이는 전체 버전이 다 호환되는건가요?
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
Experience와 GameFeature를 사용할 때 SaveGame
지금 게임을 만들고 있는데 강의에 따라 Experience와 GameFeature시스템을 사용하여 제작 중입니다. 그러다 게임 진행상황을 저장하는 기능을 만들려고 하는데 Experience 특성 상 저장한 위치의 맵만 저장하는 것이 아닌 해당 Experience와 사용할 GameFeatures까지 함께 저장해야 할 것 같은데 맞나요?프로젝트나 요구사항 마다 차이는 있겠지만 마지막 플레이 위치를 저장하고 로드하기 위해서는 어떤 것들을 저장할 필요가 있는지 궁금합니다. 현재 만들고 있는 게임은 RPG입니다.
-
해결됨언리얼 엔진 5 핵심 용어와 구조, 단숨에 이해하기!
Layered blend per bone에 대해 질문 있습니다!
Blend Depth : 총 몇 단계 자손 본까지 blend 대상으로 포함을 시키겠다.ex pelvis(3) : pelvis로부터 3단계 자손까지 blend 대상으로 포함ex thigh_r(-1) : 이 본과 그 하위에 있는 본들을 이 blend 대상으로부터 제외 (허벅지 밑에 하위에 종속되어 있는 본들은 다 블렌드를 하지 않을 것)강의를 들으며 정리한 내용입니다.제가 잘 이해했는지 헷갈려서 질문드립니다.Base Pose가 재생되는 기본 포즈이고 , Blend Poses 0의 포즈에서 Layer setup을 통해 pelvis(3) 즉 3단계 자손까지 blend 한다. (하지만 음수인 thigh_l , thigh_r의 자손들은 blend하지 않는다.) 라고 이해하면 될까요?
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
AddLoadedAsset 쓰레드 부분 이해가 안갑니다.
LoadedAssets에 동시접근하는 이슈를 막기 위해, 언리얼 에디터 로드 전에는 쓰레드가 안전하지 않아서라고 말씀하셨는데AddLoadedAsset을 GetAsset과 GetSubclass 함수에서 호출할텐데GetAsset과 GetSubclass 함수를 여러 쓰레드에서 동시에 호출할 일이나 가능성이 있나요?그리고 에디터가 로딩중이라 GC시스템이등이 초기화되지 않아서 쓰레드가 safe하지 않을때는 쓰레드가 의도하지 않은 메모리에 접근할 확률이 있는지도 궁금합니다 (왜 safe하지 않은지가 궁금해요!)
-
해결됨2025 언리얼 공인강사 – UE5 스파르타 클래스: 실전편
static mesh는 언리얼 기본 에셋인가요?
현재 5.6 버전을 사용하고 있습니다.shape_Wedge가 없는데 어디서 받을 수 있는지 궁금합니다!
-
미해결실전! 언리얼 소울라이크 개발: A to Z
비주얼스튜디오 설정
강의를 보면 #include도 자동으로 들어가고 변수명이나 매개변수에 다양한 정보를 보여주는데 어떤 기능일까요? 외부 어시스트를 사용하시는 건가요? 아니면 비주얼 스튜디오에서 설정이 가능한 걸까요?
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
GameFeatureAction 완료 시점
OnExperienceFullLoadComplete() 이 함수가 모든 GameFeatureAction이 로딩이 완료될 때 호출이 되는 거라면 OnExperienceLoaded델리게이트가 브로드캐스팅을 할 때 AddComponent로 추가한 컴포넌트들이 초기화가 완료되었다는 것이 보장되는 시점일까요?