[언리얼엔진] C++ 현재 맵 이름 가져오기
설명 언리얼엔진에서 C++ 코드를 통해서 현재 맵 이름을 가져오는 방법이다. StreamingLevelPrefix 를 통해서 에디터에서 플레이할 때 나오는 'UEDPIE_Num_' 을 제거해준다. 코드 FString LevelName = GetWorld()->GetMapName(); LevelName.RemoveFromStart(GetWorld()->StreamingLevelPrefix);
설명 언리얼엔진에서 C++ 코드를 통해서 현재 맵 이름을 가져오는 방법이다. StreamingLevelPrefix 를 통해서 에디터에서 플레이할 때 나오는 'UEDPIE_Num_' 을 제거해준다. 코드 FString LevelName = GetWorld()->GetMapName(); LevelName.RemoveFromStart(GetWorld()->StreamingLevelPrefix);
언리얼엔진의 TArray 와 TSet 장단점에 대한 글입니다. 우선 언리얼 엔진에서 TArray 와 TSet 은 모두 요소 컬렉션을 저장하는 데 사용되는 데이터 구조입니다. 아래는 TArray 와 TSet 에 대한 설명글입니다. TArray 란? TArray 는 인접한 메모리 위치에 요소를 저장하는 동적 배열입니다. 장점 더 빠른 반복 및 인덱스 기반 액세스를 제공합니다. 중복을 허용합니다. 즉, 동일한 요소를 여러 번 저장할 수 있습니다. 요소 정렬, 검색 및 조작을 위한 다양한 기능이 있습니다. 요소를 인덱스로 자주 접근해야 하는 경우나 중복이 필요한 경우에 적합합니다. 단점 인접한 메모리를 유지하기 위해 요소를 이동해야 하는 경우 요소 삽입 또는 제거가 느려질 수 있습니다. 요소 검색은 모든 요소를..
문제점 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..
노드의 스타일을 변경할 수 있습니다. .png 파일이기때문에 엔진에 영향을 주지 않습니다. 적용방법 - 링크에서 다운받은 압축파일을 풀고 자신이 사용하는 엔진 경로에 붙여넣으면 됩니다. https://drive.google.com/file/d/1yJCmF0AUu5bE_eH-Ouwu9rf0a-JlD8Bf/view?usp=sharing FlatNodeStyleUE_v2_ByArthurJones.zip drive.google.com 출처 : https://www.reddit.com/r/unrealengine/comments/uigejp/flat_blueprint_node_style_version_2_flatmatte/
코드 .h FString GetEnumDisplayNameToString(EEnum Enum) const; .cpp FString ACharacter::GetEnumDisplayNameToString(EEnum EnumValue) const { const UEnum* EnumPtr = FindObject(ANY_PACKAGE, TEXT("EEnum"), true); if (EnumPtr == nullptr) { return FString("Invalid"); } return EnumPtr->GetDisplayNameTextByIndex(static_cast(EnumValue)).ToString(); } 사용법 const FString EnumString = *GetEnumDisplayNameToStrin..
안녕하세요. mane입니다. 이번에는 세션을 만들어보도록 하겠습니다. - Create Session 1. void CreateSession() 에디터안에서 함수를 실행할 것이기 때문에 UFUCTION(BlueprintCallable)을 붙여준다. protected: UFUNCTION(BlueprintCallable) void CreateSession(); 2. FOnCreateSessionCompleteDelegate FOnCreateSessionCompleteDelegate - 델리게이트를 선언한다. 선언을 찾아들어가면 해당 델리게이트의 파라미터(매개변수)를 찾을 수 있다. 이를 사용하기 위한(CallBack) OnCreateSessionComplete 함수를 선언한다. protected: // Cre..