inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

12분 13초에서 레벨 블루프린터가 어디에 있나요?

미해결

[언리얼 공인 강사 직강] 하루만에 언리얼 엔진5 입문하기

12분 13초에서 레벨 블루프린터가 어디에 있나요? 직접 만들어야 하는건가요?

  • unreal-engine
안준수 댓글 2 좋아요 2 조회수 269

과거 영상이다보니 내부 코드가 다른 경우 어떻게 공부하나요

미해결

[Rookiss University] Haker님의 UE5 소스코드 분석 시리즈 #1 (게임 프레임워크)

영상에 당시 최신버전인 5.3으로 진행되어 5.3 branch을 다운받았으나 내부 코드가 바뀌었는지 당장 1주차에서 진행되는 Launch.h 코드 자체가 없습니다. 그나마 LaunchWindows.cpp 코드와 유사하여 그 코드로 보는 중이긴한데 이런식으로 공부하는게 맞나요?

  • unreal-engine
  • unreal-engine5
claire1025 댓글 2 좋아요 0 조회수 344

데디서버쓰는데 런처에서 받은거 써도 되나요?

미해결

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

데디서버쓸려면 깃에서 소스코드 빌드해서 써야 되는 걸로 아는데, 런처에서 받은거 써도되나요?

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
김기택 댓글 2 좋아요 1 조회수 395

PawnExtensionComponent에 AbilitySystem을 캐싱할 때 TWeakObjectPtr을 사용하지 않은 이유

미해결

[Rookiss University] UE5 Lyra 클론 코딩 (Haker&Liu)

PawnData는 메타데이터를 들고있는 객체라고 생각해서 지나갔는데 AbilitySystemComponent는 TWeakObjectPtr이 조금 더 명확하지 않을까?? 생각이 들어서요..! 물론 UPROPERTY를 썼다고 해도 PlayerState가 없는데 PawnComponent가 정상적으로 존재한다는게 이상한 상태라 상관 없을 것 같긴 하지만 UPROPERTY까지 사용해가면서 들고있어야하는건가? 하는 생각도 있구요 BlueprintRead...가 없어서 BP에서 읽기위함도 아닌 것 같고.. 아니면 혹시 WeakPtr을 사용하는 기준과 ObjectPtr를 사용하는 기준이 나눠져있는걸까요? 라이라에서도 UPROPERTY로 지정되어있어서 이유가 있을 것 같아서 여쭤봅니다!

  • c++
  • unreal-engine
채명석 댓글 2 좋아요 0 조회수 136

프로그래밍과 관련된 것은 아니지만 폴더를 만드는 방식에 대해서 궁금한 점 질문드립니다.

미해결

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

안녕하세요, 교수님. 강의 중에 게임레이어, 미들웨어레이어, 데이터레이어에 대해서 말씀해주셨는데 폴더도 그에 맞춰서 만들어도 되는지 궁금합니다. /Source/ArenaBattle/Game/Character /Source/ArenaBattle/Interface /Source/ArenaBattle/Middleware/Item /Source/ArenaBattle/Data/Character 이런 식으로 나눠놓아도 될런지 알고 싶습니다.

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
최인규 댓글 1 좋아요 0 조회수 132

FindProperty와 FindFunction의 반환값 차이를 둔 이유가 궁금합니다.

미해결

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

변수는 단순히 값을 복사해 출력하면 되지만, 함수의 경우에는 원본 함수를 참조해서 실행해야 하기때문에, 함수 객체를 가져왔고, 인스턴스의 내장 함수를 사용해서 함수를 실행한건가요?

  • unreal-engine
  • 언리얼-c++
eric1306 댓글 2 좋아요 0 조회수 185

GladiatorCore 설정 후 실행시 문제

미해결

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

GladiatorCore 강의 따라 진행하고 실행 누르니까 계속 크래쉬가 납니다... 이후에 계속 스샷창 뜨면서 언리얼 에디터가 켜지지도 않네요..

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
100end 댓글 1 좋아요 0 조회수 304

Asset Manager 관련 질문입니다.

미해결

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

Lyra에서 에셋을 로드할때 한가지 예시로 GetAsset( ) 함수에서는 TSoftObjectPtr 타입의 포인터를 전달해주고 있는데요, 인자로 받은 소프트 오브젝트를 SynchronousLoadAsset( ) 함수로 실질적으로 메모리에 로드하는걸로 알고있습니다. 그러면 AssetManager의 Primary Asset Types To Scan으로 에셋들이 관리되는 이유가 따로 있을까요? AssetManager의 Primary Asset Types To Scan로 관리되는 에셋들과 내부함수를 사용하여 로드한 에셋들의 관계에 대해 궁금합니다.

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
BUOMACC 댓글 1 좋아요 0 조회수 402

에셋 이주 파일을 다운 받아 압축을 풀면 파일복사 에러가 뜹니다.

미해결

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

에셋 이주를 위해 파일 압축을 풀 때 위 이미지 오류가 뜨는데, 저만 이 에러가 뜨는건지 궁금합니다. 혹시나 해서 다른 압축 프로그램으로 풀어봐도 같은 현상이 납니다.

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
bssani 댓글 3 좋아요 0 조회수 356

ThirdPersonCPP만들어서 열면 오류가 엄청 뜹니다

해결됨

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

Lyla파일 D1도 비슷합니다.. cpp파일 하나 열때마다 오류가 엄청 생기네요 언리얼 버전 재설치, 버전 5.5(두번째사진)로 해보기 라이브코딩 끄고 save..,binary,inter... 폴더 제거 등 이리저리 해결법을 검색해보곤 있습니다만 성과가 없네요..ㅜㅜ

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
김상현 댓글 3 좋아요 0 조회수 254

28:50 에서 SetPercent 함수와 관련하여 궁금한 점이 있습니다.

해결됨

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

파트2의 10강 28:50 에서, if 문에 "ABOpponentCharacter->SetLevel(CurrentStageNum);" 구문을 추가로 넣은 후 게임을 진행하면서 다음 두번째 적이 스폰될 때, HpBar가 100/150의 비율로 렌더링이 되는 것이 이해가 잘 가지 않습니다. "HpProgressBar->SetPercent" 함수가 HpProgressBar의 비율을 계산하여 렌더링 하는것이 맞다면, 적이 스폰될 때 StatComponent에서의 beginplay를 통해 BaseStat.MaxHp 가 100 이 된 후, 위젯의 "SetupCharacterWidget" 이 호출되어 순서대로 "SetMaxHp"를 통해 위젯의 MaxHp 또한 100 이 되고 끝으로 "SetPercent(NewCurrentHp / MaxHp);" 를 실행하여 100/100 비율로 체력바가 올바르게 갱신되어 렌더링되는 것 까지는 이해했습니다. 근데 적 Level이 2가 될 때, 스텟컴포넌트의 BaseStat.MaxHp 가 "28:50"에서 추가했던 "SetLevel(CurrentStageNum);" 으로 인해 150 으로 갱신되고, 문제는 그 이후에 아래와 같은 두 추가적인 과정이 없이 어떻게 게임상에서 보이는 체력바의 비율이 100/150 의 비율로 갱신이 될수 있던 것인지 궁금합니다. HpBarWidget->SetMaxHp(Stat->GetTotalStat().MaxHp); 구문을 다시 실행시켜서 HpBarWidget 의 MaxHp 변수를 150 으로 갱신시켜주고 OnHpChanged.Broadcast(CurrentHp); 를 명시적으로 호출하여, HpProgressBar->SetPercent(NewCurrentHp / MaxHp); 를 실행시켜서, 갱신이 필요한 CurrentHp의 값인 100과, 1.을 통해 150 으로 갱신된 MaxHp 두 값의 100/150 비율이 비로소 렌더링이 된다. 28:50 코드 이후에 위 두가지 코드를 실행하는 구문이 명시적으로 추가되지 않다면, ABHpBarWidget의 MaxHp는 여전히 100일 것이며, 150으로 갱신되었다 하더라도 여전히 UpdateHpBar를 호출하지 않았으므로 SetPercent(NewCurrentHp/MaxHp)를 호출하지 못하여 100/100의 비율로 렌더링이 되었어야 한다고 생각이 드는데, 실제론 전혀 그렇지 않고 스텟컴포넌트에서 변경된 MaxHp가 위젯의 MaxHp에도 자동으로 적용되어 100/150의 올바른 비율로 갱신되는 이유가 궁금합니다. log 를 한번 찍어보았는데, 저는 "GetWorld()->SpawnActor" 로 월드에 적이 스폰 된후 InitWidget 을 통해 위젯이 생성된 다음, 곧바로 nativeconstruct 가 호출될 것으로 예상했으나 다음 구문인 "ABOpponentCharacter->SetLevel(CurrentStageNum);" 이 실행되고, 이 구문이 실행이 완료되고 나서야 뒤늦게 위젯의 nativeconstruct 가 실행됩니다. 만약 이 흐름이 버그가 아니라면, 뒤늦게 nativeconstruct가 호출됨으로써 HpBarWidget->SetMaxHp(Stat->GetTotalStat().MaxHp); HpBarWidget->UpdateHpBar(Stat->GetCurrentHp()); 위 두 구문이 실행이 되는 것이므로 지금 보이는 체력바의 모습이 비로소 이해가 됩니다. 근데 이 nativeconstruct 의 호출타이밍이 왜 InitWidget 의 실행이 끝난 후 바로 호출이 되지 않고, 그 다음 구문인 "ABOpponentCharacter->SetLevel(CurrentStageNum);" 이 실행이 끝나고 나서야 호출이 되는 것인지 궁금합니다. 혹시 몰라 해당 프로젝트를 깃허브에 올려놓았습니다. https://github.com/jaebyoung/MyArenaBattle_2_10 (업로드가 처음이라 제대로 올라간 것인지 모르겠습니다..)

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
hush park 댓글 2 좋아요 0 조회수 217

OnExperienceLoaded 함수에서 PlayerCanRestart에서 false가 나옵니다.

미해결

[Rookiss University] UE5 Lyra 클론 코딩 (Haker&Liu)

AHakGameModeBase::OnExperienceLoaded 함수에서 PlayerCanRestart에서 false가 되어서 RestartPlayer로 들어가지 않는데요. 제공한 수업자료의 PDF도 보고 소스도 보고 했지만 원인을 찾기가 힘들어 문의 드려봅니다. 내부적으로 false로 될 만한 부분이 딱히 보이지는 않는데 혹시나 싶어 내부 체크 코드중 아래 부분을 해봤는데 null이 나오긴 하더라구요. UNetConnection* Connection = Cast<UNetConnection>(PC->Player); ============================ 클론해본 코드에 위 코드까지 넣은 코드입니다. void AHakameModeBase::HandleStartingNewPlayer_Implementation(APlayerController* NewPlayer) { if(IsExperienceLoaded()) { Super::HandleStartingNewPlayer_Implementation(NewPlayer); void AHakGameModeBase::OnExperienceLoaded(const UGrayExperienceDefinition* CurrentExperience) { // PlayerController를 순회하며 for (FConstPlayerControllerIterator Iterator = GetWorld()->GetPlayerControllerIterator(); Iterator; ++Iterator) { APlayerController* PC = Cast<APlayerController>(*Iterator); UNetConnection* Connection = Cast<UNetConnection>(PC->Player); if(Connection == nullptr) { int i = 0; } // PlayerController가 Pawn을 Possess하지 않았다면, RestartPlayer를 통해 Pawn을 다시 Spawn한다 // - 한번 OnPossess를 보도록 하자: if (PC && PC->GetPawn() == nullptr) { if (PlayerCanRestart(PC)) { RestartPlayer(PC); } } } }

  • c++
  • unreal-engine
윈드로니 댓글 1 좋아요 0 조회수 156

mac에서 따라하려면 어떻게 해야할까요?

미해결

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

mac과 Rider 사용해서 수업 듣고 있는데요. D1 프로젝트 받게 되면 여러가지 에러 발생해서요 혹시 mac에서 프로젝트 따라하려면 어떻게 해야할 까요?

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
김은규 댓글 4 좋아요 1 조회수 483

Cosmetic에서 PawnComponent를 AddComponent로 붙이지 않은 부분에 대한 질문

미해결

[Rookiss University] UE5 Lyra 클론 코딩 (Haker&Liu)

PawnComponent를 GameFeature Action을 통해 붙이지 않은 이유를 무거워서 직접 붙이고 필요할때마다 Character를 BP클래스로 나눠서 붙이는 방식이라고 하셨는데 그러면 아예 처음부터 CharacterBaseClass를 만들고, BP로 인간 클래스, 괴물 클래스, 동물 클래스를 별도로 나눠놓고 각 BP클래스에 각기 다른 CharacterPart를 AddComponent를 하는거랑 차이가 있을까요??

  • c++
  • unreal-engine
채명석 댓글 2 좋아요 0 조회수 119

Plugins Person 상속 관련

미해결

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

안녕하세요 교수님. 강의 잘 듣고 있습니다. 42:20 부분에 Plugins 으로 만든 Person을 상속하는 과정에서 Person.h 파일을 못 찾는 에러가 발생했습니다. 빌드 cs 파일에서도 CommonUtility를 추가한 상태입니다ㅠㅠ

  • unreal-engine
  • 언리얼-c++
김용국 댓글 2 좋아요 0 조회수 138

GameFeatureData 의 Current State Active 오류

미해결

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

"GameFeaturePlugin.StateMachine.Registering.Plugin_Missing_GameFeatureData" 이렇게 오류가 뜨면서 Active가 활성화되지 않습니다.

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
ehd9028 댓글 3 좋아요 0 조회수 524

FTakeItemDelegateWrapper에 대한 질문입니다.

미해결

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

안녕하세요 교수님. 델리게이트를 리스트에 담아주기 위해 구조체를 이용해서 감싸주었는데, 델리게이트만으로는 리스트에 담는것이 어려운 것인지 궁금해 질문남깁니다. 예를 들어, 래퍼 없이 직접 TakeItemActions을 TArray<FOnTakeItemDelegate>로 정의하고 TakeItemActions.Add(FOnTakeItemDelegate::CreateUObject(this, &AABCharacterBase::EquipWeapon)); TakeItemActions.Add(FOnTakeItemDelegate::CreateUObject(this, &AABCharacterBase::DrinkPotion)); TakeItemActions.Add(FOnTakeItemDelegate::CreateUObject(this, &AABCharacterBase::ReadScroll)); void AABCharacterBase::TakeItem(UABItemData* InItemData) { if (InItemData) { TakeItemActions[(uint8)InItemData->Type].ExecuteIfBound(InItemData); } } 와 같이 래퍼 없이 사용하는 것입니다. 이에는 문제가 없을까요?

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
이경택 댓글 2 좋아요 0 조회수 141

uproject 파일로 언리얼 엔진 실행시키는 과정

미해결

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

안녕하세요, 교수님 강의 잘 듣고 있습니다. uproject 파일로 언리얼 엔진 실행시키는 과정에서 외장하드에 언리얼 엔진을 받았을때, 런처랑 연동이 안 되어있는데 어떻게 연동 할 수 있을까요?ㅜㅜ 결론 엔진을 못 찾아서 실행이 안됩니다...

  • unreal-engine
  • 언리얼-c++
김용국 댓글 2 좋아요 0 조회수 582

강의 내용과 무관하지만 질문드리고자 합니다.

해결됨

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

제가 만든 UnrealMemory 이름의 프로젝트에 있는 여러 소스파일들을 UnrealMemory2 라는 이름의 새로운 언리얼엔진 프로젝트를 만들어 해당 소스폴더에 붙여넣은 후, UNREALMEMORY2_API로 전부 바꾸고 UnrealMemory2 프로젝트를 개별 빌드하면 아래와 같이 오류없이 빌드가 성공하나, (12>Unhandled exception: System.IO .IOException: The process cannot access the file 'F:\LeeProject\UnrealMemory2\Intermediate\Build\Win64\x64\UnrealGame\DebugGame\UnrealMemory2\MyGameInstance.cpp.obj.rsp' because it is being used by another process. 12> at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 664 ========== 모두 다시 빌드: 12 성공, 0 실패, 0 건너뛰기 ==========) , 그 후 ctrl+shift+space 를 누르면 다음과 에러가 뜹니다. 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 MSB3073 ""C:\Program Files\Epic Games\UE_5.4\Engine\Build\BatchFiles\Build.bat" UnrealMemory2 Win64 DebugGame -Project="F:\LeeProject\UnrealMemory2\UnrealMemory2.uproject" -WaitMutex -FromMsBuild -architecture=x64" 명령이 종료되었습니다(코드: 9). UnrealMemory2 C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets 44 그리고 에디터가 실행되는지 테스트해보기 위해 f5 를 누르면, 콘솔창이 뜨고 다음과 같은 내용이 출력됩니다. Global options: -Help : Display this help. -Verbose : Increase output verbosity -VeryVerbose : Increase output verbosity more -Log : Specify a log file location instead of the default Engine/Programs/UnrealBuildTool/Log.txt -TraceWrites : Trace writes requested to the specified file -Timestamps : Include timestamps in the log -FromMsBuild : Format messages for msbuild -SuppressSDKWarnings : Missing SDKs error verbosity level will be reduced from warning to log -Progress : Write progress messages in a format that can be parsed by other programs -NoMutex : Allow more than one instance of the program to run at once -WaitMutex : Wait for another instance to finish and then start, rather than aborting immediately -RemoteIni : Remote tool ini directory -Mode= : Select tool mode. One of the following (default tool mode is "Build"): AggregateClangTimingInfo, AggregateParsedTimingInfo, Analyze, ApplePostBuildSync, Build, ClRepro, Clean, Deploy, Execute, FixIncludePaths, GenerateClangDatabase, GenerateProjectFiles, IOSPostBuildSync, IWYU, InlineGeneratedCpps, JsonExport, PVSGather, ParseMsvcTimingInfo, PipInstall, PrintBuildGraphInfo, ProfileUnitySizes, Query, QueryTargets, Server, SetupPlatforms, Test, UnrealHeaderTool, ValidatePlatforms, WriteDocumentation, WriteMetadata -Clean : Clean build products. Equivalent to -Mode=Clean -ProjectFiles : Generate project files based on IDE preference. Equivalent to -Mode=GenerateProjectFiles -ProjectFileFormat= : Generate project files in specified format. May be used multiple times. -Makefile : Generate Linux Makefile -CMakefile : Generate project files for CMake -QMakefile : Generate project files for QMake -KDevelopfile : Generate project files for KDevelop -CodeliteFiles : Generate project files for Codelite -XCodeProjectFiles : Generate project files for XCode -EddieProjectFiles : Generate project files for Eddie -VSCode : Generate project files for Visual Studio Code -VSMac : Generate project files for Visual Studio Mac -CLion : Generate project files for CLion -Rider : Generate project files for Rider C:\Program Files\Epic Games\UE_5.4\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.exe(프로세스 17220)이(가) 1 코드(0x1)와 함께 종료되었습니다. 디버깅이 중지될 때 콘솔을 자동으로 닫으려면 [도구] -> [옵션] -> [디버깅] > [디버깅이 중지되면 자동으로 콘솔 닫기]를 사 용하도록 설정합니다. 이 창을 닫으려면 아무 키나 누르세요... binaries 와 save, derivedcaches, intermediate 폴더를 삭제하고 시도하였으며, .uproject로 generate Vs project files 를 실행해도 동일하게 콘솔창이 뜨게 됩니다. 정상적으로 에디터를 실행하기 위해선 어떤 방법이 필요한지 알고싶습니다.

  • unreal-engine
  • 언리얼-c++
hush park 댓글 1 좋아요 0 조회수 329

인기 태그

인프런 TOP Writers

주간 인기글