40:55 에서 TSet<int32, FString> NewSet = FruitSet; <- 이 구문은 아직도 유효한가요? 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류(활성) E0312 "TSet<FString, DefaultKeyFuncs<FString, false>, FDefaultSetAllocator>"에서 "TSet<int32, FString, FDefaultSetAllocator>" (aka "TSet<signed int, FString, FDefaultSetAllocator>")(으)로의 사용자 정의 변환이 적절하지 않습니다. LevelChanger D:\Unreal Project\LevelChanger\Source\LevelChanger\GameInstance\MyGameInstance.cpp 38 라는 에러가 뜹니다. NewSet의 파라미터 타입이 2개인데, TSet에서 이 방식이 아직 유효한건가요?
for (auto It = FruitSet.CreateConstIterator(); It; ++It) { FPlatformMisc::LocalPrint( FString::Printf(TEXT("\"%s\"\n"), *It)); } 구문에서, * It을 하니 컴파일에러가 뜹니다. **It로 수정하니 정상적으로 작동되는데, 사이트의 설명에 오류가 있는 것일까요? FSetElementId 구조체에서 사이트의 함수를 그대로 적용하고자 FSetElementId BananaIndex = FruitSet.Index(TEXT("Banana")); FPlatformMisc::LocalPrint( *FString::Printf( TEXT(" \"%s\"\n"), *FruitSet[BananaIndex] ) ); 를 그대로 따라 쳤으나, Index 부분에서 에러가 뜹니다. 오류(활성) E0135 클래스 "TSet<FString, DefaultKeyFuncs<FString, false>, FDefaultSetAllocator>"에 "Index" 멤버가 없습니다. LevelChanger D:\Unreal Project\LevelChanger\Source\LevelChanger\GameInstance\MyGameInstance.cpp 56 이유가 무엇인지 궁금합니다. 39:44 의 FruitSet.Remove(0); 라는 구문은 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류(활성) E0304 인수 목록이 일치하는 오버로드된 함수 "TSet<InElementType, KeyFuncs, Allocator>::Remove [대상 InElementType=FString, KeyFuncs=DefaultKeyFuncs<FString, false>, Allocator=FDefaultSetAllocator]"의 인스턴스가 없습니다. LevelChanger D:\Unreal Project\LevelChanger\Source\LevelChanger\GameInstance\MyGameInstance.cpp 93 라는 에러가 뜨는데, TSet은 현재에도 Remove(인덱스) 로 삭제하는것이 유효한지 궁금합니다. 예를들어 FruitSet.Remove(0); 이라는 구문은 <FString> 파라미터가 아닌 <int32> 파라미터일 경우에 한해서 TSet<int32> int32Set = { 2,4,0,8,10 }; 를 선언하였을 때, 0 이라는 요소값 제거하기 위해서 int32Set.Remove(0); 을 사용하는 것과는 다른 개념인가요?
안녕하세요. 현재 섹션 12의 Weapon Animation 영상을 수강하고 있습니다. Haker님의 실행 결과와는 다르게, Mannequin의 AnimClass를 세팅해줘도 Pistol의 AnimLayer가 적용되지 않는 오류가 있어 질문 드리게 되었습니다. 디버깅 포인트로 확인해보니 ABP_PistolAnimLayers가 DefaultLayer에 세팅되지 못하고 있었습니다. 그래서 섹션 12강을 처음부터 다시 점검해보고 있는데, Lyra에서 AnimLayers를 가져올 때 Haker님은 Feminine 버전을 들고 왔지만 저는 기본 AnimLayers를 들고 왔습니다. 그 부분을 제외하고는 다 동일한 것으로 확인되는데, 혹시 기본 버전을 들고 오면 이런 에러가 발생하는 것일까요? https://coal-schooner-81d.notion.site/Section-10-11524bba9b048044bd6deb6fc79de295?pvs=4 강의를 보며 정리하는 노션 페이지입니다. 혹시 진행 상황에서 문제가 있는 부분이 보인다면 알려주시면 감사하겠습니다...
어떤 클래스 생성자는 const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()를 사용하고 다른 클래스 생성자는 const FObjectInitializer& ObjectInitializer를 사용하는데 왜 이렇게 되는지 궁금합니다
안녕하세요. 현재 5.1버전의 올려주신 문서를 확인할 수 없긴 한데. 해당 내용에 구조체가 5.2에 와서는 가비지 컬렉션시스템에 의해 관리되지 않으며 UFUNCTION 함수를 제공할 수 없다고 뜨거든요. 5.1때는 가능했고 이게 바뀌었다는 걸까요? https://dev.epicgames.com/documentation/ko-kr/unreal-engine/structs-in-unreal-engine?application_version=5.2 5.1 구조체 내용은 더이상 찾아볼 수 없습니다.
강의에서 ABCollision.h 를 추가할 때에는 5.1 버전으로 프로젝트를 진행했고 Physics 폴더 생성 -> ABCollision.h 파일 생성 ArenaBattle.uproject -> Generate Visual Studio project files 를 실행 의 과정을 거친뒤 .sln 을 실행했을 때 프로젝트가 ABCollision.h 파일을 잘 인식하여 ABCollision.h 내에서 #inlcude 'CoreMinimal.h' 에 문제가 없었습니다. 5.4 버전에서 위와 같은 과정으로 헤더 파일을 추가하는데 #include 'CoreMinimal.h' 를 프로젝트가 인식하지 못하고 빨간줄이 그어져 있습니다. 다음은 제가 시도한 방법들 입니다. VS 킨 상태에서 .proj 의 generate .. 실행 VS 닫은 상태에서 .proj 의 generate .. 실행 Binaries, Intermediate, Saved 폴더를 삭제하고 Generated Visual Studio project files 실행 Unreal Editor 에서 Tools -> Reflesh .. 위의 과정들을 모두 해도 계속해서 추가 파일을 프로젝트가 인식하지 못합니다... 왜 이런 걸까요.
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
갑자기 헷갈려서 질문을 드려봅니다. GetWorldNetwork에서 [ 해당월드에 SubGameInstance의 Session을 통해 비교합니다.] 라는 말은 월드마다 SubGameInstance이 별도로 생성하고 관리가 된다는 뜻인가요? SubGameInstance는 단순히 GameInstance기능 + GC + 내가 추가적으로 넣고싶은 기능을 위해서 쓰는것으로 알고있는데 제가 모르는 부분이 뭔지 궁금해서 남겨봅니다..ㅠㅠㅠㅠ
8강의 infinity Blade: Weapons 에셋팩을 다운받으려 마켓 플레이스에 갔는데 Fab으로 바뀌어 있었습니다. Fab에서는 검색해도 해당 에셋팩이 뜨지 않고, 에픽게임즈 런처를 열어 Fab으로 바뀌기 전 받아놓았던 Infinity Blade: Warriors을 라이브러리에서 들어가도 Page not found가 뜹니다ㅠㅠ 이런 경우에는 깃헙의 Content 폴더에 MaterialLibrary를 다운받아서 그대로 쓰면 될까요? 아니면 Fab에서 적당한 무료 weapon 에셋을 받아서 쓰면 될까요?
해당 수업보면서, UDataAsset 클래스 위에 강사님이 주석다신 것처럼 똑같이 달았는데, 빌드(컴파일)가 안되는 현상이 있었습니다. error c2143: syntax error : missing ';' before 내용 즉슨 ';' 빼먹었다고 나오던데, 언리얼에서 정의된 클래스라서요. 혹시 주석만 달아도 위와 같은 문제가 발생할수 있는지 알수 있을까요? 발생 라인은 class UPrimaryDataAsset : public UDataAsset 로 클래스 이름 정의하는 라인에서 발생했습니다.
(5.4.3 기준) 14강까지 잘 달려오다가 15강에서 갑자기 오류가 뜹니다. 우선 14강까지 쓰던 프로젝트를 문제없이 그대로 써왔으며, 15강을 시작하기 앞서 이 프로젝트를 빌드를 통해 에디터가 켜지는것을 확인 후, 15강의 앞부분 c++코드를 따라하면서, 정확히 "7:42 까지 따라한 후, 즉 캐스팅코드 작성 이후 헤더까지 포함 시킨 후 바로 F5를 누르면 맨 아래와 같은 에러가 뜹니다.((바로 전 단계인 ABGameInterface.h 를 에디터에서 생성 후, 모두 로드를 클릭한 후에 그 즉시 f5를 눌러 문제없이 에디터가 켜지는 것을 재차 테스트하여 확인함)" 이후에 어떤 코드를 이어 써서 디버깅해도 같은 에러가 떠서 수강 진행이 막혀있는 상태입니다. 그래서 깃허브에서 올려주신 "UnrealProgrammingPart2-14" 도 받은 후 15강을 따라하면서 아까와 동일하게 매 코드작성마다 디버깅확인을 해봤더니, 이 파일 또한 정확히 7:42부분에 IABGameInterface* ABGameMode = Cast<IABGameInterface>(GetWorld()->GetAuthGameMode()); 코드를 작성 후, Interface/ABGameInterface.h 헤더를 포함시키고 그 즉시 F5를 하면 위와 동일한 상황에서 동일한 에러가 뜹니다. 근데 신기한건, 깃허브에 올려주신 "UnrealProgrammingPart2-15" 도 받아서 F5를 눌렀더니 이것은 문제 없이 에디터가 켜집니다. 어떤 차이가 있길래 이것은 켜지는걸까요...? 어떤 문제로 인해 저 시점에 아래와 같은 에러가 발생하는지 궁금합니다. 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 MSB3073 "F:\UE_5.4\Engine\Build\BatchFiles\Build.bat ArenaBattleEditor Win64 Development -Project="C:\Users\qkrwo\Downloads\UnrealProgrammingPart2-14\UnrealProgrammingPart2-14\ArenaBattle.uproject" -WaitMutex -FromMsBuild -architecture=x64" 명령이 종료되었습니다(코드: 6). ArenaBattle C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets 44 오류(활성) E1455 'override'로 선언된 멤버 함수는 기본 클래스 멤버를 재정의하지 않습니다. ArenaBattle F:\UE_5.4\Engine\Source\Runtime\Core\Public\Serialization\ArchiveProxy.h 157 오류(활성) E1455 'override'로 선언된 멤버 함수는 기본 클래스 멤버를 재정의하지 않습니다. ArenaBattle F:\UE_5.4\Engine\Source\Runtime\Core\Public\Serialization\ArchiveProxy.h 167 오류(활성) E0020 식별자 "FTextureBuildSettings"이(가) 정의되어 있지 않습니다. ArenaBattle F:\UE_5.4\Engine\Source\Runtime\Engine\Classes\Engine\Texture.h 2017 오류 C2027 정의되지 않은 형식 'AGameModeBase'을(를) 사용했습니다. ArenaBattle F:\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h 88 오류 C2338 static_assert failed: 'Attempting to cast between incomplete types' ArenaBattle F:\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h 88 오류 C2139 'AGameModeBase': 정의되지 않은 클래스는 컴파일러 내장 형식 특성 '__is_base_of'에 대한 인수로 사용할 수 없습니다. ArenaBattle C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\type_traits 1298 오류 C2338 static_assert failed: 'Attempting to use Cast<> on a type that is not a UObject or an Interface' ArenaBattle F:\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h 135