문제점 - 아래와 비슷하게 컴파일이 실패할 경우 "__declspec(dllimport) class UEnum * __cdecl Z_Construct_UEnum_PhysicsCore_EPhysicalSurface(void)" (__imp_?Z_Construct_UEnum_PhysicsCore_EPhysicalSurface@@YAPEAVUEnum@@XZ)"void __cdecl `dynamic initializer for 'public: static struct UECodeGen_Private::FBytePropertyParams const Z_Construct_UScriptStruct_FFootStepProperty_Statics::NewProp_SurfaceType''(void)" (??__E?NewP..
설명 언리얼엔진에서 C++ 코드를 통해서 현재 맵 이름을 가져오는 방법이다. StreamingLevelPrefix 를 통해서 에디터에서 플레이할 때 나오는 'UEDPIE_Num_' 을 제거해준다. 코드 FString LevelName = GetWorld()->GetMapName(); LevelName.RemoveFromStart(GetWorld()->StreamingLevelPrefix);
언리얼엔진의 TArray 와 TSet 장단점에 대한 글입니다. 우선 언리얼 엔진에서 TArray 와 TSet 은 모두 요소 컬렉션을 저장하는 데 사용되는 데이터 구조입니다. 아래는 TArray 와 TSet 에 대한 설명글입니다. TArray 란? TArray 는 인접한 메모리 위치에 요소를 저장하는 동적 배열입니다. 장점 더 빠른 반복 및 인덱스 기반 액세스를 제공합니다. 중복을 허용합니다. 즉, 동일한 요소를 여러 번 저장할 수 있습니다. 요소 정렬, 검색 및 조작을 위한 다양한 기능이 있습니다. 요소를 인덱스로 자주 접근해야 하는 경우나 중복이 필요한 경우에 적합합니다. 단점 인접한 메모리를 유지하기 위해 요소를 이동해야 하는 경우 요소 삽입 또는 제거가 느려질 수 있습니다. 요소 검색은 모든 요소를..
언리얼엔진에서 Thread 를 만드는 방법은 여러 가지 있는 걸로 알고 있다. 해당 글은 FRunnable 을 이용한 Thread 생성 방법을 설명한다. 참고사이트 :UE5 Multithreading With FRunnable And Thread Workflow – Unreal C++ API [ FRunnable ] class CORE_API FRunnable { public: virtual void Init(); virtual uint32 Run = 0; virtual void Exit() {} virtual void Stop() {} virtual ~FRunnable() {} } Init() Game Thread 에서 실행된다. - Blocking Thread 초기화 및 생성자이다. false 를 반..
문제점 Enum을 String으로 바꿀 때마다 새로 함수를 작성하고 새로운 enum을 파라미터로 생성해야 하기 때문에 쓸 때마다 코드가 늘어난다. 해결 static template function을 만들어서 헤더만 추가하면 쓸 수 있도록 한다. 추가 typeid.name()을 하면 'enum EnumValue'으로 만들어지기 때문에 RemoveFromStart()를 이용하여 'enum '을 잘라준다. enum은 BlueprintType 이여야 한다. 코드 template static FString GetEnumDisplayNameToString(T EnumValue) { FString EnumString = FString::Printf(TEXT("%hs"),typeid(T).name()); EnumStr..