묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
빌드오류가 계속 나옵니다
vs 도구를 추가로 설치하거나 generate를 계속해주거나일반 프로젝트를 생성하고 source랑 contents를 넣은 뒤 generate를 해줘도 동일합니다강의자료로 해도 깃헙에서 받아도 전부 그렇습니다
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
21:07 부분에서 NonPropStudent 인수타입 및 기타 질문입니다.
1) 21:07 부분의 CheckObjectIsNull( NonPropStudent, TEXT("NonPropStdudent")); 부분에서, NonPropStudent 에 const UObject* 로의 적절한 변환 함수가 없습니다. 라는 에러가 뜹니다.혹시 업데이트하면서 바뀐 것일까요?(const UObject*) 로 강제형변환을 하면 문제가 없어지긴 하는데, 과연 이것이 일반적인 방법이 된 것인지 궁금합니다.또한2) PropStudent 에서 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보오류 UHT001 Unable to find 'class' with name 'Student' 라는 에러가 뜨면서 디버깅이 실패합니다.이것도 업데이트가 되면서 바뀐건지 모르겠습니다만, 혹시 이젠 MyGameInstance.h 에도 Student.h 를 삽입해야만 하도록 변경된것일까요...?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
자꾸 자식생성자에서 부모 프로퍼티의 Name에 접근하면 오류가납니다.
특정 자식생성자에서 부모프로퍼티 Name에 접근하면 error C2001 : newline in constanterror C2143 : syntax error : missing ';' before '}'이라는 에러가 발생하는데요 Name = TEXT("");이걸 주석처리하면 문제없긴합니다만특정 자식에서만 간할적으로 저러니까 매번 프로젝트를 다시생성하거나 그냥 부모생성자에서초기화하는걸로 수업을 따라가고있습니다 .. 왜 이런 오류가 날까요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
OnChanged.AddUObject이 함수가 BroadCast로 연결되는건가요?
CourseInfo->OnChanged.AddUObject(MyStudent1, &UMyStudent::GetNotification);인스턴스의 이 코드를 통해서 학생클래스에 있는 멤버함수와 Courseinfo 클래스에 있는 BroadCast랑 묶이는건가요?? Courseinfo 클래스에서 선언된 OnChanged 변수는델리게이트에 접근하기위함일 뿐인 거같고결국 AddUObject랑 특정객체의 멤버함수랑 연결만 해놓으면 델리게이트 멤버함수의 어디든 무조건 델리게이트의 BroadCast로만 이어지는건가요?만약 그렇다면 CourseInfo->OnChanged.BroadCast(MyStudent1, &UMyStudent::GetNotification);이렇게 쓰면 좀 덜헷갈렸을 거 같네요 ..ㅎ
-
해결됨하루만에 언리얼 엔진5 입문하기
1:58 플레이스 엑터에서 큐브하나를 끌어다 놓을때 transform에 mobility 설정이 static이면 이후 벽을 움직이는 부분이 작동하지 않습니다.
1:58 플레이스 엑터에서 큐브하나를 끌어다 놓을때 transform에 mobility 설정이 static이면 이후 벽을 움직이는 부분이 작동하지 않습니다. movable로 설정해야지 되네요. 저는 기본값이 스태틱으로 되어있어서 분명 똑같이 했는데 왜 안되는지 헤메다가 gpt한테 물어봐서 찾았습니다.
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
PlayerController가 생성되지 않는 것 같아요.
오류가 있는 것 같아 수업자료 다운 받아서 모두 똑같이 연결 했는데도캐릭터가 움직이지 않고 공격입력만 받아져서 controller의 event begin play에 print text를 찍어봐도 아무것도 출력되지 않네요. 혹시 뭐가 잘못된 건지 짐작이 가시나요?world setting도 이미지 입니다.
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
TSet<FString> FruitSet; 관련 궁금증입니다.
TSet<FString> FruitSet; 로 아무런 요소를 할당하지 않고 만들었을때, 초기 메모리 할당크기는 0 바이트인지 16바이트인지 궁금합니다. TSet<FString> FruitSet;UE_LOG(LogTemp, Warning, TEXT("FruitSet's size : %d"), FruitSet2.GetAllocatedSize());라는 구문을 실행했을 때, 저는 0바이트로 기대했는데 결과가 16바이트로 나옵니다. 단지 선언만 했을 뿐인데도 16바이트가 자동으로 할당되는것처럼 생각되는데, 이것은 참인가요? (테스트 코드)// Fill out your copyright notice in the Description page of Project Settings.#include "GameInstance/MyGameInstance.h"#include "Algo/Accumulate.h"void UMyGameInstance::Init(){Super::Init();FString Comb;TSet<FString> FruitSet2;UE_LOG(LogTemp, Warning, TEXT("FruitSet2's size : %d"), FruitSet2.GetAllocatedSize());//FruitSet2.Reserve(10);UE_LOG(LogTemp, Warning, TEXT("FruitSet2's size : %d"), FruitSet2.GetAllocatedSize());//FruitSet2 = { "Kiwi", "Melon", "Orange" };UE_LOG(LogTemp, Warning, TEXT("FruitSet2's size : %d"), FruitSet2.GetAllocatedSize()); // 결과 출력Comb = FString::Join(FruitSet2, TEXT(", "));UE_LOG(LogTemp, Warning, TEXT("FruitSet2(Sorted) : %s"), *Comb); //FruitSet2.Empty();UE_LOG(LogTemp, Warning, TEXT("FruitSet2's size : %d"), FruitSet2.GetAllocatedSize());}
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
TSet 관련 질문입니다.
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에서 이 방식이 아직 유효한건가요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
37:41, 38:35 에서 CreateConstIterator 와 FSetElementId 관련 질문입니다.
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); 을 사용하는 것과는 다른 개념인가요?
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
[섹션 12 Weapon Animation] DefaultLayer(Anim Layer)가 정상적으로 Load되지 않음
안녕하세요. 현재 섹션 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강의를 보며 정리하는 노션 페이지입니다. 혹시 진행 상황에서 문제가 있는 부분이 보인다면 알려주시면 감사하겠습니다...
-
미해결[입문자를 위한 UE5] Part4. 언리얼 엔진 C++
const FObjectInitializer& ObjectInitializer 와 const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()
어떤 클래스 생성자는 const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get()를 사용하고 다른 클래스 생성자는 const FObjectInitializer& ObjectInitializer를 사용하는데 왜 이렇게 되는지 궁금합니다
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
GA_AttackHitCheck 에서 ExecuteGameplayCue
안녕하세요. AttackHitCheck 어빌리티 안에서 ExecuteGameplayCue 호출할 때 태그를 하드코딩하는 것이 아니라, BP에서 설정한 GameplayCue를 그대로 쓰고싶은데, 어떻게 할 수 있을까요? 꽤 검색했는데 찾기 힘드네요ㅠ ㅠ.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
비주얼스튜디오에서 빌드할 때 CS0103 "'Catch2' 이름이 현재 컨텍스트에 없습니다." 라는 에러메시지에 함께 빌드가 안되는데 어떡해야 될까요..
구글링을 해도 도저히 찾을 수가 없어서 질문 남겨봅니다.
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
구조체 바뀐내용 질문
안녕하세요. 현재 5.1버전의 올려주신 문서를 확인할 수 없긴 한데. 해당 내용에 구조체가 5.2에 와서는 가비지 컬렉션시스템에 의해 관리되지 않으며 UFUNCTION 함수를 제공할 수 없다고 뜨거든요. 5.1때는 가능했고 이게 바뀌었다는 걸까요?https://dev.epicgames.com/documentation/ko-kr/unreal-engine/structs-in-unreal-engine?application_version=5.25.1 구조체 내용은 더이상 찾아볼 수 없습니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
UE 5.4 에서 폴더에 직접 헤더파일 추가 시에 프로젝트가 해당 파일 인식 못함.
강의에서 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 ..위의 과정들을 모두 해도 계속해서 추가 파일을 프로젝트가 인식하지 못합니다... 왜 이런 걸까요.
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
showdebug abilitysystem 캐릭터 녹색 박스 오류
안녕하세요. 강의 참고해서 프로젝트 작업하고 있습니다.showdebug abilitysystem 를 사용했을 때 녹색 박스의 한 꼭지점이 원점에 고정되어있습니다.다른 곳에 배치한 NPC 또한 마찬가지입니다.혹시 해결방법을 알 수 있을까요?
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
IDE 관련
안녕하세요.이번에 라이더를 사용해서 코딩 공부를 진행하려는데해당 강의는 비주얼 스튜디오로 진행되는것 같더라구요. 혹시 라이더로 실습해도 문제는 없을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
SubSystem이 궁금합니다.
갑자기 헷갈려서 질문을 드려봅니다. GetWorldNetwork에서[ 해당월드에 SubGameInstance의 Session을 통해 비교합니다.] 라는 말은 월드마다 SubGameInstance이 별도로 생성하고 관리가 된다는 뜻인가요? SubGameInstance는 단순히 GameInstance기능 + GC + 내가 추가적으로 넣고싶은 기능을 위해서 쓰는것으로 알고있는데 제가 모르는 부분이 뭔지 궁금해서 남겨봅니다..ㅠㅠㅠㅠ
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
마켓플레이스가 Fab으로 바뀌면서 더이상 Infinity Blade 에셋을 제공하지 않는것 같습니다.
8강의 infinity Blade: Weapons 에셋팩을 다운받으려 마켓 플레이스에 갔는데 Fab으로 바뀌어 있었습니다.Fab에서는 검색해도 해당 에셋팩이 뜨지 않고, 에픽게임즈 런처를 열어 Fab으로 바뀌기 전 받아놓았던 Infinity Blade: Warriors을 라이브러리에서 들어가도 Page not found가 뜹니다ㅠㅠ이런 경우에는 깃헙의 Content 폴더에 MaterialLibrary를 다운받아서 그대로 쓰면 될까요? 아니면 Fab에서 적당한 무료 weapon 에셋을 받아서 쓰면 될까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
GetController() 의 NULL
왜 인지는 모르겠지만, 8강을 시작하면서밑에 있는 코드의 GetController()에서 NULL을 반환하고 있어 게임 플레이가 안되던 문제가 있었습니다.void AABCharacterPlayer::SetCharacterControl(ECharacterControlType NewCharacterControlType) { UABCharacterControlData* NewCharacterControl = CharacterControlManager[NewCharacterControlType]; check(NewCharacterControl); SetCharacterControlData(NewCharacterControl); APlayerController* PlayerController = CastChecked<APlayerController>(GetWorld()->GetFirstPlayerController()); if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(PlayerController->GetLocalPlayer())) { Subsystem->ClearAllMappings(); UInputMappingContext* NewMappingContext = NewCharacterControl->InputMappingContext; if (NewMappingContext) { Subsystem->AddMappingContext(NewMappingContext, 0); } } CurrentCharacterControlType = NewCharacterControlType; }아직 Pawn이 컨트롤러를 얻은 시점이 아니라서 NULL 값으로 반환된다고 합니다. GetWorld()->GetFirstPlayerController()를 호출해서 컨트롤러를 반환할수 있던데, Pawn이 컨트롤러를 얻은 시점이 언제인가요?