월 26,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
uint8 변수:1; 비트 필드 사용 시 초기화 질문입니다.
헤더에서는 가급적으로 bool 대신 uint8 : 1 을 통해 비트필드를 사용하라고 하셨습니다.이 비트 필드를 헤더에서 초기화 해주고 싶은데, 어떻게 초기화 해주어야하나요?헤더에서 uint8 bTemp:1 = false; 나 uint8 bTemp:1 = 0; 으로 하니 C++20 이 필요하다고 컴파일 오류를 뱉습니다.생성자에서는 bTemp = false; 이런식으로 초기화가 잘 가능한데, 헤더에서 초기화를 진행하고 싶으면 어떻게 해야하나요?
- 해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
안녕하세요 선생님 매크로 F12 이슈 ..
F12 로 매크로 정의부를 보려고 했는데 파일을 찾을 수 없다고 합니다. 혹시 해결방법이 있을까요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
Extensions 설치 후
안녕하세요 선생님. 선생님처럼 매크로에 보라색이 빠져있거나 Alt+Enter 로 정의가 불가능한 경우는 어떻게 해야할까요?? ㅠ
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
UE_LOG에 빨간 밑줄이 생겨요.
h#pragma once#include "CoreMinimal.h"#include "Engine/GameInstance.h"#include "MyGameInstance.generated.h" UCLASS()class ABC_API UMyGameInstance : public UGameInstance{ GENERATED_BODY()public: virtual void Init() override;private:}; cpp#include "MyGameInstance.h"void UMyGameInstance::Init(){ Super::Init(); TCHAR LogCharArray[]= TEXT("Hello Unreal"); UE_LOG(LogTemp, Log, LogCharArray);}인데 UE_LOG에 밑줄 생기고 실행이 안됩니다.
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
빌드 시스템에 대해 이해가 되지 않는 부분이 있어 여쭤봅니다
Build.cs 파일에 PublicDependencyModuleNames 와 PrivateDependencyModuleNames 의 차이를 공홈에서 처럼 Public 폴더의 헤더(보통의 경우) 에서 참조하는 경우는 PublicDependencyModuleNames 를 사용하라 하는데요 이렇게 사용하면 안 좋다는 것을 알지만 PrivateDependencyModulesNames 에 추가해도 컴파일은 제대로 되다보니 이해가 안됩니다 ㅠ예를 들면)ModuleAPublic-> ObjectA.hModuleBPublic-> ObjectB.hModuleB.build.cs 의 PrivateDependencyModuleNames에 ModuleA 를 추가하더라도 ObjectB.h 에서 ObjectA 이 사용 가능한 상황입니다.알려주세요 ㅠ
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
Serialization 용어 질문 바이트스트림에서 오브젝트, 오브젝트에서 바이트스트림
바이트스트림를 오브젝트로 Decoding 하는 함수도 Serialize() 이고오브젝트를 바이트스트림으로 Encoding 하는 함수도 Serialize() 인 것 같은데 맞나요?Reader/Writer 에 따라 다르게 동작하는 거겠죠.. 이해를 하라면 이해는 가는데 왜 이렇게 네이밍을 했을까요?? 다른 분들은 헷갈리지 않나요?? operator << 도 굉장히 헷갈려서 전 차라리 operator overriding 말고 함수를 만들었으면 좋았을 것 같다고 생각하는데 강사님은 어떻게 생각하시나요? 또 다른 분들은 어떻게 생각하시나요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
IFileManager::Get().CreateFileWriter로 생성된 객체 delete
예제에서 CreateFileWriter로 생성된 FArchive 를 delete 키워드로 삭제하셨는데... 제가 혼자서 CreateFileWriter()를 사용하는 케이스를 상상했을 때 delete 로 지워야겠다라는 것은 모르고 그냥 넘어갔을 것 같습니다. 혼자 공부하면서 올바른 Unreal Engine/API 사용법 같은 걸 배울 수 있을까요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
FGCObject 상속받은 FStudentManager 예제
GameInstance Shutdown 함수에서 StudentInManager Object가 Valid하다고 로그가 나오고 난 후에 Shutdown 함수 execution이 끝나면 StudentInManager는 더이상 레퍼런스가 없으므로 가비지 콜렉션에 의해 수거되는 거 맞을까요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
인코딩 질문입니다
강의 중 한글 '와'를 포함한 소스코드를 utf-8 인코딩으로 변경해서 저장하고 컴파일하면 '와'로 잘 출력되었는데요...근데 Unreal 에서는 스트링 저장시 UTF-16 format을 쓴다고 되어있는데 그럼에도 불구하고 UTF-8로 인코딩된 영어랑 " <-요런 (기호)문자들이 잘 호환된 이유는 뭘까요?Character Encoding in Unreal Engine 문서에 When serializing to packages to/from disk or during networking, strings with all TCHAR characters less than 0xff are stored as a series of 8-bit bytes, and otherwise as 2-byte UTF-16 strings. The serialization code can deal with any endian conversion as necessary.이 내용 때문인가요? 시리얼라이징에만 해당하는 것 같아 보이는데요.. 인코딩 정말 헷갈리는군요..
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
VS2022 Always show Error List if... 옵션을 끄는 이유
강의 10:13 부분에서 VS2022 옵션 중 Always show Error List if build finishes with errors 를 끄시는 데.. 옵션 내용만 보면 켜놓는 게 좋을 것 같다고 생각이 드는데요. 왜 끄는 지 이유를 알수 있을까요.
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
패키지 강의에서 서브 오브젝트 질문
강의에 나온 코드를 보다 보니Student 패키지를 만들고 그걸 로드 해보는 다양한 방법을 배웠습니다.그런데 TopStudent 에셋 저장 시 함께 입력된 SubObject 학생 1~10 에 대한 정보는 입력만 되고 따로 불러서 확인해 보는 부분이 없어서 이렇게 저렇게 해보다 질문 드립니다.이 에셋 속에 있는 서브 오브젝트는 어떻게 불러 올 수 있을까요?
- 해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
델리게이트에서 구독 등록 부분
어떤 경우에는 AddUObject로 등록하고, 어떤 경우에는 AddDynamic로 등록하는데 이 둘의 차이는 무엇인가요?그리고 만약 맨처음에만 등록하는게 아니라 틱마다 Add함수를 사용해서 등록한다면 등록된 만큼 콜백함수가 호출되나요?델리게이트가 무엇인지는 이해했지만 정확한 원리를 이해하기가 힘듭니다..ㅠㅠ
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
메모리 관련 부분에서 질문입니다.
UPROPERTY 로 선언한 PropStudent 와그냥 선언한 NonPropStudent 가 있을때출력된 로그에서 Shutdown 시에 PropStudent 는 유효한 오브젝트NonPropStudent 는 유효하지 않은 오브젝트라고 나왔습니다.이때 UPROPERTY 로 선언하지 않은 NonPropStudent 는 가비지 콜렉터에 의해 관리 받지 않는 것으로 이해를 했는데 관리 받지 않는다는 것이 메모리 회수(Sweep) 시 레퍼런스를 체크하지 않고 바로 지워버린다는 뜻인가요?관리 받지 않으니 아에 지워지지도 않고 누수가 생기는걸까 생각했는데 Sweep 시에 바로 유효하지 않은 오브젝트로 바뀌기에 질문 올려봅니다.
- 해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
언리얼엔진 디버깅 관련 질문드립니다.
안녕하세요, 언리얼 프로그래밍 강의를 수강중인 문민철입니다.언리얼엔진 코드 분석 및 디버깅 중, 궁금한 사항이 있어 질문드립니다.Unreal Engine의 에디터를 켜고, 새로운 프로젝트를 생성하는 과정을 디버거로 추적하면, CreateProcess(NULL, CommandLine.GetCharArray().GetData(), nullptr, nullptr, bInheritHandles, (::DWORD)CreateFlags, NULL, OptionalWorkingDirectory, &StartupInfo, &ProcInfo) 를 통하여 새로운 프로세스를 실행시키고, 에디터를 종료합니다. (해당 코드는 WindowsPlatformProcess.cpp - line 357에 있습니다.)즉, 언리얼 엔진 소스 코드를 디버깅할 때, 에디터 시작 화면에 대한 내용만을 보게 됩니다.게임 프로젝트 분석, 엔진 내 주요 기능 분석을 위해서는 엔진 내부의 주요 기능을 사용해 보면서 분석해야 할 것으로 보이는데, 디버깅 방법론이 궁금해서 질문드립니다. (물론 c++ 게임에 대해, 게임 프로젝트를 시작 프로젝트로 설정하고(ex: LyraStarterGame) 디버깅을 시작하면 게임 내 구현된 로직을 디버깅할 수 있는 것을 알고 있습니다.1. UE5를 실행하는 것(ex: UE5.sln)과 게임 프로젝트(ex: LyraStarterGame)를 실행하는 것의 차이가 궁금합니다. - WinMain 함수로 전달되는 pCmdLine 인자가 다른것 등 피상적인 차이는 확인하였습니다만, 깊은 이해를 원합니다. (설명이 어렵거나 너무 길다면, 관련 자료를 추천해주시면 감사하겠습니다)2. 언리얼엔진을 소스 코드를 빌드하여 디버깅하는 것과, '디버깅을 위한 편집기 기호'를 포함한 실행 파일을 이용하여 디버깅하는 것(에픽게임 런처에서 언리얼엔진을 다운)의 차이가 있는지 궁금합니다.3. 대규모 코드를 분석하는 방법론과 팁을 알고 싶습니다. (ex: 특정 기능을 수행하고, 그 수행에 관련된 코드를 분석)감사합니다.
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
UTF-8 형식 저장하기 연구 적용하기
여러가지 실험 결과 언리얼 C++ 프로젝트를 만들때 파일을 OS의 기본 인코딩을 따라가기 때문에 OS 인코딩 방식을 바꾸면 모든 파일이 자동적으로 UTF-8 방식으로 저장된다는 걸 깨달았습니다. 윈도우 11 기준으로 다음 단계를 거치면 UTF-8로 일일이 파일을 고처 수정하지 않아도 됩니다.윈도우 시작 버튼 > 설정 창 열기"시간 및 언어"으로 이동합니다.시스템Beta: 세계 언어 지원을 위한 Unicode UTF-8 사용 체크 후, 확인이제 윈도우를 재부팅하고 C++ 프로젝트를 생성하면 모든 파일이 UTF-8로 저장됩니다. 아무도 모르는 꿀팁인거 같아서 올립니다.윈도우 10 버전:https://whatsupkorea.tistory.com/376
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
UObject의 내용을 메모리에 저장할 때
언리얼 오브젝트 관리 i - 직렬화25분14초정도 지나갈 때 기준으로 질문입니다.바이트스트림을 TArray<uint8>로 지정해준다면 된다고 하셨는데 왜 저런 형식을 정하신건지 궁금합니다! 그냥 1바이트 단위로 데이터들을 저장하려고 그러는걸까요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
CreateDefaultSubobject 질문드립니다.
안녕하세요. CreateDefaultSubobject 함수에서, FName 을 지정해준다고 하셨는데, 이경우 Name 은 무조건 고유해야되는건가요? 예를 들면 Card 클래스가 존재하는데 해당 카드클래스 정보를 A, B 클래스에서 포함 하고 있는경우 이전에 사용한 이름을 사용하면 안되는지 궁금합니다. 간단한 예시코드 입니다.class Card {...} class Poo1{TObjectPtr<Card> CardPtr;public:Poo1() { CardPtr = CreateDefaultSubobject<Card>(TEXT"NAME_CARD") };} class Poo2{TObjectPtr<Card> CardPtr;public:Poo2() { CardPtr = CreateDefaultSubobject<Card>(TEXT"NAME_CARD") };} 위와 같이 Poo1, 2 클래스에서 FName 을 지정할때 둘다 고유해야되는건지 궁금합니다. 감사합니다.
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
질문드립니다
이것저것 눌러보다가 처음에 인터페이스부분이 사라져버렸는데 어떻게 복구시켜야할까요?
- 미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
언리얼 오브젝트 리플렉션 시스템 II 강의 내용 중 질문있습니다.
안녕하십니까, 언리얼 프로그래밍 Part 1 수강중인 문민철입니다.언리얼 오브젝트 리플렉션 시스템 II 강의 영상 20~21분 내용 중, FProperty 내 GetValue_InContainer 함수를 사용하셨는데, 해당 함수가 없다고 나옵니다. 혹시나 해서, 공식 문서(https://docs.unrealengine.com/5.1/en-US/API/Runtime/CoreUObject/UObject/FProperty/)를 찾아봐도, 해당 함수가 나오지 않네요.(현재 실습중인 버전은 교수님 강의와 같은 5.1 버전을 사용하고 있습니다)혹시 이 함수가 deprecated된건지(deprecated되었다면 대체되는 함수가 궁금합니다), 아니면 제가 강의 수강중 놓친 부분이 있는지 궁금합니다. 감사합니다.
- 해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
링크가 잘못된 것 같습니다.
안녕하세요. 패키지 강의에 있어야할 애셋 참조 문서 링크가 직렬화 부분에 있는 것 같습니다.