묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
언리얼 인사이트 5.6버전 networking insights 가 뜨지 않습니다.
제가 뭘 잘못 설정했는지 아니면 버전 문제인지 파악하기 어려운 상태입니다. 잘 따라한거 같은데 혹시 5.6 버전에서도 networking insights 가 정상 작동하나요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
NonPropStudent가 GC이후 invalid된 이유
모든 UObject는 가비지컬렉션의 대상인데,예제의 PropStudent는 UPROPERTY() 선언으로 레퍼런싱되어서 가비지컬렉션이후에도 Valid한 상태를 유지하였고, 레퍼런싱되지 않은 NonPropStudent는 가비지컬렉션에 의해 수거된 거 아닌가요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
제가 만든 폴더와 c++파일이 콘텐츠 브라우저에도 표기되지 않고
ABGameMode도 선택했고 코드에서 플레이어 컨트롤러도 제대로 바꿨는데 다음과 같은 오류가 떴습니다Couldn't spawn player: Failed to spawn player controller그래서 계속 문제를 붙잡고 씨름하다가 엔진을 껐다가 켜니까 이젠 아예 게임 모드가 없어졌네요 일단 프로젝트를 새로 만들어서 다시 해볼생각이긴 한데 이게 왜 이런건지 모르겠네요
-
해결됨언리얼 엔진 5 핵심 용어와 구조, 단숨에 이해하기!
C++과 에디터 로직 기능의 사용처 구분
영상 참조 [2:07]실무에서 게임을 개발할 때 C++을 안쓰고 에디터 기능인 Behavior Tree, Blackboard만으로 로직을 만들어야 하는 경우가 있을까요?두 방식을 각각 어떤 로직에 쓰는 것이 적합할 지 궁금합니다.
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
AssetManager의 함수들 언제 쓰나요?
UHakAssetManager::Get() UHakAssetManager::SynchronousLoadAsset(const FSoftObjectPath& AssetPath) UHakAssetManager::AddLoadedAsset(const UObject* Asset)이거 함수들 override도 없는데 쓰긴 하는건가 싶어서 중단점 찍고 디버그 돌려봤는데 뭐가 없네요. 아직 초반이라 그런걸까요?
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
B_LyraDefaultExperience 의 ExperienceID 에 Map만 들어가는 문제가 있습니다.
문제는 B_LyraDefaultExperience 의 ExperienceID 에 Map이 들어가는 것 입니다. ULyCUserFacingExperience 의 코드는 이렇게 작성되어있습니다. LyCExperienceDefinition.h 는 이렇게 작성되었습니다. 현재 상황입니다. 에셋 메니저의 상황입니다. 어디가 잘못된걸까요?
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
Insight 사용이 안되어서 문의 드립니다!
Unreal Insight 사용 시 아래와 같이 세션이 실행됩니다. 다만 해당 화면이 켜지자 마자 Insight가 멈추고 추가적인 입력이 불가능한 상태가 됩니다. 또한 네트워크 인사이트 창은 생기지 않습니다.이후 시간이 지나면 아래와 같은 애러 메세지가 뜨고 저절로 인사이트창이 닫힙니다..아래는 배치 파일 내용입니다. 현재 엔진은 5.4.4 버전으로 엔진 소스코드 빌드하여 사용중입니다. 언리얼 인사이트 툴도 추가 빌드해서 엔진버전과 동일한 버전으로 맞춰둔 상태입니다.또한 아래 질문들에도 비슷한현상이 있는데 해당 질문에 있던 방법들 모두 사용해도 오류가 발생해 문의드립니다.어떤 부분이 문제가 될까요?
-
해결됨실전! 언리얼 소울라이크 개발: A to Z
애니메이션은 끝났지만 아직 콤보 시퀀스가 유효할 때 추가 입력 처리하는 부분 질문입니다.
DS1Character.cpp에서 ExecuteComboAttack() 함수 부분 질문이 있습니다.....if (bComboSequenceRunning && bCanComboInput == false) { // 애니메이션은 끝났지만 아직 콤보 시퀀스가 유효할 때 - 추가 입력 기회 ComboCounter++; UE_LOG(LogTemp, Warning, TEXT("Additional input : Combo Counter = %d"), ComboCounter); } else { //UE_LOG(LogTemp, Warning, TEXT(">>> ComboSequence Started <<<")); ResetCombo(); bComboSequenceRunning = true; }...위의 해당 조건은 bCanComboInput 변수로만으로도 분기할 수있지 않나요?현재 짜주신 로직에서bComboSequenceRunning 변수가 없어도 될 것 같다는 생각이 들었고, 해당 bComboSequenceRunning 변수를 다 지우고 돌렸는데, 있을 때와 없을 때의 콤보 시퀀스가 유효할 때 추가 입력 처리하는 부분의 사용자 경험 차이가 없는 것 같아서혹시 어떨지... 궁금해서 질문 드립니다. 끝으로, 퀄리티 높은 강의 정말 감사합니다
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
GameFeatureAction과 Experience완료
라이라에서는 GameFeatureAction을 이용하여 AddComponent나 AddInputConfig같은 설정을 완료하는데 이런 것들이 추가되는 시점이 ExpereinceReady가 완료된 시점인가요? 지금 이 강의 에서 만드는 클래스는 BP에서 Ready시점을 파악하기 위해 제작하는 클래스로 이해하면 될까요?
-
미해결[입문자를 위한 UE5] Part5. 언리얼 엔진 VR
vr 핸드메쉬 블루프린트 질문..
여기 트레이스 채널에 3DWidget이 안뜨는데 이건 어떻게 해야하나요? 그리고 저는 컴포넌트에 PointFingerArea를 아무리 검색해봐도 안나오는데 어떻게 추가해야하는지 모르겠습니다 ㅜㅜ
-
미해결생각하고 창조하는 언리얼 이펙트 나이아가라 FX
소리가 겹쳐서 이상하게 들립니다.
ExecIndex, RibonLinkOrcer 부분 소리가 2개씩 겹쳐서 이상하게 들립니다 ㅜ
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
MSB3073오류 발생 및 해결방법이 무엇인가요
Lyra강의를 듣던 도중에 강사님과 똑같은 오류가 발생했습니다. 섹션3 라이라 입문->4. Module 파트에 8:00쯤에 엔진을 껐다키면 해결된다고 하셨는데 엔진을 껐다 키는 방법이 대체 무엇인가요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
ABItemBox 아이템 에셋 배열이 비어있는 경우 크래쉬
LoginId:a941906b4a64d255e61742bb3c03f580 EpicAccountId:06c1d8e5195c4b94839c2f03669096c0 Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:D:\Epic Games\UE_5.4\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 758] Array index out of bounds: 0 into an array of size 0 UnrealEditor_ArenaBattle!AABItemBox::PostInitializeComponents() [C:\Users\jinhy\Desktop\Unreal\Inflearn\UE5Part2\ArenaBattle\Source\ArenaBattle\Item\ABItemBox.cpp:54] UnrealEditor_Engine UnrealEditor_Engine 강의 내용 중 ABItemPotionData와 ABItemScrollItemData 클래스를 생성한 뒤 코드를 똑같이 입력하고 에디터 실행했더니 위 에러 메시지와 함께 에디터가 열리지 않고 있습니다.DefaulGame.ini의 셋팅도 문제 없습니다.+PrimaryAssetTypesToScan=(PrimaryAssetType="ABItemData",AssetBaseClass="/Script/ArenaBattle.ABItemData",bHasBlueprintClasses=False,bIsEditorOnly=False,Directories=((Path="/Game/ArenaBattle/Item")),SpecificAssets=,Rules=(Priority=-1,ChunkId=-1,bApplyRecursively=True,CookRule=Unknown)) bOnlyCookProductionAssets=False bShouldManagerDetermineTypeAndName=False bShouldGuessTypeAndNameInEditor=True bShouldAcquireMissingChunksOnLoad=False bShouldWarnAboutInvalidAssets=True MetaDataTagsForAssetRegistry=() // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "Item/ABItemData.h" #include "GameData/ABCharacterStat.h" #include "ABScrollItemData.generated.h" /** * */ UCLASS() class ARENABATTLE_API UABScrollItemData : public UABItemData { GENERATED_BODY() public: UABScrollItemData(); FPrimaryAssetId GetPrimaryAssetId() const override { return FPrimaryAssetId("ABItemData", GetFName()); } public: UPROPERTY(EditAnywhere, Category = Stat) FABCharacterStat BaseStat; }; // Fill out your copyright notice in the Description page of Project Settings. #include "Item/ABScrollItemData.h" UABScrollItemData::UABScrollItemData() { Type = EItemType::Scroll; } // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "Item/ABItemData.h" #include "ABPotionItemData.generated.h" /** * */ UCLASS() class ARENABATTLE_API UABPotionItemData : public UABItemData { GENERATED_BODY() public: UABPotionItemData(); FPrimaryAssetId GetPrimaryAssetId() const override { return FPrimaryAssetId("ABItemData", GetFName()); } public: UPROPERTY(EditAnywhere, Category = Stat) float HealAmount; }; // Fill out your copyright notice in the Description page of Project Settings. #include "Item/ABPotionItemData.h" UABPotionItemData::UABPotionItemData() { Type = EItemType::Potion; } ABItemBox.cpp 의 에셋 매니저에서 에셋을 불러올 때 배열이 비어있는 것 같습니다.void AABItemBox::PostInitializeComponents() { Super::PostInitializeComponents(); UAssetManager& Manager = UAssetManager::Get(); TArray<FPrimaryAssetId> Assets; Manager.GetPrimaryAssetIdList(TEXT("ABItemData"), Assets); ensure(0 < Assets.Num()); int32 RandomIndex = FMath::RandRange(0, Assets.Num() - 1); FSoftObjectPtr AssetPtr(Manager.GetPrimaryAssetPath(Assets[RandomIndex])); if (AssetPtr.IsPending()) { AssetPtr.LoadSynchronous(); } Item = Cast<UABItemData>(AssetPtr.Get()); ensure(Item); Trigger->OnComponentBeginOverlap.AddDynamic(this, &AABItemBox::OnOverlapBegin); } 깃헙에 올려주신 코드와 비교해보았는데 다른 부분이 없어서 어느 것이 문제인지 알고 싶습니다.에디터가 열리지 않아서 설정을 확인할 수 없습니다。추가로, 올려주신 프로젝트를 다운받아 실행했더니 똑같은 문제가 발생했습니다..
-
미해결[입문자를 위한 UE5] Part5. 언리얼 엔진 VR
선생님 짱짱~!!
collision preset에 3DWidget이 어딨는지 잘몰랐는데 왜 이런 메뉴가 없는지 몰랐는데 선생님덕분에 해결했습니다 감사합니다!
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
SetupGASInputComponent 함수 호출위치가 이해가안갑니다.
void AABGASCharacterPlayer::PossessedBy(AController* NewController) { Super::PossessedBy(NewController); AABGASPlayerState* GASPS = GetPlayerState<AABGASPlayerState>(); if (GASPS) { ASC = GASPS->GetAbilitySystemComponent(); ASC->InitAbilityActorInfo(GASPS, this); int32 InputId = 0; for (const auto& StartAbility : StartAbilites) { FGameplayAbilitySpec StartSpec(StartAbility); StartSpec.InputID = InputId++; ASC->GiveAbility(StartSpec); SetupGASInputComponent(); } } }위 코드에서 제생각에는 서버에서는 input과 관련된 처리가 전혀 필요가 없기 때문에 SetupGASInputComponent 를 안넣어도 될것같은대요. 혹시 꼭 넣으셔야만 하는 이유가있을까요? (그리고 for문안에 두신건 단순 실수이신것 같습니다.) => for문안에 넣으셨던 것은 나중에 수정해주셨네요. 확인했습니다.클라는 참고로 아래코드를 씁니다.void AABGASCharacterPlayer::SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) { Super::SetupPlayerInputComponent(PlayerInputComponent); SetupGASInputComponent(); }
-
미해결실전! 언리얼 소울라이크 개발: A to Z
에셋관련 질문
구르기때에도 갑자기 애니메이션을 사용하셔서 프로젝트 올려주신걸 다운받아서 뜯어서 작업했는데 Preview Mesh Sword 부분도현재 9강인데 10강에 올려진 파일을 다운로드하여 뜯어서 작업하는 식인가요? 제가 기존에 에셋관련해서 놓친게 있는지 궁금합니다. 다시 돌려봐도 그러한 언급을 찾지못하여 남깁니다
-
미해결[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
에셋 이주 후 오류 문구
LogFab: Error: Login failed - error code: EOS_InvalidAuthLogEOSSDK: Error: LogEOSAuth: Invalid parameter EOS_Auth_Credentials.Token reason: must not be null or emptyLogFab: Error: Login failed - error code: EOS_InvalidParameters에셋 이주 전에는 안나왔던것 같은데 혹시 어떤 이유에서 발생하는 걸까요?아래에 전문 첨부합니다!LogFab: Error: Login failed - error code: EOS_InvalidAuthLogFab: Display: Logging in using exchange codeLogFab: Display: Reading exchange code from commandlineLogEOSSDK: Error: LogEOSAuth: Invalid parameter EOS_Auth_Credentials.Token reason: must not be null or emptyLogHotfixManager: Display: Hotfix manager re-calling PatchAssetsFromIniFiles due to new pluginsLogHotfixManager: Display: Checking for assets to be patched using data from 'AssetHotfix' section in the Game .ini fileLogHotfixManager: Display: No assets were found in the 'AssetHotfix' section in the Game .ini file. No patching needed.LogLiveCoding: Display: LiveCodingConsole Arguments: LyraEditor Win64 DebugGameLogFab: Error: Login failed - error code: EOS_InvalidParametersLogD3D12RHI: Cannot end block when stack is emptyLogD3D12RHI: Creating Explicit View Heap with 250000 entriesLogD3D12RHI: Creating Explicit Sampler Heap with 2048 entries
-
미해결[입문자를 위한 UE5] Part4. 언리얼 엔진 C++
점프 강의 도중의 질문입니다.
따라가기 어려운점이 많이 있어, 추후 다시 강의를 한번 정독할 예정입니다만, AssetManager와 비동기 로딩이 조금 그러한 점이 많았던것같습니다.그래서 일단 강의를 한번 듣고 올려주신 자료를 이용하여 점프강의로 들어갔는데10분 40초 가량까지는 따라갔으나, 그 이후 실행을 할 경우 R1AssetData.cpp 파일의FSoftObjectPath* AssetPath = AssetNameToPath.Find(AssetName);부분에서 예외처리가 되지 않았다고 오류가 발생합니다.이전 강의의 부분을 일단 단편적으로 들은 제 문제도 있다고 생각하지만 받은 자료에서 붙혀넣은 코드에서 예외가 발생하는 이유를 잘 모르겠어서 문의드립니다.
-
미해결[입문자를 위한 UE5] Part5. 언리얼 엔진 VR
왼손이 움직이지 않습니다.
오른손 애니메이션은 확인하였습니다. 왼손이 움직이지 않습니다.왼손 움직임을 블루프린트에서 움직이게 하려면 어떻게 해야하나요? 5.4 버전입니다.
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
[GAS] Player State에 대해 궁금한 점이 있습니다.
안녕하십니까. 1강 2강 4강을 수강한 학생입니다. 다름아니라, 6강에서 NonPlayer의 경우에는 ASC와 AttributeSet을 직접 들고 있는 이유가 궁금해서 질문을 드리게 되었습니다.Player의 경우에는Owner를 PlayerState로 설정하고 Avatar를 Character로 설정하는 것이 네트워크 멀티 플레이어 환경에서 적합하다고 저번 시간에 학습했는데, NonPlayer는 그렇게 하지 않는 이유가 궁금합니다. 언리얼 엔진에서도 Player State 클래스만 제공해주고 NonPlayer State 클래스는 제공하지 않던데, 이 부분도 멀티 플레이 부분과 연관이 있을까요?