묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨2025 언리얼 공인강사 – UE5 스파르타 클래스: 심화편
11분 초반의 설명이 이해가 안됩니다.
안녕하세요. 강의 11분 초반에 MyBoom을 가리키시면서 안에 있을 경우에 Boooom을 터뜨려 주는데 없으니까 crash가 날 수 있다고 하시는데 뭐가 안에 있고 없다는 것인지 잘 모르겠습니다.
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
4강에서 콤보 공격시 다음 공격을 할 경우 ActivateAbility가 자동으로 발동되는 이유
언리얼 5.6으로 진행하다가 이상한 버그가 터져서 다시 5.4로 복습도 할겸 해서 처음부터 만들어보고 있는데 콤보 공격할 때 ActivateAbility가 발동되고 콤보의 첫번째 공격이 끝나게 되면 무조건 EndAbility가 발동합니다. 5.6으로 했을때와 5.4로 했을때의 코드적으로 다른점도 없는데왜 처음에는 첫번째 공격을 하고 두번째 콤보 공격을 하면 EndAbility가 아닌 ActivateAbility가 다시 호출되고,두번째 할때는 왜 첫번째 공격이 끝나면 무조건 EndAbility가 호출될까요..??ㅠ
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
언리얼 공부방법에 대해 질문드립니다.
안녕하세요.언리얼엔진 을 잘하기위해서는 ,클래스 계층구조 파악, 어떻게 구현되었는지 딥하게 들여다 보는게 맞을까요?
-
미해결실전! 언리얼 소울라이크 개발: A to Z
Hit Reaction 설계
플레이어 캐릭터와 적 캐릭터 모두 공통으로 피격 모션을 사용하는 건 이해했는데, 이 로직이 무기 쪽에 들어가 있다 보니 캐릭터가 어떤 무기를 들고 있느냐에 따라 피격 모션이 달라지는 구조가 조금 부자연스럽게 느껴집니다. 이 부분은 의도된 설계인가요?
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
4강 에서 이상한 그림자가 남습니다.
다음과 같이 바닥에 이상한 그림자가 생기는데 무엇때문인가요? 강의에서도 똑같이 생기던데
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
Log 파트에서 Subtitution Macro Call 를 사용하는 방법이 무엇인가요?
이상하게도 저는 나오질 않는데 어떤 추가설정같은게 필요한건가요? 단축키가 혹시 존재하나요?
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
2강에서 카메라 회전안되시는분 참고
언리얼 5.6 버전 사용중입니다. IMC_Default 에서 IA_Look 에 저빨간부분 추가해주시면 정상적으로 돌아갑니다. IMC_MouseLock 으로 분리한거같더라구요
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
언리얼엔진 에서 새로운 클래스를 생성하면
언리얼엔진 에서 새로운 클래스를 생성하면 비쥬얼스튜디오 상에서 제가만들어놓은 필터들이 전부 초기화되서 사라져서 너무 불편한데 혹시 해결방법이 있을까요? 검색해봐도 나오지를 않네요
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
설치후 빌드하는데 에러가 발생하고 인텔리센스도 잘 활성화되지 않습니다.
"D:\UE_5.5\Engine\Build\BatchFiles\Build.bat LyraEditor Win64 Development -Project="D:\Unreal\Lyra\Lyra.uproject" -WaitMutex -FromMsBuild -architecture=x64" 명령이 종료되었습니다(코드: 6).'override'로 선언된 멤버 함수는 기본 클래스 멤버를 재정의하지 않습니다.'override'로 선언된 멤버 함수는 기본 클래스 멤버를 재정의하지 않습니다.불완전한 형식 "SlateAttributePrivate::TSlateAttributeBase<SWidget, TOptional<FSlateRenderTransform>, std::conditional<true, SlateAttributePrivate::FSlateAttributeNoInvalidationReason, TSlateAttributeInvalidationReason<EInvalidateWidgetReason::None>>::type, TSlateAttributeComparePredicate<TEqualTo<void>>, SlateAttributePrivate::ESlateAttributeType::Member>::ObjectType" (aka "TOptional<TTransform2<float>>")은(는) 허용되지 않음불완전한 형식 "TOptional<bool>"은(는) 허용되지 않음불완전한 형식 "TOptional<bool>"은(는) 허용되지 않음불완전한 형식 "TOptional<bool>"은(는) 허용되지 않음불완전한 형식 "TOptional<const FRHIDrawStatsCategory *>"은(는) 허용되지 않음불완전한 형식 "TOptional<const FRHIDrawStatsCategory *>"은(는) 허용되지 않음불완전한 형식 "TOptional<double>"은(는) 허용되지 않음불완전한 형식 "TOptional<EHorizontalAlignment>"은(는) 허용되지 않음불완전한 형식 "TOptional<EMouseCursor::Type>"은(는) 허용되지 않음불완전한 형식 "TOptional<ENamedThreads::Type>"은(는) 허용되지 않음불완전한 형식 "TOptional<EPopupMethod>"은(는) 허용되지 않음불완전한 형식 "TOptional<EPopupMethod>"은(는) 허용되지 않음불완전한 형식 "TOptional<EPopupMethod>"은(는) 허용되지 않음불완전한 형식 "TOptional<ETextureDimension>"은(는) 허용되지 않음불완전한 형식 "TOptional<ETextureDimension>"은(는) 허용되지 않음불완전한 형식 "TOptional<EVerticalAlignment>"은(는) 허용되지 않음불완전한 형식 "TOptional<FAccessibleWidgetData>"은(는) 허용되지 않음불완전한 형식 "TOptional<FCppClassTypeInfo>"은(는) 허용되지 않음불완전한 형식 "TOptional<float>"은(는) 허용되지 않음불완전한 형식 "TOptional<FMaterialLayersFunctions::ID>" (aka "TOptional<FMaterialLayersFunctionsID>")은(는) 허용되지 않음불완전한 형식 "TOptional<FNetworkCongestionControl>"은(는) 허용되지 않음불완전한 형식 "TOptional<FRegexPattern>"은(는) 허용되지 않음불완전한 형식 "TOptional<FRHIBreadcrumbNode *>"은(는) 허용되지 않음불완전한 형식 "TOptional<FSizeParam>"은(는) 허용되지 않음불완전한 형식 "TOptional<FSlateClippingState>"은(는) 허용되지 않음불완전한 형식 "TOptional<FString>"은(는) 허용되지 않음불완전한 형식 "TOptional<FString>"은(는) 허용되지 않음불완전한 형식 "TOptional<FString>"은(는) 허용되지 않음불완전한 형식 "TOptional<FString>"은(는) 허용되지 않음불완전한 형식 "TOptional<FText>"은(는) 허용되지 않음불완전한 형식 "TOptional<int32>" (aka "TOptional<signed int>")은(는) 허용되지 않음불완전한 형식 "TOptional<int32>" (aka "TOptional<signed int>")은(는) 허용되지 않음불완전한 형식 "TOptional<int32>" (aka "TOptional<signed int>")은(는) 허용되지 않음불완전한 형식 "TOptional<int32>" (aka "TOptional<signed int>")은(는) 허용되지 않음불완전한 형식 "TOptional<int32>" (aka "TOptional<signed int>")은(는) 허용되지 않음불완전한 형식 "TOptional<TCircularBuffer<TUniquePtr<FBitReader, TDefaultDelete<FBitReader>>>>"은(는) 허용되지 않음불완전한 형식 "TOptional<TSharedRef<const SWidget, ESPMode::ThreadSafe>>"은(는) 허용되지 않음불완전한 형식 "TOptional<TSharedRef<SWidget, ESPMode::ThreadSafe>>"은(는) 허용되지 않음불완전한 형식 "TOr<TAndValue<<error-constant>, TIsPODType<TOptional<FString>>>, TIsArithmetic<TOptional<FString>>>"은(는) 허용되지 않음식별자 "FTextureBuildSettings"이(가) 정의되어 있지 않습니다. 이렇게 오류가 발생하는데 왜그럴까요?
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
FPerContextData에 대해 질문이 있어요
struct FPerContextData { TArray<TSharedPtr<FComponentRequestHandle>> ExtensionRequestHandles; TArray<TWeakObjectPtr<APawn>> PawnsAddedTo; };이렇게 멤버들을 배열로 들고있잖아용 그리고 GameFeatureAction_AddInputConfig에서 각 Client들의 Context는TMap<FGameFeatureStateChangeContext, FPerContextData> ContextData;이 친구가 들고있는걸로 보입니다. 그럼 왜 FPerContextData가 멤버들을특히 Pawn을 배열로 관리할까 궁금합니다!데디서버같은상황을 고려해서 그런건가요?
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
OnGameFeatureActivating와 WorldContext관해 질문 있습니다.
안녕하세요GameFeatureAction_AddInput #2 강의를 보면서 왜 WorldContext를 사용하는지 이해를 마쳤는데 아래 함수에서 이미 PIE의 현재 World의 WorldContext를 가져오고 그 Context에서 FGameFeatureActivatingContext의 데이터를 세팅한 후 OnGameFeatureActivating의 인자로 보내주잖아용void ULCExperienceManagerComponent::OnExperienceFullLoadCompleted() { ... FGameFeatureActivatingContext Context; { UWorld* World = GetWorld(); const FWorldContext* ExistingWorldContext = GEngine->GetWorldContextFromWorld(World); if (ExistingWorldContext) { Context.SetRequiredWorldContextHandle(ExistingWorldContext->ContextHandle); } } auto ActivateListOfActions = [&Context](const TArray<UGameFeatureAction*>& ActionList) { for (UGameFeatureAction* Action : ActionList) { if (Action) { Action->OnGameFeatureActivating(Context); } } }; ... } ... } 그런데 왜 UGameFeatureAction_WorldActionBase::OnGameFeatureActivating에서굳이 WorldContext를 순회하면서 다시 체킹하는식으로 코드를 만들었을까? 제가 이해를 못한 부분이 있나? 의문이 들어서 질문을 남깁니다.OnGameFeatureActivating의 인자로 FWorldContext도 받으면 되지 않나? 라는 생각이 들어서요..
-
미해결언리얼 엔진 5 핵심 용어와 구조, 단숨에 이해하기!
블루프린트
블루프린트를 실무에서도 실제로 많이 사용하는지 궁금합니다.프로젝트 규모가 크고 복잡할 경우 그냥 코드로 전부 제어하는 게 나을 것 같다는 생각도 들어서요.
-
해결됨실전! 언리얼 소울라이크 개발: A to Z
FindClosestTarget CheckValue 절댓값 처리
카메라와 대상 사이의 '가장 가까운 방향에 놓인 대상'을 찾는 게 목적이라면 FindClosestTarget 함수에서 CheckValue를 구할 때 절댓값 처리를 해야 되는 게 맞지 않나요?
-
미해결실전! 언리얼 소울라이크 개발: A to Z
FindClosestTarget 노멀 벡터 방향
FindClosestTarget 함수에서 OutHit.Normal은 라인 트레이싱이 충돌한 폴리곤의 법선 벡터로 알고 있는데, 그럼 메시 구조에 따라 법선 벡터가 제각각일 수도 있는 건가요? 예를 들어, 우연히 부딪친 폴리곤의 표면이 액터의 전방과 완전히 다른, 심지어 오른쪽을 향하고 있을 수도 있는 건가요?
-
미해결실전! 언리얼 소울라이크 개발: A to Z
44분26초 동일하게 코드를 작성한것같은데 빌드에러가 뜹니다ㅠ
에러사진과 각 에러문단들 캡쳐해서 보여드리면 될까요???
-
미해결실전! 언리얼 소울라이크 개발: A to Z
파티클 깨짐
파티클 매터리얼이 깨져있습니다
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
10강까지 머리 위 체력바가 표시가 안됩니다.
클라이언트에서는 모든 체력바가 보이고 서버에서는 클라이언트 머리 위에 체력바가 보이질 않습니다/실제로, 9강에서 했던 체력 동기화까지 잘됩니다. 9강 끝났을 때도 같은 현상이 있긴했는데 일단 진행했는데 제가 어느 부분을 체크해야 고칠 수 있을까요 ? 언리얼 버전 5.5 사용중입니다.
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
10강까지 머리 위 체력바가 표시가 안됩니다.
클라이언트에서는 모든 체력바가 보이고 서버에서는 클라이언트 머리 위에 체력바가 보이질 않습니다/실제로, 9강에서 했던 체력 동기화까지 잘됩니다. 9강 끝났을 때도 같은 현상이 있긴했는데 일단 진행했는데 제가 어느 부분을 체크해야 고칠 수 있을까요 ? 언리얼 버전 5.5 사용중입니다.
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
9강 44:59 부분에서 질문이 있습니다.
현재 버전(5.6)에서 modifier op 는 Add가 아니라 Add(Base) 로 기재되어 있는데, 그럼에도 불구하고 강의의 내용과 똑같이 Current Value만을 변경합니다. 그렇다면 현재 버전의 Add(Base) 에서 Base 는 무슨 의미일까요...? 설명이 잘못된건가요? 마치 Base 에 Add를 하는 것 같아서 오히려 혼동을 불러일으키는 느낌인데
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
헤더 파일 추가에 대해서 질문있습니다
11강에서 ABAIContoller.cpp를 작성할때 UBehaviorTreeComponent에 대해서 다룰때 UBehaviorTreeComponent에 대해서 헤더 파일 선언을 안해줬는데 사용가능한 이유가 궁금합니다